PageSourceSearch

https://www.sagehousenyc.com/

html sagehousenyc.com collected 2026-09-28 01:53:13 UTC 147,654 bytes, 2,850 lines download raw bytes

1<!DOCTYPE html>
2
3
4<html lang='en'>
5
6<head>
7<script type="text/javascript" data-custom="true">!function(){var cookieName="resolution";var i,key,value,prevSet,cookies=document.cookie.split(";");function isCookieSet(){for(i=0;i<cookies.length;i++){key=cookies[i].substr(0,cookies[i].indexOf("="));value=cookies[i].substr(cookies[i].indexOf("=")+1);key=key.replace(/^\s+|\s+$/g,"");if(key==cookieName)return true}return false}prevSet=isCookieSet();document.cookie=cookieName+"="+screen.width+":"+screen.height+":"+(window.devicePixelRatio?window.devicePixelRatio:1)+"; path=/";if(navigator.cookieEnabled&&!prevSet)document.location.reload(true)}(document,screen);</script>
7
8    
9  
10
11  
12  <link rel="dns-prefetch" href="https://fonts.gstatic.com">
13  <link rel="dns-prefetch" href="https://js.sentry-cdn.com">
14  <link rel="dns-prefetch" href="https://static.cloudflareinsights.com">
15  <link rel="dns-prefetch" href="https://cdnjs.cloudflare.com">
16  <link rel="dns-prefetch" href="https://cdn.jsdelivr.net">
17  <link rel="dns-prefetch" href="https://unpkg.com">
18  <link rel="dns-prefetch" href="https://googleads.g.doubleclick.net">
19  <link rel="dns-prefetch" href="https://www.google-analytics.com">
20
21  
22  <link rel="preconnect" href="https://fonts.googleapis.com">
23  <link rel="dns-prefetch" href="https://fonts.googleapis.com">
24  <link rel="preconnect" href="https://www.googletagmanager.com">
25  <link rel="dns-prefetch" href="https://www.googletagmanager.com">
26  <link rel="preconnect" href="https://i.hlres.com">
27  <link rel="dns-prefetch" href="https://i.hlres.com">
28
29  
30  <link rel="preload" href="/assets/v2/ui/images/logos/HL-name-desc-white-BG-logo.svg" as="image" fetchpriority="high">
31  <link rel="preload stylesheet" as="style" href="/assets/v2/vendor/tailwind/tailwind-build.css?v=2026-09-25_17-04">
32  <link rel="preload stylesheet" href="/assets/v2/ui/fonts/rawline.css?display=swap" as="style">
33  <link rel="preload stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0&display=swap" as="style"  fetchpriority="high">
34  <link rel="preload" href="https://js.sentry-cdn.com/02d27b0f57f04c36a341abcc1213f5de.min.js" as="script">
35
36  
37
38  <meta charset="utf-8">
39  <title>The Sage House - 4 Lexington Avenue Cooperative in Gramercy Park, Manhattan | NYC Real Estate Brokerage</title>
40  <meta name="viewport" content="width=device-width,initial-scale=1">
41  <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon">
42  <link rel="icon" type="image/png" href="/assets/files/favicons/fav_32.png" sizes="32x32">
43  <link rel="icon" type="image/png" href="/assets/files/favicons/fav_48.png" sizes="48x48">
44  
45  
45<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/axios.min.js"></script>
45
46  <meta id="user_data" data-email="">
47  <link rel="stylesheet" href="/assets/feedback/css/feedback_main.css?v=2026-09-25_17-04">
48  
48<script>
49    function isSafari() {
50      var ua = navigator.userAgent.toLowerCase();
51      if (ua.indexOf('safari') != -1) {
52        if (ua.indexOf('chrome') > -1) {
53          return false; // Chrome
54        } else {
55          return true; // Safari
56        }
57      }
58      return false;
59    }
60    var s = document.createElement("script");
61    if (isSafari()) {
62      s.type = "text/javascript";
63      s.src = "/assets/js/safari_html2canvas.min.js";
64    } else {
65      s.type = "text/javascript";
66      s.src = "/assets/js/html2canvas.min.js"; // version html2canvas 1.0.0-rc.7
67    }
68
69    document.head.appendChild(s);
70  </script>
70
71  <link rel="stylesheet" href="/assets/v2/ui/general-css/general.css?v=2026-09-25_17-04">
72  <link rel="stylesheet" href="/assets/v2/ui/general-css/form.css?v=2026-09-25_17-04">
73  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper/swiper-bundle.min.css">
74  
74<script type="module" src="/assets/v2/js/constants.js?v=2026-09-25_17-04"></script>
74
75  
75<script type="module" src="/assets/v2/js/utils/script-loader.js?v=2026-09-25_17-04"></script>
75
76  
76<script type="module" src="/assets/v2/js/utils/custom-events.js?v=2026-09-25_17-04"></script>
76
77  
77<script type="module" src="/assets/v2/js/utils/index.js?v=2026-09-25_17-04"></script>
77
78  
78<script type="module" src="/assets/v2/vendor/index.js?v=2026-09-25_17-04"></script>
78
79  
79<script type="module" src="/assets/v2/vendor/axios/axios.min.js?v=2026-09-25_17-04"></script>
79
80  
80<script type="module" src="/assets/v2/vue-components/ag-grid/grid_options.js?v=2026-09-25_17-04"></script>
80
81  
81<script>
82    window.csrf_token = 'diPwG2ZHUpkNmLXt28Kfkbmk9xX1nwHxOIpuUNcGfjDYpw8ozfn3uvPwzXTJNDPP';
83  </script>
83
84  
85<link rel="stylesheet" href="/assets/v2/pages/building_detail/header-style.css?v=2026-09-25_17-04">
86<style>
87    main {
88        padding: 0px;
89    }
90    .experiment-winner-color{
91        background-color: var(--experiment-winner-color);
92        color: #fff;
93    }
94
95    .building-detail-inquiry-btn{
96        background-color: var(--experiment-winner-color) !important;
97        color: #fff !important;
98    }
99
100    .hl-dialog-main {
101        max-height: 88vh !important;
102   }
103    
104</style>
105
106  
107<meta name="description" content="Steeped in history and situated at 4 Lexington Avenue in the heart of New York City&#x27;s vibrant Gramercy Park neighborhood, The Sage Page presents a collection of unique and luxurious cooperative residences. This distinguished landmark building exudes charm and elegance, offering a variety of residences, each boasting its own distinctive features.Residents of The Sage Page are afforded a high level of security and service through the presence of a full-time doorman and an on-premises building manager. The building&#x27;s amenities cater to residents&#x27; convenience, encompassing a common laundry room, secure bike storage, and private storage units.The architectural grandeur of The Sage Page is undeniable. Its regal sandstone facade, reminiscent of Italian Renaissance palazzos, sets the stage for the impressive double-height lobby that greets residents upon entry.Beyond its architectural significance, The Sage Page boasts an unbeatable location. Situated just steps away from the verdant expanse of Gramercy Square Park, residents enjoy effortless access to a plethora of desirable destinations. This includes the nearby Madison Square Park and Union Square, the vibrant culinary scene of Eataly, the Flatiron and NoMad districts, and a multitude of trendy restaurants, bars, and cafes.The Sage Page welcomes a variety of ownership arrangements, catering to diverse lifestyles. Pied-a-terre ownership, co-purchasing opportunities, and pet ownership are all permitted. Additionally, the cooperative allows for unlimited subletting after one year of ownership with board approval and offers an attractive 80% financing option.Embodying the perfect blend of historic elegance and modern convenience, The Sage Page presents a unique opportunity to reside in one of New York City&#x27;s most coveted neighborhoods.">
108<!-- <meta name="viewport" content="width=device-width, initial-scale=1"> -->
109
110
111<script type="application/ld+json">
112    {
113        "@context": "https://schema.org",
114        "@type": "WebSite",
115        "name": "The Sage House",
116        "alternateName": ["The Sage House", "4 Lexington Avenue", "sagehousenyc.com"],
117        "url": "https://www.sagehousenyc.com"
118    }
119</script>
119
120
121<link rel="canonical" href="https://www.sagehousenyc.com">
122<script>
123    !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init Ie Ts Ms Ee Es Rs capture Ge calculateEventProperties Os register register_once register_for_session unregister unregister_for_session js getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSurveysLoaded onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey canRenderSurveyAsync identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty Ds Fs createPersonProfile Ls Ps opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing Cs debug I As getPageViewId captureTraceFeedback captureTraceMetric".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
124    posthog.init('phc_TaUooPb9koeCuWEv7q1lfIhBR0ojKygN0KTcSbpj8IY', {
125        api_host: 'https://us.i.posthog.com',
126        defaults: '2025-05-24',
127        person_profiles: 'identified_only', // or 'always' to create profiles for anonymous users as well
128    })
129</script>
129
130
131<script>
132        window.POSTHOG_EXPERIMENT_KEY_1 = 'building-page-off-market-listings-section';
133        window.POSTHOG_EXPERIMENT_1_VARIANT = 'control';
134        // POSTHOG EXPERIMENT 2 START: stacking-plan-tile-redesign
135        window.POSTHOG_EXPERIMENT_KEY_2 = 'building-detail-page-stacking-plan-tile-redesign';
136        window.POSTHOG_EXPERIMENT_2_VARIANT = 'control';
137        // POSTHOG EXPERIMENT 2 END
138        // POSTHOG EXPERIMENT 3 START: building-page-rental-waitlist-cta
139        window.POSTHOG_EXPERIMENT_KEY_3 = 'building-page-rental-waitlist-cta';
140        window.POSTHOG_EXPERIMENT_3_VARIANT = 'control';
141        // POSTHOG EXPERIMENT 3 END
142        function setPosthogExperimentVariants() {
143            // Experiment 1 is assigned in OffMarketListings only when opportunity count > 0
144            // POSTHOG EXPERIMENT 2 START: stacking-plan-tile-redesign
145            window.POSTHOG_EXPERIMENT_2_VARIANT = window.posthog.getFeatureFlag(window.POSTHOG_EXPERIMENT_KEY_2) || 'control';
146            // POSTHOG EXPERIMENT 2 END
147            // POSTHOG EXPERIMENT 3 START: building-page-rental-waitlist-cta
148            window.POSTHOG_EXPERIMENT_3_VARIANT = window.posthog.getFeatureFlag(window.POSTHOG_EXPERIMENT_KEY_3) || 'control';
149            // POSTHOG EXPERIMENT 3 END
150            window.dispatchEvent(new CustomEvent('posthog-feature-flags-ready'));
151        }
152        if (window.posthog?.onFeatureFlags) {
153            window.posthog.onFeatureFlags(setPosthogExperimentVariants);
154        }
155        const specialist = "None";
156        window.building_address = "4 Lexington Avenue";
157        window.default_img = '/assets/v2/ui/images/default/default-listing.png';
158        const data_url = "/buildings/ajax/es-data?pk=302919";
159        window.placekey = "223@627-s8h-ty9";
160        window.floor_plan_count = 89;
161        window.photos_count = 6;
162        window.stacking_plan_count = 0;
163        const stacking_url = "/buildings/ajax/stacking-plan?pk=302919";
164        const coming_soon = false;
165        const subscribe_url = "/ajax/subscribe/building/302919";
166        window.common_charge_label = 'Maintenance'
167        // Django data for Vue template
168        window.djangoData = {
169            name: 'The Sage House',
170            floor_plan_count: 89,
171            building_unit_count: 162,
172            available_sales_num: 3,
173            available_rentals_num: 2,
174            building_id: '302919',
175            off_market_bg: '/assets/v2/ui/images/building_detail/off-market-bg.webp',
176            opportunity_count_url: '/api/v1/buildings/opportunity-count',
177            lead_form_url: '/leads/lead-form-building',
178            remarketing_send_to_list: [],
179            is_new_development: true
180        };
181        let subscriberPK = null;
182        window.saveSubscriberEmail = function saveSubscriberEmail() {
183            const email = document.getElementById('subscriber_email').value;
184            const headers = { 'X-CSRFToken': getCookie('csrftoken') };
185            const data = new FormData();
186            data.append('email', email);
187            data.append('floor_plan_count', window.floor_plan_count)
188            data.append('stacking_plan_count', window.stacking_plan_count)
189            axios
190                .post(subscribe_url, data, { headers })
191                .then((response) => {
192                    window.emailSubscribed = true;
193                    closeEmailPopup();
194                    gtag('event', 'conversion', { send_to: 'AW-1016337316/XXfeCJ6_jpQZEKSn0OQD' });
195                    // open user preference popup
196                    if (response.data.status) {
197                        subscriberPK = response.data.pk;
198                        showCustomDialog('subscribe-preference-popup-container');
199                    }
200                    else {
201                        //open success popup
202                        $notyf.success('Subscribed successfully!')
203                    }
204                })
205                .catch((error) => {
206                    console.log('error occur while saving email', error);
207                });
208        };
209        window.saveSubscriberPreference = function saveSubscriberPreference() {
210            const headers = { 'X-CSRFToken': getCookie('csrftoken') };
211            const realTimeUpdates = document.getElementById('realTimeUpdates');
212            const monthlySnapshot = document.getElementById('monthlySnapshot');
213            const data = new FormData();
214            data.append('pk', subscriberPK);
215            data.append('real_time_updates', realTimeUpdates.checked);
216            data.append('monthly_snapshot', monthlySnapshot.checked);
217            axios
218                .post(subscribe_url, data, { headers })
219                .then((_) => {
220                    window.closePreferencePopup();
221                    $notyf.success('Preference updated successfully!')
222                })
223        }
224        window.menuAnalytics = function menuAnalytics(menuLink) {
225            //Google Analytics
226            gtag('event', 'building_page_menu_links', {
227                category: 'building_page_menu_links',
228                value: menuLink,
229                stacking_plan: window.stacking_plan_count ? 'yes' : 'no',
230                floorplan: window.floor_plan_count ? 'yes' : 'no',
231                top_slider: window.photos_count ? 'yes' : 'no'
232            });
233        };
234        window.googleAnalytics = (category, value) => {
235            //Google Analytics
236            gtag('event', 'building_detail_new', {
237                category: category,
238                value: value,
239                agent: specialist,
240                stacking_plan: window.stacking_plan_count ? 'yes' : 'no',
241                floorplan: window.floor_plan_count ? 'yes' : 'no',
242                top_slider: window.photos_count ? 'yes' : 'no'
243            });
244        };
245        function updateStackingPlanCount(count) {
246            axios.get(stacking_url)
247                .then((plan) => {
248                    window.stacking_plan_count = plan.data.length;
249                })
250        }
251        updateStackingPlanCount();
252        function removeVideoIframe(iframe) {
253            const dialog = document.querySelector('#video-popup-container');
254            const shadow = dialog.shadowRoot;
255
256            if (shadow) {
257                const closePopupTrigger = shadow.querySelector('.close-popup-trigger');
258                if (closePopupTrigger) {
259                    closePopupTrigger.addEventListener('click', () => {
260                        const iframe = document.getElementById('embed-video-iframe');
261                        if (iframe) {
262                                window.removeIframe?.(iframe);
263                            }
264                        });
265                }
266            }
267        }
268        window.createVideoContainer = function createVideoContainer(event) {
269            window.setTimeout(() => {
270            event && event.stopPropagation();
271            const parentElement = document.getElementById('building-detail-iframe-container');
272            const iframe = document.createElement('iframe');
273            iframe.id = 'embed-video-iframe';
274            iframe.src = window.video_link;
275            iframe.title = 'Video Tour';
276            iframe.setAttribute('frameborder', '0');
277            iframe.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share');
278            iframe.setAttribute('allowfullscreen', 'true');
279            iframe.setAttribute('referrerpolicy', 'strict-origin-when-cross-origin');
280            iframe.width = '100%';
281            iframe.height = '100%';
282            iframe.style.border = 'none';
283                iframe.style.background = 'black';
284                parentElement.appendChild(iframe);
285                removeVideoIframe(iframe);
286            }, 200);
287        }
288
289        //Toggle menu bar present on Header (on mobile screen)
290        window.toggleMenu = function toggleMenu() {
291            let menu = document.getElementsByClassName('menuBar')[0];
292            if (menu.style.display === 'none') {
293                menu.style.display = 'block';
294            } else {
295                menu.style.display = 'none';
296            }
297        }
298        //expand/collapse recent activity content area
299        window.toggleRecentActivity = function toggleRecentActivity() {
300            const recentActivityArea = document.getElementsByClassName('recent-activity-content')[0];
301            const toggleView = document.getElementById('recent-activity-view-more');
302            if (toggleView.innerHTML.includes('View More')) {
303                recentActivityArea.style.maxHeight = 'none';
304                toggleView.innerHTML = 'View Less';
305            } else {
306                if (recentActivityArea.offsetWidth < 769) {
307                    recentActivityArea.style.maxHeight = '150px';
308                } else {
309                    recentActivityArea.style.maxHeight = '240px';
310                }
311                toggleView.innerHTML = 'View More';
312            }
313        };
314
315        window.stopPropagation = function stopPropagation(event) {
316            event && event.stopPropagation();
317        };
318        //prevent scroll down on space button event
319        window.addEventListener('keydown', function (e) {
320            if (e.keyCode == 32 && e.target == document.body) {
321                e.preventDefault();
322            }
323        });
324        window.closePreferencePopup = function closePreferencePopup() {
325            hideCustomDialog('subscribe-preference-popup-container');
326        };
327        window.closeEmailPopup = function closeEmailPopup() {
328            hideCustomDialog('save-subscriber-dialog');
329        };
330
331        window.tabSelected = function tabSelected(tab) {
332            const tabs = {
333                mapTab: document.getElementsByClassName('mapTab')[0],
334                supermarket: document.getElementsByClassName('supermarket')[0],
335                gyms: document.getElementsByClassName('gyms')[0],
336                parks: document.getElementsByClassName('parks')[0],
337            };
338            // reset previous textDecoration underline style property
339            Object.values(tabs).forEach(
340                (tab) => (tab.children[0].style.textDecoration = 'none')
341            );
342            const span = tabs[tab].children[0];
343            span.style.textDecoration = 'underline';
344
345            // show content according to the Tab selection
346            const map_placeholder =
347                document.getElementsByClassName('map-placeholder')[0];
348            const coming_soon_feature_placeholder = document.getElementsByClassName(
349                'coming-soon-feature-placeholder'
350            )[0];
351
352            // custom styles for 'coming soon' feature container
353            if (tab === 'mapTab') {
354                map_placeholder.style.display = 'block';
355                coming_soon_feature_placeholder.style.display = 'none';
356            } else {
357                map_placeholder.style.display = 'none';
358                coming_soon_feature_placeholder.style.display = 'flex';
359            }
360            // Google Analytics
361            gtag('event', 'building_detail_new', {
362                category: 'map_tabs',
363                value: tab,
364                stacking_plan: window.stacking_plan_count ? 'yes' : 'no',
365                floorplan: window.floor_plan_count ? 'yes' : 'no',
366                top_slider: window.photos_count ? 'yes' : 'no'
367            });
368        };
369
370        window.removeIframe = function removeIframe(iframe) {
371            if (iframe) {
372                iframe && iframe.remove();
373            }
374        };
375        //Close menu bar, if previously opened
376        window.addEventListener('click', function (e) {
377            if (!document.getElementsByClassName('hamburger')[0].contains(e.target)) {
378                const menu = document.getElementsByClassName('menuBar')[0];
379                if (menu) menu.style.display = 'none';
380            }
381            // Remove video Iframe when click oustside of Popup
382            const iframe = document.getElementById('embed-video-iframe');
383            window.removeIframe(iframe)
384        });
385
386        // Add source to main inquiry form
387        window.addInquirySource = function addInquirySource(sourceInputId = 'form_source', sourceName = 'Building Detail Page') {
388            const formSourceInput = document.getElementById(sourceInputId);
389            if (formSourceInput) {
390                formSourceInput.value = sourceName;
391            }
392        };
393
394        window.showCustomDialog = function showCustomDialog(id) {
395            const dialog = document.getElementById(id);
396            if (dialog) {
397                dialog.setAttribute('show-dialog', 'true');
398            }
399        }
400        window.hideCustomDialog = function hideCustomDialog(id) {
401            const dialog = document.getElementById(id);
402            if (dialog) {
403                dialog.setAttribute('show-dialog', 'false');
404            }
405        }
406
407        function scrollToSection(id) {
408            id = id && !id.startsWith('#') ? `#${id}` : id;
409            const element = document.querySelector(id);
410            if (element) {
411                element.scrollIntoView({ behavior: 'smooth' });
412            } else {
413                console.error(`Element with id=${id} not found.`);
414            }
415        }
416        window.onInquiryBtnClick =  function onInquiryBtnClick(){
417            menuAnalytics('inquiry-form');
418            const element = document.getElementsByClassName('agent-and-form-container')[0];
419            if(element){
420                const config = {
421                    element,
422                    timeout: 300
423                }
424                window.highlightContainer(config)
425        }
426}
427</script>
427
428<!-- Video link script to handle both youtube and vimeo links -->
429
430  
431
432<!-- End of video link script -->
433
434
435  
436  
436<script src='https://js.sentry-cdn.com/02d27b0f57f04c36a341abcc1213f5de.min.js' crossorigin="anonymous"></script>
436
437  
437<script>
438    window.addEventListener('load', function() {
439        Sentry.init({
440            dsn: "https://[email protected]/1218472",
441            environment:  "production" ,
442            tracesSampleRate: 1.0,
443            enableLogs: true,
444            beforeSend(event, hint) {
445                const error = hint.originalException;
446                if ((error && error.message) && (error.message.match('dbilanlcioamaadkbepcenpombaejbla') || error.message.match('/assets/js/lazysizes.min.js'))) {
447                    return null
448                }
449                else if ((error && error.message) && (error.message.match('<object>.getSignal(assets/v2/js/utils/index)'))) {
450                    return null
451                }
452                else if ((error && error.message) && (error.message.match('Invalid or unexpected token SyntaxError ?(<unknown module>)'))) {
453                    return null
454                }
455                return event;
456            },
457            ignoreErrors: [
458                "dbilanlcioamaadkbepcenpombaejbla"
459            ]
460        });
461    })
462</script>
462
463
464</head>
465
466<body class="box-border m-0 p-0">
467  
468
469  <a href="#main-content" class="skip-link">Skip to main content</a>
470  
471
472<script>
473    window.user = "AnonymousUser";
474    const next_url='next=/buildings/nyc/the-sage-house-4-lexington-avenue/302919/cooperative'
475    window.VERSIONING = "2026-09-25_17-04";
476    window.static_url = "/assets/v2";
477    window.agGridKey = "Using_this_{AG_Grid}_Enterprise_key_{AG-131777}_in_excess_of_the_licence_granted_is_not_permitted___Please_report_misuse_to_legal@ag-grid.com___For_help_with_changing_this_key_please_contact_info@ag-grid.com___{Highline_Residential,_LLC}_is_granted_a_{Single_Application}_Developer_License_for_the_application_{Highline_Residential}_only_for_{1}_Front-End_JavaScript_developer___All_Front-End_JavaScript_developers_working_on_{Highline_Residential}_need_to_be_licensed___{Highline_Residential}_has_been_granted_a_Deployment_License_Add-on_for_{1}_Production_Environment___This_key_works_with_{AG_Grid}_Enterprise_versions_released_before_{1_September_2027}____[v3]_[01]_MTgxOTc1MzIwMDAwMA==d6f8fac391f86d1902ee57a6e3833dfe"
478    window.google_api_key = 'AIzaSyAG0R9vETZDNlr7cjaLkH398eCi8bDhZqQ';
479    window.lightgalleryKey = "D10822DB-43B0-4254-98A9-9E0F4DD40539";
480    window.isAdmin = false;
481    window.fixedAgGridHeader = false;
482    window.appLoader = "/assets/v2/ui/images/gifs/loader.gif";
483    window.userLoggedIn = false;
484    window.default_img = '/assets/v2/ui/images/default/default-listing.png';
485    window.filterPageDjangoData = {};
486    window.filterPageDjangoData.pagination = false;
487    window.filterPageDjangoData.rowsPerPageOptions = [20, 50, 100];
488</script>
488
489
490  <header>
491    
492    <div class="header-container box-shadow">
493        <div class="header-left flex gap-2" tabindex="0">
494            <a title="Link to home page" href="/">
495                <img  width="62px" height="62px" id="header-v2-company-logo" class="min-h-6 object-contain tabletLarge:w-auto"
496                src="/assets/v2/ui/images/logos/HL-grey-logo.svg"
497                alt="Highline Residential Company Logo">
498              </a>
499            <div class="flex flex-col">
500                <h1 class="block subheading-small font-semibold leading-none"> The Sage House </h1>
501                <h2 class="block text-sm ">4 Lexington Avenue Cooperative in Gramercy Park, Manhattan</h2>
502                <span class="block text-sm leading-none">Highline Residential</span>
503            </div>
504        </div>
505        <div class="header-right">
506            <div>
507                <a href="#building" onclick="menuAnalytics('building')">BUILDING</a>
508                <a href="#availability" onclick="menuAnalytics('availability')">AVAILABILITY</a>
509                <a href="#residences" onclick="menuAnalytics('residences')">RESIDENCES</a>
510                <a href="#activity" onclick="menuAnalytics('activity')">ACTIVITY</a>
511                <a href="#floorplans"
512                    onclick="menuAnalytics('floorplans')">FLOORPLANS</a> 
513            </div>
514            <div>
515                
516                <a href="#inquiry-form" onclick="onInquiryBtnClick()" class="btn-dark border-custom building-detail-inquiry-btn inquiry-form-btn experiment-winner-color" >Inquire</a>
517                
518                <button onclick="showCustomDialog('save-subscriber-dialog'), window.menuAnalytics('subscribe-for-updates')"
519                    class="btn-dark border-custom subscribe-btn experiment-winner-color" id="email-popup-trigger-id" aria-label="Subscribe for Updates"
520                    >
521                    <span> Subscribe for Updates </span>
522                </button>
523            </div>
524        </div>
525    </div>
526    <!-- HEADER FOR MOBILE SCREEN -->
527    <div class="mobile-screen-header box-shadow">
528        <div class="header-left-mobile" tabindex="0">
529            <h1 class="block building-name"> The Sage House
530            </h1>
531            <h2 class="block building-addr">4 Lexington Avenue</h2>
532        </div>
533        <div class="header-right-mobile">
534            
535            <div class="inquiry-btn-mobile">
536                <a href="#inquiry-form" onclick="onInquiryBtnClick()">Inquire</a>
537            </div>
538            
539            <button onclick="showCustomDialog('save-subscriber-dialog'), menuAnalytics('subscribe-for-updates')"
540                class="subscribe-btn-mobile cursor-pointer" aria-label="Subscribe for Updates" tabindex="0">
541                <span> Subscribe </span>
542            </button>
543            <button aria-label="Menu" class="hamburger" onclick="toggleMenu(event)" tabindex="0">
544                <div></div>
545                <div></div>
546                <div></div>
547            </button>
548            <ul class="menuBar dropdown-options-container" aria-label="Menu Items" role="hidden">
549                <li class="dropdown-option-small"><a href="#building" onclick="menuAnalytics('building')">BUILDING</a></li>
550                <li class="dropdown-option-small"><a href="#availability" onclick="menuAnalytics('availability')">AVAILABILITY</a></li>
551                
552                
553                <li class="dropdown-option-small"><a href="#residences" onclick="menuAnalytics('residences')">RESIDENCES</a></li>
554                
555                <li class="dropdown-option-small"><a href="#activity" onclick="menuAnalytics('activity')">ACTIVITY</a></li>
556                
557                <li class="dropdown-option-small"><a href="#floorplans" onclick="menuAnalytics('floorplans')">FLOORPLANS</a></li>
558                
559                
560            </ul>
561        </div>
562    </div>
563    
564  </header>
565  <div class="flex">
566    
567    <div style="width: 100%;">
568      <main id="main-content">
569        <div class="w-full px-5 relative z-10 bg-white ">
570  <div class="messages">
571    
572  </div>
573</div>
574
575        
576        
577        <div class="">
578    <div class="main-container flex flex-col items-center w-full">
579        
580        <div class="w-full" id="building">
581            <!-- <div class="loader" style="margin-top: 24px;"></div> -->
582            
583            <section class="swiper new-developments-slider" role="slider" aria-label="Photos section for The Sage House" aria-valuemin="1" aria-valuemax="6" aria-valuenow="1">
584                <div class="swiper-wrapper">
585                    
586                    <div class="swiper-slide slider-image">
587                        
588                        <a href="https://www.hlres.com/listings/2790343/sale-gramercy-park?utm_source=building_photos&utm_medium=building_photos&utm_campaign=photos&utm_term=slider" target="_blank" onclick="window.googleAnalytics('slider_click', '')">
589                            <picture>
590                                <source media="(max-width:460px)" srcset="https://i2.hlres.com/fit-in/460x10000/listing-photos/2790343/ad/1440801_134945108.jpg">
591                                <img
592                                    id="slider-image-1"
593                                    width="auto"
594                                    height="500px"
595                                    src="https://i2.hlres.com/fit-in/1200x10000/listing-photos/2790343/ad/1440801_134945108.jpg"
596                                     loading="eager" fetchpriority="high" 
597                                    alt="Photo for The Sage House - 4 Lexington Avenue Cooperative in Gramercy Park, Manhattan"
598                                />
599                            </picture>
600                        </a>
601                        
602                        <!-- <div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div> -->
603                        
604                        <div class="img-info-container">
605                            <div class="img-info">
606                                <span class="img-info-primary">
607                                    $850,000
608                                    <span class="img-info-separator" aria-hidden="true">&nbsp;|&nbsp;</span>
609                                    <span class="img-info-details">Unit 4K | 1BD | 1BA</span>
610                                </span>
611                                
612                                <span class="img-info-courtesy">Listing Courtesy of Compass | RLS by REBNY</span>
613                                
614                            </div>
615                        </div>
616                        
617                    </div>
618                    
619                    <div class="swiper-slide slider-image">
620                        
621                        <a href="https://www.hlres.com/listings/2690373/sale-gramercy-park?utm_source=building_photos&utm_medium=building_photos&utm_campaign=photos&utm_term=slider" target="_blank" onclick="window.googleAnalytics('slider_click', '')">
622                            <picture>
623                                <source media="(max-width:460px)" srcset="https://i2.hlres.com/fit-in/460x10000/listing-photos/2690373/ad/1422479_134790991.jpg">
624                                <img
625                                    id="slider-image-2"
626                                    width="auto"
627                                    height="500px"
628                                    src="https://i2.hlres.com/fit-in/1200x10000/listing-photos/2690373/ad/1422479_134790991.jpg"
629                                     loading="eager" fetchpriority="high" 
630                                    alt="Photo for The Sage House - 4 Lexington Avenue Cooperative in Gramercy Park, Manhattan"
631                                />
632                            </picture>
633                        </a>
634                        
635                        <!-- <div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div> -->
636                        
637                        <div class="img-info-container">
638                            <div class="img-info">
639                                <span class="img-info-primary">
640                                    $650,000
641                                    <span class="img-info-separator" aria-hidden="true">&nbsp;|&nbsp;</span>
642                                    <span class="img-info-details">Unit 1M | 0BD | 1BA</span>
643                                </span>
644                                
645                                <span class="img-info-courtesy">Listing Courtesy of Sothebys International Realty | RLS by REBNY</span>
646                                
647                            </div>
648                        </div>
649                        
650                    </div>
651                    
652                    <div class="swiper-slide slider-image">
653                        
654                        <a href="https://www.hlres.com/listings/2694324/sale-gramercy-park?utm_source=building_photos&utm_medium=building_photos&utm_campaign=photos&utm_term=slider" target="_blank" onclick="window.googleAnalytics('slider_click', '')">
655                            <picture>
656                                <source media="(max-width:460px)" srcset="https://i2.hlres.com/fit-in/460x10000/listing-photos/2694324/ad/1423543_134789508.jpg">
657                                <img
658                                    id="slider-image-3"
659                                    width="auto"
660                                    height="500px"
661                                    src="https://i2.hlres.com/fit-in/1200x10000/listing-photos/2694324/ad/1423543_134789508.jpg"
662                                     loading="eager" fetchpriority="high" 
663                                    alt="Photo for The Sage House - 4 Lexington Avenue Cooperative in Gramercy Park, Manhattan"
664                                />
665                            </picture>
666                        </a>
667                        
668                        <!-- <div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div> -->
669                        
670                        <div class="img-info-container">
671                            <div class="img-info">
672                                <span class="img-info-primary">
673                                    $429,000
674                                    <span class="img-info-separator" aria-hidden="true">&nbsp;|&nbsp;</span>
675                                    <span class="img-info-details">Unit 2N | 0BD | 1BA</span>
676                                </span>
677                                
678                                <span class="img-info-courtesy">Listing Courtesy of Sothebys International Realty | RLS by REBNY</span>
679                                
680                            </div>
681                        </div>
682                        
683                    </div>
684                    
685                    <div class="swiper-slide slider-image">
686                        
687                        <picture>
688                            <source media="(max-width:460px)" srcset="https://hl-django-new.s3.amazonaws.com/unit_floorplan/119213/unit%20floorplan/15jk_composed.jpg?AWSAccessKeyId=AKIA3CEYEB6JVPPVBQIU&amp;Signature=X0Z69mSO5A2c1Abce%2BlA%2BxIOif4%3D&amp;Expires=1794160393">
689                            <img
690                                id="slider-image-4"
691                                width="auto"
692                                height="500px"
693                                src="https://hl-django-new.s3.amazonaws.com/unit_floorplan/119213/unit%20floorplan/15jk_composed.jpg?AWSAccessKeyId=AKIA3CEYEB6JVPPVBQIU&amp;Signature=X0Z69mSO5A2c1Abce%2BlA%2BxIOif4%3D&amp;Expires=1794160393"
694                                 loading="lazy" fetchpriority="low" 
695                                alt="Photo for The Sage House - 4 Lexington Avenue Cooperative in Gramercy Park, Manhattan"
696                            />
697                        </picture>
698                        
699                        <!-- <div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div> -->
700                        
701                    </div>
702                    
703                    <div class="swiper-slide slider-image">
704                        
705                        <picture>
706                            <source media="(max-width:460px)" srcset="https://hl-django-new.s3.amazonaws.com/unit_floorplan/119196/unit%20floorplan/15k_composed.jpg?AWSAccessKeyId=AKIA3CEYEB6JVPPVBQIU&amp;Signature=Fqz3LoC4F9WXPCt46sLv7ISjINw%3D&amp;Expires=1794160393">
707                            <img
708                                id="slider-image-5"
709                                width="auto"
710                                height="500px"
711                                src="https://hl-django-new.s3.amazonaws.com/unit_floorplan/119196/unit%20floorplan/15k_composed.jpg?AWSAccessKeyId=AKIA3CEYEB6JVPPVBQIU&amp;Signature=Fqz3LoC4F9WXPCt46sLv7ISjINw%3D&amp;Expires=1794160393"
712                                 loading="lazy" fetchpriority="low" 
713                                alt="Photo for The Sage House - 4 Lexington Avenue Cooperative in Gramercy Park, Manhattan"
714                            />
715                        </picture>
716                        
717                        <!-- <div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div> -->
718                        
719                    </div>
720                    
721                    <div class="swiper-slide slider-image">
722                        
723                        <picture>
724                            <source media="(max-width:460px)" srcset="https://hl-django-new.s3.amazonaws.com/unit_floorplan/119162/unit%20floorplan/15lmn_composed.jpg?AWSAccessKeyId=AKIA3CEYEB6JVPPVBQIU&amp;Signature=DWQ8MOZBuH1R%2Bbs20kmAo8Yivj0%3D&amp;Expires=1794160393">
725                            <img
726                                id="slider-image-6"
727                                width="auto"
728                                height="500px"
729                                src="https://hl-django-new.s3.amazonaws.com/unit_floorplan/119162/unit%20floorplan/15lmn_composed.jpg?AWSAccessKeyId=AKIA3CEYEB6JVPPVBQIU&amp;Signature=DWQ8MOZBuH1R%2Bbs20kmAo8Yivj0%3D&amp;Expires=1794160393"
730                                 loading="lazy" fetchpriority="low" 
731                                alt="Photo for The Sage House - 4 Lexington Avenue Cooperative in Gramercy Park, Manhattan"
732                            />
733                        </picture>
734                        
735                        <!-- <div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div> -->
736                        
737                    </div>
738                    
739                </div>
740                <div class="swiper-button-next" aria-label="Next slide">
741                    <!-- <img src="/assets/v2/ui/images/swiper/swiper-next-control.svg" width="24px" height="36px" alt="Next slide"> -->
742                </div>
743                <div class="swiper-button-prev" aria-label="Previous slide">
744                    <!-- <img src="/assets/v2/ui/images/swiper/swiper-prev-control.svg" width="24px" height="36px"  alt="Previous slide"> -->
745                </div>
746            </section>
747            
748        </div>
749        
750        <div class="center-container">
751            <span class="subheading-small font-merriweather"> The Sage House at 4 Lexington Avenue Building Details </span>
752            <div class="center-container-content" id="inquiry-form">
753                <section class="center-container-description" aria-label="The Sage House at 4 Lexington Avenue Building Details" tabindex="0">
754                    <!-- EMBEDED VIDEO CONTAINER -->
755                    
756                    <span class="block text-base">Steeped in history and situated at 4 Lexington Avenue in the heart of New York City's vibrant Gramercy Park neighborhood, The Sage Page presents a collection of unique and luxurious cooperative residences. This distinguished landmark building exudes charm and elegance, offering a variety of residences, each boasting its own distinctive features.<br><br>Residents of The Sage Page are afforded a high level of security and service through the presence of a full-time doorman and an on-premises building manager. The building's amenities cater to residents' convenience, encompassing a common laundry room, secure bike storage, and private storage units.<br><br>The architectural grandeur of The Sage Page is undeniable. Its regal sandstone facade, reminiscent of Italian Renaissance palazzos, sets the stage for the impressive double-height lobby that greets residents upon entry.<br><br>Beyond its architectural significance, The Sage Page boasts an unbeatable location. Situated just steps away from the verdant expanse of Gramercy Square Park, residents enjoy effortless access to a plethora of desirable destinations. This includes the nearby Madison Square Park and Union Square, the vibrant culinary scene of Eataly, the Flatiron and NoMad districts, and a multitude of trendy restaurants, bars, and cafes.<br><br>The Sage Page welcomes a variety of ownership arrangements, catering to diverse lifestyles. Pied-a-terre ownership, co-purchasing opportunities, and pet ownership are all permitted. Additionally, the cooperative allows for unlimited subletting after one year of ownership with board approval and offers an attractive 80% financing option.<br><br>Embodying the perfect blend of historic elegance and modern convenience, The Sage Page presents a unique opportunity to reside in one of New York City's most coveted neighborhoods.</span>
757                </section>
758                <div class="agent-and-form-container">
759                
760                    <section class="center-container-form" aria-label="Inquiry Form" tabindex="0">
761                        <div id="lead_gen_form_container">
762                            
763
764<style>
765    .agent-form select{
766    width: 100%;
767    height: 33px;
768    border-radius: 4px;
769    border: 1px solid #000;
770  }
771  .agent-form input{
772    width: 100%;
773  }
774  .agent-form .inquiry-submit-btn {
775    width: fit-content;
776    background: black;
777    color: white;
778    border: none;
779  }
780  .agent-form textarea{
781    width: 100%;
782    height: 150px;
783    border: 1px solid #dcdcdc;
784  }
785  /* .agent-form label{
786    display: block;
787    color: #302f2f;
788    font-weight: normal;
789  } */
790  .agent-form .form-row{
791    display: flex;
792    flex-wrap: wrap;
793    justify-content: space-between;
794  }
795  .form-column{
796    flex-basis: 48%;
797  }
798  .form_error_section{
799    display: none;
800    width: auto
801  }
802  .errorlist{
803    background-color: #f15232;
804    color: #fff;
805    padding: 6px;
806    width: auto;
807    font-size: 12px;
808  }
809  .form_footer{
810    display: flex;
811    flex-direction: column;
812    row-gap: 8px;
813    padding-top: 16px;
814  }
815  .form_footer span {
816    font-size: 8px;
817    color: #666;
818    font-weight: normal;
819  }
820  input.cursor-pointer {
821    cursor: pointer;
822  }
823  input.cursor-pointer:disabled {
824    cursor: not-allowed;
825  }
826</style>
827<form id="lead_form" data-reset-submit-btn="False" action="/leads/lead-form-building" method="POST" class="agent-form">
828  <input type="hidden" name="csrfmiddlewaretoken" value="diPwG2ZHUpkNmLXt28Kfkbmk9xX1nwHxOIpuUNcGfjDYpw8ozfn3uvPwzXTJNDPP">
829
830  <div class="form-row">
831  <div class="form-column required">
832    <label for="id_name" class="input-label">Your name</label>
833    <input id="id_name" maxlength="255" name="name" type="text" class="required input-small">
834    <div id="name_error" class="form_error_section">This field is required</div>
835  </div>
836  <div class="form-column required">
837    <label for="id_email" class="input-label">Your email</label>
838    <input id="id_email" maxlength="255" name="email" type="email" class="required input-small">
839    <div id="email_error" class="form_error_section">Either email or phone number is required</div>
840  </div>
841</div>
842<div class="form-row" style="margin-top: 16px;">
843  <div class="form-column required">
844    <label for="id_phone" class="input-label">Your phone</label>
845    <input id="id_phone" maxlength="255" name="phone" type="tel" autocomplete="tel" class="input-small">
846    <div id="phone_error" class="form_error_section">Either phone number or email is required</div>
847  </div>
848  <div class="form-column required">
849    <label for="id_interested_in" class="input-label">Interested in</label>
850    <select id="id_interested_in" name="interested_in" class="input-small">
851      <option disabled selected value> select an option </option>
852      <option value="buying">Buying</option>
853      <option value="renting">Renting</option>
854      <option value="other">Other</option>
855    </select>
856    <div id="interested_in_error" class="form_error_section">This field is required</div>
857  </div>
858</div>
859<span class="form_request_error"></span>
860
861  
862  <div style="opacity: 0; position: absolute; top: 0; left: 0; height: 0; width: 0; z-index: -1;">
863    <label>Please enter phonenumber
864        <input type="text" name="phonenumber" value="" autocomplete="off" />
865    </label>
866</div>
867
868  <div style="margin-top: 16px;">
869    <label for="id_notes" class="input-label">How can we help you?</label>
870    <textarea id="id_notes" name="notes" class="text-area"></textarea>
871  </div>
872  <!-- Hidden input will be dynamically added if 'gclid' is present in URL query-->
873  <input type="hidden" name="building_id"  value="302919">
874  <input type="hidden" name="listing_id" id="form_listing_id" value="" class="form_listing">
875  <!-- add starting price hidden input -->
876  <input type="hidden" name="starting_price" id="form_starting_price" value="">
877  <input type="hidden" name="source" id="form_source" value="">
878  <div class="form_footer">
879    <button class="cursor-pointer inquiry-submit-btn btn-dark building-detail-inquiry-btn" type="submit" id="lead_inquire" onclick="submitForm(event)">
880      Schedule viewing
881    </button>
882    <span>
883      By submitting your contact details you agree that a Licensed Real Estate Professional from Highline Residential may call/text/email you about your inquiry, which may involve use of automated means. This Web site has no affiliation to the building, developer, or management company.
884    </span>
885    </div>
886</form>
887
888<script>
889  function submitForm(event){
890    event.preventDefault()
891    validate_form()
892  }
893  function resetSubmitBtn(btn){
894    if(document.getElementById('lead_form').dataset.resetSubmitBtn == 'True'){
895      btn.value = 'Schedule viewing';
896      btn.disabled = false;
897    }
898  }
899  function validate_form() {
900    let errors = 0;
901    const errors_map = {};
902
903    const name = document.getElementById('id_name');
904    const email = document.getElementById('id_email');
905    const phoneNumber = document.getElementById('id_phone');
906    const interestedIn =  document.getElementById('id_interested_in');
907    //errors section
908    const name_error = document.getElementById('name_error');
909    const email_error = document.getElementById('email_error');
910    const phone_error = document.getElementById('phone_error');
911    const interested_in_error = document.getElementById('interested_in_error');
912    // POSTHOG EXPERIMENT 2 START: stacking-plan-tile-redesign
913    const form_schedule_viewing_popup = document.getElementById('form_source_schedule_viewing_popup');
914    // POSTHOG EXPERIMENT 2 END
915
916    if (name?.value?.length == 0) {
917      name_error.style.display = 'block';
918      name_error.classList.add('errorlist');
919      errors_map.name_error = true;
920    }
921    else{
922      name_error.style.display = 'none';
923      name_error.classList.remove('errorlist');
924      errors_map.name_error = false;
925    }
926    if (email?.value?.length == 0 && phoneNumber?.value?.length == 0) {
927      email_error.style.display = 'block';
928      email_error.classList.add('errorlist');
929      errors_map.email_error = true;
930    }
931    else{
932      email_error.style.display = 'none';
933      email_error.classList.remove('errorlist');
934      errors_map.email_error = false;
935    }
936    if (email?.value?.length == 0 && phoneNumber?.value?.length == 0) {
937      phone_error.style.display = 'block';
938      phone_error.classList.add('errorlist');
939      errors_map.phone_error = true;
940    }
941    else{
942      phone_error.style.display = 'none';
943      phone_error.classList.remove('errorlist');
944      errors_map.phone_error = false;
945    }
946    if (interestedIn?.value?.length == 0) {
947      interested_in_error.style.display = 'block';
948      interested_in_error.classList.add('errorlist');
949      errors_map.interested_in_error = true;
950    }
951    else{
952      interested_in_error.style.display = 'none';
953      interested_in_error.classList.remove('errorlist');
954      errors_map.interested_in_error = false;
955    }
956    errors = Object.values(errors_map).filter(error => error == true ).length;
957    if (errors === 0) {
958      const phonenumber = document.querySelector('input[name="phonenumber"]').value;
959      if (phonenumber !== '') {
960        document.querySelector('.main_content').insertAdjacentHTML('afterbegin', '<div class="messages"><ul class="message_list"><li class="info">Thank you for your inquiry, we will contact you shortly!</li></ul></div>');
961        document.getElementById('lead_form').reset();
962        // close the popup if it's empty
963        var myModal = new bootstrap.Modal(document.getElementById('myModal'));
964        myModal.hide();
965      } 
966      else {
967        const form = document.getElementById('lead_form');
968        addGclidToForm(form);
969        const formData = new FormData(form);
970        formData.append('floor_plan_count', window.floor_plan_count)
971        formData.append('stacking_plan_count', window.stacking_plan_count)
972        const actionType = "";
973        if (actionType) {
974              formData.append('action', actionType.toLowerCase().replace(' ', '_'));
975        }
976        const serialized = new URLSearchParams(formData).toString();
977        const leadInquire = document.getElementById("lead_inquire");
978        leadInquire.disabled = true;
979        leadInquire.value = 'SENT';
980
981        fetch("/leads/lead-form-building", {
982          method: "POST",
983          headers: {
984            'Content-Type': 'application/x-www-form-urlencoded',
985            'X-Requested-With': 'XMLHttpRequest'
986          },
987          body: serialized
988        })
989        .then(response => {
990          if (response.ok) {
991            return response.text();
992          } else {
993            throw new Error('Network response was not ok.');
994          }
995        })
996        .then(data => {
997          data = JSON.parse(data);
998          if (data === 'Success') {
999            // POSTHOG EXPERIMENT 2 START: stacking-plan-tile-redesign
1000            if (form_schedule_viewing_popup && form_schedule_viewing_popup.value.toLowerCase() === 'stacking plan') {
1001              window.setTimeout(() => {
1002                window.posthog.capture('stacking_plan_lead_form_submitted', {
1003                  variant: window.POSTHOG_EXPERIMENT_2_VARIANT,
1004                });
1005              }, 5000);
1006            }
1007            // POSTHOG EXPERIMENT 2 END
1008            // FOR POSTHOG EXPERIMENT 1
1009            if(window.POSTHOG_EXPERIMENT_1_VARIANT) {
1010            window.posthog.capture('building_lead_form_submitted', {
1011                variant: window.POSTHOG_EXPERIMENT_1_VARIANT,
1012              });
1013            }
1014            // POSTHOG EXPERIMENT 3 START: building-page-rental-waitlist-cta
1015            const form_join_waitlist_popup = document.getElementById('form_source_join_waitlist_popup');
1016            if (
1017              (form_schedule_viewing_popup && form_schedule_viewing_popup.value.toLowerCase() === 'active rentals') ||
1018              (form_join_waitlist_popup && form_join_waitlist_popup.value.toLowerCase() === 'join waitlist')
1019            ) {
1020              window.posthog.capture('rental_waitlist_cta_form_submitted', {
1021                variant: window.POSTHOG_EXPERIMENT_3_VARIANT,
1022              });
1023            }
1024            // POSTHOG EXPERIMENT 3 END
1025            window.enquiryFormSubmitted = true;
1026            gtag('event', 'building_detail_new', {
1027                category: 'inquiry',
1028                stacking_plan: window.stacking_plan_count ? 'yes' : 'no',
1029                floorplan: window.floor_plan_count ? 'yes' : 'no'
1030            });
1031            gtag('event', 'Building Contact Form v2', {'category': 'Submitted Building Contact Form v2'});
1032            gtag('event', 'conversion', {'send_to': 'AW-1016337316/zLS2CJu_jpQZEKSn0OQD'});
1033            form.reset();
1034            window.$notyf && window.$notyf.success('Your inquiry was successfully submitted.');
1035            const errorContainer = document.querySelectorAll('.lead-gen-errors');
1036            errorContainer.forEach(element => {
1037              element.remove();
1038            });
1039            resetSubmitBtn(leadInquire);
1040          } else {
1041            // remove previous error message
1042            document.querySelector('.form_request_error').innerHTML = '';
1043            setTimeout(() => {
1044              document.querySelector('.form_request_error').insertAdjacentHTML('afterbegin', '<div class="messages lead-gen-errors"><ul class="message_list"><li class="error">There was an error processing your request. Please try again later.</li></ul></div>');
1045            }, 500);
1046            leadInquire.disabled = false;
1047            leadInquire.value = 'Schedule viewing';
1048          }
1049        })
1050        .catch(error => {
1051          // remove previous error message
1052          document.querySelector('.form_request_error').innerHTML = '';
1053          setTimeout(() => {
1054            document.querySelector('.form_request_error').insertAdjacentHTML('afterbegin', '<div class="messages lead-gen-errors"><ul class="message_list"><li class="error">There was an error processing your request. Please try again later.</li></ul></div>');
1055          }, 500);
1056          leadInquire.disabled = false;
1057          leadInquire.value = 'Schedule viewing';
1058          console.error('There was a problem with the fetch operation:', error);
1059        });
1060      }
1061    }
1062  }
1063  function addGclidToForm(form) {
1064    const params = new URLSearchParams(window.location.search);
1065    // Check if 'gclid' is present in the URL query string
1066    if (params.has('gclid')) {
1067      // Create a hidden input element for gclid
1068      const gclidInput = document.createElement('input');
1069      gclidInput.type = 'hidden';
1070      gclidInput.name = 'gclid';
1071      gclidInput.value = 'y';
1072      form.appendChild(gclidInput);
1073    }
1074  }
1075</script>
1075
1076
1077                        </div>
1078                    </section>
1079                </div>
1080            </div>
1081        </div>
1082        
1083        <div class="building-amenities">
1084            <span class="subheading-small font-merriweather"> The Sage House Building Amenities </span>
1085            <hr class="top-border" />
1086            <ul class="amenities text-base list-disc pl-4" style="overflow: auto">
1087              
1088              <li>Bike room</li>
1089              
1090              <li> Full-time doorman</li>
1091              
1092              <li> New construction</li>
1093              
1094              <li> On-site laundry</li>
1095              
1096              <li> Pets - Cats ok</li>
1097              
1098              <li> Pets - Dogs ok</li>
1099              
1100              <li> Pied-A-Terre Allowed</li>
1101              
1102              <li> Elevator</li>
1103              
1104              <li> Pre-War</li>
1105              
1106              <li> Storage</li>
1107              
1108            </ul>
1109            <hr class="bottom-border" style="margin-top: 20px" />
1110        </div>
1111        
1112
1113        
1114        <!-- VUE APP PLACEHOLDER -->
1115        <div class="active-listings" id="building-detail-vue">
1116            <!-- Loader for grid -->
1117            <span class="subheading-small font-merriweather mt-5 block" id="availability"> Active Listings &amp; Units </span>
1118            <div class="skeleton-loader mt-3" style="width: 100%; height: 600px;"></div>
1119             <!-- Loader for other sections -->
1120             <span class="subheading-small font-merriweather mt-2 block" id="residences">The Sage House Residences </span>
1121             <div class="flex flex-col gap-y-2 mt-3">
1122                <div class="skeleton-loader" style="width: 20%; height: 45px;"></div>
1123                <div class="skeleton-loader" style="width: 20%; height: 45px;"></div>
1124                <div class="skeleton-loader" style="width: 35%; height: 45px;"></div>
1125                <div class="skeleton-loader" style="width: 35%; height: 45px;"></div>
1126                <div class="skeleton-loader" style="width: 40%; height: 45px;"></div>
1127                <div class="skeleton-loader" style="width: 40%; height: 45px;"></div>
1128                <div class="skeleton-loader" style="width: 50%; height: 45px;"></div>
1129                <div class="skeleton-loader" style="width: 60%; height: 45px;"></div>
1130                <div class="skeleton-loader" style="width: 70%; height: 45px;"></div>
1131             </div>
1132             <span class="subheading-small font-merriweather mt-2 block" id="activity">Recent Activity at <em> The Sage House </em> </span>
1133             <div class="flex flex-col gap-y-2 mt-3">
1134                <div class="skeleton-loader" style="width: 100%; height: 24px;"></div>
1135                <div class="skeleton-loader" style="width: 100%; height: 24px;"></div>
1136                <div class="skeleton-loader" style="width: 100%; height: 24px;"></div>
1137                <div class="skeleton-loader" style="width: 100%; height: 24px;"></div>
1138                <div class="skeleton-loader" style="width: 100%; height: 24px;"></div>
1139                <div class="skeleton-loader" style="width: 100%; height: 24px;"></div>
1140                <div class="skeleton-loader" style="width: 100%; height: 24px;"></div>
1141                <div class="skeleton-loader" style="width: 100%; height: 24px;"></div>
1142                <div class="skeleton-loader" style="width: 100%; height: 24px;"></div>
1143             </div>
1144             <span class="subheading-small font-merriweather mt-2 block"> Apartment Floor Plans </span>
1145             <div class="flex flex-wrap gap-2 mt-3" id="floorplans">
1146                <div class="skeleton-loader " style="width: 280px; height: 300px;"></div>
1147                <div class="skeleton-loader " style="width: 280px; height: 300px;"></div>
1148                <div class="skeleton-loader " style="width: 280px; height: 300px;"></div>
1149                <div class="skeleton-loader " style="width: 280px; height: 300px;"></div>
1150                <div class="skeleton-loader " style="width: 280px; height: 300px;"></div>
1151                <div class="skeleton-loader " style="width: 280px; height: 300px;"></div>
1152             </div>
1153        </div>
1154        <!-- VUE APP ENDS -->
1155        
1156
1157        
1158        <div class="building-facts" id="building-facts-id">
1159            <span class="subheading-small font-merriweather"> Building Facts for 4 Lexington Avenue, New York 10010 </span>
1160            <hr class="top-border" />
1161            <div class="facts-listing">
1162                <ul class="list-disc pl-4">
1163                    <li id="available-sales-listings"><a href="#availability" style="color: black" role="button" @click="activeTab='ACTIVE SALES'">Available Sales Listings: 3</a></li>
1164                    
1165                    <li>Street Address: 4 Lexington Avenue, New York, NY 10010</li>
1166                     
1167                    <li>Property Type: Cooperative</li>
1168                    
1169                    <li>Elevator Building</li>
1170                    
1171                    <li>New Development</li>
1172                     
1173                    <li>Doorman: Full-time doorman</li>
1174                     
1175                    <li>Neighborhood: Gramercy Park / Manhattan</li>
1176                     
1177                    <li>Building Name: The Sage House</li>
1178                    
1179                </ul>
1180                <ul>
1181                    <li id="available-rental-listings"><a href="#availability" style="color: black" role="button" @click="activeTab='ACTIVE RENTALS'">Available Rental Listings: Please Inquire </a></li>
1182                    
1183                    <li>Year Built: 1931</li>
1184                      
1185                    <li>Floors: 15</li>
1186                        
1187                    <li>
1188                        <div style="display: flex; align-items: center">
1189                            Near Subway Lines:
1190                            <div class="subway-circle-container">
1191                                
1192                                <span class="subway_4" style="width: 13px; height: 13px"></span>
1193                                
1194                                <span class="subway_5" style="width: 13px; height: 13px"></span>
1195                                
1196                                <span class="subway_6" style="width: 13px; height: 13px"></span>
1197                                
1198                                <span class="subway_L" style="width: 13px; height: 13px"></span>
1199                                
1200                                <span class="subway_N" style="width: 13px; height: 13px"></span>
1201                                
1202                                <span class="subway_Q" style="width: 13px; height: 13px"></span>
1203                                
1204                                <span class="subway_R" style="width: 13px; height: 13px"></span>
1205                                
1206                            </div>
1207                        </div>
1208                    </li>
1209                    
1210                    
1211                </ul>
1212            </div>
1213            <hr class="bottom-border" />
1214        </div>
1215        
1216
1217        
1218
1219        
1220        <div class="similar-buildings">
1221          
1222            <span class="subheading-small font-merriweather"> Other Similar Buildings in NYC </span>
1223            <div class="building-cards gap-3">
1224                  
1225                <a class="card box-shadow"  title=" The Madison Parq  - 66 MADISON AVENUE Cooperative in NoMad, Manhattan"
1226                href="https://www.hlres.com/buildings/nyc/the-madison-parq-66-madison-avenue/302654/cooperative">
1227                    <div
1228                        class="similar-buildings-img-container"
1229                        ><img
1230                            alt="Photo for  The Madison Parq  - 66 MADISON AVENUE Cooperative in NoMad, Manhattan"
1231                            src="https://i2.hlres.com/fit-in/1200x10000/listing-photos/1975483/ad/7f0dec2e-10ed-4d3e-983a-b7602669d2c1.jpeg"
1232                            loading="lazy"
1233                    /></div>
1234                    <div class="flex flex-col px-2 py-4">
1235                        
1236                        <span class="font-normal text-sm">The Madison Parq</span>
1237                        
1238                        <span class="text-sm">66 Madison Avenue, New York, NY 10016</span>
1239                        <span class="text-sm">Cooperative in NoMad</span>
1240                    </div>
1241                </a>
1242                   
1243                <a class="card box-shadow"  title=" 330 3rd Avenue  - 330 3 AVENUE Cooperative in Gramercy Park, Manhattan"
1244                href="https://www.hlres.com/buildings/nyc/330-3rd-avenue-330-third-avenue/302945/cooperative">
1245                    <div
1246                        class="similar-buildings-img-container"
1247                        ><img
1248                            alt="Photo for  330 3rd Avenue  - 330 3 AVENUE Cooperative in Gramercy Park, Manhattan"
1249                            src="https://i2.hlres.com/fit-in/1200x10000/listing-photos/2125788/ad/64e6d705-b3ab-407f-a7e0-e4e2a27efb0e.jpeg"
1250                            loading="lazy"
1251                    /></div>
1252                    <div class="flex flex-col px-2 py-4">
1253                        
1254                        <span class="font-normal text-sm">330 3rd Avenue</span>
1255                        
1256                        <span class="text-sm">330 3 Avenue, New York, NY 10010</span>
1257                        <span class="text-sm">Cooperative in Gramercy Park</span>
1258                    </div>
1259                </a>
1260                   
1261                <a class="card box-shadow"  title=" Gramercy Park Towers  - 205 3 AVENUE Cooperative in Gramercy Park, Manhattan"
1262                href="https://www.hlres.com/buildings/nyc/gramercy-park-towers-205-3rd-avenue/303453/cooperative">
1263                    <div
1264                        class="similar-buildings-img-container"
1265                        ><img
1266                            alt="Photo for  Gramercy Park Towers  - 205 3 AVENUE Cooperative in Gramercy Park, Manhattan"
1267                            src="/assets/ui/default/default-building.jpg"
1268                            loading="lazy"
1269                    /></div>
1270                    <div class="flex flex-col px-2 py-4">
1271                        
1272                        <span class="font-normal text-sm">Gramercy Park Towers</span>
1273                        
1274                        <span class="text-sm">205 3 Avenue, New York, NY 10003</span>
1275                        <span class="text-sm">Cooperative in Gramercy Park</span>
1276                    </div>
1277                </a>
1278                   
1279                <a class="card box-shadow"  title=" 211 East 18th Street  - 211 EAST 18 STREET Cooperative in Gramercy Park, Manhattan"
1280                href="https://www.hlres.com/buildings/nyc/211-east-18th-street-211-east-18th-street/303454/cooperative">
1281                    <div
1282                        class="similar-buildings-img-container"
1283                        ><img
1284                            alt="Photo for  211 East 18th Street  - 211 EAST 18 STREET Cooperative in Gramercy Park, Manhattan"
1285                            src="https://i2.hlres.com/fit-in/1200x10000/listing-photos/954465/ad/83dcefb7.jpeg"
1286                            loading="lazy"
1287                    /></div>
1288                    <div class="flex flex-col px-2 py-4">
1289                        
1290                        <span class="font-normal text-sm">211 East 18th Street</span>
1291                        
1292                        <span class="text-sm">211 East 18 Street, New York, NY 10003</span>
1293                        <span class="text-sm">Cooperative in Gramercy Park</span>
1294                    </div>
1295                </a>
1296                   
1297                <a class="card box-shadow"  title=" Tracy Towers  - 421 2 AVENUE Cooperative in Kips Bay, Manhattan"
1298                href="https://www.hlres.com/buildings/nyc/tracy-towers-245-east-24th-street/303542/cooperative">
1299                    <div
1300                        class="similar-buildings-img-container"
1301                        ><img
1302                            alt="Photo for  Tracy Towers  - 421 2 AVENUE Cooperative in Kips Bay, Manhattan"
1303                            src="https://i2.hlres.com/fit-in/1200x10000/listing-photos/1567994/ad/83dcefb7.jpeg"
1304                            loading="lazy"
1305                    /></div>
1306                    <div class="flex flex-col px-2 py-4">
1307                        
1308                        <span class="font-normal text-sm">Tracy Towers</span>
1309                        
1310                        <span class="text-sm">421 2 Avenue, New York, NY 10010</span>
1311                        <span class="text-sm">Cooperative in Kips Bay</span>
1312                    </div>
1313                </a>
1314                   
1315                <a class="card box-shadow"  title=" The Peter James  - 201 EAST 25 STREET Cooperative in Gramercy Park, Manhattan"
1316                href="https://www.hlres.com/buildings/nyc/the-peter-james-201-east-25-street/303561/cooperative">
1317                    <div
1318                        class="similar-buildings-img-container"
1319                        ><img
1320                            alt="Photo for  The Peter James  - 201 EAST 25 STREET Cooperative in Gramercy Park, Manhattan"
1321                            src="/assets/ui/default/default-building.jpg"
1322                            loading="lazy"
1323                    /></div>
1324                    <div class="flex flex-col px-2 py-4">
1325                        
1326                        <span class="font-normal text-sm">The Peter James</span>
1327                        
1328                        <span class="text-sm">201 East 25 Street, New York, NY 10010</span>
1329                        <span class="text-sm">Cooperative in Gramercy Park</span>
1330                    </div>
1331                </a>
1332                   
1333                <a class="card box-shadow"  title=" The Spruce Ridge House  - 441 2 AVENUE Cooperative in Kips Bay, Manhattan"
1334                href="https://www.hlres.com/buildings/nyc/the-spruce-ridge-house-245-east-25th-street/303570/cooperative">
1335                    <div
1336                        class="similar-buildings-img-container"
1337                        ><img
1338                            alt="Photo for  The Spruce Ridge House  - 441 2 AVENUE Cooperative in Kips Bay, Manhattan"
1339                            src="https://i2.hlres.com/fit-in/1200x10000/listing-photos/1463880/ad/83dcefb7.jpeg"
1340                            loading="lazy"
1341                    /></div>
1342                    <div class="flex flex-col px-2 py-4">
1343                        
1344                        <span class="font-normal text-sm">The Spruce Ridge House</span>
1345                        
1346                        <span class="text-sm">441 2 Avenue, New York, NY 10010</span>
1347                        <span class="text-sm">Cooperative in Kips Bay</span>
1348                    </div>
1349                </a>
1350                   
1351                <a class="card box-shadow"  title=" 305 East 24th Street  - 422 2 AVENUE Cooperative in Kips Bay, Manhattan"
1352                href="https://www.hlres.com/buildings/nyc/305-east-24th-street-305-east-24th-street/304070/cooperative">
1353                    <div
1354                        class="similar-buildings-img-container"
1355                        ><img
1356                            alt="Photo for  305 East 24th Street  - 422 2 AVENUE Cooperative in Kips Bay, Manhattan"
1357                            src="https://i2.hlres.com/fit-in/1200x10000/listing-photos/952362/ad/83dcefb7.jpeg"
1358                            loading="lazy"
1359                    /></div>
1360                    <div class="flex flex-col px-2 py-4">
1361                        
1362                        <span class="font-normal text-sm">305 East 24th Street</span>
1363                        
1364                        <span class="text-sm">422 2 Avenue, New York, NY 10010</span>
1365                        <span class="text-sm">Cooperative in Kips Bay</span>
1366                    </div>
1367                </a>
1368                 
1369            </div>
1370          </div>
1371        
1372        
1373
1374        
1375        <div class="map-container">
1376            <span class="subheading-small font-merriweather"> Map Location of <em>The Sage House</em> and nearby points of interest </span>
1377            <div class="subway-tabs">
1378                <button class="mapTab" onclick="tabSelected('mapTab')">
1379                    <span>MAP</span>
1380                </button>
1381                <button class="supermarket" onclick="tabSelected('supermarket')">
1382                    <span>SUPERMARKETS</span>
1383                </button>
1384                <button class="gyms" onclick="tabSelected('gyms')">
1385                    <span>GYMS</span>
1386                </button>
1387                <button class="parks" onclick="tabSelected('parks')">
1388                    <span>PARKS</span>
1389                </button>
1390                <div>
1391                    <span></span>
1392                </div>
1393            </div>
1394            <div class="tab-display">
1395                
1396                <div class="tab-item" style="width: 100%">
1397                    <div class="map-placeholder">
1398                         <img
1399                            class="img-fluid map_image"
1400                            alt="Map of the building location"
1401                            loading="lazy"
1402                            height="720px"
1403                            width="100%"
1404                            style="max-height: 720px; object-fit: cover; width: 100%"
1405                            src="https://maps.googleapis.com/maps/api/staticmap?size=1298x720&scale=2&zoom=14&amp;markers=color:black%7Clabel:1%7C40.738848,-73.985720&key=AIzaSyAG0R9vETZDNlr7cjaLkH398eCi8bDhZqQ&style=element:geometry%7Ccolor:0xf5f5f5&style=element:labels.icon%7Cvisibility:off&style=element:labels.text.fill%7Ccolor:0x616161&style=element:labels.text.stroke%7Ccolor:0xf5f5f5&style=feature:administrative.land_parcel%7Celement:labels.text.fill%7Ccolor:0xbdbdbd&style=feature:landscape%7Ccolor:0xffffff&style=feature:poi%7Celement:geometry%7Ccolor:0xeeeeee&style=feature:poi%7Celement:labels.text.fill%7Ccolor:0x757575&style=feature:poi.park%7Celement:geometry%7Ccolor:0xe5e5e5&style=feature:poi.park%7Celement:geometry.fill%7Ccolor:0xffffff&style=feature:poi.park%7Celement:labels.text.fill%7Ccolor:0x9e9e9e&style=feature:poi.school%7Celement:geometry%7Cvisibility:off&style=feature:road%7Celement:geometry%7Ccolor:0xffffff&style=feature:road%7Celement:geometry.fill%7Ccolor:0xe9e9e9%7Cweight:3.5&style=feature:road%7Celement:geometry.stroke%7Cweight:0.5&style=feature:road.arterial%7Celement:labels.text.fill%7Ccolor:0x757575&style=feature:road.highway%7Celement:geometry%7Ccolor:0xdadada&style=feature:road.highway%7Celement:labels.text.fill%7Ccolor:0x616161&style=feature:road.local%7Celement:labels.text.fill%7Ccolor:0x9e9e9e&style=feature:transit%7Cvisibility:on&style=feature:transit.line%7Cvisibility:off&style=feature:transit.line%7Celement:geometry%7Ccolor:0xe5e5e5&style=feature:transit.line%7Celement:labels.icon%7Cvisibility:on&style=feature:transit.station%7Cvisibility:on%7Cweight:1&style=feature:transit.station%7Celement:geometry%7Ccolor:0xeeeeee&style=feature:transit.station.airport%7Cvisibility:on&style=feature:transit.station.bus%7Cvisibility:off&style=feature:transit.station.rail%7Cvisibility:on&style=feature:water%7Celement:geometry%7Ccolor:0xc9c9c9&style=feature:water%7Celement:geometry.fill%7Ccolor:0x4285f4%7Clightness:75&style=feature:water%7Celement:labels.text.fill%7Ccolor:0x9e9e9e"
1406                            loading="lazy"
1407                            />
1408                        <div id="status-spin" class="loader" style="display: none"></div>
1409                        <div id="map_container" style="width: 100%; height: 720px; display: none" class="lazyload"></div>
1410                    </div>
1411                    <div class="coming-soon-feature-placeholder">
1412                        <span class="coming-soon">Coming Soon</span>
1413                    </div>
1414                </div>
1415                
1416                
1416<script defer>
1417                    var map;
1418                    // dom ready
1419                    document.addEventListener("load", function () {
1420                        if (window.google && google.maps) {
1421                            // Map script is already loaded
1422                            initMap();
1423                        } else {
1424                            // lazyLoadGoogleMap();
1425                        }
1426                        document.querySelectorAll('.map_image').forEach(function(element) {
1427                        element.addEventListener('click', function() {
1428                            this.remove();
1429                            document.getElementById('status-spin').style.display = 'block';
1430                            document.getElementById('map_container').style.display = 'block';
1431                            lazyLoadGoogleMap();
1432                        });
1433                        });
1434
1435                    });
1436
1437                    function initMap() {
1438                      setTimeout(function() {
1439                        myLatLng = {lat: 40.738848, lng: -73.985720 };
1440                        imageUrl = '/assets/v2/ui/images/map/map-pin-grey.svg';
1441                        markerImage = {
1442                          url: imageUrl,
1443                          size: new google.maps.Size(50, 66),
1444                          anchor: new google.maps.Point(12, 33),
1445                          scaledSize: new google.maps.Size(25, 33)
1446                        };
1447                        map = new google.maps.Map(document.getElementById('map_container'), {
1448                          center: myLatLng,
1449                          zoom: 16,
1450                        });
1451                        var styles = [
1452                            {
1453                            "elementType": "geometry",
1454                            "stylers": [
1455                                {
1456                                "color": "#f5f5f5"
1457                                }
1458                            ]
1459                            },
1460                            {
1461                            "elementType": "labels.icon",
1462                            "stylers": [
1463                                {
1464                                "visibility": "off"
1465                                }
1466                            ]
1467                            },
1468                            {
1469                            "elementType": "labels.text.fill",
1470                            "stylers": [
1471                                {
1472                                "color": "#616161"
1473                                }
1474                            ]
1475                            },
1476                            {
1477                            "elementType": "labels.text.stroke",
1478                            "stylers": [
1479                                {
1480                                "color": "#f5f5f5"
1481                                }
1482                            ]
1483                            },
1484                            {
1485                            "featureType": "administrative.land_parcel",
1486                            "elementType": "labels.text.fill",
1487                            "stylers": [
1488                                {
1489                                "color": "#bdbdbd"
1490                                }
1491                            ]
1492                            },
1493                            {
1494                            "featureType": "landscape",
1495                            "stylers": [
1496                                {
1497                                "color": "#ffffff"
1498                                }
1499                            ]
1500                            },
1501                            {
1502                            "featureType": "poi",
1503                            "elementType": "geometry",
1504                            "stylers": [
1505                                {
1506                                "color": "#eeeeee"
1507                                }
1508                            ]
1509                            },
1510                            {
1511                            "featureType": "poi",
1512                            "elementType": "labels.text.fill",
1513                            "stylers": [
1514                                {
1515                                "color": "#757575"
1516                                }
1517                            ]
1518                            },
1519                            {
1520                            "featureType": "poi.park",
1521                            "elementType": "geometry",
1522                            "stylers": [
1523                                {
1524                                "color": "#e5e5e5"
1525                                }
1526                            ]
1527                            },
1528                            {
1529                            "featureType": "poi.park",
1530                            "elementType": "geometry.fill",
1531                            "stylers": [
1532                                {
1533                                "color": "#ffffff"
1534                                }
1535                            ]
1536                            },
1537                            {
1538                            "featureType": "poi.park",
1539                            "elementType": "labels.text.fill",
1540                            "stylers": [
1541                                {
1542                                "color": "#9e9e9e"
1543                                }
1544                            ]
1545                            },
1546                            {
1547                            "featureType": "poi.school",
1548                            "elementType": "geometry",
1549                            "stylers": [
1550                                {
1551                                "visibility": "off"
1552                                }
1553                            ]
1554                            },
1555                            {
1556                            "featureType": "road",
1557                            "elementType": "geometry",
1558                            "stylers": [
1559                                {
1560                                "color": "#ffffff"
1561                                }
1562                            ]
1563                            },
1564                            {
1565                            "featureType": "road",
1566                            "elementType": "geometry.fill",
1567                            "stylers": [
1568                                {
1569                                "color": "#e9e9e9"
1570                                },
1571                                {
1572                                "weight": 3.5
1573                                }
1574                            ]
1575                            },
1576                            {
1577                            "featureType": "road",
1578                            "elementType": "geometry.stroke",
1579                            "stylers": [
1580                                {
1581                                "weight": 0.5
1582                                }
1583                            ]
1584                            },
1585                            {
1586                            "featureType": "road.arterial",
1587                            "elementType": "labels.text.fill",
1588                            "stylers": [
1589                                {
1590                                "color": "#757575"
1591                                }
1592                            ]
1593                            },
1594                            {
1595                            "featureType": "road.highway",
1596                            "elementType": "geometry",
1597                            "stylers": [
1598                                {
1599                                "color": "#dadada"
1600                                }
1601                            ]
1602                            },
1603                            {
1604                            "featureType": "road.highway",
1605                            "elementType": "labels.text.fill",
1606                            "stylers": [
1607                                {
1608                                "color": "#616161"
1609                                }
1610                            ]
1611                            },
1612                            {
1613                            "featureType": "road.local",
1614                            "elementType": "labels.text.fill",
1615                            "stylers": [
1616                                {
1617                                "color": "#9e9e9e"
1618                                }
1619                            ]
1620                            },
1621                            {
1622                            "featureType": "transit",
1623                            "stylers": [
1624                                {
1625                                "visibility": "on"
1626                                }
1627                            ]
1628                            },
1629                            {
1630                            "featureType": "transit.line",
1631                            "stylers": [
1632                                {
1633                                "visibility": "off"
1634                                }
1635                            ]
1636                            },
1637                            {
1638                            "featureType": "transit.line",
1639                            "elementType": "geometry",
1640                            "stylers": [
1641                                {
1642                                "color": "#e5e5e5"
1643                                }
1644                            ]
1645                            },
1646                            {
1647                            "featureType": "transit.line",
1648                            "elementType": "labels.icon",
1649                            "stylers": [
1650                                {
1651                                "visibility": "on"
1652                                }
1653                            ]
1654                            },
1655                            {
1656                            "featureType": "transit.station",
1657                            "stylers": [
1658                                {
1659                                "visibility": "on"
1660                                },
1661                                {
1662                                "weight": 1
1663                                }
1664                            ]
1665                            },
1666                            {
1667                            "featureType": "transit.station",
1668                            "elementType": "geometry",
1669                            "stylers": [
1670                                {
1671                                "color": "#eeeeee"
1672                                }
1673                            ]
1674                            },
1675                            {
1676                            "featureType": "transit.station.airport",
1677                            "stylers": [
1678                                {
1679                                "visibility": "on"
1680                                }
1681                            ]
1682                            },
1683                            {
1684                            "featureType": "transit.station.bus",
1685                            "stylers": [
1686                                {
1687                                "visibility": "off"
1688                                }
1689                            ]
1690                            },
1691                            {
1692                            "featureType": "transit.station.rail",
1693                            "stylers": [
1694                                {
1695                                "visibility": "on"
1696                                }
1697                            ]
1698                            },
1699                            {
1700                            "featureType": "water",
1701                            "elementType": "geometry",
1702                            "stylers": [
1703                                {
1704                                "color": "#c9c9c9"
1705                                }
1706                            ]
1707                            },
1708                            {
1709                            "featureType": "water",
1710                            "elementType": "geometry.fill",
1711                            "stylers": [
1712                                {
1713                                "color": "#4285f4"
1714                                },
1715                                {
1716                                "lightness": 75
1717                                }
1718                            ]
1719                            },
1720                            {
1721                            "featureType": "water",
1722                            "elementType": "labels.text.fill",
1723                            "stylers": [
1724                                {
1725                                "color": "#9e9e9e"
1726                                }
1727                            ]
1728                            }
1729                        ]
1730                        map.setOptions({ styles: styles });
1731
1732                        transitLayer = new google.maps.TransitLayer();
1733                          transitLayer.setMap(map);
1734                        marker = new google.maps.Marker({
1735                          position: myLatLng,
1736                          map: map,
1737                          icon: markerImage,
1738                        });
1739                      }, 500);
1740                    }
1741
1742                    function lazyLoadGoogleMap() {
1743                        var script = document.createElement('script');
1744                        script.defer = true;
1745                        script.src = "https://maps.google.com/maps/api/js?key=AIzaSyAG0R9vETZDNlr7cjaLkH398eCi8bDhZqQ&sensor=true&callback=initMap&style=element:geometry%7Ccolor:0xf5f5f5&style=element:labels.icon%7Cvisibility:off&style=element:labels.text.fill%7Ccolor:0x616161&style=element:labels.text.stroke%7Ccolor:0xf5f5f5&style=feature:administrative.land_parcel%7Celement:labels.text.fill%7Ccolor:0xbdbdbd&style=feature:landscape%7Ccolor:0xffffff&style=feature:poi%7Celement:geometry%7Ccolor:0xeeeeee&style=feature:poi%7Celement:labels.text.fill%7Ccolor:0x757575&style=feature:poi.park%7Celement:geometry%7Ccolor:0xe5e5e5&style=feature:poi.park%7Celement:geometry.fill%7Ccolor:0xffffff&style=feature:poi.park%7Celement:labels.text.fill%7Ccolor:0x9e9e9e&style=feature:poi.school%7Celement:geometry%7Cvisibility:off&style=feature:road%7Celement:geometry%7Ccolor:0xffffff&style=feature:road%7Celement:geometry.fill%7Ccolor:0xe9e9e9%7Cweight:3.5&style=feature:road%7Celement:geometry.stroke%7Cweight:0.5&style=feature:road.arterial%7Celement:labels.text.fill%7Ccolor:0x757575&style=feature:road.highway%7Celement:geometry%7Ccolor:0xdadada&style=feature:road.highway%7Celement:labels.text.fill%7Ccolor:0x616161&style=feature:road.local%7Celement:labels.text.fill%7Ccolor:0x9e9e9e&style=feature:transit%7Cvisibility:on&style=feature:transit.line%7Cvisibility:off&style=feature:transit.line%7Celement:geometry%7Ccolor:0xe5e5e5&style=feature:transit.line%7Celement:labels.icon%7Cvisibility:on&style=feature:transit.station%7Cvisibility:on%7Cweight:1&style=feature:transit.station%7Celement:geometry%7Ccolor:0xeeeeee&style=feature:transit.station.airport%7Cvisibility:on&style=feature:transit.station.bus%7Cvisibility:off&style=feature:transit.station.rail%7Cvisibility:on&style=feature:water%7Celement:geometry%7Ccolor:0xc9c9c9&style=feature:water%7Celement:geometry.fill%7Ccolor:0x4285f4%7Clightness:75&style=feature:water%7Celement:labels.text.fill%7Ccolor:0x9e9e9e";
1746
1747                        script.onload = function() {
1748                            var statusSpin = document.getElementById('status-spin');
1749                            if (statusSpin) {
1750                                statusSpin.remove();
1751                            }
1752                        };
1753
1754                        script.onerror = function() {
1755                            console.error('Failed to load the Google Maps script.');
1756                        };
1757
1758                        document.head.appendChild(script);
1759                    }
1760
1761                </script>
1761
1762                
1763            </div>
1764        </div>
1765        
1766
1767        
1768        
1769        
1770        <div class="building-facts">
1771            <span class="subheading-small font-merriweather"> Alternate Addresses for The Sage House in NYC </span>
1772            <hr class="top-border" />
1773            <div>
1774                <ul class="alternate-addresses list-disc pl-4">
1775                    
1776                    <li class="text-base">128 EAST 22 STREET</li>
1777                    
1778                    <li class="text-base">130 EAST 22 STREET</li>
1779                    
1780                    <li class="text-base">122 EAST 22 STREET</li>
1781                    
1782                    <li class="text-base">124 EAST 22 STREET</li>
1783                    
1784                    <li class="text-base">126 EAST 22 STREET</li>
1785                    
1786                    <li class="text-base">4 LEXINGTON AVENUE</li>
1787                    
1788                    <li class="text-base">6 LEXINGTON AVENUE</li>
1789                    
1790                    <li class="text-base">8 LEXINGTON AVENUE</li>
1791                    
1792                </ul>
1793            </div>
1794            <hr class="bottom-border" />
1795        </div>
1796        
1797        
1798        <div class="building-facts footer">
1799            <em
1800                >The Sage House is a  Cooperative in Gramercy Park, Manhattan, located at
1801                4 Lexington Avenue, New York 10010.<br
1802            /></em>
1803
1804            <h3 class="frequent_ask_questions">Frequently asked questions about <em>The Sage House</em></h3>
1805            <dl style="margin-top: 22px">
1806                
1807                <dt>- Is The Sage House a new development in NYC?</dt>
1808                <dd>Yes, The Sage House is a new development in NYC that was built in 1931</dd>
1809                
1810                <dt>- What is the address of The Sage House in NYC?</dt>
1811                <dd>The address of The Sage House is 4 Lexington Avenue, New York, NY 10010<br /></dd>
1812                <dt>- How many residential units does The Sage House have?</dt>
1813                <dd>The Sage House has 0 residential units.</dd>
1814                
1815                <dt>- Are there available sales or rental listings at The Sage House?</dt>
1816                <dd>Yes, there are currently several rental and 3 sales listings available at The Sage House</dd>
1817                
1818                <dt>- What year was The Sage House built in?</dt>
1819                <dd>The Sage House was built in 1931</dd>
1820            </dl>
1821
1822            
1823            <span class="block">Looking for The Sage House sales and new to homebuying? Check out our <a href="https://www.hlres.c
1823om/calculators/nyc-closing-cost-calculator">NYC closing cost calculator</a></span>
1824            <div style="margin-top: 30px" class="more_info">
1825                All information regarding an apartment or property for sale or rent as well as tax or financing information is deemed to come from reliable sources. No representation or guarantee, however, is made as to the accuracy
1826                thereof, and such information is subject to errors, omission, changes, prior to sale or rental, commission or withdrawal without notice. All square footage, dimensions, or number of rooms are approximate and provided for
1827                guidance and on a best-efforts basis only. Please verify square footage yourself before making any decisions. Exact dimensions and room counts can be obtained by retaining the services of a professional architect or
1828                engineer.
1829            </div>
1830            <div style="margin-top: 22px" class="more_info">
1831                This information is not verified for authenticity or accuracy and is not guaranteed and may not reflect all real estate activity in the market. ©2026 The Real Estate Board of New York, Inc., All rights reserved. RLS
1832                IDX Data display by Highline Residential, LLC. IDX information is provided exclusively for consumers' personal, non-commercial use and that it may not be used for any purpose other than to identify prospective properties
1833                consumers may be interested in purchasing. The data relating to real estate for sale on this website comes in part from the IDX Program of OneKey™ MLS. The source of the displayed data is either the property owner or public
1834                record provided by non-governmental third parties. It is believed to be reliable but not guaranteed. This information is provided exclusively for consumers’ personal, non-commercial use. Information Copyright 2023, OneKey™
1835                MLS. All Rights Reserved.
1836            </div>
1837            <div style="margin-top: 22px" class="more_info">
1838                This Web site is affiliated with Highline Residential, LLC ("Highline"), a licensed Real Estate Broker. Highline makes no warranties or representations concerning the Website, whether (i) as to the accuracy of any descriptions and/or other details of the information contained therein, (ii) as to the prior knowledge or consent by the owners of any of the properties listed therein, or (iii) that it is the exclusive real estate broker for any of the properties listed therein. Any information provided by users of the Website may be utilized by Highline as a lead for sale, leasing or marketing purposes. Highline can be contacted through its website at www.hlres.com.
1839            </div>
1840            <div style="margin-top: 22px" class="more_info">
1841                RLS Data display by Highline Residential.  This advertisement does not suggest that the broker has a listing in this property or properties or that any property is currently available.
1842            </div>
1843            <hr class="bottom-border" style="margin-bottom: 30px" />
1844        </div>
1845
1846        <div>
1847            <!-- POPUP FOR DISPLAYING YOUTUBE/VIMEO VIDEO -->
1848            <custom-dialog-component id="video-popup-container" title="Building Video" hide-footer="true" onclick="window.stopPropagation(event)" style="width: 720px; background-color: black; color: white">
1849                <div class="video-popup">
1850                    <div class="" style="height: 80vh" id="building-detail-iframe-container"></div>
1851                </div>
1852            </custom-dialog-component>
1853            <!-- POPUP FOR SUBSCRIBE FOR UPDATES -->
1854            <custom-dialog-component id="save-subscriber-dialog" show-dialog="false" dialog-title="Building Updates" hide-footer="true" style="width: 720px">
1855                    <span slot="title" style="font-weight: bold; font-size: 24px;" class="block" >Stay Updated on The Sage House</span>
1856                    <form id="save-subscriber-form" onsubmit="event.preventDefault(); saveSubscriberEmail();">
1857                        <div class="mt-5">
1858                            <span class="text-base block">Keep informed about price changes, new listings, sold properties, and other activity in The Sage House by providing your email below.</span>
1859                            <input type="email" id="subscriber_email" placeholder="Your email" class="input-small mt-5 w-full" required />
1860                        </div>
1861                        <div class="mt-5 flex justify-center">
1862                            <button class="btn-dark tabletSmall:btn-dark-small subscribe-btn experiment-winner-color" type="submit">Subscribe</button>
1863                        </div>
1864                    </form>
1865            </custom-dialog-component>
1866            <!-- POPUP FOR SUBSCRIBE PREFERENCES -->
1867            <custom-dialog-component id="subscribe-preference-popup-container" title="" show-dialog="false" hide-footer="true" style="width: 720px">
1868                    <div>
1869                        <span style="font-weight: bold; font-size: 24px; align-self: start">You have been subscribed to receive the following updates on The Sage House</span>
1870                        <!-- Real time updates checkbox -->
1871                        <div style="display: flex; column-gap: 12px; align-items: baseline; margin-top: 28px">
1872                            <input type="checkbox" id="realTimeUpdates" checked />
1873                            <label for="realTimeUpdates" style="font-size: 16px; font-weight: normal">
1874                                <span style="font-weight: bold">Real Time Updates</span>
1875                                - Receive real time updates on price changes and new listings in The Sage House
1876                            </label>
1877                        </div>
1878                        <!-- Monthly snapshot checkbox -->
1879                        <div style="display: flex; column-gap: 12px; align-items: baseline">
1880                            <input type="checkbox" id="monthlySnapshot" checked style="margin-top: 24px" />
1881                            <label for="monthlySnapshot" style="font-size: 16px; font-weight: normal">
1882                                <span style="font-weight: bold">For Sale Inventory Snapshot (Condo/Coop)</span>
1883                                - Receive a once a month snapshot of all activity in The Sage House from the prior month, including sold listings, listings entering contract, price changes, and new listings.
1884                            </label>
1885                        </div>
1886                    </div>
1887                    <div class="mt-5 flex justify-center">
1888                        <button class="btn-dark tabletSmall:btn-dark-small" onclick="saveSubscriberPreference()">Update Preferences</button>
1889                    </div>
1890            </custom-dialog-component>
1891
1892            <!-- POPUP FOR DISPLAYING FORM -->
1893            <custom-dialog-component id="schedule-viewing-popup" dialog-title="Schedule Viewing" show-dialog="false" hide-footer="true" style="width: 34%">
1894                <div id="lead_gen_form_container_popup">
1895                    
1896
1897<style>
1898    .agent-form select{
1899    width: 100%;
1900    height: 33px;
1901    border-radius: 4px;
1902    border: 1px solid #000;
1903  }
1904  .agent-form input{
1905    width: 100%;
1906  }
1907  .agent-form .inquiry-submit-btn {
1908    width: fit-content;
1909    background: black;
1910    color: white;
1911    border: none;
1912  }
1913  .agent-form textarea{
1914    width: 100%;
1915    height: 150px;
1916    border: 1px solid #dcdcdc;
1917  }
1918  /* .agent-form label{
1919    display: block;
1920    color: #302f2f;
1921    font-weight: normal;
1922  } */
1923  .agent-form .form-row{
1924    display: flex;
1925    flex-wrap: wrap;
1926    justify-content: space-between;
1927  }
1928  .form-column{
1929    flex-basis: 48%;
1930  }
1931  .form_error_section{
1932    display: none;
1933    width: auto
1934  }
1935  .errorlist{
1936    background-color: #f15232;
1937    color: #fff;
1938    padding: 6px;
1939    width: auto;
1940    font-size: 12px;
1941  }
1942  .form_footer{
1943    display: flex;
1944    flex-direction: column;
1945    row-gap: 8px;
1946    padding-top: 16px;
1947  }
1948  .form_footer span {
1949    font-size: 8px;
1950    color: #666;
1951    font-weight: normal;
1952  }
1953  input.cursor-pointer {
1954    cursor: pointer;
1955  }
1956  input.cursor-pointer:disabled {
1957    cursor: not-allowed;
1958  }
1959</style>
1960<form id="lead_form_schedule_viewing_popup" data-reset-submit-btn="True" action="/leads/lead-form-building" method="POST" class="agent-form">
1961  <input type="hidden" name="csrfmiddlewaretoken" value="diPwG2ZHUpkNmLXt28Kfkbmk9xX1nwHxOIpuUNcGfjDYpw8ozfn3uvPwzXTJNDPP">
1962
1963  <div class="form-row">
1964  <div class="form-column required">
1965    <label for="id_name_schedule_viewing_popup" class="input-label">Your name</label>
1966    <input id="id_name_schedule_viewing_popup" maxlength="255" name="name" type="text" class="required input-small">
1967    <div id="name_error_schedule_viewing_popup" class="form_error_section">This field is required</div>
1968  </div>
1969  <div class="form-column required">
1970    <label for="id_email_schedule_viewing_popup" class="input-label">Your email</label>
1971    <input id="id_email_schedule_viewing_popup" maxlength="255" name="email" type="email" class="required input-small">
1972    <div id="email_error_schedule_viewing_popup" class="form_error_section">Either email or phone number is required</div>
1973  </div>
1974</div>
1975<div class="form-row" style="margin-top: 16px;">
1976  <div class="form-column required">
1977    <label for="id_phone_schedule_viewing_popup" class="input-label">Your phone</label>
1978    <input id="id_phone_schedule_viewing_popup" maxlength="255" name="phone" type="tel" autocomplete="tel" class="input-small">
1979    <div id="phone_error_schedule_viewing_popup" class="form_error_section">Either phone number or email is required</div>
1980  </div>
1981  <div class="form-column required">
1982    <label for="id_interested_in_schedule_viewing_popup" class="input-label">Interested in</label>
1983    <select id="id_interested_in_schedule_viewing_popup" name="interested_in" class="input-small">
1984      <option disabled selected value> select an option </option>
1985      <option value="buying">Buying</option>
1986      <option value="renting">Renting</option>
1987      <option value="other">Other</option>
1988    </select>
1989    <div id="interested_in_error_schedule_viewing_popup" class="form_error_section">This field is required</div>
1990  </div>
1991</div>
1992<span class="form_request_error_schedule_viewing_popup"></span>
1993
1994  
1995  <div style="opacity: 0; position: absolute; top: 0; left: 0; height: 0; width: 0; z-index: -1;">
1996    <label>Please enter phonenumber
1997        <input type="text" name="phonenumber" value="" autocomplete="off" />
1998    </label>
1999</div>
2000
2001  <div style="margin-top: 16px;">
2002    <label for="id_notes_schedule_viewing_popup" class="input-label">How can we help you?</label>
2003    <textarea id="id_notes_schedule_viewing_popup" name="notes" class="text-area"></textarea>
2004  </div>
2005  <!-- Hidden input will be dynamically added if 'gclid' is present in URL query-->
2006  <input type="hidden" name="building_id"  value="302919">
2007  <input type="hidden" name="listing_id" id="form_listing_id_schedule_viewing_popup" value="" class="form_listing">
2008  <!-- add starting price hidden input -->
2009  <input type="hidden" name="starting_price" id="form_starting_price_schedule_viewing_popup" value="">
2010  <input type="hidden" name="source" id="form_source_schedule_viewing_popup" value="">
2011  <div class="form_footer">
2012    <button class="cursor-pointer inquiry-submit-btn btn-dark building-detail-inquiry-btn" type="submit" id="lead_inquire_schedule_viewing_popup" onclick="submitForm_schedule_viewing_popup(event)">
2013      Schedule viewing
2014    </button>
2015    <span>
2016      By submitting your contact details you agree that a Licensed Real Estate Professional from Highline Residential may call/text/email you about your inquiry, which may involve use of automated means. This Web site has no affiliation to the building, developer, or management company.
2017    </span>
2018    </div>
2019</form>
2020
2021<script>
2022  function submitForm_schedule_viewing_popup(event){
2023    event.preventDefault()
2024    validate_form_schedule_viewing_popup()
2025  }
2026  function resetSubmitBtn_schedule_viewing_popup(btn){
2027    if(document.getElementById('lead_form_schedule_viewing_popup').dataset.resetSubmitBtn == 'True'){
2028      btn.value = 'Schedule viewing';
2029      btn.disabled = false;
2030    }
2031  }
2032  function validate_form_schedule_viewing_popup() {
2033    let errors = 0;
2034    const errors_map = {};
2035
2036    const name = document.getElementById('id_name_schedule_viewing_popup');
2037    const email = document.getElementById('id_email_schedule_viewing_popup');
2038    const phoneNumber = document.getElementById('id_phone_schedule_viewing_popup');
2039    const interestedIn =  document.getElementById('id_interested_in_schedule_viewing_popup');
2040    //errors section
2041    const name_error = document.getElementById('name_error_schedule_viewing_popup');
2042    const email_error = document.getElementById('email_error_schedule_viewing_popup');
2043    const phone_error = document.getElementById('phone_error_schedule_viewing_popup');
2044    const interested_in_error = document.getElementById('interested_in_error_schedule_viewing_popup');
2045    // POSTHOG EXPERIMENT 2 START: stacking-plan-tile-redesign
2046    const form_schedule_viewing_popup = document.getElementById('form_source_schedule_viewing_popup');
2047    // POSTHOG EXPERIMENT 2 END
2048
2049    if (name?.value?.length == 0) {
2050      name_error.style.display = 'block';
2051      name_error.classList.add('errorlist');
2052      errors_map.name_error = true;
2053    }
2054    else{
2055      name_error.style.display = 'none';
2056      name_error.classList.remove('errorlist');
2057      errors_map.name_error = false;
2058    }
2059    if (email?.value?.length == 0 && phoneNumber?.value?.length == 0) {
2060      email_error.style.display = 'block';
2061      email_error.classList.add('errorlist');
2062      errors_map.email_error = true;
2063    }
2064    else{
2065      email_error.style.display = 'none';
2066      email_error.classList.remove('errorlist');
2067      errors_map.email_error = false;
2068    }
2069    if (email?.value?.length == 0 && phoneNumber?.value?.length == 0) {
2070      phone_error.style.display = 'block';
2071      phone_error.classList.add('errorlist');
2072      errors_map.phone_error = true;
2073    }
2074    else{
2075      phone_error.style.display = 'none';
2076      phone_error.classList.remove('errorlist');
2077      errors_map.phone_error = false;
2078    }
2079    if (interestedIn?.value?.length == 0) {
2080      interested_in_error.style.display = 'block';
2081      interested_in_error.classList.add('errorlist');
2082      errors_map.interested_in_error = true;
2083    }
2084    else{
2085      interested_in_error.style.display = 'none';
2086      interested_in_error.classList.remove('errorlist');
2087      errors_map.interested_in_error = false;
2088    }
2089    errors = Object.values(errors_map).filter(error => error == true ).length;
2090    if (errors === 0) {
2091      const phonenumber = document.querySelector('input[name="phonenumber"]').value;
2092      if (phonenumber !== '') {
2093        document.querySelector('.main_content').insertAdjacentHTML('afterbegin', '<div class="messages"><ul class="message_list"><li class="info">Thank you for your inquiry, we will contact you shortly!</li></ul></div>');
2094        document.getElementById('lead_form_schedule_viewing_popup').reset();
2095        // close the popup if it's empty
2096        var myModal = new bootstrap.Modal(document.getElementById('myModal'));
2097        myModal.hide();
2098      } 
2099      else {
2100        const form = document.getElementById('lead_form_schedule_viewing_popup');
2101        addGclidToForm_schedule_viewing_popup(form);
2102        const formData = new FormData(form);
2103        formData.append('floor_plan_count', window.floor_plan_count)
2104        formData.append('stacking_plan_count', window.stacking_plan_count)
2105        const actionType = "";
2106        if (actionType) {
2107              formData.append('action', actionType.toLowerCase().replace(' ', '_'));
2108        }
2109        const serialized = new URLSearchParams(formData).toString();
2110        const leadInquire = document.getElementById("lead_inquire_schedule_viewing_popup");
2111        leadInquire.disabled = true;
2112        leadInquire.value = 'SENT';
2113
2114        fetch("/leads/lead-form-building", {
2115          method: "POST",
2116          headers: {
2117            'Content-Type': 'application/x-www-form-urlencoded',
2118            'X-Requested-With': 'XMLHttpRequest'
2119          },
2120          body: serialized
2121        })
2122        .then(response => {
2123          if (response.ok) {
2124            return response.text();
2125          } else {
2126            throw new Error('Network response was not ok.');
2127          }
2128        })
2129        .then(data => {
2130          data = JSON.parse(data);
2131          if (data === 'Success') {
2132            // POSTHOG EXPERIMENT 2 START: stacking-plan-tile-redesign
2133            if (form_schedule_viewing_popup && form_schedule_viewing_popup.value.toLowerCase() === 'stacking plan') {
2134              window.setTimeout(() => {
2135                window.posthog.capture('stacking_plan_lead_form_submitted', {
2136                  variant: window.POSTHOG_EXPERIMENT_2_VARIANT,
2137                });
2138              }, 5000);
2139            }
2140            // POSTHOG EXPERIMENT 2 END
2141            // FOR POSTHOG EXPERIMENT 1
2142            if(window.POSTHOG_EXPERIMENT_1_VARIANT) {
2143            window.posthog.capture('building_lead_form_submitted', {
2144                variant: window.POSTHOG_EXPERIMENT_1_VARIANT,
2145              });
2146            }
2147            // POSTHOG EXPERIMENT 3 START: building-page-rental-waitlist-cta
2148            const form_join_waitlist_popup = document.getElementById('form_source_join_waitlist_popup');
2149            if (
2150              (form_schedule_viewing_popup && form_schedule_viewing_popup.value.toLowerCase() === 'active rentals') ||
2151              (form_join_waitlist_popup && form_join_waitlist_popup.value.toLowerCase() === 'join waitlist')
2152            ) {
2153              window.posthog.capture('rental_waitlist_cta_form_submitted', {
2154                variant: window.POSTHOG_EXPERIMENT_3_VARIANT,
2155              });
2156            }
2157            // POSTHOG EXPERIMENT 3 END
2158            window.enquiryFormSubmitted = true;
2159            gtag('event', 'building_detail_new', {
2160                category: 'inquiry',
2161                stacking_plan: window.stacking_plan_count ? 'yes' : 'no',
2162                floorplan: window.floor_plan_count ? 'yes' : 'no'
2163            });
2164            gtag('event', 'Building Contact Form v2', {'category': 'Submitted Building Contact Form v2'});
2165            gtag('event', 'conversion', {'send_to': 'AW-1016337316/zLS2CJu_jpQZEKSn0OQD'});
2166            form.reset();
2167            window.$notyf && window.$notyf.success('Your inquiry was successfully submitted.');
2168            const errorContainer = document.querySelectorAll('.lead-gen-errors');
2169            errorContainer.forEach(element => {
2170              element.remove();
2171            });
2172            resetSubmitBtn_schedule_viewing_popup(leadInquire);
2173          } else {
2174            // remove previous error message
2175            document.querySelector('.form_request_error_schedule_viewing_popup').innerHTML = '';
2176            setTimeout(() => {
2177              document.querySelector('.form_request_error_schedule_viewing_popup').insertAdjacentHTML('afterbegin', '<div class="messages lead-gen-errors"><ul class="message_list"><li class="error">There was an error processing your request. Please try again later.</li></ul></div>');
2178            }, 500);
2179            leadInquire.disabled = false;
2180            leadInquire.value = 'Schedule viewing';
2181          }
2182        })
2183        .catch(error => {
2184          // remove previous error message
2185          document.querySelector('.form_request_error_schedule_viewing_popup').innerHTML = '';
2186          setTimeout(() => {
2187            document.querySelector('.form_request_error_schedule_viewing_popup').insertAdjacentHTML('afterbegin', '<div class="messages lead-gen-errors"><ul class="message_list"><li class="error">There was an error processing your request. Please try again later.</li></ul></div>');
2188          }, 500);
2189          leadInquire.disabled = false;
2190          leadInquire.value = 'Schedule viewing';
2191          console.error('There was a problem with the fetch operation:', error);
2192        });
2193      }
2194    }
2195  }
2196  function addGclidToForm_schedule_viewing_popup(form) {
2197    const params = new URLSearchParams(window.location.search);
2198    // Check if 'gclid' is present in the URL query string
2199    if (params.has('gclid')) {
2200      // Create a hidden input element for gclid
2201      const gclidInput = document.createElement('input');
2202      gclidInput.type = 'hidden';
2203      gclidInput.name = 'gclid';
2204      gclidInput.value = 'y';
2205      form.appendChild(gclidInput);
2206    }
2207  }
2208</script>
2208
2209
2210                </div>
2211            </custom-dialog-component>
2212            <!-- POPUP FOR JOIN WAITLIST FORM -->
2213            <custom-dialog-component id="join-waitlist-popup" title="Join Waitlist" show-dialog="false" hide-footer="true" style="width: 34%">
2214                <div id="lead_gen_form_container_join_waitlist_popup">
2215                    
2216
2217<style>
2218    .agent-form select{
2219    width: 100%;
2220    height: 33px;
2221    border-radius: 4px;
2222    border: 1px solid #000;
2223  }
2224  .agent-form input{
2225    width: 100%;
2226  }
2227  .agent-form .inquiry-submit-btn {
2228    width: fit-content;
2229    background: black;
2230    color: white;
2231    border: none;
2232  }
2233  .agent-form textarea{
2234    width: 100%;
2235    height: 150px;
2236    border: 1px solid #dcdcdc;
2237  }
2238  /* .agent-form label{
2239    display: block;
2240    color: #302f2f;
2241    font-weight: normal;
2242  } */
2243  .agent-form .form-row{
2244    display: flex;
2245    flex-wrap: wrap;
2246    justify-content: space-between;
2247  }
2248  .form-column{
2249    flex-basis: 48%;
2250  }
2251  .form_error_section{
2252    display: none;
2253    width: auto
2254  }
2255  .errorlist{
2256    background-color: #f15232;
2257    color: #fff;
2258    padding: 6px;
2259    width: auto;
2260    font-size: 12px;
2261  }
2262  .form_footer{
2263    display: flex;
2264    flex-direction: column;
2265    row-gap: 8px;
2266    padding-top: 16px;
2267  }
2268  .form_footer span {
2269    font-size: 8px;
2270    color: #666;
2271    font-weight: normal;
2272  }
2273  input.cursor-pointer {
2274    cursor: pointer;
2275  }
2276  input.cursor-pointer:disabled {
2277    cursor: not-allowed;
2278  }
2279</style>
2280<form id="lead_form_join_waitlist_popup" data-reset-submit-btn="False" action="/leads/lead-form-building" method="POST" class="agent-form">
2281  <input type="hidden" name="csrfmiddlewaretoken" value="diPwG2ZHUpkNmLXt28Kfkbmk9xX1nwHxOIpuUNcGfjDYpw8ozfn3uvPwzXTJNDPP">
2282
2283  <div class="form-row">
2284  <div class="form-column required">
2285    <label for="id_name_join_waitlist_popup" class="input-label">Your name</label>
2286    <input id="id_name_join_waitlist_popup" maxlength="255" name="name" type="text" class="required input-small">
2287    <div id="name_error_join_waitlist_popup" class="form_error_section">This field is required</div>
2288  </div>
2289  <div class="form-column required">
2290    <label for="id_email_join_waitlist_popup" class="input-label">Your email</label>
2291    <input id="id_email_join_waitlist_popup" maxlength="255" name="email" type="email" class="required input-small">
2292    <div id="email_error_join_waitlist_popup" class="form_error_section">Either email or phone number is required</div>
2293  </div>
2294</div>
2295<div class="form-row" style="margin-top: 16px;">
2296  <div class="form-column required">
2297    <label for="id_phone_join_waitlist_popup" class="input-label">Your phone</label>
2298    <input id="id_phone_join_waitlist_popup" maxlength="255" name="phone" type="tel" autocomplete="tel" class="input-small">
2299    <div id="phone_error_join_waitlist_popup" class="form_error_section">Either phone number or email is required</div>
2300  </div>
2301  <div class="form-column required">
2302    <label for="id_interested_in_join_waitlist_popup" class="input-label">Interested in</label>
2303    <select id="id_interested_in_join_waitlist_popup" name="interested_in" class="input-small">
2304      <option disabled selected value> select an option </option>
2305      <option value="buying">Buying</option>
2306      <option value="renting">Renting</option>
2307      <option value="other">Other</option>
2308    </select>
2309    <div id="interested_in_error_join_waitlist_popup" class="form_error_section">This field is required</div>
2310  </div>
2311</div>
2312<span class="form_request_error_join_waitlist_popup"></span>
2313
2314  
2315  <div style="opacity: 0; position: absolute; top: 0; left: 0; height: 0; width: 0; z-index: -1;">
2316    <label>Please enter phonenumber
2317        <input type="text" name="phonenumber" value="" autocomplete="off" />
2318    </label>
2319</div>
2320
2321  <div style="margin-top: 16px;">
2322    <label for="id_notes_join_waitlist_popup" class="input-label">How can we help you?</label>
2323    <textarea id="id_notes_join_waitlist_popup" name="notes" class="text-area"></textarea>
2324  </div>
2325  <!-- Hidden input will be dynamically added if 'gclid' is present in URL query-->
2326  <input type="hidden" name="building_id"  value="302919">
2327  <input type="hidden" name="listing_id" id="form_listing_id_join_waitlist_popup" value="" class="form_listing">
2328  <!-- add starting price hidden input -->
2329  <input type="hidden" name="starting_price" id="form_starting_price_join_waitlist_popup" value="">
2330  <input type="hidden" name="source" id="form_source_join_waitlist_popup" value="">
2331  <div class="form_footer">
2332    <button class="cursor-pointer inquiry-submit-btn btn-dark building-detail-inquiry-btn" type="submit" id="lead_inquire_join_waitlist_popup" onclick="submitForm_join_waitlist_popup(event)">
2333      Join Waitlist
2334    </button>
2335    <span>
2336      By submitting your contact details you agree that a Licensed Real Estate Professional from Highline Residential may call/text/email you about your inquiry, which may involve use of automated means. This Web site has no affiliation to the building, developer, or management company.
2337    </span>
2338    </div>
2339</form>
2340
2341<script>
2342  function submitForm_join_waitlist_popup(event){
2343    event.preventDefault()
2344    validate_form_join_waitlist_popup()
2345  }
2346  function resetSubmitBtn_join_waitlist_popup(btn){
2347    if(document.getElementById('lead_form_join_waitlist_popup').dataset.resetSubmitBtn == 'True'){
2348      btn.value = 'Schedule viewing';
2349      btn.disabled = false;
2350    }
2351  }
2352  function validate_form_join_waitlist_popup() {
2353    let errors = 0;
2354    const errors_map = {};
2355
2356    const name = document.getElementById('id_name_join_waitlist_popup');
2357    const email = document.getElementById('id_email_join_waitlist_popup');
2358    const phoneNumber = document.getElementById('id_phone_join_waitlist_popup');
2359    const interestedIn =  document.getElementById('id_interested_in_join_waitlist_popup');
2360    //errors section
2361    const name_error = document.getElementById('name_error_join_waitlist_popup');
2362    const email_error = document.getElementById('email_error_join_waitlist_popup');
2363    const phone_error = document.getElementById('phone_error_join_waitlist_popup');
2364    const interested_in_error = document.getElementById('interested_in_error_join_waitlist_popup');
2365    // POSTHOG EXPERIMENT 2 START: stacking-plan-tile-redesign
2366    const form_schedule_viewing_popup = document.getElementById('form_source_schedule_viewing_popup');
2367    // POSTHOG EXPERIMENT 2 END
2368
2369    if (name?.value?.length == 0) {
2370      name_error.style.display = 'block';
2371      name_error.classList.add('errorlist');
2372      errors_map.name_error = true;
2373    }
2374    else{
2375      name_error.style.display = 'none';
2376      name_error.classList.remove('errorlist');
2377      errors_map.name_error = false;
2378    }
2379    if (email?.value?.length == 0 && phoneNumber?.value?.length == 0) {
2380      email_error.style.display = 'block';
2381      email_error.classList.add('errorlist');
2382      errors_map.email_error = true;
2383    }
2384    else{
2385      email_error.style.display = 'none';
2386      email_error.classList.remove('errorlist');
2387      errors_map.email_error = false;
2388    }
2389    if (email?.value?.length == 0 && phoneNumber?.value?.length == 0) {
2390      phone_error.style.display = 'block';
2391      phone_error.classList.add('errorlist');
2392      errors_map.phone_error = true;
2393    }
2394    else{
2395      phone_error.style.display = 'none';
2396      phone_error.classList.remove('errorlist');
2397      errors_map.phone_error = false;
2398    }
2399    if (interestedIn?.value?.length == 0) {
2400      interested_in_error.style.display = 'block';
2401      interested_in_error.classList.add('errorlist');
2402      errors_map.interested_in_error = true;
2403    }
2404    else{
2405      interested_in_error.style.display = 'none';
2406      interested_in_error.classList.remove('errorlist');
2407      errors_map.interested_in_error = false;
2408    }
2409    errors = Object.values(errors_map).filter(error => error == true ).length;
2410    if (errors === 0) {
2411      const phonenumber = document.querySelector('input[name="phonenumber"]').value;
2412      if (phonenumber !== '') {
2413        document.querySelector('.main_content').insertAdjacentHTML('afterbegin', '<div class="messages"><ul class="message_list"><li class="info">Thank you for your inquiry, we will contact you shortly!</li></ul></div>');
2414        document.getElementById('lead_form_join_waitlist_popup').reset();
2415        // close the popup if it's empty
2416        var myModal = new bootstrap.Modal(document.getElementById('myModal'));
2417        myModal.hide();
2418      } 
2419      else {
2420        const form = document.getElementById('lead_form_join_waitlist_popup');
2421        addGclidToForm_join_waitlist_popup(form);
2422        const formData = new FormData(form);
2423        formData.append('floor_plan_count', window.floor_plan_count)
2424        formData.append('stacking_plan_count', window.stacking_plan_count)
2425        const actionType = "Join Waitlist";
2426        if (actionType) {
2427              formData.append('action', actionType.toLowerCase().replace(' ', '_'));
2428        }
2429        const serialized = new URLSearchParams(formData).toString();
2430        const leadInquire = document.getElementById("lead_inquire_join_waitlist_popup");
2431        leadInquire.disabled = true;
2432        leadInquire.value = 'SENT';
2433
2434        fetch("/leads/lead-form-building", {
2435          method: "POST",
2436          headers: {
2437            'Content-Type': 'application/x-www-form-urlencoded',
2438            'X-Requested-With': 'XMLHttpRequest'
2439          },
2440          body: serialized
2441        })
2442        .then(response => {
2443          if (response.ok) {
2444            return response.text();
2445          } else {
2446            throw new Error('Network response was not ok.');
2447          }
2448        })
2449        .then(data => {
2450          data = JSON.parse(data);
2451          if (data === 'Success') {
2452            // POSTHOG EXPERIMENT 2 START: stacking-plan-tile-redesign
2453            if (form_schedule_viewing_popup && form_schedule_viewing_popup.value.toLowerCase() === 'stacking plan') {
2454              window.setTimeout(() => {
2455                window.posthog.capture('stacking_plan_lead_form_submitted', {
2456                  variant: window.POSTHOG_EXPERIMENT_2_VARIANT,
2457                });
2458              }, 5000);
2459            }
2460            // POSTHOG EXPERIMENT 2 END
2461            // FOR POSTHOG EXPERIMENT 1
2462            if(window.POSTHOG_EXPERIMENT_1_VARIANT) {
2463            window.posthog.capture('building_lead_form_submitted', {
2464                variant: window.POSTHOG_EXPERIMENT_1_VARIANT,
2465              });
2466            }
2467            // POSTHOG EXPERIMENT 3 START: building-page-rental-waitlist-cta
2468            const form_join_waitlist_popup = document.getElementById('form_source_join_waitlist_popup');
2469            if (
2470              (form_schedule_viewing_popup && form_schedule_viewing_popup.value.toLowerCase() === 'active rentals') ||
2471              (form_join_waitlist_popup && form_join_waitlist_popup.value.toLowerCase() === 'join waitlist')
2472            ) {
2473              window.posthog.capture('rental_waitlist_cta_form_submitted', {
2474                variant: window.POSTHOG_EXPERIMENT_3_VARIANT,
2475              });
2476            }
2477            // POSTHOG EXPERIMENT 3 END
2478            window.enquiryFormSubmitted = true;
2479            gtag('event', 'building_detail_new', {
2480                category: 'inquiry',
2481                stacking_plan: window.stacking_plan_count ? 'yes' : 'no',
2482                floorplan: window.floor_plan_count ? 'yes' : 'no'
2483            });
2484            gtag('event', 'Building Contact Form v2', {'category': 'Submitted Building Contact Form v2'});
2485            gtag('event', 'conversion', {'send_to': 'AW-1016337316/zLS2CJu_jpQZEKSn0OQD'});
2486            form.reset();
2487            window.$notyf && window.$notyf.success('Your inquiry was successfully submitted.');
2488            const errorContainer = document.querySelectorAll('.lead-gen-errors');
2489            errorContainer.forEach(element => {
2490              element.remove();
2491            });
2492            resetSubmitBtn_join_waitlist_popup(leadInquire);
2493          } else {
2494            // remove previous error message
2495            document.querySelector('.form_request_error_join_waitlist_popup').innerHTML = '';
2496            setTimeout(() => {
2497              document.querySelector('.form_request_error_join_waitlist_popup').insertAdjacentHTML('afterbegin', '<div class="messages lead-gen-errors"><ul class="message_list"><li class="error">There was an error processing your request. Please try again later.</li></ul></div>');
2498            }, 500);
2499            leadInquire.disabled = false;
2500            leadInquire.value = 'Schedule viewing';
2501          }
2502        })
2503        .catch(error => {
2504          // remove previous error message
2505          document.querySelector('.form_request_error_join_waitlist_popup').innerHTML = '';
2506          setTimeout(() => {
2507            document.querySelector('.form_request_error_join_waitlist_popup').insertAdjacentHTML('afterbegin', '<div class="messages lead-gen-errors"><ul class="message_list"><li class="error">There was an error processing your request. Please try again later.</li></ul></div>');
2508          }, 500);
2509          leadInquire.disabled = false;
2510          leadInquire.value = 'Schedule viewing';
2511          console.error('There was a problem with the fetch operation:', error);
2512        });
2513      }
2514    }
2515  }
2516  function addGclidToForm_join_waitlist_popup(form) {
2517    const params = new URLSearchParams(window.location.search);
2518    // Check if 'gclid' is present in the URL query string
2519    if (params.has('gclid')) {
2520      // Create a hidden input element for gclid
2521      const gclidInput = document.createElement('input');
2522      gclidInput.type = 'hidden';
2523      gclidInput.name = 'gclid';
2524      gclidInput.value = 'y';
2525      form.appendChild(gclidInput);
2526    }
2527  }
2528</script>
2528
2529
2530                </div>
2531            </custom-dialog-component>
2532        </div>
2533    </div>
2534    </div>
2535        
2536      </main>
2537      <footer>
2538        
2539<nav class="lazy-bg flex flex-col min-h-[360px] bg-cover bg-no-repeat w-full px-16 py-20 mobileMedium:px-8"
2540  style="background-color: black" data-bg-url="/assets/v2/ui/images/general/black-gradient.avif">
2541  <!-- FOOTER TOP -->
2542  <div class="flex justify-between flex-wrap gap-y-5 tabletMedium:flex-col">
2543    <!-- HL LINKS -->
2544    <div class="text-xs text-white ">
2545      <span class="text-xs font-bold">Highline Residential</span>
2546      <div class="flex mt-3 gap-y-4 mobileSmall:flex-wrap">
2547        <div class="flex flex-col min-w-52 mobileMedium:min-w-36">
2548          <a href="https://www.hlres.com/about-us" title="About Highline Residential"
2549            class="hover:text-app-blue hover:underline">About</a>
2550          <a href="https://www.hlres.com/team" class="hover:text-app-blue hover:underline">Team</a>
2551          <a href="https://www.hlres.com/our-services" title="Highline Residential Services"
2552            class="hover:text-app-blue hover:underline">Services</a>
2553          <a href="https://www.hlres.com/calculators"
2554            title="Highline Residential NYC Calculators - Mortgage and Closing Cost"
2555            class="hover:text-app-blue hover:underline">Calculators</a>
2556        </div>
2557        <div class="flex flex-col min-w-52 mobileMedium:min-w-36">
2558          <a href="https://www.hlres.com/nyc-homebuyers-guide"
2559            title="Highline Residential NYC Home Buyer's Guide" class="hover:text-app-blue hover:underline">NYC
2560            Homebuyer's Guide</a>
2561          <a href="https://www.hlres.com/find-roommates-nyc" title="Find Roommates NYC"
2562            class="hover:text-app-blue hover:underline">Find Roommates NYC</a>
2563          <a href="https://www.hlres.com/blog" title="Highline Residential Blog"
2564            class="hover:text-app-blue hover:underline">Blog</a>
2565          <a href="https://www.hlres.com/contact" title="Contact Highline Residential"
2566            class="hover:text-app-blue hover:underline">Contact Us</a>
2567        </div>
2568      </div>
2569    </div>
2570    <!-- OFFICE LOCATIONS -->
2571    <div class="text-xs text-white ">
2572      <span class="text-xs font-bold">Office Locations</span>
2573      <div class="flex mt-3 gap-y-4 mobileLarge:flex-wrap">
2574        <ul class="min-w-52 mobileMedium:min-w-36">
2575          <li>MANHATTAN</li>
2576          <li>10 West 37th, 4th Fl</li>
2577          <li>New York, NY 10018 </li>
2578          <li>212.960.8740</li>
2579        </ul>
2580        <ul class="min-w-52 mobileMedium:min-w-36">
2581          <li>BROOKLYN</li>
2582          <li>144 Decatur St</li>
2583          <li>Brooklyn, NY 11233</li>
2584          <li>718.484.0880</li>
2585        </ul>
2586      </div>
2587    </div>
2588  </div>
2589  <hr class="h-0 border border-solid border-red-600 mt-8">
2590  <!-- FOOTER BOTTOM -->
2591  <div class="flex gap-x-32 gap-y-12 mt-8  mobileLarge:flex-wrap">
2592    <img src="/assets/v2/ui/images/logos/HL-white-logo.svg" class="h-20 w-20 object-contain"
2593      alt="HL logo" loading="lazy">
2594    <div class="flex flex-col gap-y-4">
2595      <div class="flex gap-x-5 ">
2596        
2597        <a href="https://www.facebook.com/HighlineResidential" title="Highline Residential on Facebook"
2598          class="img-cicrle w-6 h-6 bg-white flex items-center justify-center cursor-pointer"><img
2599            src="/assets/v2/ui/images/social-media/facebook.svg" alt="facebook icon" loading="lazy"></a>
2600        
2601        
2602        <a href="https://www.instagram.com/hlresidential/" title="Highline Residential on Instagram"
2603          class="img-cicrle w-6 h-6 bg-white flex items-center justify-center cursor-pointer"> <img
2604            src="/assets/v2/ui/images/social-media/instagram.svg" alt="instagram icon" loading="lazy"></a>
2605        
2606        
2607        <a href="https://www.youtube.com/@nycrealestateagents" title="Highline Residential on Youtube"
2608          class="img-cicrle w-6 h-6 bg-white flex items-center justify-center cursor-pointer"><img
2609            src="/assets/v2/ui/images/social-media/youtube.svg" alt="youtube icon" loading="lazy"></a>
2610        
2611      </div>
2612      <div class="text-xs text-white flex flex-wrap copyright-container gap-3">
2613        <div class="flex flex-col">
2614          <!-- COPYRIGHT -->
2615          <span>Copyright&copy; 2026 Highline Residential LLC. All rights reserved. Created in NYC.</span>
2616            <span>Highline Residential&reg; is a registered trademark of Highline Residential, LLC.</span>
2617            <span>RLS Data display by Highline Residential.  Some Listings courtesy of OneKey MLS as distributed by MLS GRID.</span>
2618        </div>
2619        <div class="flex flex-wrap flex-1 gap-x-1" style="align-self: baseline;">
2620            <a title="Highline Residential Terms and Conditions"
2621            href="https://www.hlres.com/terms-conditions"
2622            class="hover:text-app-blue hover:underline">Terms &amp;
2623            Conditions</a> | <a title="Highline Residential Privacy Policy"
2624            href="https://www.hlres.com/privacy-policy"
2625            class=" hover:text-app-blue hover:underline">Privacy Policy </a> | <a
2626            title="Highline Residential DMCA Notice" href="https://www.hlres.com/dmca-notice"
2627            class=" hover:text-app-blue hover:underline">DMCA
2628            Notice</a> | <a href="https://www.dos.ny.gov/licensing/docs/FairHousingNotice_new.pdf"
2629            title="Highline Residential Fair Housing Notice" class=" hover:text-app-blue hover:underline">Fair
2630            Housing Notice | </a><a href="https://www.hlres.com/buyer-prerequisites" class=" hover:text-app-blue hover:underline">Standardized Operating Procedures</a>
2631        </div>
2632      </div>
2633    </div>
2634  </div>
2635  <hr class="h-0 border border-solid border-red-600 mt-8">
2636</nav>
2637
2638      </footer>
2639    </div>
2640  </div>
2641  <link rel="stylesheet" href="/assets/v2/vendor/swiper/swiper.css?v=2026-09-25_17-04">
2642  <link rel="stylesheet" href="/assets/v2/ui/general-css/primevue.css?v=2026-09-25_17-04">
2643  <link rel="stylesheet" href="/assets/v2/ui/general-css/context-menu.css?v=2026-09-25_17-04">
2644  <link rel="stylesheet" href="/assets/v2/vue-components/ag-grid/ag-grid-custom.css?v=2026-09-25_17-04">
2645  
2646    <link rel="stylesheet" href="/assets/v2/ui/general-css/subway.css" />
2647    <link rel="stylesheet" href="/assets/v2/vue-components/dialog/style.css?v=2026-09-25_17-04">
2648    
2649  
2649<script src="/assets/v2/custom-components/search-autocomplete.js?v=2026-09-25_17-04" defer></script>
2649
2650  
2650<script type="module" src="/assets/v2/vendor/notyf.js?v=2026-09-25_17-04" defer></script>
2650
2651  
2651<script src="https://cdn.jsdelivr.net/npm/swiper/swiper-bundle.min.js" defer></script>
2651
2652  
2652<script type="module" src="/assets/v2/vendor/hint.js?v=2026-09-25_17-04" defer></script>
2652
2653  
2653<script src="/assets/v2/custom-components/dialog/index.js?v=2026-09-25_17-04" defer></script>
2653
2654  
2654<script>
2655    document.addEventListener('DOMContentLoaded' , () => {
2656      window.fixedAgGridHeader && window.addEventListener('scroll', window.fixAgGridHeader);
2657    })
2658  </script>
2658
2659  
2659<script src="/assets/feedback/js/feedback_index.js?v=2026-09-25_17-04"></script>
2659
2660  
2661    <!-- SCRIPT FOR VUE APP -->
2662    
2662<script type="module" src="/assets/v2/vue-components/dialog/index.js?v=2026-09-25_17-04"></script>
2662
2663    <!-- SCRIPT FOR Charts -->
2664    
2664<script>
2665    document.addEventListener("DOMContentLoaded", function() {
2666         // change Schedule Viewing text according to condition
2667        if(coming_soon){
2668            const submit_form_btn = document.getElementById('lead_inquire');
2669            const submit_form_btn_popup = document.getElementById('lead_inquire_popup');
2670            if(submit_form_btn) submit_form_btn.value = 'Stay Updated';
2671            if(submit_form_btn_popup) submit_form_btn_popup.value = 'Stay Updated';
2672        }
2673        return; //added return for now, remove it when Building Insights enabled
2674        
2675    })
2676    </script>
2676
2677    
2677<script type="module">
2678        import { highlightContainer } from "/assets/v2/js/utils/index.js?v=2026-09-25_17-04";
2679        import { js_loader, CSS_loader } from "/assets/v2/js/utils/script-loader.js?v=2026-09-25_17-04";
2680        window.highlightContainer = highlightContainer;
2681        renderVueApp();
2682        function scrollToGridTab(){
2683            const urlParams = new URLSearchParams(window.location.search);
2684            // const action = urlParams.get('action');
2685            const activeTab = urlParams.get('tab');
2686            // const listingId = urlParams.get('listing_id');
2687            if (activeTab) {
2688                return activeTab;
2689            }
2690            return false;
2691        }
2692        function checkIfHashInURL(hash) {
2693            return window.location.hash;
2694        }
2695 
2696        function renderVueApp() {
2697                document.addEventListener("DOMContentLoaded", function () {
2698                    const targetDiv = document.getElementById('building-detail-vue');
2699
2700                    const loadScriptsAndStyles = (config = {}) => {
2701
2702                        CSS_loader({
2703                                href: "/assets/v2/pages/building_detail/dist-modern/build/build.css?v=2026-09-25_17-04",
2704                        });
2705                        // Load modern JS for browsers that support ES modules
2706                        if ('noModule' in HTMLScriptElement.prototype) {
2707                            js_loader({
2708                                type: 'module',
2709                                onload_callback: () => {
2710                                    adjustAnchorsScrollMargin();
2711                                    config.scrollTo && scrollToSection(config.scrollTo);
2712                                },
2713                                src: "/assets/v2/pages/building_detail/dist-modern/build/build.js?v=2026-09-25_17-04",
2714                            });
2715                        } else {
2716                            // Load legacy JS for browsers that do not support ES modules
2717                            js_loader({
2718                                type: 'module',
2719                                onload_callback: () => {
2720                                    adjustAnchorsScrollMargin();
2721                                    config.scrollTo && scrollToSection(config.scrollTo);
2722                                },
2723                                src: "/assets/v2/pages/building_detail/dist-legacy/build/build.js?v=2026-09-25_17-04",
2724                            });
2725                        }
2726                        // Unobserve after loading scripts
2727                        observer.disconnect();
2728                    };
2729
2730                    const observer = new IntersectionObserver((entries) => {
2731                        if (entries[0].isIntersecting) {
2732                            loadScriptsAndStyles();
2733                        }
2734                    }, {
2735                        root: null, // Observe within the viewport
2736                        rootMargin: '250px',
2737                        threshold: 0 // Trigger when 10% of the div is visible
2738                    });
2739
2740                    observer.observe(targetDiv);
2741                    const tabName = scrollToGridTab(); // if there are some params (tab="ACTIVE_RENTALS") in URL, then we will load the app eagerly without waiting for user scroll
2742                    const sectionId = checkIfHashInURL() //check if there is any hash in URL: #availability, then scroll to that section
2743                    if(typeof tabName === 'string' || sectionId.length){
2744                        observer.disconnect();
2745                        loadScriptsAndStyles({
2746                            scrollTo: typeof tabName === 'string' ? 'availability' : sectionId
2747                        });
2748                    }
2749                });
2750            }
2751                // this function fix anchors (scroll) issue with sticky header
2752        function adjustAnchorsScrollMargin() {
2753            const headerElement =
2754                document.getElementsByClassName('header-container')[0].offsetHeight > 0
2755                    ? document.getElementsByClassName('header-container')
2756                    : document.getElementsByClassName('mobile-screen-header');
2757            if (headerElement) {
2758                const headerHeight = headerElement[0].offsetHeight;
2759                const anchors = [
2760                    'building',
2761                    'availability',
2762                    'residences',
2763                    'activity',
2764                    'floorplans',
2765                    'neighborhood',
2766                    'inquiry-form',
2767                ];
2768                anchors.forEach((anchor) => {
2769                    const element = document.getElementById(anchor);
2770                    if (element) {
2771                        element.style.scrollMarginTop = headerHeight + 'px';
2772                    }
2773                });
2774            }
2775        }
2776
2777        // EXIT INTENT POPUP FUNCTIONALITY
2778        const body = document.querySelector('body');
2779        window.emailSubscribed = false;
2780        window.enquiryFormSubmitted = false;
2781        window.popupEnquiryFormSubmitted = false;
2782        window.isPopupPreviouslyOpened = false;
2783        body.addEventListener('mouseleave', openExitIntentPopup);
2784
2785        function openExitIntentPopup(event) {
2786            let mouseY;
2787            mouseY = event.clientY;
2788            if (mouseY < 0 && event.buttons !== 1) {
2789                if (!window.isPopupPreviouslyOpened && !window.enquiryFormSubmitted && !window.popupEnquiryFormSubmitted && !window.emailSubscribed) {
2790                window.isPopupPreviouslyOpened = true;
2791                showCustomDialog('save-subscriber-dialog')
2792                }
2793            }
2794        }
2795
2796        window.addEventListener('load', () => {
2797            adjustAnchorsScrollMargin();
2798            window.googleAnalytics('Building page loaded', window.building_address);
2799            window.addInquirySource();
2800            
2801            const swiperContainerId = '.new-developments-slider';
2802            const swiper = new Swiper(swiperContainerId, {
2803                ...window.SWIPER_OPTIONS,
2804                on: {
2805                    // for accessibility related stuff
2806                    slideChange: function () {
2807                        const currentSlide = this.realIndex + 1;  // Swiper's real index
2808                        const sliderElement = document.querySelector(swiperContainerId);
2809                        if (sliderElement) sliderElement.setAttribute('aria-valuenow', currentSlide);
2810                    }
2811                }
2812            });
2813        })
2814    </script>
2814
2815    
2816  <!-- Google tag (gtag.js) -- GA4 -->
vendor: 64 bytes, lines 2816-2817
2816
2817<script async src="https://www.googletagmanager.com/gtag/js?id=
2817G-GZ1PPF57FW
vendor: 18 bytes, line 2817
2817" defer></script>
2818<script>
2819  
vendor: 134 bytes, lines 2819-2823
2819window.dataLayer = window.dataLayer || [];
2820  function gtag(){dataLayer.push(arguments);}
2821  gtag('js', new Date());
2822
2823  gtag('config', '
2823G-GZ1PPF57FW
vendor: 34 bytes, line 2823
2823', { 'dimension1': 'External' });
2824</script>
2824
2825
2826<!-- Global site tag (gtag.js) - Google Ads: 1016337316 -->
vendor: 64 bytes, lines 2826-2827
2826
2827<script async src="https://www.googletagmanager.com/gtag/js?id=
2827AW-1016337316
vendor: 18 bytes, line 2827
2827" defer></script>
2828<script>
vendor: 127 bytes, line 2828
2828window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '
2828AW-1016337316
vendor: 4 bytes, line 2828
2828');
2829</script>
2829
2830
2831<!-- Start VWO Async SmartCode -->
2832<!-- <link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" />
2833<script type='text/javascript' id='vwoCode'>
2834window._vwo_code || (function() {
2835var account_id=858510,
2836version=2.0,
2837settings_tolerance=2000,
2838hide_element='body',
2839hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important',
2840/* DO NOT EDIT BELOW THIS LINE */
2841f=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={use_existing_jquery:function(){return typeof use_existing_jquery!=='undefined'?use_existing_jquery:undefined},library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(){if(!f){f=true;var e=d.getElementById('_vis_opt_path_hides');if(e)e.parentNode.removeChild(e)}},finished:function(){return f},load:function(e){var t=this.getSettings(),n=d.createElement('script'),i=this;if(t){n.textContent=t;d.getElementsByTagName('head')[0].appendChild(n);if(!w.VWO||VWO.caE){stT.removeItem(cK);i.load(e)}}else{n.fetchPriority='high';n.src=e;n.type='text/javascript';n.onerror=function(){_vwo_code.finish()};d.getElementsByTagName('head')[0].appendChild(n)}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t=d.currentScript,n=d.createElement('style'),i=this.hide_element(),r=t&&!t.async&&i?i+this.hide_element_style():'',c=d.getElementsByTagName('head')[0];n.setAttribute('id','_vis_opt_path_hides');v&&n.setAttribute('nonce',v.nonce);n.setAttribute('type','text/css');if(n.styleSheet)n.styleSheet.cssText=r;else n.appendChild(d.createTextNode(r));c.appendChild(n);this.load('https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&vn='+version)}};w._vwo_code=code;code.init();})();
2842</script>
2842 -->
2843<!-- End VWO Async SmartCode -->
2844
2845  
2846<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"eeea0216409149f5a9abdde194449a06","r":1,"spa":2}' crossorigin="anonymous"></script>
2846
2847</body>
2848
2849</html>
2850

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.