1<!doctype html > 2<html xmlns="http://www.w3.org/1999/xhtml" lang="en" 3 class="ios-preview-native-scroll"> 4<head> 5 <meta charset="utf-8"> 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
45<script type="text/javascript"> 46 window._currentDevice = 'desktop'; 47 window.Parameters = window.Parameters || { 48 HomeUrl: 'https://www.788westmidtown.com/', 49 50 SystemID: 'US_DIRECT_PRODUCTION', 51 SiteAlias: '3032b12d', 52 SiteType: atob('RFVEQU9ORQ=='), 53 PublicationDate: 'Sep 24, 2026', 54 ExternalUid: '6767906449167551', 55 IsSiteMultilingual: false, 56 InitialPostAlias: '', 57 InitialPostPageUuid: '', 58 InitialDynamicItem: '', 59 DynamicPageInfo: { 60 isDynamicPage: false, 61 base64JsonRowData: 'null', 62 }, 63 InitialPageAlias: 'contact-us', 64 InitialPageUuid: 'bdd8c4d7b6e84f1195dc0f9dbde6e72e', 65 InitialPageId: '1215665192', 66 InitialEncodedPageAlias: 'Y29udGFjdC11cw==', 67 InitialHeaderUuid: 'f7240f844e014c8eb0b8cb69e719ae33', 68 CurrentPageUrl: '', 69 IsCurrentHomePage: false, 70 AllowAjax: false, 71 AfterAjaxCommand: null, 72 HomeLinkText: 'Back To Home', 73 UseGalleryModule: false, 74 CurrentThemeName: 'Layout Theme', 75 ThemeVersion: '500000', 76 DefaultPageAlias: '', 77 RemoveDID: true, 78 WidgetStyleID: null, 79 IsHeaderFixed: false, 80 IsHeaderSkinny: false, 81 IsBfs: true, 82 StorePageAlias: 'null', 83 StorePagesUrls: 'e30=', 84 IsNewStore: 'false', 85 StorePath: '', 86 StoreId: 'null', 87 StoreVersion: 0, 88 StoreBaseUrl: '', 89 StoreCleanUrl: true, 90 StoreDisableScrolling: true, 91 IsStoreSuspended: false, 92 HasCustomDomain: true, 93 SimpleSite: false, 94 showCookieNotification: false, 95 cookiesNotificationMarkup: 'null', 96 translatedPageUrl: '', 97 isFastMigrationSite: false, 98 sidebarPosition: 'LEFT', 99 currentLanguage: 'en', 100 currentLocale: 'en', 101 NavItems: '{}', 102 errors: { 103 general: 'There was an error connecting to the page.<br/> Make sure you are not offline.', 104 password: 'Incorrect name/password combination', 105 tryAgain: 'Try again' 106 }, 107 108 mapConsent: { 109 message: 'This content is served by a third party, {0}. If enabled, {0} may collect information about your activity.', 110 enable: 'Enable' 111 }, 112 NavigationAreaParams: { 113 ShowBackToHomeOnInnerPages: true, 114 NavbarSize: 5, 115 NavbarLiveHomePage: 'https://www.788westmidtown.com/', 116 BlockContainerSelector: '.dmBody', 117 NavbarSelector: '#dmNav:has(a)', 118 SubNavbarSelector: '#subnav_main' 119 }, 120 hasCustomCode: true, 121 planID: '3102', 122 customTemplateId: 'null', 123 siteTemplateId: 'null', 124 productId: 'DM_DIRECT', 125 disableTracking: false, 126 pageType: 'FROM_SCRATCH', 127 isRuntimeServer: true, 128 isInEditor: false, 129 isInPreview: false, 130 hasNativeStore: false, 131 defaultLang: 'en', 132 hamburgerMigration: null, 133 isFlexSite: false 134 }; 135 136 window.Parameters.LayoutID = {}; 137 window.Parameters.LayoutID[window._currentDevice] = 6; 138 window.Parameters.LayoutVariationID = {}; 139 window.Parameters.LayoutVariationID[window._currentDevice] = 5; 140</script>
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163<!-- Injecting site-wide to the head --> 164 165 166<meta name="google-site-verification" content="EKgWk46Q6JkKAl0tK8zyHyVOzOXGJEX6FUmRdpDH1Gs" data-swh-uuid="d61d5c2d7ed84c96962c2b8020e64fb5"/> 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
183<script type="text/javascript" id="d_track_campaign"> 184 (function() { 185 if (!window.location.search) { 186 return; 187 } 188 const cleanParams = window.location.search.substring(1); // Strip ? 189 const queryParams = cleanParams.split('&'); 190 191 const expires = 'expires=' + new Date().getTime() + 24 * 60 * 60 * 1000; 192 const domain = 'domain=' + window.location.hostname; 193 const path = "path=/"; 194 195 queryParams.forEach((param) => { 196 const [key, value = ''] = param.split('='); 197 if (key.startsWith('utm_')) { 198 const cookieName = "_dm_rt_" + key.substring(4); 199 const cookie = cookieName + "=" + value; 200 const joined = [cookie, expires, domain, path].join(";"); 201 document.cookie = joined; 202 } 203 }); 204 }()); 205</script>
vendor: 1 bytes, line 205
205
206<script type="text/javascript" id="d_track_referrer"> 207 (function() { 208 const cookieName = '_dm_entry_referrer'; 209 const referrer = document.referrer; 210 if (!referrer) { 211 return; 212 } 213 let referrerOrigin; 214 try { 215 referrerOrigin = new URL(referrer).origin; 216 } catch (e) { 217 return; 218 } 219 // 'null' is what an opaque origin (sandboxed iframe, file://) serializes to. 220 if (!referrerOrigin || referrerOrigin === 'null' || referrerOrigin === window.location.origin) { 221 return; 222 } 223 try { 224 const existing = document.cookie 225 .split('; ') 226 .find((candidate) => candidate.indexOf(cookieName + '=') === 0); 227 if (existing && decodeURIComponent(existing.slice(cookieName.length + 1))) { 228 return; 229 } 230 // No expiry: session-scoped, matching the _dm_rt_ cookies above that a submission 231 // reads alongside this one (session-scoped in practice â see FBN-5389). 232 const secure = window.location.protocol === 'https:' ? ';Secure' : ''; 233 document.cookie = cookieName + '=' + encodeURIComponent(referrerOrigin) 234 + ';path=/;SameSite=Lax' + secure; 235 } catch (e) { 236 return; 237 } 238 }()); 239</script>
239 240
241<script type="text/javascript" > 242 var _dm_gaq = {}; 243 var _gaq = _gaq || []; 244 var _dm_insite = []; 245</script>
245 246 247 248 249
250<script async src="https://www.googletagmanager.com/gtm.js?id=GTM-NL5NRSV4" id="d-js-gtm" 251 onload="window.dispatchEvent(new CustomEvent('gtmLoaded', { bubbles: true }))"></script>
251 252
253<script type="text/javascript" id="d_track_ga"> 254 window.dataLayer = window.dataLayer || []; 255 _dm_gaq.siteAlias = '3032b12d'; 256 _dm_gaq.externalGaqID = 'non-empty'; 257 258 function gtag() { dataLayer.push(arguments); } 259 260 function pushInsiteImpressions(id) { 261 _dm_insite.forEach((rule) => { 262 _dm_gaq.pushEvent(id, 'insite_impression', 'insite', rule.ruleType + '__' + rule.ruleId); 263 }); 264 } 265 266 _dm_gaq.pushEvent = function(trackingId, event, category, label, value, additionalParams = {}) { 267 const eventProps = { 268 event_category: category, 269 event_label: label, 270 value, 271 ...additionalParams 272 }; 273 gtag('event', event, eventProps); 274 } 275 276 gtag('js', new Date()) 277 278 279gtag('set', 'developer_id.dMDU5Nj', true); 280gtag('set', 'developer_id.dMWY5NG', true); 281 282 _dm_gaq.pushEvent('', 'page_view'); 283 284 pushInsiteImpressions(_dm_gaq.externalGaqID); 285</script>
285 286 287 288 289 290 291<!-- End Injecting site-wide to the head --> 292 293<!-- Inject secured cdn script --> 294 295 296<!-- ========= Meta Tags ========= --> 297<!-- PWA settings -->
298<script> 299 function toHash(str) { 300 var hash = 5381, i = str.length; 301 while (i) { 302 hash = hash * 33 ^ str.charCodeAt(--i) 303 } 304 return hash >>> 0 305 } 306</script>
vendor: 1 bytes, line 306
306
307<script> 308 (function (global) { 309 //const cacheKey = global.cacheKey; 310 const isOffline = 'onLine' in navigator && navigator.onLine === false; 311 const hasServiceWorkerSupport = 'serviceWorker' in navigator; 312 if (isOffline) { 313 console.log('offline mode'); 314 } 315 if (!hasServiceWorkerSupport) { 316 console.log('service worker is not supported'); 317 } 318 if (hasServiceWorkerSupport && !isOffline) { 319 window.addEventListener('load', function () { 320 const serviceWorkerPath = '/runtime-service-worker.js?v=3'; 321 navigator.serviceWorker 322 .register(serviceWorkerPath, { scope: './' }) 323 .then( 324 function (registration) { 325 // Registration was successful 326 console.log( 327 'ServiceWorker registration successful with scope: ', 328 registration.scope 329 ); 330 }, 331 function (err) { 332 // registration failed :( 333 console.log('ServiceWorker registration failed: ', err); 334 } 335 ) 336 .catch(function (err) { 337 console.log(err); 338 }); 339 }); 340 341 // helper function to refresh the page 342 var refreshPage = (function () { 343 var refreshing; 344 return function () { 345 if (refreshing) return; 346 // prevent multiple refreshes 347 var refreshkey = 'refreshed' + location.href; 348 var prevRefresh = localStorage.getItem(refreshkey); 349 if (prevRefresh) { 350 localStorage.removeItem(refreshkey); 351 if (Date.now() - prevRefresh < 30000) { 352 return; // dont go into a refresh loop 353 } 354 } 355 refreshing = true; 356 localStorage.setItem(refreshkey, Date.now()); 357 console.log('refereshing page'); 358 window.location.reload(); 359 }; 360 })(); 361 362 function messageServiceWorker(data) { 363 return new Promise(function (resolve, reject) { 364 if (navigator.serviceWorker.controller) { 365 var worker = navigator.serviceWorker.controller; 366 var messageChannel = new MessageChannel(); 367 messageChannel.port1.onmessage = replyHandler; 368 worker.postMessage(data, [messageChannel.port2]); 369 function replyHandler(event) { 370 resolve(event.data); 371 } 372 } else { 373 resolve(); 374 } 375 }); 376 } 377 } 378})(window); 379</script>
379 380<!-- Add manifest --> 381<!-- End PWA settings --> 382 383 384 385<link rel="canonical" href="https://www.788westmidtown.com/contact-us"> 386 387<meta id="view" name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=5, viewport-fit=cover"> 388 389<meta name="apple-mobile-web-app-capable" content="yes"> 390 391<!--Add favorites icons--> 392 393<link rel="apple-touch-icon" 394 href="https://irp.cdn-website.com/3032b12d/dms3rep/multi/019f1f4d-b9eb-7604-8d17-899457eb3db9.png"/> 395 396<link rel="icon" type="image/x-icon" href="https://irp.cdn-website.com/3032b12d/site_favicon_16_1786988817875.ico"/> 397 398<!-- End favorite icons --> 399<link rel="preconnect" href="https://irp.cdn-website.com"/> 400<link rel="preconnect" href="https://irp.cdn-website.com" crossorigin/> 401<link rel="preconnect" href="https://static.cdn-website.com"/> 402 403 404 405<!-- render the required CSS and JS in the head section -->
406<script id='d-js-dmapi'> 407 window.SystemID = 'US_DIRECT_PRODUCTION'; 408 409 if (!window.dmAPI) { 410 window.dmAPI = { 411 registerExternalRuntimeComponent: function () { 412 }, 413 getCurrentDeviceType: function () { 414 return window._currentDevice; 415 }, 416 runOnReady: (ns, fn) => { 417 const safeFn = dmAPI.toSafeFn(fn); 418 ns = ns || 'global_' + Math.random().toString(36).slice(2, 11); 419 const eventName = 'afterAjax.' + ns; 420 421 if (document.readyState === 'complete') { 422 $.DM.events.off(eventName).on(eventName, safeFn); 423 setTimeout(function () { 424 safeFn({ 425 isAjax: false, 426 }); 427 }, 0); 428 } else { 429 window?.waitForDeferred?.('dmAjax', () => { 430 $.DM.events.off(eventName).on(eventName, safeFn); 431 safeFn({ 432 isAjax: false, 433 }); 434 }); 435 } 436 }, 437 toSafeFn: (fn) => { 438 if (fn?.safe) { 439 return fn; 440 } 441 const safeFn = function (...args) { 442 try { 443 return fn?.apply(null, args); 444 } catch (e) { 445 console.log('function failed ' + e.message); 446 } 447 }; 448 safeFn.safe = true; 449 return safeFn; 450 } 451 }; 452 } 453 454 if (!window.requestIdleCallback) { 455 window.requestIdleCallback = function (fn) { 456 setTimeout(fn, 0); 457 } 458 } 459</script>
459 460 461<!-- loadCSS function header.jsp--> 462 463 464 465 466 467
468<script id="d-js-load-css"> 469/** 470 * There are a few <link> tags with CSS resource in them that are preloaded in the page 471 * in each of those there is a "onload" handler which invokes the loadCSS callback 472 * defined here. 473 * We are monitoring 3 main CSS files - the runtime, the global and the page. 474 * When each load we check to see if we can append them all in a batch. If threre 475 * is no page css (which may happen on inner pages) then we do not wait for it 476 */ 477(function () { 478 let cssLinks = {}; 479 function loadCssLink(link) { 480 link.onload = null; 481 link.rel = "stylesheet"; 482 link.type = "text/css"; 483 } 484 485 function checkCss() { 486 const pageCssLink = document.querySelector("[id*='CssLink']"); 487 const widgetCssLink = document.querySelector("[id*='widgetCSS']"); 488 489 if (cssLinks && cssLinks.runtime && cssLinks.global && (!pageCssLink || cssLinks.page) && (!widgetCssLink || cssLinks.widget)) { 490 const storedRuntimeCssLink = cssLinks.runtime; 491 const storedPageCssLink = cssLinks.page; 492 const storedGlobalCssLink = cssLinks.global; 493 const storedWidgetCssLink = cssLinks.widget; 494 495 storedGlobalCssLink.disabled = true; 496 loadCssLink(storedGlobalCssLink); 497 498 if (storedPageCssLink) { 499 storedPageCssLink.disabled = true; 500 loadCssLink(storedPageCssLink); 501 } 502 503 if(storedWidgetCssLink) { 504 storedWidgetCssLink.disabled = true; 505 loadCssLink(storedWidgetCssLink); 506 } 507 508 storedRuntimeCssLink.disabled = true; 509 loadCssLink(storedRuntimeCssLink); 510 511 requestAnimationFrame(() => { 512 setTimeout(() => { 513 storedRuntimeCssLink.disabled = false; 514 storedGlobalCssLink.disabled = false; 515 if (storedPageCssLink) { 516 storedPageCssLink.disabled = false; 517 } 518 if (storedWidgetCssLink) { 519 storedWidgetCssLink.disabled = false; 520 } 521 // (SUP-4179) Clear the accumulated cssLinks only when we're 522 // sure that the document has finished loading and the document 523 // has been parsed. 524 if(document.readyState === 'interactive') { 525 cssLinks = null; 526 } 527 }, 0); 528 }); 529 } 530 } 531 532 533 function loadCSS(link) { 534 try { 535 var urlParams = new URLSearchParams(window.location.search); 536 var noCSS = !!urlParams.get("nocss"); 537 var cssTimeout = urlParams.get("cssTimeout") || 0; 538 539 if (noCSS) { 540 return; 541 } 542 if (link.href && link.href.includes("d-css-runtime")) { 543 cssLinks.runtime = link; 544 checkCss(); 545 } else if (link.id === "siteGlobalCss") { 546 cssLinks.global = link; 547 checkCss(); 548 } 549 550 else if (link.id && link.id.includes("CssLink")) { 551 cssLinks.page = link; 552 checkCss(); 553 } else if (link.id && link.id.includes("widgetCSS")) { 554 cssLinks.widget = link; 555 checkCss(); 556 } 557 558 else { 559 requestIdleCallback(function () { 560 window.setTimeout(function () { 561 loadCssLink(link); 562 }, parseInt(cssTimeout, 10)); 563 }); 564 } 565 } catch (e) { 566 throw e 567 } 568 } 569 window.loadCSS = window.loadCSS || loadCSS; 570})(); 571</script>
571 572 573 574
575<script data-role="deferred-init" type="text/javascript"> 576 /* usage: window.getDeferred(<deferred name>).resolve() or window.getDeferred(<deferred name>).promise.then(...)*/ 577 function Def() { 578 this.promise = new Promise((function (a, b) { 579 this.resolve = a, this.reject = b 580 }).bind(this)) 581 } 582 583 const defs = {}; 584 window.getDeferred = function (a) { 585 return null == defs[a] && (defs[a] = new Def), defs[a] 586 } 587 window.waitForDeferred = function (b, a, c) { 588 let d = window?.getDeferred?.(b); 589 d 590 ? d.promise.then(a) 591 : c && ["complete", "interactive"].includes(document.readyState) 592 ? setTimeout(a, 1) 593 : c 594 ? document.addEventListener("DOMContentLoaded", a) 595 : console.error(`Deferred does not exist`); 596 }; 597</script>
597 598<style id="forceCssIncludes"> 599 /* This file is auto-generated from a `scss` file with the same name */ 600 601.videobgwrapper{overflow:hidden;position:absolute;z-index:0;width:100%;height:100%;top:0;left:0;pointer-events:none;border-radius:inherit}.videobgframe{position:absolute;width:101%;height:100%;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);object-fit:fill}#dm video.videobgframe{margin:0}@media (max-width:767px){.dmRoot .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:80vh}}@media (min-width:1025px){.dmRoot .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:45vh}}@media (min-width:768px) and (max-width:1024px){.responsiveTablet .dmPhotoGallery.newPhotoGallery:not(.photo-gallery-done){min-height:45vh}}#dm [data-show-on-page-only]{display:none!important}#dmRoot div.stickyHeaderFix div.site_content{margin-top:0!important}#dmRoot div.stickyHeaderFix div.hamburger-header-container{position:relative}@media (min-width:768px) and (max-width:1024px){.responsiveTablet #dm .dmInner .hide-for-medium,[data-hidden-on-tablet]{display:none!important}} 602 603body #dm #\31 350088505:not(.photo-gallery-done):not([data-widget-initialized]) { height: 54.0px !important; min-height: initial;} 604body #dm #\31 227854971:not(.photo-gallery-done):not([data-widget-initialized]) { height: 54.0px !important; min-height: initial;} 605body #dm #\31 426650895:not(.photo-gallery-done):not([data-widget-initialized]) { height: 524.0px !important; min-height: initial;} 606</style> 607<style id="cssVariables" type="text/css"> 608 :root { 609 --color_1: rgba(24, 59, 101, 1); 610 --color_2: rgba(104, 197, 174, 1); 611 --color_3: rgba(46, 60, 64, 1); 612 --color_4: rgba(177,195,218,1); 613 --color_5: rgba(0,0,0,1); 614 --color_6: rgba(46, 60, 64, 0.06); 615 --color_7: rgba(41, 79, 70, 1); 616} 617</style> 618 619 620<style id="hideAnimFix"> 621 .dmDesktopBody:not(.editGrid) [data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) [data-anim-extended] { 622 visibility: hidden; 623 } 624 625 .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-desktop]:not([data-anim-desktop='none']), .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-extended] { 626 visibility: hidden !important; 627 } 628 629 #dmRoot:not(.editGrid) .flex-element [data-anim-extended] { 630 visibility: hidden; 631 } 632 633</style> 634 635 636 637<style id="criticalCss"> 638 @charset "UTF-8";@font-face{font-family:'Titillium Web';font-style:normal;font-weight:400;font-display:swap;src:url(https://irp.cdn-website.com/fonts/s/titilliumweb/v19/NaPecZTIAOhVxoMyOr9n_E7fdMPmDQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Roboto Flex';font-style:normal;font-weight:100 1000;font-stretch:100%;font-display:swap;src:url(https://irp.cdn-website.com/fonts/s/robotoflex/v30/NaN4epOXO_NexZs0b5QrzlOHb8wCikXpYqmZsWI-__OGbt8jZktqc2V3Zs0KvDLdBP8SBZtOs2IifRuUZQMsPJtUsR4DEK6cULNeUx9XgTnH37Ha_FIAp4Fm0PP1hw45DntW2x0wZGzhPmr1YNMYKYn9_1IQXGwJAiUJVUMdN5YUW4O8HtSoXjC1z3QSabshNFVe3e0O5j3ZjrZCu23Qd4G0EBysQNK-QKavMl12JoUc.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(https://irp.cdn-website.com/fonts/s/rubik/v31/iJWKBXyIfDnIV7nBrXw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rubik;font-style:italic;font-weight:300 900;font-display:swap;src:url(https://irp.cdn-website.com/fonts/s/rubik/v31/iJWEBXyIfDnIV7nEnX661A.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Prata;font-style:normal;font-weight:400;font-display:swap;src:url(https://irp.cdn-website.com/fonts/s/prata/v22/6xKhdSpbNNCT-sWPCm4.woff2) format('woff2');
638unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Jost;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://irp.cdn-website.com/fonts/s/jost/v20/92zatBhPNqw73oTd4g.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color_1:rgba(24, 59, 101, 1);--color_2:rgba(104, 197, 174, 1);--color_3:rgba(46, 60, 64, 1);--color_4:rgba(177,195,218,1);--color_5:rgba(0,0,0,1);--color_6:rgba(46, 60, 64, 0.06);--color_7:rgba(41, 79, 70, 1);--btn-border-l-color:rgba(255,255,255,1);--btn-border-r-color:rgba(255,255,255,1);--btn-border-b-width:1px;--btn-text-direction:ltr;--btn-border-radius:0px;--btn-border-t-width:1px;--btn-border-tl-radius:var(--btn-border-radius);--btn-border-br-radius:var(--btn-border-radius);--btn-border-bl-radius:var(--btn-border-radius);--btn-bg-color:rgba(0, 0, 0, 0);--btn-border-r-width:1px;--btn-border-tr-radius:var(--btn-border-radius);--btn-border-b-color:rgba(255,255,255,1);--btn-border-l-width:1px;--border-style:solid;--btn-border-t-color:rgba(255,255,255,1);--btn-text-align:center;--btn-text-color:rgba(255,255,255,1);--btn-text-decoration:none;--btn-text-font-weight:bold;--btn-text-font-family:Jost,"Jost Fallback";--btn-icon-color:var(--color_1);--btn-icon-fill:var(--color_1);--btn-icon-wrpr-display:none;--btn-hover-border-b-color:var(--btn-hover-border-color);--btn-hover-bg:var(--color_4);--btn-hover-border-t-color:var(--btn-hover-border-color);--btn-hover-border-r-color:var(--btn-hover-border-color);--btn-hover-border-l-color:var(--btn-hover-border-color);--btn-hover-border-color:rgba(255, 255, 255, 1);--btn-hover-text-color:rgba(51, 51, 51, 1);--btn-hover-text-font-weight:var(--btn-text-font-weight);--btn-hover-text-decoration:var(--btn-text-decoration);--btn-hover-text-font-style:var(--btn-text-font-style)}.dmInner{min-height:100vh!important;position:relative;min-width:768px!important}.dmPopup,.dmPopupMask{position:fixed;left:0}[dmtemplateid*=amburger] .dmLayoutWrapper{overflow:hidden}#dm .dmWidget .icon{font-size:26px}body.dmRoot #dm .dmOuter .dmInner .dmWidget .icon.hasFontIcon{height:26px;margin-top:-13px;line-height:normal;text-align:center;background-image:none}#dm .dmBody div.u_1028284539,.dmRoot .hasFontIcon{background-image:none!important}.dmPopupMask{margin:0;display:none;width:10px;z-index:1000000999;top:0}#dmRoot .dmPopup,.dmPopup,.dmPopupClose:before,[data-display-type=block],div[data-display-type=block]{display:block}.dmPopup{text-align:left;top:10px;width:93%;z-index:1000009999!important;box-sizing:border-box;background:#f5f5f5;overflow-y:auto;height:100%}.dmPopup .dmPopupTitle{text-align:left;font:700 19px Helvetica,Arial;margin:20px 20px 35px;color:#999}#dmPopup{opacity:0}.dmPopupClose,.dmPopupClose:before{position:absolute;visibility:visible}.dmPopupClose{border-radius:25px;width:27px;height:27px;top:12px;right:12px;z-index:1;background-color:rgba(255,255,255,.4)}.dmPopupClose:before{font-size:20px;color:#000;top:3px;right:3px}body.dmDesktopBody:not(.mac) .data::-webkit-scrollbar{width:5px;height:5px}#dm .dmInner div.u_hcontainer,.dmRespRow.fullBleedMode>.dmRespColsWrapper{width:100%!important;max-width:100%!important}body.dmDesktopBody:not(.mac) .data::-webkit-scrollbar-track{background:rgba(0,0,0,.1)}body.dmDesktopBody:not(.mac) .data::-webkit-scrollbar-thumb{background:#c8c8c8;box-shadow:inset 0 1px 2px #454545;border-radius:45px}#dm .header-over-content #stickyHeaderSpacer{height:0!important}#dm .header-over-content .site_content{margin-top:0!important}.dmRespRow.fullBleedMode{padding-left:0!important;padding-right:0!important}#dm .dmRespRow .dmRespColsWrapper{display:flex}#dm .dmInner .dmWidget.align-center,.align-center{margin-left:auto;margin-right:auto}.text-align-center{text-align:center}body.fix-mobile-scrolling{overflow:initial}#dmRoot{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}@media (min-width:1025px){#dmRoot.responsiveTablet #dm #dmStyle_outerContainer #dmStyle_innerContainer .showOnMedium{display:none!important}#dmRoot.responsiveTablet #dm [data-responsive-name=ResponsiveDesktopTopTabletHamburger] .site_content{margin-top:0!important}:root{--btn-text-font-size:16px}}@media (max-width:767px){#dmRoot.responsiveTablet #dm #dmStyle_outerContainer #dmStyle_innerContainer #hamburger-header-container~#stickyHeaderSpacer,#dmRoot.responsiveTablet #dm #dmStyle_outerContainer #dmStyle_innerContainer .showOnLarge{display:none!important}}@media (min-width:768px) and (max-width:1024px){#dmRoot.responsiveTablet #dm #dmStyle_outerContainer #dmStyle_innerContainer #hamburger-header-container~#stickyHeaderSpacer,#dmRoot.responsiveTablet #dm #dmStyle_outerContainer #dmStyle_innerContainer .showOnLarge,[data-hidden-on-tablet]{display:none!important}:root{--btn-text-font-size:16px}}@media (min-width:1025px) and (max-width:1399px){[data-hidden-on-desktop]{display:none!important}}body{-webkit-overflow-scrolling:touch}:not(.runtime-module-container) .layout-drawer,:not(.runtime-module-container) .layout-drawer-hamburger,:not(.runtime-module-container) .layout-drawer-overlay{visibility:hidden}:not(.runtime-module-container) .layout-drawer{position:fixed;transform:translate(-100%,-100%)}:not(.runtime-module-container) .layout-drawer[data-origin=side-reverse]{transform:translate(100%,0)}:not(.runtime-module-container) .layout-drawer-overlay{opacity:0}
638.runtime-module-container{width:100%}.runtime-module-container[dmtemplateid*=amburger] #site_content,.runtime-module-container[dmtemplateid*=amburger] .dmInner{position:static}.runtime-module-container[dmtemplateid*=amburger] #site_content .site_content{position:relative}.runtime-module-container[dmtemplateid*=amburger] .dmLayoutWrapper{background-color:transparent}.runtime-module-container .hamburger-header-container{position:fixed;z-index:2;top:0;left:0;width:100%}.runtime-module-container .hamburger-header-container .hamburger-header{min-height:43px}.runtime-module-container .layout-drawer,.runtime-module-container .layout-drawer-hamburger,.runtime-module-container .layout-drawer-overlay{visibility:visible}.runtime-module-container[dmtemplateid*=amburger] .site_content{margin-top:59px}.runtime-module-container .layout-drawer,.runtime-module-container .layout-drawer-overlay{height:100%;position:fixed;top:0;left:0}.runtime-module-container .layout-drawer{background-color:#fff;width:75vw;transform:translate(-100%,0);overflow:auto;-webkit-overflow-scrolling:auto;z-index:13;display:flex;flex-direction:column}.runtime-module-container .layout-drawer .dmRespRow:not(.dmPlaceHolderRespRow) .dmRespColsWrapper .dmRespCol:not(.content-removed):only-child:empty{min-height:0}.runtime-module-container .layout-drawer[data-origin=side-reverse]{transform:translate(100%,0);left:auto;right:0}.runtime-module-container .layout-drawer-overlay{width:100vw;background-color:rgba(0,0,0,.4);opacity:0;z-index:6}body:not([data-flex-site]) .layout-drawer .dmRespRow:not(:first-of-type):not(:last-of-type){flex:1 1 auto}.layout-drawer-hamburger{background:0 0;appearance:none;position:fixed;left:18px;margin-left:env(safe-area-inset-left);padding:17px 11px;z-index:14;width:52px;height:52px;color:#787878;display:flex;flex-direction:column;border:0;justify-content:space-between;align-items:stretch;top:18px;border-radius:0}.layout-drawer-hamburger:not(:focus){outline:unset}.layout-drawer-hamburger .hamburger__slice{display:block;height:0;width:100%;border:1px solid currentColor;transform-origin:center}@media (max-width:767px){.layout-drawer-hamburger{background:0 0;appearance:none;position:fixed;left:10px;margin-left:env(safe-area-inset-left);padding:13px 9px;z-index:14;width:40px;height:40px;color:#787878;display:flex;flex-direction:column;border:0;justify-content:space-between;align-items:stretch;top:10px;border-radius:0}.layout-drawer-hamburger:not(:focus){outline:unset}.layout-drawer-hamburger .hamburger__slice{display:block;height:0;width:100%;border:1px solid currentColor;transform-origin:center}}.hamburger-reverse .layout-drawer-hamburger{left:auto;right:10px;margin-right:env(safe-area-inset-right)}#dm-outer-wrapper #hamburger-header-container #hamburger-header .dmRespCol{display:flex;flex-direction:column;justify-content:center}nav{display:block}html{font-family:Source Sans Pro;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}h1{font-size:2em;margin:.67em 0}img{border:0;max-width:100%;-ms-interpolation-mode:bicubic;display:inline-block}svg:not(:root){overflow:hidden}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button{-webkit-appearance:button}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top;height:auto;min-height:50px}*,:after,:before{box-sizing:border-box}select{width:100%}.dmRespRow{padding-top:15px;padding-bottom:15px}.dmRespRow .dmRespRow:after,.dmRespRow .dmRespRow:before,.dmRespRow:after,.dmRespRow:before{content:" ";display:table}.dmRespRow .dmRespRow:after,.dmRespRow:after{clear:both}.dmRespRow,.dmRespRow .dmRespColsWrapper{max-width:960px;position:relative;margin:0 auto;width:100%}@media screen and (min-width:1200px){.rows-1200 .dmRespRow:not(.fullBleedMode) .dmRespColsWrapper{max-width:1200px}}.dmHeader,.dmRespRow .dmRespCol>*{max-width:100%}.dmRespRow .dmRespCol{position:relative;width:100%;display:inline-block;vertical-align:top;float:left}.dmRespRow .dmRespRow{width:auto;margin-top:0;margin-bottom:0;max-width:none}.dmDesktopBody .dmRespRow .large-2{position:relative;width:16.66667%}.dmDesktopBody .dmRespRow .large-3{position:relative;width:25%}.dmDesktopBody .dmRespRow .large-4{position:relative;width:33.33333%}.dmDesktopBody .dmRespRow .large-5{position:relative;width:41.66667%}.dmDesktopBody .dmRespRow .large-6{position:relative;width:50%}.dmDesktopBody .dmRespRow .large-7{position:relative;width:58.33333%}.dmDesktopBody .dmRespRow .large-12{position:relative;width:100%}[class*=" dm-common-icons-"]{speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:dm-common-icons!important}.dm-common-icons-close:before{content:"î¤"}
638[class*=" icon-"]{font-family:FontAwesome!important;font-weight:400;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0 0;background-repeat:repeat;margin-top:0}[class*=" icon-"]:before{text-decoration:none;display:inline-block;speak:none}a [class*=" icon-"]{display:inline}.icon-star:before{content:"ï
"}.icon-angle-down:before{content:"ï";width:.643em;mask:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201152%201792'%3E%3Cpath%20transform='translate(0,1536)%20scale(1,-1)'%20d='M1075%20800q0%20-13%20-10%20-23l-466%20-466q-10%20-10%20-23%20-10t-23%2010l-466%20466q-10%2010%20-10%2023t10%2023l50%2050q10%2010%2023%2010t23%20-10l393%20-393l393%20393q10%2010%2023%2010t23%20-10l50%20-50q10%20-10%2010%20-23z'/%3E%3C/svg%3E") no-repeat center/contain}#dm .dmRespRow .dmRespCol>.dmWidget{overflow:initial}@media (min-width:768px){.hamburger-reverse .layout-drawer-hamburger{right:18px}#dm .dmRespRow .dmRespCol>.dmWidget{width:280px;max-width:100%}}@media (max-width:767px){#dm .dmInner .dmWidget{width:100%}}#dm .dmInner .dmWidget:not(.displayNone){display:inline-block}#dm .dmInner .dmWidget.flexButton:not(.displayNone){display:flex}#dm .dmInner .dmWidget.flexButton{display:flex;align-items:center;justify-content:center;padding:10px 7px}#dm .dmInner .dmWidget.flexButton .text{padding:0!important;flex-grow:1;max-width:max-content}#dm .dmInner .dmWidget.flexButton:after{display:none}#dm .dmInner .dmWidget{text-decoration:none;margin:10px 0;clear:both;position:relative;text-align:center;line-height:22px;box-shadow:none;background-image:none;padding:0;height:auto;border-style:solid;white-space:nowrap}#dm .dmInner .dmWidget:after{content:"";display:inline-block;height:100%;vertical-align:middle;width:0;margin-right:-.25em}#dm .dmInner .dmWidget .iconBg{position:absolute;left:0;width:50px;top:50%;margin-top:-13px}#dm .dmWidget .text{display:inline-block;vertical-align:middle;font-size:1.125em;line-height:normal;white-space:normal;padding:10px 7px;max-width:98%}p.rteBlock{margin:0}html:not(.ios-preview) #dm .hasStickyHeader .dmInner div.dmHeaderContainer{position:fixed!important;z-index:101;width:100%;min-width:768px}#dm .header-over-content .dmHeaderContainer{position:absolute;z-index:101;width:100%}.dmNewParagraph[data-version] .text-align-left{text-align:left!important}.dmNewParagraph[data-version] .text-align-center,.headerWrapper .header-subtitle,.headerWrapper .header-title,.headerWrapper a{text-align:center!important}.dmNewParagraph[data-version]{line-height:initial}.dmNewParagraph[data-version] [class*=size-]{width:auto!important;height:auto!important}.dmNewParagraph[data-version] h1,.dmNewParagraph[data-version] h2,.dmNewParagraph[data-version] h3,.dmNewParagraph[data-version] p{margin-top:0;margin-bottom:0}.dmNewParagraph[data-version] a{vertical-align:initial}.imageWidget{position:relative}.imageWidget a{font-style:italic;text-align:center}.widget-e6fb70 .multihubButton{font-size:25px;font-weight:400;width:100%;height:100%;display:flex;align-items:center;margin:0 auto;padding:0}.widget-e6fb70 .text{font-family:Montserrat!important;font-style:normal;font-size:16px!important}.widget-e6fb70 .MMT_btn{text-decoration:none;text-align:center}.widget-e6fb70 .multihubButton a{width:100%;height:100%;display:flex;align-items:center}.widget-e6fb70 .multihubButton a span{width:100%}*{margin:0;padding:0;box-sizing:border-box}#multihub_contact_us{--mh-white:#fff;--mh-black:#222;--mh-gray-dark:#666;--mh-gray:#6a6a6a;--mh-gray-light:#d8d9de;--mh-gray-lighter:#e0e0e0;--mh-gray-lightest:#f5f5f5;--mh-red:#dc2626;--mh-green:#28c76f;--mh-danger:var(--mh-red);--mh-success:var(--mh-green);--mh-button:var(--mh-black);--mh-button-hover:var(--mh-gray-dark);--mh-button-disabled:var(--mh-gray-lighter);--mh-text-primary:var(--mh-black);--mh-text-secondary:var(--mh-gray);--mh-text-disabled:var(--mh-gray-light);--mh-background:var(--mh-white);--mh-border:var(--mh-gray);--mh-border-disabled:var(--mh-gray-light);--mh-border-focus:color-mix(in srgb, var(--mh-border) 70%, #000);--mh-border-thickness:1px;
638--mh-border-thickness-focus:2px}#multihub_contact_us.multihub-contact-us{all:revert;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:0;background:var(--mh-background)}#multihub_contact_us.multihub-contact-us,#multihub_contact_us.multihub-contact-us *,#multihub_contact_us.multihub-contact-us ::after,#multihub_contact_us.multihub-contact-us ::before{box-sizing:border-box}#multihub_contact_us.multihub-contact-us.box-shadow{box-shadow:0 0 13px -1px rgba(0,0,0,.49)}#multihub_contact_us.multihub-contact-us .multihub-contact-us-content{padding:45px}#multihub_contact_us.multihub-contact-us .title{color:var(--mh-text-primary);text-align:center;font-size:33px;font-weight:600;line-height:30px;background:0 0;padding:0 0 40px}#multihub_contact_us.multihub-contact-us form{display:flex;flex-wrap:wrap;gap:15px 30px;background:0 0;padding:0}#multihub_contact_us.multihub-contact-us .form-sec{text-align:center;width:calc(50% - 15px);margin-bottom:0;padding:0}#multihub_contact_us.multihub-contact-us .form-sec.full{width:100%}#multihub_contact_us.multihub-contact-us .form-sec.last{margin-bottom:10px}#multihub_contact_us.multihub-contact-us .repli_field{width:100%;line-height:1;font-weight:400;font-family:inherit;color:var(--mh-text-primary);outline:transparent solid 2px;outline-offset:-2px;background:var(--mh-background);border:var(--mh-border-thickness) solid var(--mh-border);padding:24px 14px 8px;margin:3px 0;position:relative;resize:none;overflow:hidden;z-index:0;font-size:16px!important;border-radius:4px!important;height:50px!important}#multihub_contact_us.multihub-contact-us select.repli_field{padding:24px 40px 8px 14px;line-height:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0}#multihub_contact_us.multihub-contact-us .form-field-wrapper{position:relative}#multihub_contact_us.multihub-contact-us .select-dropdown-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:2;width:12px;height:8px;fill:var(--mh-border)}#multihub_contact_us.multihub-contact-us textarea.repli_field{height:auto!important;min-height:100px;max-height:220px;line-height:1.25;overflow:hidden}#multihub_contact_us.multihub-contact-us label{color:var(--mh-text-secondary);font-weight:400;font-size:16px;position:absolute;line-height:1;left:16px;top:50%;transform:translateY(-50%);display:block;background-color:transparent;padding:0;z-index:1}#multihub_contact_us.multihub-contact-us .form-field-wrapper:has(textarea) label{top:24px;transform:none}#multihub_contact_us.multihub-contact-us .submit-button{background-color:var(--color_1,var(--mh-button));background-image:none;color:var(--mh-background);font-size:16px;font-weight:600;border:none;max-width:max-content;padding:15px 43px;border-radius:5px}#multihub_contact_us.multihub-contact-us .disclaimer-text{text-align:center;line-height:normal;font-size:15px;color:var(--mh-text-primary);font-weight:300;width:100%;padding:0 15px;margin-top:20px}#multihub_contact_us.multihub-contact-us .contact-form-status-message{text-align:center;width:100%;padding:0 15px;font-size:12px;letter-spacing:.5px}#multihub_contact_us.multihub-contact-us #form_container{position:relative;overflow:hidden}#multihub_contact_us.multihub-contact-us #form_container.no-heading{padding-top:20px}.inEditorEditLayout{display:inline-block;margin:0 0 6px;padding:4px 8px;background:rgba(35,64,88,.08);border:1px solid rgba(35,64,88,.2);border-radius:4px;color:#234058;font-size:10px;font-weight:600;line-height:1.2;letter-spacing:.2px}#dm .dmHoursOfOperation .open-hours-data .open-hours-item:last-child,A IMG{border:none}.headerWrapper{display:none;position:fixed;width:100%;top:0;left:0;padding:14px 20px;background-color:var(--special-offer-bg);z-index:5;overflow:hidden}.headerWrapper .header-title{width:100%;margin-bottom:0;font-size:22px;font-weight:700;color:#fff;letter-spacing:.3px}.headerWrapper .header-subtitle{font-size:15px;font-weight:400;color:rgba(255,255,255,.88);margin:2px 0 0;line-height:1.4}.headerWrapper a{font-size:15px;font-weight:600;color:#fff;text-decoration:none;float:none;display:block;margin-top:4px}.headerWrapper .Theme2_Disclaimer{font-size:12px;font-weight:400;color:rgba(255,255,255,.55);margin:6px 0 0;text-align:center}#dm .p_hfcontainer .special-offer-widget .headerWrapper{height:auto!important;opacity:0!important;transform:translateY(0)}@media only screen and (min-width:768px) and (max-width:1200px){.headerWrapper .header-title{font-size:24px!important}.headerWrapper .header-subtitle{font-size:14px;font-weight:600;line-height:1.4}}@media only screen and (max-width:767px){.headerWrapper{padding:12px 16px!important}.headerWrapper .header-title{font-size:16px!important;line-height:1.2;margin-bottom:0}.headerWrapper .header-subtitle{font-size:13px;font-weight:400;line-height:1.4;margin:2px 0 0!important}.headerWrapper .Theme2_Disclaimer{font-size:11px;font-weight:400;line-height:1.3;margin:4px 0 0}}*{border:0 solid #333;scrollbar-arrow-color:#fff;scrollbar-track-color:#F2F2F2;scrollbar-face-color:silver;scrollbar-highlight-color:silver;scrollbar-3dlight-color:silver;scrollbar-shadow-color:silver;scrollbar-darkshadow-color:silver;scrollbar-width:12px}body{width:100%;overflow:hidden;-webkit-text-size-adjust:100%!important;-ms-text-size-adjust:100%!important}h1,h2,h3,ul{margin-left:0;margin-right:0}DD,DT{margin:0}.dmInner *{-webkit-font-smoothing:antialiased}a,img,li,ul{vertical-align:top}#site_content{position:relative}.dmOuter{word-wrap:break-word}.dmInner{font-size:16px;background:#fff;color:#666}.dmDesktopBody .dmInner{min-width:960px}.dmInner a{color:#463939;outline:0;vertical-align:inherit}.dmInner ul:not(.defaultList){padding:0}.dmHeader{background:#68ccd1;color:#666;text-align:center;position:relative;width:100%}DIV.dmBody{padding:0;clear:both}.dmContent{margin:0;padding:0}
638#site_content ul:not(.defaultList){-webkit-padding-start:0;-moz-padding-start:0;list-style-position:inside}.dmRespRowsWrapper{max-width:960px;margin:0 auto}.dmRespCol>[dmle_extension]:not(:first-child){margin-top:10px}.dmLargeBody .imageWidget:not(.displayNone){display:inline-block;max-width:100%}#dm .dmRespColsWrapper,.dmStandardDesktop{display:block}.imageWidget:not(.displayNone) img{width:100%}h3{font-weight:400;font-size:23px}.dmNewParagraph{text-align:left;margin:8px 0;padding:2px 0}.dmLargeBody .dmRespRowsWrapper>.dmRespRow .dmRespCol,.dmLargeBody .fHeader .dmRespRow .dmRespCol{padding-left:.75%;padding-right:.75%}.dmLargeBody .dmRespRowsWrapper>.dmRespRow .dmRespCol:first-child,.dmLargeBody .fHeader .dmRespRow .dmRespCol:first-child{padding-left:0;padding-right:1.5%}.dmLargeBody .dmRespRowsWrapper>.dmRespRow .dmRespCol:last-child,.dmLargeBody .fHeader .dmRespRow .dmRespCol:last-child{padding-right:0;padding-left:1.5%}.dmLargeBody .dmRespRowsWrapper>.dmRespRow .dmRespCol:only-child{padding-left:0;padding-right:0}#dmFirstContainer .dmRespRowsWrapper:after,#dmFirstContainer .dmRespRowsWrapper:before{content:"";display:table}.dmLinksMenu>ul{display:block;margin:0;font-size:inherit}.dmStandardDesktop{margin:0 auto}.dmHoursOfOperation .open-hours-data{background:0 0;box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none;border:0;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0}div.dmInner input[type=email],div.dmInner input[type=tel],div.dmInner input[type=text],div.dmInner select{font-size:16px;background-color:rgba(102,102,102,.15);border:2px solid #fff;width:100%;margin:3px 0;height:40px;padding:0 10px}div.dmInner textarea{height:80px;width:100%;margin:3px 0;padding:10px;min-height:50px;font-size:16px;background-color:rgba(102,102,102,.15);border:2px solid #fff}.inlineMap{height:200px;width:100%}.dmHoursOfOperation{clear:both}.dmHoursOfOperation .open-hours-data{padding:0;margin:0}.dmHoursOfOperation .open-hours-data .open-hours-item{overflow:hidden;padding-bottom:10px}.dmHoursOfOperation .open-hours-data dt{width:40%;float:left;text-align:left}.dmHoursOfOperation .open-hours-data dd{float:right;text-align:right;width:59%}.dmHoursOfOperation .open-hours-data .open-hours-item:last-child{padding-bottom:0}.dmDesktopBody .dmRespCol.large-5 .dmHoursOfOperation{width:60%}body{background-color:#eee}.main-navigation.unifiednav{display:flex;justify-content:flex-start;align-items:stretch;overflow:visible}.main-navigation.unifiednav ul{list-style:none;padding:0;margin:0;font-size:1rem}.main-navigation.unifiednav .unifiednav__container{display:flex;justify-content:flex-start;list-style:none}.main-navigation.unifiednav .unifiednav__container>.unifiednav__item-wrap{display:flex;justify-content:flex-start;position:relative;font-weight:400}.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap::after,.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap::before{content:'';align-self:center;font-weight:700}.main-navigation.unifiednav .unifiednav__container>.unifiednav__item-wrap>.unifiednav__item{display:flex;justify-content:flex-start;align-items:center;flex-direction:row;color:inherit;text-decoration:none;position:relative;padding:12px 15px;margin:0;font-weight:inherit;letter-spacing:.03em}.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{padding:0 15px}.main-navigation.unifiednav .unifiednav__container>.unifiednav__item-wrap>.unifiednav__item .nav-item-text{white-space:nowrap}.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item .nav-item-text::after,.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item .nav-item-text::before{content:'';width:100%;height:0;border:0 solid transparent;border-top-color:currentColor;display:block;opacity:0}#dm .dmWidget:not([data-buttonstyle]) .iconBg,.main-navigation.unifiednav .unifiednav__container .unifiednav__item:not(.unifiednav__item_has-sub-nav) .icon{display:none}.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item.dmNavItemSelected .nav-item-text::after,.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item.dmNavItemSelected .nav-item-text::before{opacity:1}.main-navigation.unifiednav.effect-forward,.main-navigation.unifiednav.effect-text-color{padding:12px 15px}.main-navigation.unifiednav.effect-text-color .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item.dmNavItemSelected{color:#9a9a9a}.main-navigation.unifiednav:not(.unifiednav_vertical)>.unifiednav__container{justify-content:inherit}#dm .p_hfcontainer nav.main-navigation.unifiednav{min-width:9em!important;text-align:initial!important}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container{flex-direction:column;flex:1 1 100%}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container>.unifiednav__item-wrap>.unifiednav__item{padding:8px 0;margin:0}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container>.unifiednav__item-wrap>.unifiednav__item .nav-item-text{white-space:initial}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container:not([data-depth])>.unifiednav__item-wrap{flex-direction:column}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container:not([data-depth])>.unifiednav__item-wrap::after{content:''!important;width:100%;height:0;color:#d1d1d1;align-self:flex-start;border:0 solid currentColor}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL][layout-main=vertical_nav_layout_4] .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{padding:8px 0}#dm .main-navigation.unifiednav[data-nav-structure=VERTICAL][data-show-vertical-sub-items=HIDE]>.unifiednav__container:not([data-depth])>.unifiednav__item-wrap .unifiednav__item.dmNavItemSelected>.nav-item-text .icon::before{transform:rotate(180deg)}#dm .main-navigation.unifiednav:not([data-nav-structure=VERTICAL])>.unifiednav__container{flex-wrap:wrap;justify-content:inherit}#dm .main-navigation.unifiednav:not([data-nav-structure=VERTICAL])>.unifiednav__container .nav-item-text::before{text-align:left}#dm .main-navigation.unifiednav:not([data-nav-structure=VERTICAL]) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::after,#dm .main-navigation.unifiednav:not([data-nav-structure=VERTICAL]) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::before{content:''}#dm .dmBody .dmRespRowsWrapper{max-width:none;background-color:transparent}.dmLargeBody .dmRespRow{width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:40px;padding-right:40px}.dmStandardDesktop .dmHeader{background-color:#68ccd1;max-width:100%}.dmRespRow:not(.dmPlaceHolderRespRow) .dmRespColsWrapper .dmRespCol:not(.content-removed):only-child:empty{min-height:100px!important}.dmRespRow:not(.dmPlaceHolderRespRow) .dmRespColsWrapper .dmRespCol:not(.content-removed).empty-column,.dmRespRow:not(.dmPlaceHolderRespRow) .dmRespColsWrapper .dmRespCol:not(.content-removed):only-child:empty{min-height:100px}.dmRespRow:not(.dmPlaceHolderRespRow) .dmRespCol:not(.content-removed).empty-column,.dmRespRow:not(.dmPlaceHolderRespRow) .dmRespCol:not(.content-removed):empty{min-height:1px}.dmRespRow:not(.dmPlaceHolderRespRow) .dmRespColsWrapper .dmRespCol:not(.content-removed):only-child.empty-column{min-height:100px}#dm div.dmRespCol>*{line-height:1.5}.stickyHeaderSpacer{height:158px}#dm .dmNewParagraph a{color:#666}#dm div.dmInner,#dm div.dmInner .dmRespCol{color:#505050;font-style:normal;font-size:16px}#dm .dmNewParagraph,#dm .rteBlock,#dm h1,#dm h2,#dm h3{direction:ltr;text-align:left}.dmLargeBody .dm-layout-sec .dmBody .dmRespRowsWrapper,.dmLargeBody .dmBody .dmRespRowsWrapper{background-color:transparent}#dm .dmContent .dmRespRow{background-color:rgba(0,0,0,0);padding-right:30px;padding-left:30px}#dm .dmNewParagraph a,#dm div.dmNewParagraph a{text-decoration:underline;color:var(--color_3)}#dm div.dmContent .dmNewParagraph[data-version] h1,#dm div.dmContent .dmNewParagraph[data-version] h2,#dm div.p_hfc
638ontainer .dmNewParagraph[data-version] h3{text-decoration:inherit}#dm div.dmContent h1,#dm div.dmContent h2{color:#333;direction:ltr;font-family:Prata,"Prata Fallback";font-weight:400;font-style:normal;text-decoration:none;text-transform:uppercase}#dm div.dmContent .dmNewParagraph[data-version] h1 *,#dm div.dmContent .dmNewParagraph[data-version] h2 *,#dm div.p_hfcontainer .dmNewParagraph[data-version] h3 *{text-decoration:none}#dm div.p_hfcontainer h3{color:#000;direction:ltr;font-family:Jost,"Jost Fallback";font-weight:400;font-style:normal;text-decoration:none}#dm .dmRespCol div.dmNewParagraph,#dm div.dmInner,#dm div.dmInner .dmRespCol{font-family:Rubik,"Rubik Fallback";font-weight:400}#dm DIV.dmOuter DIV.dmInner{background-color:#fff}#dm div.dmContent h2{font-size:40px}#dm div.dmContent h1{font-size:180px}#dm div.p_hfcontainer h3{font-size:30px}@media (min-width:0px) and (max-width:767px){:root{--btn-text-font-size:16px}}#dm .dmWidget:not([data-buttonstyle]){overflow:initial;background-clip:border-box;border-radius:1px}#dm .dmWidget:not([data-buttonstyle]) .text,#dm .dmWidget:not([data-buttonstyle]).flexButton{padding:16px 0}@media (min-width:768px){#dm .dmRespRow .dmRespCol>.dmWidget{width:222px}}#dm div.dmInner #site_content .dmWidget,#dm div.dmInner .dmHeader .dmWidget{background-color:var(--btn-bg-color);border-color:var(--btn-border-color);border-bottom-color:var(--btn-border-b-color);border-left-color:var(--btn-border-l-color);border-right-color:var(--btn-border-r-color);border-top-color:var(--btn-border-t-color);border-radius:var(--btn-border-radius);border-bottom-left-radius:var(--btn-border-bl-radius);border-bottom-right-radius:var(--btn-border-br-radius);border-top-left-radius:var(--btn-border-tl-radius);border-top-right-radius:var(--btn-border-tr-radius);border-width:var(--btn-border-width);border-bottom-width:var(--btn-border-b-width);border-left-width:var(--btn-border-l-width);border-right-width:var(--btn-border-r-width);border-top-width:var(--btn-border-t-width);direction:var(--btn-text-direction);text-align:var(--btn-text-align)}#dm div.dmInner #site_content .dmWidget span.text{color:var(--btn-text-color);font-family:var(--btn-text-font-family);font-size:var(--btn-text-font-size);font-weight:var(--btn-text-font-weight);text-decoration:var(--btn-text-decoration)}#dm div.dmInner #site_content .dmWidget span.icon,#dm div.dmInner .dmHeader .dmWidget span.icon{color:var(--btn-icon-color);fill:var(--btn-icon-fill)}#dm div.dmInner #site_content .dmWidget:not([data-buttonstyle]) .iconBg,#dm div.dmInner .dmHeader .dmWidget:not([data-buttonstyle]) .iconBg{display:var(--btn-icon-wrpr-display)}#dm .p_hfcontainer .main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::after,#dm .p_hfcontainer .main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::before{font-size:12px!important}#dm .dmInner div.dmHeader,#dm .dmInner div.dmHeader.u_hcontainer,#dm .dmInner div.u_hcontainer{background-color:var(--color_1)!important;box-shadow:rgba(0,0,0,.25) 0 3px 11px 0!important;-moz-box-shadow:rgba(0,0,0,.25) 0 3px 11px 0!important;-webkit-box-shadow:rgba(0,0,0,.25) 0 3px 11px 0!important}#dm .p_hfcontainer div.u_1298527157 img{border-radius:0!important;-moz-border-radius:0!important;-webkit-border-radius:0!important}#dm .p_hfcontainer .u_1122882908.main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::after,#dm .p_hfcontainer .u_1122882908.main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::before{font-size:15px!important}#dm .p_hfcontainer .u_1122882908.main-navigation.unifiednav:not([data-nav-structure=VERTICAL]) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::after,#dm .p_hfcontainer .u_1122882908.main-navigation.unifiednav:not([data-nav-structure=VERTICAL]) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::before,#dm .p_hfcontainer div.u_1789127830 .headerWrapper .header-subtitle,#dm .p_hfcontainer nav.u_1122882908.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{font-size:16px!important}#dm .p_hfcontainer .u_1122882908.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{padding-right:15px!important;padding-left:15px!important}#dm .p_hfcontainer div.u_1617415533 .open-hours-item dd,#dm .p_hfcontainer div.u_1617415533 .open-hours-item dt,#dm .p_hfcontainer div.u_1617415533 .open-hours-item time,#dm .p_hfcontainer nav.u_1122882908,#dm .p_hfcontainer nav.u_1957734737{color:#fff!important}#dm .p_hfcontainer .u_1957734737.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{justify-content:flex-start!important;text-align:left!important;padding-top:12px!important;padding-bottom:12px!important}#dm .p_hfcontainer .u_1957734737.main-navigation.unifiednav[data-nav-structure=VERTICAL] .unifiednav__container:not([data-depth])>.unifiednav__item-wrap::after{align-self:flex-start!important}#dm .p_hfcontainer div.u_1800471303 img{border-style:solid!important;border-width:0!important;border-color:var(--color_1)!important}#dm .p_hfcontainer .u_1962649878:before{opacity:.5!important;background-color:var(--color_1)!important}#dm .p_hfcontainer div.u_1962649878:before{background-color:var(--color_2)!important;opacity:.95!important}#dm .p_hfcontainer nav.u_1122882908.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item.dmNavItemSelected{color:#d1d1d1!important}#dm .p_hfcontainer div.u_1227854971 .multihubButton{border:1px solid #fff!important}#dm .p_hfcontainer .u_1265928447{justify-content:center!important;text-align:center!important}#dm .p_hfcontainer nav.u_1957734737.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item.dmNavItemSelected{font-weight:400!important;color:#d1d1d1!important}#dm .p_hfcontainer nav.u_1122882908.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item,#dm .p_hfcontainer nav.u_1957734737.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>
638.unifiednav__item{color:#fff!important;font-weight:500!important;font-family:Jost!important;text-transform:uppercase!important}div#dm .header-over-content .dmInner .dmHeader:not(.scroll-responder_set){background-color:var(--color_1)!important}#dm .p_hfcontainer div.u_1227854971 .multihubButton span.text{color:#fff!important;font-family:Jost!important;font-weight:500!important}#dm .p_hfcontainer a.u_1129016415 span.text{color:#fff!important;font-weight:500!important}#dm .p_hfcontainer div.u_1421425246 .text{font-family:Jost!important;font-weight:500!important}#dm .p_hfcontainer div.u_1636368023,#dm .p_hfcontainer div.u_1962649878{background-color:var(--color_7)!important}#dm .p_hfcontainer div.u_1789127830 .headerWrapper{background-color:#b1c3da!important}#dm .p_hfcontainer div.u_1789127830 .headerWrapper .header-subtitle{font-family:Jost!important;font-weight:400!important;color:rgba(34,34,34,.88)!important}#dm .p_hfcontainer div.u_1789127830 .header-title{font-weight:600!important;font-family:Prata!important;color:#222!important}#dm .p_hfcontainer div.u_1789127830 .Theme2_Disclaimer{color:rgba(34,34,34,.55)!important}#dm .p_hfcontainer div.u_1350088505 .multihubButton{border:1px solid #fff!important}#dm .p_hfcontainer div.u_1350088505 .multihubButton span.text{color:#fff!important;font-family:Jost!important;font-weight:500!important}#dm .p_hfcontainer div.u_1169361916,div.u_1022610820 .text,div.u_1421425246 .text,div.u_1617415533 .open-hours-item dd,div.u_1617415533 .open-hours-item dt,div.u_1617415533 .open-hours-item time,div.u_1725211013{color:var(--color_1)!important}#dm .p_hfcontainer a.u_1129016415,#dm .p_hfcontainer div.u_1421425246 .multihubButton{border-color:#fff!important}div.u_1022610820 .multihubButton,div.u_1421425246 .multihubButton{border-style:solid!important;border-color:var(--color_1)!important;border-width:1px!important}#dm .p_hfcontainer a.u_1129016415,#dm .p_hfcontainer div.u_1022610820 .multihubButton,#dm .p_hfcontainer div.u_1421425246 .multihubButton{border-color:#fff!important}#dm .p_hfcontainer div.u_1022610820 .multihubButton span.text,#dm .p_hfcontainer div.u_1421425246 .multihubButton span.text{font-family:Jost!important;color:#fff!important;font-weight:500!important}#dm .dmInner div.u_hcontainer{float:none!important;top:0!important;left:0!important;position:relative!important;height:auto!important;margin:0 auto!important;padding:6px 60px 5px 0!important;min-width:0!important;text-align:center!important}#dm .p_hfcontainer div.u_1169361916,#dm .p_hfcontainer div.u_1298527157,#dm .p_hfcontainer div.u_1712997034,#dm .p_hfcontainer div.u_1800471303,div.u_1129178277,div.u_1617415533,div.u_1681732685,div.u_1687316891,div.u_1725211013{min-width:25px!important;float:none!important;left:0!important;position:relative!important}#dm .p_hfcontainer nav.u_1122882908.main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::after,#dm .p_hfcontainer nav.u_1122882908.main-navigation.unifiednav:not(.unifiednav_vertical) .unifiednav__container:not([data-depth])>.unifiednav__item-wrap:not(:last-child)::before{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}#dm .dmInner div.dmHeader.u_hcontainer{padding-right:60px!important}#dm .dmInner div.fHeader .dmHeader[freeheader=true]{padding:0!important}#dm .p_hfcontainer div.u_1657874853{padding:0!important;margin:0!important}#dm .p_hfcontainer div.u_1363528691{margin-top:0!important;padding:0!important}div[dmtemplateid=Hamburger] .layout-drawer-overlay{background-color:rgba(0,0,0,.22)!important}div.u_1129178277,div.u_1617415533,div.u_1681732685,div.u_1687316891,div.u_1725211013{top:0!important}[dmtemplateid=Hamburger] .site_content{margin-top:75.41px!important}#dm .p_hfcontainer #hamburger-drawer.layout-drawer:not([data-origin=top]){width:64vw!important}#dm .p_hfcontainer nav.u_1957734737.main-navigation.unifiednav .unifiednav__container:not([data-depth])>.unifiednav__item-wrap>.unifiednav__item{font-size:24px!important}div.u_1129178277,div.u_1681732685,div.u_1687316891{width:100%!important;height:auto!important;max-width:calc(100% - 0px)!important;padding:2px 0!important;display:block!important}div.u_1617415533{width:calc(100% - 0px)!important;height:auto!important;max-width:261px!important;padding:0!important;text-align:center!important}div.u_1725211013{display:block!important;width:100%!important;height:auto!important;max-width:calc(100% - 0px)!important;padding:2px 0!important}#dm .p_hfcontainer div.u_1976198127{float:none!important;top:0!important;left:0!important;width:auto!important;position:relative!important;height:auto!important;max-width:none!important;margin:0!important;padding:16px 40px!important;min-width:0!important;text-align:center!important}#dm .p_hfcontainer div.u_1636368023{padding:0 40px 100px!important;margin:0!important;width:auto!important}#dm .p_hfcontainer a.u_1129016415,#dm .p_hfcontainer div.u_1133883898,#dm .p_hfcontainer div.u_1452291049{padding:0!important;margin:0!important}#dm .p_hfcontainer div.u_1617415533 .open-hours-item dd,#dm .p_hfcontainer div.u_1617415533 .open-hours-item dt,#dm .p_hfcontainer div.u_1617415533 .open-hours-item time{font-size:12px!important}[dmtemplateid=Hamburger].runtime-module-container .layout-drawer-hamburger{top:22.34px!important}#dm .p_hfcontainer div.u_1800471303{top:0!important;text-align:center!important;padding:0!important;height:auto!important;width:calc(100% - 0px)!important;max-width:164.55px!important;margin:0 820.72px 0 0!important;display:block!important}@media (min-width:1025px){.responsiveTablet [dmtemplateid=Hamburger].runtime-module-container .layout-drawer-hamburger{top:60.48px!important}}#dm .p_hfcontainer #hamburger-header,#dm .p_hfcontainer div#hamburger-drawer.layout-drawer{background-color:var(--color_3)!important}@media (min-width:768px) and (max-width:1024px){.responsiveTablet [dmtemplateid=Hamburger].runtime-module-container .layout-drawer-hamburger{top:46.97px!important}}#dm .p_hfcontainer div.u_1227854971{height:54px!important}#dm .p_hfcontainer a.u_1129016415{height:auto!important;min-height:54px!important}#dm .p_hfcontainer div#hamburger-header{background-color:var(--color_1)!important;box-shadow:none!important;-moz-box-shadow:none!important;-webkit-box-shadow:none!important}[dmtemplateid=Hamburger] .layout-drawer-hamburger.hamburger-on-header{color:#fff!important;background-color:rgba(0,0,0,0)!important}#dm .p_hfcontainer div.u_1009391701,#dm .p_hfcontainer div.u_1180293829{margin:0!important;padding:0 0 0 10px!important}#dm .p_hfcontainer div.u_1169361916{display:block!important;top:0!important;width:100%!important;height:auto!important;max-width:calc(100% - 0px)!important;margin:10px 0 8px!important;padding:2px 0!important}#dm .p_hfcontainer div.u_1298527157,#dm .p_hfcontainer div.u_1712997034{top:0!important;padding:0!important;text-align:center!important;min-height:auto!important;display:block!important}#dm .p_hfcontainer div.u_1712997034{width:96.2px!important;max-width:100%!important;margin:0 409.66px 0 0!important;height:auto!important}#dm .p_hfcontainer div.u_1298527157{width:calc(100% - 0px)!important;max-width:107.73px!important;margin:0 0 0 35px!important;height:auto!important}#dm .p_hfcontainer a.u_1265928447,#dm .p_hfcontainer div.u_1725211013{max-width:100%!important;min-width:0!important;float:none!important;top:0!important;left:0!important;position:relative!important;height:auto!important}#dm .p_hfcontainer a.u_1265928447{width:222px!important;min-height:58px!important;margin:10px 45px 10px 179px!important;padding:16px 0!important}#dm .p_hfcontainer div.u_1725211013{width:170.69px!important;min-height:auto!important;margin:6px auto 8px!important;padding:2px 0!important;display:block!important}#dm .p_hfcontainer div.u_1617415533,#dm .p_hfcontainer nav.u_1122882908,#dm .p_hfcontainer nav.u_1957734737{padding:0!important;min-width:25px!important;min-height:auto!important;height:auto!important}#dm .p_hfcontainer nav.u_1957734737{float:none!important;top:0!important;left:0!important;width:calc(100% - 0px)!important;position:relative!important;max-width:301px!important;justify-content:flex-start!important;align-items:stretch!important;margin:20px 0 0!important;text-align:start!important}#dm .p_hfcontainer div.u_1350088505,#dm .p_hfcontainer div.u_1617415533,#dm .p_hfcontainer nav.u_1122882908{float:none!important;top:0!important;left:0!important;position:relative!important;max-width:100%!important}#dm .p_hfcontainer div.u_1421425246{height:54px!important;width:250px!important}#dm .p_hfcontainer div.u_1962649878{background-repeat:no-repeat!important;background-size:cover!important;background-position:50% 50%!important;padding:30px 40px 0!important;margin:0!important;width:auto!important}#dm .p_hfcontainer nav.u_1122882908{width:calc(100% - 0px)!important;justify-content:center!important;align-items:stretch!important;text-align:start!important;margin:45px auto 0!important}#dm .p_hfcontainer div.u_1255839048{margin:15px 0 0!important;padding:15px 0!important;width:auto!important}#dm .p_hfcontainer div.u_1617415533{text-align:center!important;width:calc(100% - 0px)!important;margin:10px 0 0!important}
638#dm .p_hfcontainer div.u_1795721048{padding:15px 40px!important;margin:0!important;width:auto!important}#dm .p_hfcontainer div.u_1022610820,#dm .p_hfcontainer div.u_1350088505{padding:0!important;min-width:25px!important;min-height:auto!important;text-align:center!important}#dm .p_hfcontainer div.u_1350088505{width:calc(100% - 0px)!important;height:54px!important;margin:0!important}div.u_1022610820,div.u_1421425246{height:55px!important;width:225px!important}#dm .dmBody div.u_1280048794,#dm .dmBody div.u_1337767100,#dm .p_hfcontainer div.u_1022610820{width:calc(100% - 0px)!important;float:none!important;top:0!important;left:0!important;position:relative!important}#dm .p_hfcontainer div.u_1022610820{height:55px!important;max-width:250px!important;margin:10px 0 0!important}#dm .dmBody .u_1028284539:before,#dm .dmBody .u_1650196329:before{opacity:.5!important;background-color:var(--color_1)!important}#dm .dmBody div.u_1994800542{box-shadow:none!important;-moz-box-shadow:none!important;-webkit-box-shadow:none!important;background-color:rgba(0,0,0,0)!important}#dm .dmBody div.u_1864606144{line-height:normal!important}#dm .dmBody div.u_1337767100 p{color:#fff!important}#dm .dmBody div.u_1028284539:before{background-color:var(--color_3)!important;opacity:.95!important}#dm .dmBody div.u_1650196329:before{opacity:.4!important;background-color:var(--color_2)!important}#dm .dmBody div.u_1337767100{line-height:1.5!important;color:#fff!important;margin:0 0 8px!important}#dm .dmBody div.u_1028284539{background-color:var(--color_7)!important;background-repeat:no-repeat!important;background-size:cover!important}#dm .dmBody div.u_1650196329{background-color:var(--color_4)!important;background-image:url(https://irp.cdn-website.com//c67baf93/dms3rep/multi/opt/clear_bakground-525x213-2880w.png)!important}#dm .dmBody div.u_1280048794,#dm .dmBody div.u_1337767100{height:auto!important;padding:2px 0!important;min-width:25px!important}#dm .dmBody div.u_1280048794,#dm .dmBody div.u_1337767100,#dm .dmBody div.u_1864606144{max-width:100%!important;display:block!important}#dm .d-page-1366147380 DIV.dmInner{background-repeat:no-repeat!important;background-image:none!important;background-size:cover!important;background-attachment:fixed!important;background-position:50% 50%!important;background-color:var(--color_1)!important}#dm .dmBody div.u_1280048794{margin:0 302px 8px 0!important}#dm .dmBody div.u_1650196329,#dm .dmBody div.u_1864606144{float:none!important;top:0!important;left:0!important;position:relative!important;height:auto!important;min-width:0!important}#dm .dmBody div.u_1130856013,#dm .dmBody div.u_1426650895,div.u_1130856013{float:none!important;top:0!important;left:0!important;position:relative!important;min-width:25px!important}div.u_1130856013{width:100%!important;height:300px!important;max-width:calc(100% - 0px)!important;padding:0!important;text-align:left!important}#dm .dmBody div.u_1693219919{margin:0!important;padding:0!important;width:auto!important}#dm .dmBody div.u_1028284539{padding:200px 40px 80px!important;width:auto!important;background-position:50% 50%!important;background-attachment:fixed!important;margin:0!important}#dm .dmBody div.u_1864606144{width:100%!important;padding:2px 0!important;margin:0 0 8px!important}#dm .dmBody div.u_1650196329{width:auto!important;max-width:none!important;padding:40px 40px 50px!important;text-align:center!important;background-repeat:repeat!important;background-size:cover!important;background-attachment:fixed!important;margin:0!important}#dm .dmBody div.u_1130856013,#dm .dmBody div.u_1426650895{padding:0!important}#dm .dmBody div.u_1426650895{width:679px!important;height:524px!important;min-height:auto!important;max-width:679px!important;margin:30px auto 0!important;text-align:center!important;display:block!important}#dm .dmBody div.u_1130856013{width:calc(100% - 0px)!important;height:492px!important;max-width:100%!important;margin:0!important;text-align:left!important}.font-size-14,.size-14{font-size:14px!important}.font-size-60,.size-60{font-size:60px!important}.font-size-46,.size-46{font-size:46px!important}@font-face{font-family:"Prata Fallback";src:local('Arial');ascent-override:92.0833%;descent-override:33.5691%;size-adjust:107.8372%;line-gap-override:0}@font-face{font-family:"Jost Fallback";src:local('Arial');ascent-override:111.656%;descent-override:39.1318%;size-adjust:95.8301%;line-gap-override:0}@font-face{font-family:"Rubik Fallback";src:local('Arial');ascent-override:88.5654%;descent-override:23.6806%;size-adjust:105.5717%;line-gap-override:0}@media (min-width:1025px){#\31 183515630,#\31 264295741,#\31 265928447,#\31 686406197,#hamburger-drawer,#multihub_contact_us,#multihub_contact_us_form{order:0}#\31 183515630,#\31 265928447,#multihub_contact_us_form{flex-direction:row}#\31 122882908,#\31 129016415,#\31 131173890,#\31 155877807,#\31 287579728,#\31 295143753,#\31 445979630,#\31 479292391,#\31 668147588,#\31 707395875,#\31 735821308,#\31 758326517,#\31 766091805,#\31 770828695,#\31 806638069,#\31 957734737{order:0;flex-direction:row}} #dm .dmPhotoGallery.newPhotoGallery .dmPhotoGalleryHolder:not(.photo-gallery-done) {display: none;} @media (max-width:767px){ [data-hidden-on-mobile] {display:none!important}} 639 .dmDesktopBody [data-anim-desktop]:not([data-anim-desktop='none']) { 640 visibility: hidden; 641 } 642 643 644</style> 645 646 647 648<style id="fontFallbacks"> 649 @font-face { 650 font-family: "Prata Fallback"; 651 src: local('Arial'); 652 ascent-override: 92.0833%; 653 descent-override: 33.5691%; 654 size-adjust: 107.8372%; 655 line-gap-override: 0%; 656 }@font-face { 657 font-family: "Jost Fallback"; 658 src: local('Arial');
659 ascent-override: 111.656%; 660 descent-override: 39.1318%; 661 size-adjust: 95.8301%; 662 line-gap-override: 0%; 663 }@font-face { 664 font-family: "Titillium Web Fallback"; 665 src: local('Arial'); 666 ascent-override: 119.3588%; 667 descent-override: 40.8749%; 668 size-adjust: 94.9239%; 669 line-gap-override: 0%; 670 }@font-face { 671 font-family: "Rubik Fallback"; 672 src: local('Arial'); 673 ascent-override: 88.5654%; 674 descent-override: 23.6806%; 675 size-adjust: 105.5717%; 676 line-gap-override: 0%; 677 }@font-face { 678 font-family: "Roboto Flex Fallback"; 679 src: local('Arial'); 680 ascent-override: 93.2894%; 681 descent-override: 24.5498%; 682 size-adjust: 99.4469%; 683 line-gap-override: 0%; 684 }@font-face { 685 font-family: "Oswald Fallback"; 686 src: local('Arial'); 687 ascent-override: 145.0682%; 688 descent-override: 35.1423%; 689 size-adjust: 82.2372%; 690 line-gap-override: 0%; 691 }@font-face { 692 font-family: "Lexend Deca Fallback"; 693 src: local('Arial'); 694 ascent-override: 90.4521%; 695 descent-override: 22.613%; 696 size-adjust: 110.5558%; 697 line-gap-override: 0%; 698 } 699</style> 700 701 702<!-- End render the required css and JS in the head section --> 703 704 705 706 707 708 709 710 711<meta property="og:type" content="website"> 712<meta property="og:url" content="https://www.788westmidtown.com/contact-us"> 713 714 <title> 715 Contact Seven88 | West Midtown Atlanta Apartments 716 </title> 717 <meta name="description" content="Contact Seven88 in West Midtown Atlanta to check availability or schedule a tour of our studio, 1, 2 & 3 bedroom apartments."/> 718 719
719<script type="text/javascript" src="//cdn.callrail.com/companies/851546731/a0205fbe4118e2cfbcbe/12/swap.js"> 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 </script>
737 738 <meta name="google-site-verification" content="fSN6PgHwI1pxXORDeis5z9H6DHXBazKXygw6AvPztlw"/> 739 <!-- Google Tag Manager -->
739<script>
vendor: 339 bytes, lines 739-753
739 740 741 742 743 744 745(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 746 747new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 748 749j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 750 751'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 752 753})(window,document,'script','dataLayer','
753GTM-NGX8WQHN
vendor: 17 bytes, lines 753-759
753'); 754 755 756 757 758 759
759</script>
759 760 <!-- End Google Tag Manager --> 761 <meta name="twitter:card" content="summary"/> 762 <meta name="twitter:title" content="Contact Seven88 | West Midtown Atlanta Apartments"/> 763 <meta name="twitter:description" content="Contact Seven88 in West Midtown Atlanta to check availability or schedule a tour of our studio, 1, 2 & 3 bedroom apartments."/> 764 <meta name="twitter:image" content="https://media.multihub.io/cdn-cgi/image/format=auto,w=1920/property/6767906449167551/019f1a6b-8fc0-70a2-952c-4925e97b4292.webp"/> 765 <meta property="og:description" content="Contact Seven88 in West Midtown Atlanta to check availability or schedule a tour of our studio, 1, 2 & 3 bedroom apartments."/> 766 <meta property="og:title" content="Contact Seven88 | West Midtown Atlanta Apartments"/> 767 <meta property="og:image" content="https://media.multihub.io/cdn-cgi/image/format=auto,w=1920/property/6767906449167551/019f1a6b-8fc0-70a2-952c-4925e97b4292.webp"/> 768 769 770 771 772<!-- SYS- VVNfRElSRUNUX1BST0RVQ1RJT04= --> 773</head> 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795<body id="dmRoot" data-page-alias="contact-us" class="dmRoot dmDesktopBody fix-mobile-scrolling addCanvasBorder dmResellerSite mac dmLargeBody responsiveTablet " 796 style="padding:0;margin:0;" 797 798 > 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814<!-- ========= Site Content ========= --> 815<div id="dm" class='dmwr'> 816 817 <div class="dm_wrapper standard-var5 widgetStyle-3 standard"> 818 <div dmwrapped="true" id="1018463357" desktop-global-classes="header-over-content" tablet-global-classes="header-over-content" mobile-global-classes="header-over-content"> <div dmtemplateid="Hamburger" data-responsive-name="ResponsiveDesktopTopTabletHamburger" class="runtime-module-container dm-bfs dm-layout-sec hasAnimations rows-1200 inMiniHeaderMode hasStickyHeader hamburger-reverse header-over-content dmPageBody d-page-1366147380 inputs-css-clean dmFreeHeader" id="dm-outer-wrapper" data-page-class="1366147380" data-soch="true" data-background-parallax-selector=".dmHomeSection1, .dmSectionParallex"> <div id="dmStyle_outerContainer" class="dmOuter"> <div id="dmStyle_innerContainer" class="dmInner" data-auto="page-inner"> <div class="dmLayoutWrapper standard-var dmStandardDesktop"> <div id="site_content"> <div class="p_hfcontainer showOnMedium"> <div id="hamburger-drawer" class="hamburger-drawer layout-drawer" layout="e9d510f4eb904e939c2be8efaf777e6e===header" data-origin="side-reverse"> <div class="u_1363528691 dmRespRow" style="text-align: center;" id="1363528691"> <div class="dmRespColsWrapper" id="1183515630"> <div class="u_1657874853 dmRespCol small-12 medium-12 large-12 empty-column" id="1657874853"></div> 819</div> 820</div> 821 <div class="u_1962649878 dmRespRow middleDrawerRow fullBleedChanged fullBleedMode" style="text-align: center;" id="1962649878" data-binding="W3siYmluZGluZ05hbWUiOiJiYWNrZ3JvdW5kIiwidmFsdWUiOiJzaXRlX2ltYWdlcy5wZXJzaXN0ZWQuQmFja2dyb3VuZCBUZXh0dXJlIn1d"> <div class="dmRespColsWrapper" id="1131173890"> <div class="u_1186505347 dmRespCol small-12 medium-12 large-12" id="1186505347"> <div class="u_1800471303 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1800471303" data-binding="W3siYmluZGluZ05hbWUiOiJpbWFnZSIsInZhbHVlIjoic2l0ZV9pbWFnZXMucGVyc2lzdGVkLnByb3BlcnR5X21vbm93aGl0ZV9sb2dvIn1d"><img src="https://media.multihub.io/cdn-cgi/image/format=auto,w=1920/property/6767906449167551/019f1f4e-8ac6-7409-984c-c715203a6ddc.webp" id="1087298337" class="" data-dm-image-path="https://media.multihub.io/cdn-cgi/image/format=auto,w=1920/property/6767906449167551/019f1f4e-8ac6-7409-984c-c715203a6ddc.webp" data-diy-image="" alt="property monowhite logo" onerror="handleImageLoadError(this)" loading="lazy" height="0.0" width="0.0"/></div> 822 <a href="/" id="1371670294" class="" target="_blank"></a> 823 <nav class="u_1957734737 effect-forward main-navigation unifiednav dmLinksMenu" data-auto="links-menu" role="navigation" layout-main="vertical_nav_layout_4" layout-sub="" data-show-vertical-sub-items="HIDE" id="1957734737" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" data-logo-src="" alt="" data-nav-structure="VERTICAL" wr="true" icon="true" surround="true" adwords="" navigation-id="unifiedNav"> <ul role="menubar" class="unifiednav__container unav-top " data-auto="navigation-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_00 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 824 Home 825 " data-auto="page-text-style">Home<span class="icon icon-angle-down"></span> 826</span> 827</a> 828</li> 829 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/floor-plans" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101661768 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 830 Floor Plans 831 " data-auto="page-text-style">Floor Plans<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> 832</span> 833</a> 834</li> 835 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/amenities" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101953258 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 836 Amenities 837 " data-auto="page-text-style">Amenities<span class="icon icon-angle-down"></span> 838</span> 839</a> 840</li> 841 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/gallery" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101199419 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 842 Gallery 843 " data-auto="page-text-style">Gallery<span class="icon icon-angle-down"></span> 844</span> 845</a> 846</li> 847 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/neighborhood" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101314651 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 848 Neighborhood 849 " data-auto="page-text-style">Neighborhood<span class="icon icon-angle-down"></span> 850</span> 851</a> 852</li> 853 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/contact-us" class="unifiednav__item unav-item unav-top-item dmNavItemSelected dmUDNavigationItem_010101502206 " target="" data-target-page-alias="" aria-current="page" data-auto="selected-page"> <span class="nav-item-text " data-link-text="Contact" data-auto="page-text-style">Contact<span class="icon icon-angle-down"></span> 854</span> 855</a> 856</li> 857</ul> 858</nav> 859 <div class="u_1022610820 widget-e6fb70 dmCustomWidget" data-lazy-load="true" data-title="" id="1022610820" dmle_extension="custom_extension" data-element-type="custom_extension" data-binding="W3siYmluZGluZ05hbWUiOiJidXR0b25MaW5rIiwidmFsdWUiOiJzaXRlX3RleHQucHJvcGVydHlfYXBwbHlfbm93X3VybCJ9XQ==" icon="false" surround="false" data-widget-id="e6fb702873f9471f8fad7fa6e29567a5" data-widget-version="47" data-widget-config="eyJidXR0b25UZXh0IjoiQVBQTFkgTk9XIiwibG9uZ1RleHQiOiIiLCJidXR0b25MaW5rIjoiPHAgY2xhc3M9XCJydGVCbG9ja1wiPmh0dHBzOi8vc2V2ZW44OC5wcm9zcGVjdHBvcnRhbC5jb20vQXBhcnRtZW50cy9tb2R1bGUvYXBwbGljYXRpb25fYXV0aGVudGljYXRpb24vPC9wPiIsImJ1dHRvbklEIjpudWxsLCJ0ZXh0IjpudWxsLCJidXR0b25MaW5rVGFyZ2V0Ijp0cnVlLCJ3aWRnZXRUeXBlIjoiYnV0dG9uIn0="> <div class="multihubButton"> <a href="" target="_blank" class="MMT_btn" id=""> <span class="text">APPLY NOW</span> 860</a> 861</div> 862</div> 863 <div class="widget-e6fb70 u_1421425246 dmCustomWidget" data-lazy-load="true" data-title="" id="1421425246" dmle_extension="custom_extension" data-element-type="custom_extension" data-binding="W3siYmluZGluZ05hbWUiOiJidXR0b25MaW5rIiwidmFsdWUiOiJzaXRlX3RleHQucHJvcGVydHlfcmVzaWRlbnRfcG9ydGFsX3VybCJ9XQ==" icon="false" surround="false" data-widget-id="e6fb702873f9471f8fad7fa6e29567a5" data-widget-version="47" data-widget-config="eyJidXR0b25UZXh0IjoiUkVTSURFTlQgTE9HSU4iLCJsb25nVGV4dCI6IiIsImJ1dHRvbkxpbmsiOiI8cCBjbGFzcz1cInJ0ZUJsb2NrXCI+aHR0cHM6Ly9zZXZlbjg4LnJlc2lkZW50cG9ydGFsLmNvbS9hdXRoPC9wPiIsImJ1dHRvbklEIjpudWxsLCJ0ZXh0IjpudWxsLCJidXR0b25MaW5rVGFyZ2V0Ijp0cnVlLCJ3aWRnZXRUeXBlIjoiYnV0dG9uIn0="> <div class="multihubButton"> <a href="" target="_blank" class="MMT_btn" id=""> <span class="text">RESIDENT LOGIN</span> 864</a> 865</div> 866</div> 867</div> 868</div> 869</div> 870 <div class="dmRespRow u_1636368023 fullBleedChanged fullBleedMode" style="text-align: center;" id="1636368023"> <div class="dmRespColsWrapper" id="1445979630"> <div class="u_1452291049 dmRespCol small-12 large-3 medium-3" id="1452291049"> <div class="u_1681732685 dmNewParagraph" id="1681732685" data-element-type="paragraph" data-version="5" style=""> <h3><span style="display: initial; color: rgb(255, 255, 255);">CALL US</span></h3> 871</div> <div class="u_1169361916 dmNewParagraph" id="1169361916" style="line-height: initial;" data-version="5" new-inline-bind-applied="true" data-diy-text=""><p class="m-size-11 text-align-left size-14" style=""><a href="tel:404-779-7884" runtime_url="tel:404-779-7884" type="call" style="color:rgb(255, 255, 255);font-weight:400;display:initial;text-decoration:none;font-family:'Roboto Flex', 'Roboto Flex Fallback';" class="m-font-size-11 font-size-14"><span class="inline-data-binding" data-encoded-value="NDA0LTc3OS03ODg0" data-inline-binding="" data-inline-binding-encoded="Y29udGVudF9saWJyYXJ5Lmdsb2JhbC5waG9uZS53ZWJzaXRl">404-779-7884</span></a></p></div></div> 872 <div class="u_1009391701 dmRespCol small-12 large-4 medium-4" id="1009391701"> <div class="u_1687316891 dmNewParagraph" id="1687316891" data-element-type="paragraph" data-version="5"> <h3><span style="display: initial; color: rgb(255, 255, 255);">VISIT US</span></h3> 873</div> <div class="u_1725211013 dmNewParagraph" id="1725211013" style="transition: none; text-align: left;" data-version="5" new-inline-bind-applied="true" data-diy-text=""><p class="m-size-11 size-14 text-align-left"><a href="https://www.google.com/maps/place/?q=place_id:ChIJyWF6I8wF9YgRT9gmkP-OHIk" target="_blank" runtime_url="https://www.google.com/maps/place/?q=place_id:ChIJyWF6I8wF9YgRT9gmkP-OHIk" type="url" class="font-size-14 m-font-size-11" style="color:rgb(255, 255, 255);text-decoration:none;display:initial;font-family:'Roboto Flex', 'Roboto Flex Fallback';"><span class="inline-data-binding" data-encoded-value="Nzg4IFdlc3QgTWFyaWV0dGEgU3QgTlcsIEF0bGFudGEsIEdBIDMwMzE4" data-inline-binding="" data-inline-binding-encoded="c2l0ZV90ZXh0LnByb3BlcnR5X2Z1bGxfYWRkcmVzcw==">
873788 West Marietta St NW, Atlanta, GA 30318</span></a></p></div></div> 874 <div class="u_1180293829 dmRespCol small-12 large-5 medium-5" id="1180293829"> <div class="u_1129178277 dmNewParagraph" id="1129178277" data-element-type="paragraph" data-version="5"> <h3><span style="display: initial; color: rgb(255, 255, 255);">OFFICE HOURS</span></h3> 875</div> <div class="u_1617415533 default dmHoursOfOperation" id="1617415533" dmle_extension="open_hours" data-element-type="open_hours" data-binding="W3siYmluZGluZ05hbWUiOiJidXNpbmVzc19ob3VycyIsInZhbHVlIjoiY29udGVudF9saWJyYXJ5Lmdsb2JhbC5idXNpbmVzc19ob3VycyJ9XQ==" time_format="12" wr="true" displaytitle="false" forcedisplay="false" icon="true" surround="true" adwords=""> <dl class="open-hours-data"> <div class="open-hours-item"> <dt day="0">Monday</dt> 876 <dd>Closed</dd> 877</div> 878 <div class="open-hours-item"> <dt day="1">Tue - Sat</dt> 879 <dd> <time>10:00 am</time> 880- <time>6:00 pm</time> 881</dd> 882</div> 883 <div class="open-hours-item"> <dt day="6">Sunday</dt> 884 <dd>Closed</dd> 885</div> 886</dl> 887</div> 888</div> 889</div> 890</div> 891</div> 892 <div class="layout-drawer-overlay" id="layout-drawer-overlay"></div> 893</div> 894 <div class="site_content"> <div id="hamburger-header-container" class="showOnMedium hamburger-header-container p_hfcontainer"> <div id="hamburger-header" class="hamburger-header p_hfcontainer" layout="44dc38f951e9489490b055748e10ba9f===header"> <div class="u_1976198127 dmRespRow fullBleedChanged fullBleedMode" style="text-align: center;" id="1976198127"> <div class="dmRespColsWrapper" id="1668147588"> <div class="dmRespCol small-12 large-6 medium-6" id="1686406197"> <div class="u_1712997034 imageWidget align-center" data-element-type="image" data-widget-type="image" id="1712997034" data-binding="W3siYmluZGluZ05hbWUiOiJpbWFnZSIsInZhbHVlIjoic2l0ZV9pbWFnZXMucGVyc2lzdGVkLnByb3BlcnR5X21vbm93aGl0ZV9sb2dvIn1d"> <a href="/" id="1966456529"><img src="https://media.multihub.io/cdn-cgi/image/format=auto,w=1920/property/6767906449167551/019f1f4e-8ac6-7409-984c-c715203a6ddc.webp" id="1257419461" class="" data-dm-image-path="https://media.multihub.io/cdn-cgi/image/format=auto,w=1920/property/6767906449167551/019f1f4e-8ac6-7409-984c-c715203a6ddc.webp" alt="Seven88 logo." data-diy-image="" onerror="handleImageLoadError(this)" loading="lazy" height="0.0" width="0.0"/></a> 895</div> 896</div> 897 <div class="dmRespCol large-6 medium-6 small-12" id="1264295741"> <a data-display-type="block" class="u_1265928447 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient flexButton u_1265928447 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient flexButton" file="false" href="tel:404-779-7884" data-element-type="dButtonLinkId" id="1265928447" data-binding="W3siYmluZGluZ05hbWUiOiJsaW5rIiwidmFsdWUiOiJjb250ZW50X2xpYnJhcnkuZ2xvYmFsLnBob25lLndlYnNpdGUifSx7ImJpbmRpbmdOYW1lIjoiYnV0dG9uX3RleHQiLCJ2YWx1ZSI6ImNvbnRlbnRfbGlicmFyeS5nbG9iYWwucGhvbmUud2Vic2l0ZSJ9XQ==" data-diy-link=""> <span class="iconBg" aria-hidden="true" id="1288801698"> <span class="icon hasFontIcon icon-star" id="1082936845"></span> 898</span> 899 <span class="text" id="1882438737" data-diy-text="">404-779-7884</span> 900</a> 901</div> 902</div> 903</div> 904</div> 905</div> 906 <button class="showOnMedium layout-drawer-hamburger hamburger-on-header" id="layout-drawer-hamburger" data-auto="layout-drawer-hamburger" aria-label="menu" aria-controls="hamburger-drawer" aria-expanded="false"> <span class="hamburger__slice"></span> 907 <span class="hamburger__slice"></span> 908 <span class="hamburger__slice"></span> 909</button> 910 <div class="dmHeaderContainer fHeader d-header-wrapper showOnLarge"> <div id="hcontainer" class="u_hcontainer dmHeader p_hfcontainer" freeheader="true" headerlayout="b58ba5b5703b4cd7b5f5f7951565dc87===horizontal-layout-2" data-scrollable-target="body" data-scrollable-target-threshold="1" data-scroll-responder-id="1" logo-size-target="66%"> <div dm:templateorder="85" class="dmHeaderResp dmHeaderStack noSwitch" id="1709005236"> <div class="dmRespRow fullBleedChanged fullBleedMode u_1795721048" style="text-align: center;
910" id="1795721048"> <div class="dmRespColsWrapper" id="1707395875"> <div class="u_1040477562 dmRespCol small-12 large-2 medium-2" id="1040477562"> <div class="u_1298527157 imageWidget align-center" data-widget-type="image" id="1298527157" data-element-type="image" data-binding="W3siYmluZGluZ05hbWUiOiJpbWFnZSIsInZhbHVlIjoic2l0ZV9pbWFnZXMucGVyc2lzdGVkLnByb3BlcnR5X21vbm93aGl0ZV9sb2dvIn1d"> <a href="/" id="1170068298"><img src="https://media.multihub.io/cdn-cgi/image/format=auto,w=1920/property/6767906449167551/019f1f4e-8ac6-7409-984c-c715203a6ddc.webp" id="1043300118" class="" data-dm-image-path="https://media.multihub.io/cdn-cgi/image/format=auto,w=1920/property/6767906449167551/019f1f4e-8ac6-7409-984c-c715203a6ddc.webp" alt="Seven88 logo." data-diy-image="" onerror="handleImageLoadError(this)" height="127.578125" width="107.71875"/></a> 911</div> 912</div> 913 <div class="u_1360510265 dmRespCol small-12 large-7 medium-7" id="1360510265"> <nav class="u_1122882908 effect-text-color main-navigation unifiednav dmLinksMenu" data-auto="links-menu" role="navigation" layout-main="horizontal_nav_layout_2" layout-sub="submenu_horizontal_2" data-show-vertical-sub-items="HOVER" id="1122882908" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" wr="true" icon="true" surround="true" adwords="" navigation-id="unifiedNav"> <ul role="menubar" class="unifiednav__container unav-top " data-auto="navigation-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_00 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 914 Home 915 " data-auto="page-text-style">Home<span class="icon icon-angle-down"></span> 916</span> 917</a> 918</li> 919 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/floor-plans" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101661768 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 920 Floor Plans 921 " data-auto="page-text-style">Floor Plans<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> 922</span> 923</a> 924</li> 925 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/amenities" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101953258 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 926 Amenities 927 " data-auto="page-text-style">Amenities<span class="icon icon-angle-down"></span> 928</span> 929</a> 930</li> 931 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/gallery" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101199419 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 932 Gallery 933 " data-auto="page-text-style">Gallery<span class="icon icon-angle-down"></span> 934</span> 935</a> 936</li> 937 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/neighborhood" class="unifiednav__item unav-item unav-top-item dmUDNavigationItem_010101314651 " target="" data-target-page-alias=""> <span class="nav-item-text " data-link-text=" 938 Neighborhood 939 " data-auto="page-text-style">Neighborhood<span class="icon icon-angle-down"></span> 940</span> 941</a> 942</li> 943 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/contact-us" class="unifiednav__item unav-item unav-top-item dmNavItemSelected dmUDNavigationItem_010101502206 " target="" data-target-page-alias="" aria-current="page" data-auto="selected-page"> <span class="nav-item-text " data-link-text="Contact" data-auto="page-text-style">Contact<span class="icon icon-angle-down"></span> 944</span> 945</a> 946</li> 947</ul> 948</nav> 949</div> 950 <div class="u_1133883898 dmRespCol small-12 large-3 medium-3" id="1133883898"> <div class="dmRespRow u_1255839048" id="1255839048"> <div class="dmRespColsWrapper" id="1758326517"> <div class="dmRespCol small-12 large-4 medium-4" id="1526889058"> <div class="u_1350088505 widget-e6fb70 dmCustomWidget" data-lazy-load="true" data-title="" id="1350088505" dmle_extension="custom_extension" data-element-type="custom_extension" data-binding="W3siYmluZGluZ05hbWUiOiJidXR0b25MaW5rIiwidmFsdWUiOiJzaXRlX3RleHQucHJvcGVydHlfYXBwbHlfbm93X3VybCJ9XQ==" icon="false" surround="false" data-widget-id="e6fb702873f9471f8fad7fa6e29567a5" data-widget-version="47" data-widget-config="eyJidXR0b25MaW5rVGFyZ2V0Ijp0cnVlLCJidXR0b25UZXh0IjoiQVBQTFkgTk9XIiwibG9uZ1RleHQiOiIiLCJ3aWRnZXRUeXBlIjoiYnV0dG9uIiwiYnV0dG9uTGluayI6IjxwIGNsYXNzPVwicnRlQmxvY2tcIj5odHRwczovL3NldmVuODgucHJvc3BlY3Rwb3J0YWwuY29tL0FwYXJ0bWVudHMvbW9kdWxlL2FwcGxpY2F0aW9uX2F1dGhlbnRpY2F0aW9uLzwvcD4ifQ=="> <div class="multihubButton"> <a href="" target="_blank" class="MMT_btn" id=""> <span class="text">APPLY NOW</span> 951</a> 952</div> 953</div> 954</div> 955 <div class="dmRespCol small-12 large-4 medium-4" id="1662394583"> <div class="widget-e6fb70 u_1227854971 dmCustomWidget" data-lazy-load="true" data-title="" id="1227854971" dmle_extension="custom_extension" data-element-type="custom_extension" data-binding="W3siYmluZGluZ05hbWUiOiJidXR0b25MaW5rIiwidmFsdWUiOiJzaXRlX3RleHQucHJvcGVydHlfcmVzaWRlbnRfcG9ydGFsX3VybCJ9XQ==" icon="false" surround="false" data-widget-id="e6fb702873f9471f8fad7fa6e29567a5" data-widget-version="47" data-widget-config="eyJidXR0b25MaW5rVGFyZ2V0Ijp0cnVlLCJidXR0b25UZXh0IjoiUkVTSURFTlRTIiwibG9uZ1RleHQiOiIiLCJ3aWRnZXRUeXBlIjoiYnV0dG9uIiwiYnV0dG9uTGluayI6IjxwIGNsYXNzPVwicnRlQmxvY2tcIj5odHRwczovL3NldmVuODgucmVzaWRlbnRwb3J0YWwuY29tL2F1dGg8L3A+In0="> <div class="multihubButton"> <a href="" target="_blank" class="MMT_btn" id=""> <span class="text">RESIDENTS</span> 956</a> 957</div> 958</div> 959</div> 960 <div class="dmRespCol large-4 medium-4 small-12" id="1789768402"> <a data-display-type="block" class="align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient flexButton u_1129016415 align-center dmButtonLink dmWidget dmWwr default dmOnlyButton dmDefaultGradient flexButton u_1129016415" file="false" href="tel:404-779-7884" data-element-type="dButtonLinkId" id="1129016415" data-binding="W3siYmluZGluZ05hbWUiOiJsaW5rIiwidmFsdWUiOiJjb250ZW50X2xpYnJhcnkuZ2xvYmFsLnBob25lLndlYnNpdGUifSx7ImJpbmRpbmdOYW1lIjoiYnV0dG9uX3RleHQiLCJ2YWx1ZSI6ImNvbnRlbn
960RfbGlicmFyeS5nbG9iYWwucGhvbmUud2Vic2l0ZSJ9XQ==" data-diy-link=""> <span class="iconBg" aria-hidden="true" id="1013345946"> <span class="icon hasFontIcon icon-star" id="1199942467"></span> 961</span> 962 <span class="text" id="1991567875" data-diy-text="">404-779-7884</span> 963</a> 964</div> 965</div> 966</div> 967</div> 968</div> 969</div> 970</div> 971</div> 972</div> 973 <div class="stickyHeaderSpacer" id="stickyHeaderSpacer" data-auto="sticky-header-spacer" data-new="true"></div> 974 <div dmwrapped="true" id="dmFirstContainer" desktop-global-classes="header-over-content" tablet-global-classes="header-over-content" mobile-global-classes="header-over-content" class="dmBody u_dmStyle_template_contact-us"> <div id="allWrapper" class="allWrapper" data-auto="all-wrapper"><!-- navigation placeholders --> <div id="dm_content" class="dmContent" role="main"> <div dm:templateorder="1" class="dmDefaultRespTmpl" id="1366147380"> <div class="innerPageTmplBox dmDefaultPage dmRespRowsWrapper" id="1811505950"> <div class="dmRespRow u_1028284539 fullBleedChanged fullBleedMode" style="text-align: center;" id="1028284539" data-binding="W3siYmluZGluZ05hbWUiOiJiYWNrZ3JvdW5kIiwidmFsdWUiOiJzaXRlX2ltYWdlcy5wZXJzaXN0ZWQuQmFja2dyb3VuZCBUZXh0dXJlIn1d" data-binding-metadata="eyJpbWFnZSI6ImltYWdlIn0="> <div class="dmRespColsWrapper" id="1806638069"> <div class="u_1320473884 dmRespCol small-12 large-7 medium-7" id="1320473884"> <div class="u_1280048794 dmNewParagraph ui-sortable-handle" data-element-type="paragraph" id="1280048794" style="transition: none 0s ease 0s; display: block; text-align: left;" data-version="5"> <h1 style="letter-spacing: 0.2em; line-height: 1;" class="size-60 m-size-38"><span style="display: initial; text-transform: uppercase; color: rgb(255, 255, 255); text-shadow: none;" class="font-size-60 m-font-size-38" m-font-size-set="true">Let's talk</span></h1> 975</div></div> 976 <div class="u_1420191920 dmRespCol small-12 large-5 medium-5" id="1420191920"> <div class="u_1337767100 dmNewParagraph" id="1337767100" style="transition: none 0s ease 0s; display: block; text-align: left;" data-version="5" data-binding="W3siYmluZGluZ05hbWUiOiJ0ZXh0IiwidmFsdWUiOiJzaXRlX3RleHQud2Vic2l0ZSAtIGNvbnRhY3QgdXMgcGFnZSBibHVyYiJ9XQ==" data-diy-text=""><p class="rteBlock">Connect with us at Seven88. Have questions about polished high-rise living in West Midtown, skyline-view layouts, or getting here? Reach out to the leasing team for details, directions, or help planning your next step—including a personal tour.</p></div></div> 977</div> 978</div> 979 <div class="u_1650196329 dmRespRow dmSectionParallaxNew" style="text-align: center;" id="1650196329" mode="1" data-binding="W3siYmluZGluZ05hbWUiOiJiYWNrZ3JvdW5kIiwidmFsdWUiOiJzaXRlX2ltYWdlcy5wZXJzaXN0ZWQuRmVhdHVyZWQgSW1hZ2UifV0="> <div class="dmRespColsWrapper" id="1735821308"> <div class="dmRespCol u_1994800542 small-12 medium-12 large-12" id="1994800542"> <div class="u_1864606144 dmNewParagraph ui-sortable-handle" id="1864606144" style="line-height:initial;" data-element-type="paragraph" data-version="5"> <h2 class="text-align-center size-46 m-size-24"><span style="text-transform: none; color: var(--color_3); display: initial;" class="font-size-46 m-font-size-24" m-font-size-set="true">Contact Us</span></h2> 980</div> <div class="u_1426650895 widget-9f8a60 dmCustomWidget" data-lazy-load="false" data-title="" id="1426650895" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="9f8a60df338e4394b25f17561a3503fa" data-widget-version="144" data-widget-config="eyJvcHRJbkVuYWJsZWQiOm51bGwsImZvcm1fY29udGFpbmVyX2dyb3VwIjpudWxsLCJ0ZXh0YXJlYUxhYmVsIjoiTWVzc2FnZSIsImZvcm1faGVhZGluZyI6bnVsbCwicmVxdWVzdERldGFpbE9wdGlvbnMiOlt7InNhbWVWYWx1ZUFzTGFiZWwiOnRydWUsIm9wdGlvbkxhYmVsIjpudWxsLCJvcHRpb25WYWx1ZSI6IiJ9LHsic2FtZVZhbHVlQXNMYWJlbCI6dHJ1ZSwib3B0aW9uTGFiZWwiOm51bGwsIm9wdGlvblZhbHVlIjoiIn0seyJzYW1lVmFsdWVBc0xhYmVsIjp0cnVlLCJvcHRpb25MYWJlbCI6bnVsbCwib3B0aW9uVmFsdWUiOiIifSx7InNhbWVWYWx1ZUFzTGFiZWwiOnRydWUsIm9wdGlvbkxhYmVsIjpudWxsLCJvcHRpb25WYWx1ZSI6IiJ9XSwidGhhbmtZb3VVcmwiOnsidmFsdWUiOiJ0aGFuay15b3UiLCJsYWJlbCI6IiIsInR5cGUiOiJwYWdlIiwiaHJlZiI6Ii90aGFuay15b3UiLCJyYXdfdXJsIjoiL3NpdGUvMzAzMmIxMmQvdGhhbmsteW91P25lZT10cnVlJmVkPXRydWUmc2hvd09yaWdpbmFsPXRydWUmcHJldmlldz10cnVlJmRtX3RyeV9tb2RlPXRydWUmZG1fY2hlY2tTeW5jPTEifSwiYmVkcm9vbUxpc3RUeXBlIjoiZGVyaXZlZCIsImRyb3Bkb3duTGFiZWwiOiJJIHdvdWxkIGxpa2UgdG8uLi4iLCJyZXF1ZXN0RGV0YWlsRmllbGQiOiJ0ZXh0YXJlYSIsImlucHV0X2JvcmRlcl9ib3R0b21fb25seSI6bnVsbCwiYm9yZGVyX3RoaWNrbmVzcyI6IjEiLCJpbnB1dF9ncm91cCI6bnVsbCwib3B0SW5Db21tdW5pY2F0aW9uIjpudWxsLCJjb2xvcl9pbnB1dF9ib3JkZXIiOm51bGwsIm9wdEluUmVxdWlyZWQiOnRydWUsImRpc2NsYWltZXJfdGV4dCI6Ijxicj4iLCJiZWRyb29tT3B0aW9ucyI6W10sIm9wdEluRGlzY2xhaW1lciI6IjxwIGNsYXNzPVwicnRlQmxvY2tcIj5Zb3UgYWxzbyBhZ3JlZSB0byB0aGUgYWNjZXB0YW5jZSBvZiA8c3Ryb25nPnRyYW5zYWN0aW9uYWwgYW5kIG1hcmtldGluZzwvc3Ryb25nPsKgY29tbXVuaWNhdGlvbihzKSBpbiByZXNwb25zZSB0byB0aGlzIHJlcXVlc3QsIGJ5IGVtYWlsLCBTTVMsIHBob25lIGFuZCBvdGhlciBlbGVjdHJvbmljIG1lYW5zLjxzdHJvbmc+IENvbnNlbnQgaXMgbm90IGEgY29uZGl0aW9uIG9mIHB1cmNoYXNlPC9zdHJvbmc+LiA8c3Ryb25nPk1lc3NhZ2UgZnJlcXVlbmN5IHZhcmllcy48L3N0cm9uZz4gTWVzc2FnZSBhbmQgZGF0YSByYXRlcyBtYXkgYXBwbHkuIFJlcGx5IEhFTFAgZm9yIGhlbHAgYW5kIFNUT1AgdG8gZW5kLjwvcD4iLCJib3hfc2hhZG93Ijp0cnVlfQ=="> <div id="multihub_contact_us" class="multihub-contact-us box-shadow"> <div class="multihub-contact-us-content"> <div id="form_container" class="no-heading "> <form id="multihub_contact_us_form" action="javascript:void(0);" aria-label="Contact Us Form"> <div class="form-sec"> <div class="form-field-wrapper"><input type="text" class="repli_field" id="mh_contact_us_first_name" name="mh_contact_us_first_name" placeholder=" " required="" aria-required="true" autocomplete="given-name"/> <label for="mh_contact_us_first_name">First Name <span aria-label="required">*</span> 981</label> 982</div> 983</div> 984 <div class="form-sec"> <div class="form-field-wrapper"><input type="text" class="repli_field" id="mh_contact_us_last_name" name="mh_contact_us_last_name" placeholder=" " required="" aria-required="true" autocomplete="family-name"/> <label for="mh_contact_us_last_name">Last Name <span aria-label="required">*</span> 985</label> 986</div> 987</div> 988 <div class="form-sec"> <div class="form-field-wrapper"><input type="email" class="repli_field" id="mh_contact_us_email" name="mh_contact_us_email" placeholder=" " required="" aria-required="true" autocomplete="email"/> <label for="mh_contact_us_email">Email <span aria-label="required">*</span> 989</label> 990</div> 991</div> 992 <div class="form-sec"> <div class="form-field-wrapper"><input type="tel" class="repli_field" id="mh_contact_us_phone_no" name="mh_contact_us_phone_no" placeholder=" " required="" aria-required="true" autocomplete="tel"/> <label for="mh_contact_us_phone_no">Phone <span aria-label="required">*</span> 993</label> 994</div> 995</div> 996 <div class="form-sec"> <div class="form-field-wrapper"><input type="text" readonly="" class="repli_field" id="mh_contact_us_move_in_date_act" name="mh_contact_us_move_in_date_act" placeholder=" " required="" aria-required="true" aria-label="Desired Move-in Date, click to open calendar picker"/> <label for="mh_contact_us_move_in_date_act">Desired Move-in Date</label> 997</div> 998</div> 999 <div class="form-sec"> <div class="form-field-wrapper"> <select name="mh_contact_us_floorplan_chosen" id="mh_contact_us_floorplan_chosen" class="repli_field" required="" aria-required="true"><option value="" disabled="" selected=""/><!-- 'derived' handled via javascript --></select> 1000 <svg class="select-dropdown-arrow" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewbox="0 0 12 8" aria-hidden="true" focusable="false"> <path d="M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z"></path> 1001</svg> 1002 <label for="mh_contact_us_floorplan_chosen">Desired Bedrooms</label> 1003</div> 1004</div> 1005 <div class="form-sec full"> <div class="form-field-wrapper"> <textarea id="mh_contact_us_message" name="mh_contact_us_message" class="repli_field" placeholder=" " maxlength="512"></textarea> 1006 <label for="mh_contact_us_message">Message</label> 1007</div> 1008</div> 1009 <div></div> 1010 <div></div> 1011 <div class="form-sec full last"><input type="hidden" name="google_captcha" class="google_captcha"/> <button type="button" id="submit_contact_form" class="g-recaptcha submit-button" data-sitekey="6Lc8ussrAAAAAH37vGwmWeLvGBAnwbT3c_IR9sxd" data-callback="mhContactUs_formSubmit" data-action="submit" aria-live="polite"><!-- Duda uses span.text to control button text style --> <span class="text">Submit</span> 1012</button> 1013</div> 1014 <div class="disclaimer-text"><br/></div>
1015 <div id="formSuccess" class="title" role="status" aria-live="polite" style="display: none">Thank you for contacting us. We will reach out soon.</div> 1016 <div id="contact-form-status-message" class="contact-form-status-message" role="alert" aria-live="polite"></div> 1017</form> 1018</div> 1019</div> 1020</div> 1021</div> 1022</div> 1023</div> 1024</div> 1025 <div class="dmRespRow fullBleedChanged fullBleedMode u_1693219919" id="1693219919"> <div class="dmRespColsWrapper" id="1766091805"> <div class="dmRespCol large-12 medium-12 small-12 u_1299673466" id="1299673466"> <div class="u_1130856013 default dmDefaultGradient align-center inlineMap" data-type="inlineMap" data-lat="33.7798454" data-lng="-84.4135738" data-address="788 West Marietta St NW, Atlanta, GA 30318, US" data-height="" data-msid="" data-mapurl="" data-lang="en" data-color-scheme="" data-zoom="" data-layout="layout4" data-popup-display="" data-popup-show="false" data-popup-title="" data-popup-title-visible="false" data-popup-description="" data-popup-description-visible="false" id="1130856013" dmle_extension="mapextension" data-element-type="mapextension" modedesktop="map" data-binding="W3siYmluZGluZ05hbWUiOiJhZGRyZXNzIiwidmFsdWUiOiJjb250ZW50X2xpYnJhcnkuZ2xvYmFsIn1d" modemobile="map" addresstodisplay="788 West Marietta St NW, Atlanta, GA 30318, US" geocompleteaddress="788 West Marietta St NW, Atlanta, GA 30318, US" data-popup-display-desktop="" zoom="" data-popup-display-mobile="" data-display-type="block" layout="layout4" modetablet="map" wr="true" icon="true" surround="true" description="Find Us" adwords="" icon-name="icon-map-marker" street="" city="" country="US" country_full="United States" state="" zip="" business="Seven88" provider="mapbox" lon="-84.4135738" lat="33.7798454" faddr="788 West Marietta St NW, Atlanta, GA 30318, US" dmmapsource="dm"> <div class="mapContainer" style="height: 100%; width: 100%; overflow: hidden; z-index: 0;"></div> 1026</div> 1027</div> 1028</div> 1029</div> 1030</div> 1031</div> 1032</div> 1033</div> 1034</div> 1035 <div class="dmFooterContainer"> <div id="fcontainer" class="u_fcontainer f_hcontainer dmFooter p_hfcontainer"> <div dm:templateorder="250" class="dmFooterResp generalFooter" id="1943048428"> <div class="dmRespRow u_1682815612" id="1682815612"> <div class="dmRespColsWrapper" id="1155877807"> <div class="dmRespCol empty-column large-12 medium-12 small-12" id="1024984073"></div> 1036</div> 1037</div> 1038 <div class="u_1105552200 dmRespRow" style="text-align: center;" id="1105552200"> <div class="dmRespColsWrapper" id="1479292391"> <div class="u_1660593884 dmRespCol small-12 large-3 medium-3" id="1660593884"> <div class="u_1034298855 imageWidget align-center" data-widget-type="image" id="1034298855" data-element-type="image" data-binding="W3siYmluZGluZ05hbWUiOiJpbWFnZSIsInZhbHVlIjoic2l0ZV9pbWFnZXMucGVyc2lzdGVkLnByb3BlcnR5X21vbm93aGl0ZV9sb2dvIn1d"> <a href="/" id="1378162624" file="false"><img src="https://media.multihub.io/cdn-cgi/image/format=auto,w=1920/property/6767906449167551/019f1f4e-8ac6-7409-984c-c715203a6ddc.webp" id="1583471293" class="" alt="Seven 88 logo." data-diy-image="" data-dm-image-path="https://media.multihub.io/cdn-cgi/image/format=auto,w=1920/property/6767906449167551/019f1f4e-8ac6-7409-984c-c715203a6ddc.webp" onerror="handleImageLoadError(this)" loading="lazy" height="132.859375" width="112.1875"/></a> 1039</div> 1040 <div class="u_1419929252 widget-1f5975 dmCustomWidget" data-lazy-load="" data-title="" id="1419929252" dmle_extension="custom_extension" data-element-type="custom_extension" data-binding="W3siYmluZGluZ05hbWUiOiJjb3B5cmlnaHRUZXh0IiwidmFsdWUiOiJzaXRlX3RleHQucHJvcGVydHlfY29weXJpZ2h0In1d" icon="false" surround="false" data-widget-id="1f5975986930429f819d4cd2154b5c4a" data-widget-version="25" data-widget-config="eyJyZXZlcnNlRmxhZyI6bnVsbCwiY29weXJpZ2h0VGV4dCI6IjxwIGNsYXNzPVwicnRlQmxvY2tcIj5BbGwgUmlnaHRzIFJlc2VydmVkLiBTZXZlbjg4PC9wPiJ9"> <div class="copyright"> <div>© 2026 </div> 1041 <div><p class="rteBlock">All Rights Reserved. Seven88</p></div> 1042</div> 1043</div> 1044</div> 1045 <div class="u_1415477316 dmRespCol small-12 large-3 medium-3" id="1415477316"> <div class="u_1673051781 dmNewParagraph" id="1673051781" style="display: block;" data-element-type="paragraph" data-version="5" new-inline-bind-applied="true" data-diy-text=""> <h5 class="m-size-14 text-align-center size-15"><a href="tel:404-779-7884" type="call" style="color:rgb(255, 255, 255);
1045display:initial;font-family:'Roboto Flex', 'Roboto Flex Fallback';" class="m-font-size-14 font-size-15" m-font-size-set="true" runtime_url="tel:404-779-7884"><span class="inline-data-binding" data-encoded-value="NDA0LTc3OS03ODg0" data-inline-binding="" data-inline-binding-encoded="Y29udGVudF9saWJyYXJ5Lmdsb2JhbC5waG9uZS53ZWJzaXRl">404-779-7884</span></a></h5> 1046</div> <div class="u_1738638284 dmNewParagraph" id="1738638284" data-element-type="paragraph" style="transition: none; text-align: center; display: block;" data-version="5" new-inline-bind-applied="true" data-diy-text=""> <h5 class="text-align-center m-size-14 size-15"><a href="https://www.google.com/maps/place/?q=place_id:ChIJyWF6I8wF9YgRT9gmkP-OHIk" target="_blank" runtime_url="https://www.google.com/maps/place/?q=place_id:ChIJyWF6I8wF9YgRT9gmkP-OHIk" type="url" class="font-size-15 m-font-size-14" m-font-size-set="true" style="color:rgb(255, 255, 255);display:initial;font-family:'Roboto Flex', 'Roboto Flex Fallback';"><span class="inline-data-binding" data-encoded-value="Nzg4IFdlc3QgTWFyaWV0dGEgU3QgTlcsIEF0bGFudGEsIEdBIDMwMzE4" data-inline-binding="" data-inline-binding-encoded="c2l0ZV90ZXh0LnByb3BlcnR5X2Z1bGxfYWRkcmVzcw==">
1046788 West Marietta St NW, Atlanta, GA 30318</span></a></h5> 1047</div> <div class="u_1019623591 align-center text-align-center dmSocialHub gapSpacing" id="1019623591" dmle_extension="social_hub" data-element-type="social_hub" data-binding="W3siYmluZGluZ05hbWUiOiJzb2NpYWwiLCJ2YWx1ZSI6ImNvbnRlbnRfbGlicmFyeS5nbG9iYWwuc29jaWFsIn1d" wr="true" networks="" icon="true" surround="true" adwords=""> <div class="socialHubWrapper"> <div class="socialHubInnerDiv " data-auto="social-hub-inner"> <a href="https://facebook.com/Seven88WestMidtown" target="_blank" dm_dont_rewrite_url="true" aria-label="facebook" onclick="dm_gaq_push_event && dm_gaq_push_event('socialLink', 'click', 'Facebook')"> <span class="dmSocialFacebook dm-social-icons-facebook oneIcon socialHubIcon style5" aria-hidden="true" data-hover-effect=""></span> 1048</a> 1049 <a href="https://instagram.com/seven88westmidtown/" target="_blank" dm_dont_rewrite_url="true" aria-label="instagram" onclick="dm_gaq_push_event && dm_gaq_push_event('socialLink', 'click', 'Instagram')"> <span class="dmSocialInstagram dm-social-icons-instagram oneIcon socialHubIcon style5" aria-hidden="true" data-hover-effect=""></span> 1050</a> 1051 <a href="https://www.google.com/maps/place/?q=place_id:ChIJyWF6I8wF9YgRT9gmkP-OHIk" target="_blank" dm_dont_rewrite_url="true" aria-label="google_my_business" onclick="dm_gaq_push_event && dm_gaq_push_event('socialLink', 'click', 'GoogleMyBusiness')"> <span class="dmSocialGoogleMyBusiness dm-social-icons-google-my-business oneIcon socialHubIcon style5" aria-hidden="true" data-hover-effect=""></span> 1052</a> 1053</div> 1054</div> 1055</div> 1056</div> 1057 <div class="u_1795896152 dmRespCol small-12 large-3 medium-3" id="1795896152"> <div class="u_1972774600 default dmHoursOfOperation" id="1972774600" dmle_extension="open_hours" data-element-type="open_hours" data-binding="W3siYmluZGluZ05hbWUiOiJidXNpbmVzc19ob3VycyIsInZhbHVlIjoiY29udGVudF9saWJyYXJ5Lmdsb2JhbC5idXNpbmVzc19ob3VycyJ9XQ==" time_format="12" wr="true" displaytitle="false" forcedisplay="false" icon="true" surround="true" adwords=""> <dl class="open-hours-data"> <div class="open-hours-item"> <dt day="0">Monday</dt> 1058 <dd>Closed</dd> 1059</div> 1060 <div class="open-hours-item"> <dt day="1">Tue - Sat</dt> 1061 <dd> <time>10:00 am</time> 1062- <time>6:00 pm</time> 1063</dd> 1064</div> 1065 <div class="open-hours-item"> <dt day="6">Sunday</dt> 1066 <dd>Closed</dd> 1067</div> 1068</dl> 1069</div> 1070 <div class="u_1789127830 widget-750a6a dmCustomWidget" data-lazy-load="false" data-title="" id="1789127830" dmle_extension="custom_extension" data-element-type="custom_extension" icon="false" surround="false" data-widget-id="750a6abf74f04b329d41b87b7516ad28" data-widget-version="82" data-widget-config="eyJzaG93T24iOiJhbGwiLCJ0YWJUaXRsZSI6IlNlZSBPdXIgU3BlY2lhbCBPZmZlciEiLCJ0aGVtZTJfb3B0aW9uIjoidGV4dE1vZGUiLCJ0aGVtZTJfYmdJbWciOiIiLCJ0aGVtZTJfYmdJbWdfYWx0TmFtZSI6Ik5vIG5hbWUiLCJsZWZ0c2lkZV9oZWFkaW5nIjoiU3BlY2lhbCBPZmZlciIsImZhbGxiYWNrVG9Db2xsZWN0aW9uIjp0cnVlLCJzbGlkZXJUaXRsZSI6IkVuam95IE9uZSBNb250aCBGcmVlIiwic2xpZGVyRGVzY3JpcHRpb24iOiI8cCBjbGFzcz1cInJ0ZUJsb2NrXCI+U2VlIE9mZmljZSBmb3IgRGV0YWlsczwvcD4iLCJzbGlkZXJEaXNjbGFpbWVyIjoiPGJyPiIsImNoZWNrX2J5X2RhdGUiOmZhbHNlLCJkYXRlRnJvbSI6IiIsImRhdGVUbyI6IiIsInBvc2l0aW9uIjoiY2VudGVyIiwidGV4dExpbmsiOiJTY2hlZHVsZSBUb3VyIOKGkiIsImxpbmsiOnsidmFsdWUiOiJjb250YWN0LXVzIiwibGFiZWwiOiIiLCJ0eXBlIjoicGFnZSIsImhyZWYiOiIvY29udGFjdC11cyIsInJhd191cmwiOiIvc2l0ZS8zMDMyYjEyZC9jb250YWN0LXVzP25lZT10cnVlJmVkPXRydWUmc2hvd09yaWdpbmFsPXRydWUmcHJldmlldz10cnVlJmRtX3RyeV9tb2RlPXRydWUmZG1fY2hlY2tTeW5jPTEifSwiaXNGYWRlT3V0Ijp0cnVlLCJvcGVuX2J0bl90ZXh0IjoiU3BlY2lhbCIsImF1dG9wb3AiOnRydWUsImF1dG9wb3BfdGltZSI6IjEwMDAwIiwiZHJvcGRvd25pY29uIjoiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA0NDggNTEyXCI+PHBhdGggZD1cIk0yMDcgMzgxLjVMMTIuNyAxODcuMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsMjIuNy0yMi43YzkuNC05LjQgMjQuNS05LjQgMzMuOSAwTDIyNCAyODQuNWwxNTQuNy0xNTRjOS40LTkuMyAyNC41LTkuMyAzMy45IDBsMjIuNyAyMi43YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45TDI0MSAzODEuNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDB6XCIvPjwvc3ZnPiIsImFycm93YmVmb3JldGV4dCI6dHJ1ZSwibGF5b3V0IjoidGhlbWUyIiwibGF5b3V0X3ZpZXciOiJub3JtYWwiLCJhbHdheXNfZml4ZWQiOnRydWUsImJvcmRlcl9zaXplIjoiMSIsImJ0bV9jb2xvciI6IiNlYWU0ZTQiLCJkcm9wdGVtcF9iYWNrIjoiI2ZmZmZmZiIsImRyb3B0ZW1wX3RleHQiOiIjMDAwMDAwIn0="> <div class="inEditorEditLayout" style="display:none;" title="This helper label only appears in Duda editor mode.">Configure Special Offer Component</div> 1071 <div class="special-offer-widget"> <div class="headerWrapper " style="display:none!important;"> <div class="header-title"></div> 1072 <div class="header-subtitle"></div> 1073 <a href="/contact-us" target="">Schedule Tour →</a> 1074 <div class="Theme2_Disclaimer special-offer-disclaimer"></div> 1075</div> 1076</div> 1077 <style type="text/css">.special-offer-widget .headerWrapper{border-bottom:solid 1px #eae4e4 !important; }</style> 1078</div> 1079</div> 1080 <div class="dmRespCol large-3 medium-3 small-12" id="1096972562"> <div class="u_1722890506 dmRespRow fullBleedChanged fullBleedMode" id="1722890506" mode="4"> <div class="dmRespColsWrapper" id="1295143753"> <div class="dmRespCol large-4 medium-4 small-4" id="1064546904"> <div class="u_1051385104 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1051385104"> <svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512" id="1148349213" class="svg u_1148349213" alt="Handicap Accessible" data-icon-custom="true" data-icon-name="wheelchair.svg"> <path d="M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z"></path> 1081</svg> 1082</div> 1083</div> 1084 <div class="dmRespCol large-4 medium-4 small-4" id="1326150065"> <div class="u_1437723509 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1437723509"> <svg version="1.1" id="1184622157" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewbox="0 0 40 38.4" style="enable-background:new 0 0 40 38.4;" xml:space="preserve" class="svg u_1184622157" data-icon-custom="true" data-icon-name="fair housing icon black.svg" alt="Equal Housing Opportunity"> <path d="M19.9,0L0,9.9v3h2.9v16H37v-16h3v-3L19.9,0z M33,24.9H7V11.4L19.9,5L33,11.4V24.9z M13,15.7h14v-4.1H13V15.7z M13,21.7h14v-4.1H13V21.7z"></path> 1085 <g>
1085 <path d="M3,31.2h2.2v0.6H3.7v0.4H5v0.6H3.7v0.4h1.5V34H3V31.2z"></path> 1086 <path d="M7.8,33.8C7.5,33.9,7.2,34,6.9,34c-0.8,0-1.5-0.6-1.5-1.4v0c0-0.8,0.6-1.4,1.5-1.4s1.5,0.6,1.5,1.4v0c0,0.3-0.1,0.6-0.2,0.8l0.3,0.2l-0.4,0.4L7.8,33.8z M7.2,33.3L6.8,33l0.4-0.4l0.4,0.3c0-0.1,0-0.2,0-0.3v0c0-0.4-0.3-0.7-0.7-0.7c-0.4,0-0.7,0.3-0.7,0.7v0c0,0.4,0.3,0.7,0.7,0.7C7,33.4,7.1,33.3,7.2,33.3z"></path> 1087 <path d="M8.8,32.8v-1.5h0.8v1.5c0,0.4,0.2,0.6,0.5,0.6c0.3,0,0.5-0.2,0.5-0.6v-1.5h0.8v1.5c0,0.9-0.5,1.3-1.3,1.3C9.2,34,8.8,33.6,8.8,32.8z"></path> 1088 <path d="M12.6,31.2h0.7l1.2,2.8h-0.8l-0.2-0.5h-1.1L12.2,34h-0.8L12.6,31.2z M13.3,32.9L13,32.1l-0.3,0.8H13.3z"></path> 1089 <path d="M14.8,31.2h0.8v2.1h1.3V34h-2.1V31.2z"></path> 1090 <path d="M18.3,31.2H19v1h1v-1h0.8V34H20v-1h-1v1h-0.8V31.2z"></path> 1091 <path d="M21.1,32.6L21.1,32.6c0-0.8,0.6-1.4,1.5-1.4s1.5,0.6,1.5,1.4v0c0,0.8-0.6,1.4-1.5,1.4C21.8,34,21.1,33.4,21.1,32.6zM23.3,32.6L23.3,32.6c0-0.4-0.3-0.7-0.7-0.7c-0.4,0-0.7,0.3-0.7,0.7v0c0,0.4,0.3,0.7,0.7,0.7C23,33.4,23.3,33,23.3,32.6z"></path> 1092 <path d="M24.4,32.8v-1.5h0.8v1.5c0,0.4,0.2,0.6,0.5,0.6c0.3,0,0.5-0.2,0.5-0.6v-1.5H27v1.5c0,0.9-0.5,1.3-1.3,1.3C24.9,34,24.4,33.6,24.4,32.8z"></path> 1093 <path d="M27.2,33.6l0.4-0.5c0.3,0.2,0.6,0.3,0.9,0.3c0.2,0,0.3-0.1,0.3-0.2v0c0-0.1-0.1-0.2-0.5-0.3c-0.6-0.1-1-0.3-1-0.9v0c0-0.5,0.4-0.9,1.1-0.9c0.5,0,0.8,0.1,1.1,0.4l-0.4,0.5c-0.3-0.2-0.5-0.3-0.8-0.3c-0.2,0-0.3,0.1-0.3,0.2v0c0,0.1,0.1,0.2,0.5,0.3c0.6,0.1,1,0.3,1,0.9v0c0,0.6-0.4,0.9-1.1,0.9C28,34,27.6,33.9,27.2,33.6z"></path> 1094 <path d="M30,31.2h0.8V34H30V31.2z"></path> 1095 <path d="M31.3,31.2H32l1.1,1.4v-1.4h0.8V34h-0.7L32,32.5V34h-0.8V31.2z"></path> 1096 <path d="M34.3,32.6L34.3,32.6c0-0.8,0.6-1.4,1.5-1.4c0.5,0,0.8,0.1,1.1,0.4l-0.4,0.5c-0.2-0.2-0.4-0.3-0.7-0.3c-0.4,0-0.7,0.3-0.7,0.8v0c0,0.4,0.3,0.8,0.7,0.8c0.2,0,0.3,0,0.4-0.1v-0.3h-0.5v-0.6h1.3v1.2c-0.3,0.2-0.7,0.4-1.2,0.4C34.9,34,34.3,33.5,34.3,32.6z"></path> 1097 <path d="M2.9,36.8L2.9,36.8c0-0.9,0.7-1.6,1.7-1.6c1,0,1.7,0.7,1.7,1.6v0c0,0.9-0.7,1.6-1.7,1.6S2.9,37.7,2.9,36.8z M5.4,36.8L5.4,36.8c0-0.5-0.3-0.9-0.8-0.9c-0.5,0-0.8,0.4-0.8,0.8v0c0,0.5,0.3,0.8,0.8,0.8C5.1,37.7,5.4,37.3,5.4,36.8z"></path> 1098 <path d="M6.7,35.2h1.3c0.8,0,1.3,0.4,1.3,1.1v0c0,0.7-0.6,1.1-1.4,1.1H7.6v0.9H6.7V35.2z M8,36.8c0.3,0,0.5-0.2,0.5-0.4v0C8.5,36.1,8.3,36,8,36H7.6v0.8H8z"></path> 1099 <path d="M9.8,35.2h1.3c0.8,0,1.3,0.4,1.3,1.1v0c0,0.7-0.6,1.1-1.4,1.1h-0.4v0.9H9.8V35.2z M11.1,36.8c0.3,0,0.5-0.2,0.5-0.4v0c0-0.3-0.2-0.4-0.5-0.4h-0.4v0.8H11.1z"></path> 1100 <path d="M12.7,36.8L12.7,36.8c0-0.9,0.7-1.6,1.7-1.6c1,0,1.7,0.7,1.7,1.6v0c0,0.9-0.7,1.6-1.7,1.6S12.7,37.7,12.7,36.8z M15.2,36.8L15.2,36.8c0-0.5-0.3-0.9-0.8-0.9c-0.5,0-0.8,0.4-0.8,0.8v0c0,0.5,0.3,0.8,0.8,0.8C14.9,37.7,15.2,37.3,15.2,36.8z"></path> 1101 <path d="M16.5,35.2H18c0.5,0,0.8,0.1,1,0.3c0.2,0.2,0.3,0.4,0.3,0.7v0c0,0.5-0.3,0.8-0.6,1l0.7,1.1h-1l-0.6-1h0h-0.4v1h-0.9V35.2zM18,36.8c0.3,0,0.5-0.1,0.5-0.4v0c0-0.2-0.2-0.4-0.5-0.4h-0.6v0.8H18z"></path> 1102 <path d="M20.5,36h-0.9v-0.8h2.8V36h-0.9v2.4h-0.9V36z"></path> 1103 <path d="M22.7,37v-1.8h0.9V37c0,0.5,0.2,0.7,0.6,0.7c0.4,0,0.6-0.2,0.6-0.6v-1.8h0.9V37c0,1-0.6,1.5-1.5,1.5S22.7,38,22.7,37z"></path> 1104 <path d="M26.2,35.2H27l1.3,1.7v-1.7h0.9v3.1h-0.8L27,36.7v1.7h-0.9V35.2z"></path> 1105 <path d="M29.7,35.2h0.9v3.1h-0.9V35.2z"></path> 1106 <path d="M31.9,36H31v-0.8h2.8V36h-0.9v2.4h-0.9V36z"></path> 1107 <path d="M35,37.2l-1.2-2h1l0.6,1.1l0.7-1.1h1l-1.2,2v1.2H35V37.2z"></path> 1108</g> 1109</svg> 1110</div> 1111</div> 1112 <div class="dmRespCol large-4 medium-4 small-4" id="1691345632"> <div class="u_1824764957 graphicWidget" data-element-type="graphic" data-widget-type="graphic" id="1824764957"> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="23.8px" height="23.8px" viewbox="0 0 23.8 23.8" style="enable-background:new 0 0 23.8 23.8;" xml:space="preserve" id="1093829190" class="svg u_1093829190" alt="Pet Friendly" data-icon-custom="true" data-icon-name="pet friendly.svg"> <defs></defs> 1113 <path d="M19,5.9c-0.7,2.5-2.6,4.2-4.2,3.8s-2.3-2.9-1.6-5.4C14,1.7,15.8,0,17.4,0.5S19.7,3.4,19,5.9z M7.8,0 1114 C6.2,0.3,5.2,2.6,5.6,5.2C6,7.8,7.7,9.7,9.3,9.4c1.6-0.3,2.6-2.6,2.2-5.2C11.1,1.7,9.4-0.2,7.8,0z M1.6,7.2c-1.5,0.6-2,2.9-1.1,5.1 1115 c0.9,2.2,2.8,3.5,4.3,2.9c1.5-0.6,2-2.9,1.1-5.1S3.1,6.6,1.6,7.2z M22.3,8.8c-1.5-0.6-3.5,0.6-4.4,2.8c-0.9,2.2-0.5,4.5,1,5.
11151 1116 c1.5,0.6,3.5-0.6,4.4-2.8C24.3,11.7,23.8,9.5,22.3,8.8z M18.8,22.5c1.8-2-3.2-10-6.9-10.2C8,12.1,2.2,20.8,4.2,22.8s5.7,0.3,7.7,0 1117 C13.9,22.5,15.9,25.5,18.8,22.5z"></path> 1118</svg> 1119</div> 1120</div> 1121</div> 1122</div> 1123 <nav class="u_1287579728 effect-text-fill main-navigation unifiednav dmLinksMenu" data-auto="links-menu" role="navigation" layout-main="horizontal_nav_layout_5" layout-sub="submenu_horizontal_1" data-show-vertical-sub-items="HOVER" data-divider="DOT" id="1287579728" dmle_extension="onelinksmenu" data-element-type="onelinksmenu" data-logo-src="" alt="" data-nav-structure="HORIZONTAL" wr="true" icon="true" surround="true" adwords="" navigation-id="unifiedNav"> <ul role="menubar" class="unifiednav__container unav-top " data-auto="navigation-pages"> <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/accessibility" class="unifiednav__item unav-item unav-top-item " target="" data-target-page-alias="accessibility"> <span class="nav-item-text " data-link-text=" 1124 Accessibility 1125 " data-auto="page-text-style">Accessibility<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> 1126</span> 1127</a> 1128</li> 1129 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/privacy-policy" class="unifiednav__item unav-item unav-top-item " target="" data-target-page-alias="privacy-policy"> <span class="nav-item-text " data-link-text=" 1130 Privacy Policy 1131 " data-auto="page-text-style">Privacy Policy<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> 1132</span> 1133</a> 1134</li> 1135 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/sitemap" class="unifiednav__item unav-item unav-top-item " target="" data-target-page-alias="sitemap"> <span class="nav-item-text " data-link-text=" 1136 Sitemap 1137 " data-auto="page-text-style">Sitemap<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> 1138</span> 1139</a> 1140</li> 1141 <li role="menuitem" class=" unifiednav__item-wrap " data-auto="more-pages" data-depth="0"> <a href="/faq" class="unifiednav__item unav-item unav-top-item " target="" data-target-page-alias="faq"> <span class="nav-item-text " data-link-text=" 1142 FAQ 1143 " data-auto="page-text-style">FAQ<span class="icon icon-angle-down" data-hidden-on-mobile="" data-hidden-on-desktop="" data-hidden-on-tablet=""></span> 1144</span> 1145</a> 1146</li> 1147</ul> 1148</nav> 1149</div> 1150</div> 1151</div> 1152 <div class="dmRespRow u_1053590233" id="1053590233" mode="4"> <div class="dmRespColsWrapper" id="1770828695"> <div class="u_1744250154 dmRespCol large-4 medium-4 small-4" id="1744250154"> <div class="u_1084768660 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1084768660" style="transition: opacity 1s ease-in-out 0s;"><p class="text-align-left m-size-7 size-10"><span class="font-size-10 m-font-size-7" style="display: initial; color: rgb(255, 255, 255);">Professionally Managed by</span></p></div> 1153 <div class="u_1882188350 imageWidget align-center" data-widget-type="image" id="1882188350" data-element-type="image" data-binding="W3siYmluZGluZ05hbWUiOiJpbWFnZSIsInZhbHVlIjoic2l0ZV9pbWFnZXMucGVyc2lzdGVkLmNvbXBhbnlfbG9nbyJ9XQ=="> <a id="1952415528" file="false" class="" target="_blank" href="https://galleryresidential.com/"><img src="https://irp.cdn-website.com/3032b12d/dms3rep/multi/opt/019f4270-24f6-709b-b2c5-c205bf400083-134w.png" id="1263825889" class="" data-dm-image-path="https://irp.cdn-website.com/3032b12d/dms3rep/multi/019f4270-24f6-709b-b2c5-c205bf400083.png" width="112.1875" height="59.109375" alt="Gallery Residential logo." data-diy-image="" onerror="handleImageLoadError(this)" loading="lazy"/></a> 1154</div> 1155</div> 1156 <div class="u_1182696107 dmRespCol large-4 medium-4 small-4" id="1182696107"> <div class="dmNewParagraph u_1405848244" data-element-type="paragraph" data-version="5" id="1405848244" style="transition: none; text-align: left; display: block;"><p class="text-align-center m-size-7 size-10"><a href="/" runtime_url="/" type="page" class="m-font-size-7 font-size-10" style="display: initial; color: rgb(255, 255, 255); text-decoration: none;">Powered by</a></p></div> 1157 <div class="u_1969652196 imageWidget align-center" data-widget-type="image" id="1969652196" data-element-type="image" data-binding="W3siYmluZGluZ05hbWUiOiJob3Zlcl9pbWFnZSIsInZhbHVlIjoic2l0ZV9pbWFnZXMucGVyc2lzdGVkLnBvd2VyZWRfYnlfbG9obyJ9LHsiYmluZGluZ05hbWUiOiJpbWFnZSIsInZhbHVlIjoic2l0ZV9pbWFnZXMucGVyc2lzdGVkLm11bHRpaHViX2xvZ28ifV0="> <a id="1418294495" file="false" class=""><img src="https://irp.cdn-website.com/3032b12d/dms3rep/multi/Multihub+Logo+White.svg" id="1864676469" class="" data-dm-image-path="https://irp.cdn-website.com/3032b12d/dms3rep/multi/Multihub+Logo+White.svg" width="110.0" height="16.21875" data-diy-image="" alt="Multihub logo." onerror="handleImageLoadError(this)" loading="lazy"/></a> 1158</div> 1159</div> 1160 <div class="u_1196044748 dmRespCol large-4 medium-4 small-4" id="1196044748"> <div class="u_1471004517 dmNewParagraph" data-element-type="paragraph" data-version="5" id="1471004517" style="transition: opacity 1s ease-in-out 0s;"><p class="m-size-7 text-align-right size-10"><span class="font-size-10 m-font-size-7" style="display: initial; color: rgb(255, 255, 255);">Website Design by</span></p></div> 1161 <div class="u_1366475068 imageWidget align-center" data-widget-type="image" id="1366475068" data-element-type="image" data-binding="W3siYmluZGluZ05hbWUiOiJpbWFnZSIsInZhbHVlIjoic2l0ZV9pbWFnZXMucGVyc2lzdGVkLmFnZW5jeV9sb2dvIn1d"> <a id="1364846886" file="false" class="" target="_blank" href="https://www.repli360.com/"><img src="https://irp.cdn-website.com/3032b12d/dms3rep/multi/opt/Repli_White+logo+gradient+dot-90w.png" id="1823755221" class="" data-dm-image-path="https://irp.cdn-website.com/3032b12d/dms3rep/multi/Repli_White+logo+gradient+dot.png" width="75.0" height="36.671875" data-diy-image="" alt="Repli logo" onerror="handleImageLoadError(this)" loading="lazy"/></a> 1162</div> 1163</div> 1164</div> 1165</div> 1166</div> 1167 <div id="1236746004" dmle_extension="powered_by" data-element-type="powered_by" icon="true" surround="false"></div> 1168</div> 1169</div> 1170</div> 1171</div> 1172</div> 1173</div> 1174</div> 1175</div> 1176</div> 1177 1178 </div> 1179</div> 1180<!-- Add full CSS and Javascript before the close tag of the body if needed --> 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205<!-- Google Fonts Include --> 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219<!-- loadCSS function fonts.jsp--> 1220 1221 1222 1223<link rel="preload" href="https://irp.cdn-website.com/fonts/css2?family=Prata:ital,wght@0,400&family=Muli:ital,wght@0,200;0,300;0,400;0,600;0,700;0,800;
12230,900&family=Jost:ital,wght@0,100..900;1,100..900&family=Titillium+Web:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700&family=Rubik:ital,wght@0,300..900;1,300..900&family=Roboto+Flex:ital,wght@0,100..1000;1,100..1000&family=Oswald:ital,wght@0,200..700;1,200..700&family=Lexend+Deca:ital,wght@0,100..900;1,100..900&subset=latin-ext&display=swap" as="style" fetchpriority="low" onload="loadCSS(this)" /> 1224 1225<style> 1226@font-face { 1227 font-family: "Assistant-Light"; 1228 src: url("https://irp.cdn-website.com/3032b12d/fonts/Assistant-Light-9a14_400.ttf"); 1229 font-weight: 400; 1230 font-style: normal; 1231 font-display: swap; 1232} 1233</style> 1234 1235 1236 1237 1238 1239 1240<!-- RT CSS Include d-css-runtime-desktop-one-package-structured-global--> 1241<link rel="preload" as="style" fetchpriority="low" onload="loadCSS(this)" href="https://static.cdn-website.com/mnlt/production/6804/_dm/s/rt/dist/css/d-css-runtime-desktop-one-package-structured-global.min.css" /> 1242 1243<!-- End of RT CSS Include --> 1244 1245<link rel="preload" href="https://irp.cdn-website.com/WIDGET_CSS/1ae21fe74ea6d40423a390833f6bae7f.css" id="widgetCSS" as="style" fetchpriority="low" onload="loadCSS(this)" /> 1246 1247<!-- Support `img` size attributes --> 1248<style>img[width][height] { 1249 height: auto; 1250}</style> 1251 1252<!-- Support showing sticky element on page only --> 1253<style> 1254 body[data-page-alias="contact-us"] #dm [data-show-on-page-only="contact-us"] { 1255 display: block !important; 1256 } 1257</style> 1258 1259<!-- This is populated in Ajax navigation --> 1260<style id="pageAdditionalWidgetsCss" type="text/css"> 1261</style> 1262 1263 1264 1265 1266<!-- Site CSS --> 1267<link rel="preload" href="https://irp.cdn-website.com/3032b12d/files/3032b12d_1.min.css?v=104" id="siteGlobalCss" as="style" fetchpriority="low" onload="loadCSS(this)" /> 1268 1269 1270 1271<style id="customWidgetStyle" type="text/css"> 1272 1273</style> 1274<style id="innerPagesStyle" type="text/css"> 1275 1276</style> 1277 1278 1279<style 1280 id="additionalGlobalCss" type="text/css" 1281> 1282</style> 1283 1284<style id="pagestyle" type="text/css"> 1285 #dm .dmBody div.checkboxwrapper span,#dm .dmBody div.dmforminput .fileUploadLink,#dm .dmBody div.dmforminput textarea,#dm .dmBody div.radiowrapper span{color:var(--color_5)!important}#dm .dmBody div.caption-container .caption-text .rteBlock{color:var(--color_1)!important}#dm .dmBody .u_1028284539.before,#dm .dmBody .u_1028284539:before,#dm .dmBody .u_1028284539>.bgExtraLayerOverlay,#dm .dmBody .u_1650196329.before,#dm .dmBody .u_1650196329:before{opacity:.5!important;background-color:var(--color_1)!important}#dm .dmBody div.u_1994800542{box-shadow:none!important;-moz-box-shadow:none!important;-webkit-box-shadow:none!important;background-color:rgba(0,0,0,0)!important}#dm .dmBody div.u_1864606144{line-height:normal!important}#dm .dmBody div.u_1337767100 li,#dm .dmBody div.u_1337767100 p,#dm .dmBody nav.u_1287579728{color:#fff!important}#dm .dmBody div.u_1028284539.before,#dm .dmBody div.u_1028284539:before,#dm .dmBody div.u_1028284539>.bgExtraLayerOverlay{background-color:var(--color_3)!important;opacity:.95!important}#dm .dmBody div.u_1650196329.before,#dm .dmBody div.u_1650196329:before,#dm .dmBody div.u_1650196329>.bgExtraLayerOverlay{opacity:.4!important;background-color:var(--color_2)!important}#dm .dmBody div.u_1337767100{line-height:1.5!important;color:#fff!important}#dm .dmBody div.u_1028284539{background-color:var(--color_7)!important;background-repeat:no-repeat!important;background-image:none!important;background-size:cover!important}#dm .dmBody div.u_1650196329{background-color:var(--color_4)!important;background-repeat:no-repeat!important;background-image:url(https://irp.cdn-website.com//c67baf93/dms3rep/multi/opt/clear_bakground-525x213-2880w.png)!important} 1286</style> 1287 1288<style id="pagestyleDevice" type="text/css"> 1289 #dm .dmBody div.u_1280048794,#dm .dmBody div.u_1337767100{float:none!important;top:0!important;left:0!important;width:calc(100% - 0px)!important;position:relative!important;height:auto!important;padding:2px 0!important;min-width:25px!important}#dm .dmBody div.u_1280048794,#dm .dmBody div.u_1337767100,#dm .dmBody div.u_1864606144{max-width:100%!important;display:block!important}#dm .d-page-1366147380 DIV#dmSlideRightNavRight,#dm .d-page-1366147380 DIV.dmInner{background-repeat:no-repeat!important;background-image:none!important;background-size:cover!important;background-attachment:fixed!important;background-position:50% 50%!important;background-color:var(--color_1)!important}#dm .dmBody div.caption-container .caption-text .rteBlock{font-size:30px!important}#dm .dmBody div.u_1337767100{margin:0 0 8px!important}#dm .dmBody div.u_1280048794{margin:0 302px 8px 0!important}#dm .dmBody div.u_1650196329,#dm .dmBody div.u_1864606144{float:none!important;top:0!important;left:0!important;position:relative!important;height:auto!important;min-width:0!important}div.u_1130856013{float:none!important;top:0!important;left:0!important;width:100%!important;position:relative!important;height:300px!important;max-width:calc(100% - 0px)!important;padding:0!important;min-width:25px!important;text-align:left!important}#dm .dmBody div.u_1693219919{margin:0!important;padding:0!important;width:auto!important}#dm .dmBody div.u_1028284539{padding:200px 40px 80px!important;width:auto!important;background-position:50% 50%!important;background-attachment:fixed!important;margin:0!important}#dm .dmBody div.u_1864606144{width:100%!important;padding:2px 0!important;margin:0 0 8px!important}#dm .dmBody div.u_1650196329{width:auto!important;max-width:none!important;padding:40px 40px 50px!important;text-align:center!important;background-repeat:repeat!important;background-size:cover!important;background-attachment:fixed!important;margin:0!important}#dm .dmBody div.u_1130856013,#dm .dmBody div.u_1426650895{float:none!important;top:0!important;left:0!important;position:relative!important;padding:0!important;min-width:25px!important}#dm .dmBody div.u_1426650895{width:679px!important;height:524px!important;min-height:auto!important;max-width:679px!important;margin:30px auto 0!important;text-align:center!important;display:block!important}#dm .dmBody div.u_1130856013{width:calc(100% - 0px)!important;height:492px!important;max-width:100%!important;margin:0!important;text-align:left!important} 1290</style> 1291 1292<!-- Flex Sections CSS --> 1293 1294 1295 1296 1297 1298 1299 1300<style id="globalFontSizeStyle" type="text/css"> 1301 .font-size-14, .size-14, .size-14 > font { font-size: 14px !important; }.font-size-60, .size-60, .size-60 > font { font-size: 60px !important; }.font-size-46, .size-46, .size-46 > font { font-size: 46px !important; }.font-size-15, .size-15, .size-15 > font { font-size: 15px !important; }.font-size-10, .size-10, .size-10 > font { font-size: 10px !important; } 1302</style> 1303<style id="pageFontSizeStyle" type="text/css"> 1304</style> 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344<!-- ========= JS Section ========= -->
1345<script> 1346 var isWLR = true; 1347 1348 window.customWidgetsFunctions = {}; 1349 window.customWidgetsStrings = {}; 1350 window.collections = {}; 1351 window.currentLanguage = "ENGLISH" 1352 window.isSitePreview = false; 1353</script>
1353 1354 1355 1356
1357<script> 1358 window.customWidgetsFunctions["e6fb702873f9471f8fad7fa6e29567a5~47"] = function (element, data, api) { 1359 function stripHtml(input) { 1360 if (!input) return ""; 1361 return $("<div>").html(String(input)).text().trim(); 1362 } 1363 1364 var rawHref = (data && data.config && data.config.buttonLink) 1365 ? data.config.buttonLink 1366 : ""; 1367 1368 var rawText = (data && data.config && data.config.buttonText) 1369 ? data.config.buttonText 1370 : ""; 1371 1372 var cleanHref = stripHtml(rawHref); 1373 var cleanText = stripHtml(rawText); 1374 1375 var $btn = $(element).find(".MMT_btn"); 1376 1377 if ($btn.length) { 1378 $btn.attr("href", cleanHref); 1379 $btn.find(".text").text(cleanText); 1380 1381 if (!cleanHref) { 1382 $btn.removeAttr("href"); 1383 } 1384 } 1385 }; 1386</script>
1386 1387
1388<script> 1389 window.customWidgetsFunctions["9f8a60df338e4394b25f17561a3503fa~144"] = function (element, data, api) { 1390 const MULTIHUB_LEAD_TYPE = 'GUEST_CARD'; 1391const MULTIHUB_WIDGET_NAME = 'MULTIHUB_CONTACT_US'; 1392 1393// NOTE: Yes. There are themes that will render TWO contact forms on one page. 1394// Use this container element instead of selecting from document. 1395const container = element; 1396const env = dmAPI?.getCurrentEnvironment?.() || 'live'; 1397const isEditor = env === 'editor'; 1398 1399// Responsive breakpoints based on form width (not screen width) 1400const RESPONSIVE_BREAKPOINTS = { 1401 MOBILE: 500, // Form width < 500px 1402 TABLET: 800, // Form width < 800px 1403 DESKTOP: 800, // Form width >= 800px 1404}; 1405 1406const MESSAGE_MAX_LENGTH = 512; 1407const MESSAGE_MIN_HEIGHT = 100; 1408const MESSAGE_MAX_HEIGHT = 220; 1409 1410const optInEnabled = !!data?.config?.optInEnabled; 1411const optInRequired = !!data?.config?.optInRequired; 1412 1413// Phone numbers are restricted to exactly 10 US digits (no country code) 1414// because downstream routers (Entrata, RentCafe, etc.) reject country codes. 1415function stripNonDigits(value) { 1416 return value ? value.replace(/\D/g, '') : ''; 1417} 1418 1419// Drop leading digits that can never start a NANP area code: a 1 is a country 1420// code (browser autofill hands us "+1 678 823 0350"), a 0 is a typo. This has to 1421// run before the 10-digit cap, otherwise the cap keeps the country code and 1422// trims the last real digit instead â "1678823035" looks valid but isn't. 1423function stripPhonePrefix(digits) { 1424 return digits.replace(/^[01]+/, ''); 1425} 1426 1427// Format a digit string as (123) 456-7890. Partial strings format progressively: 1428// "123" -> "(123" 1429// "1234" -> "(123) 4" 1430// "1234567890" -> "(123) 456-7890" 1431function formatPhoneDisplay(digits) { 1432 if (digits.length === 0) return ''; 1433 if (digits.length <= 3) return `(${digits}`; 1434 if (digits.length <= 6) return `(${digits.slice(0, 3)}) ${digits.slice(3)}`; 1435 return `(${digits.slice(0, 3)}) ${digits.slice(3, 6)}-${digits.slice(6, 10)}`; 1436} 1437 1438const FORM_FIELDS = { 1439 FIRST_NAME: { 1440 id: 'mh_contact_us_first_name', 1441 required: true, 1442 validator: value => { 1443 return value.length > 0; 1444 }, 1445 }, 1446 LAST_NAME: { 1447 id: 'mh_contact_us_last_name', 1448 required: true, 1449 validator: value => { 1450 return value.length > 0; 1451 }, 1452 }, 1453 EMAIL: { 1454 id: 'mh_contact_us_email', 1455 required: true, 1456 errorMessage: 'e.g [email protected]', 1457 validator: value => { 1458 const emailRe = /^([A-Za-z0-9._%+-])+@([A-Za-z0-9.-])+\.([A-Za-z]{2,})$/; 1459 return emailRe.test(value); 1460 }, 1461 }, 1462 PHONE_NO: { 1463 id: 'mh_contact_us_phone_no', 1464 required: true, 1465 // A valid US number is 10 digits and cannot start with 0 or 1 (area codes 1466 // start 2-9), so reject e.g. (012) 345-6789 with a clear example. 1467 errorMessage: 'Enter a valid 10-digit number, e.g (555) 555-5555', 1468 validator: value => { 1469 const digits = stripNonDigits(value); 1470 return digits.length === 10 && /^[2-9]/.test(digits); 1471 }, 1472 }, 1473 MOVE_IN_DATE_ACT: { 1474 id: 'mh_contact_us_move_in_date_act', 1475 required: false, 1476 }, 1477 FLOORPLAN_CHOSEN: { 1478 id: 'mh_contact_us_floorplan_chosen', 1479 required: false, 1480 }, 1481 MESSAGE: { 1482 id: 'mh_contact_us_message', 1483 required: false, 1484 errorMessage: `Message must be ${MESSAGE_MAX_LENGTH} characters or less`, 1485 validator: value => { 1486 return !value || value.length <= MESSAGE_MAX_LENGTH; 1487 }, 1488 }, 1489 OPT_IN: { 1490 id: 'mh_contact_us_opt_in', 1491 required: optInEnabled && optInRequired, 1492 errorMessage: 'Please check the box to continue', 1493 validator: value => !value || value === 'on', // allow absent (unchecked) when not required 1494 }, 1495}; 1496 1497Object.values(FORM_FIELDS).forEach(field => { 1498 field.jqueryId = `#${field.id}`; 1499 field.payloadKey = field.id.replace('mh_contact_us_', ''); 1500}); 1501 1502// Parse bedrooms range text and create dropdown options 1503async function getBedroomsRange() { 1504 if (data?.config?.bedroomListType !== 'derived') return; 1505 let bedroomOptions = []; 1506 1507 // 1st attempt: Read from floorplans collection 1508 try { 1509 const collection = await dmAPI.loadCollectionsAPI(); 1510 const response = await collection.data("Floor Plans Collection").get(); 1511 const floorplans = (response?.values || []).reduce((acc, fp) => { 1512 // NOTE: Ryan requested that we use "S" to categorize as studio, not 0, so we support both. 1513 const id = fp?.data?.ID?.toString().toUpperCase(); 1514 const beds = id === 'S' ? 0 : parseInt(id); 1515 return isNaN(beds) ? acc : [...acc, beds]; 1516 }, []); 1517 bedroomOptions = createBedroomOptions(floorplans); 1518 } catch (error) { 1519 if (isEditor) { 1520 console.error('Error loading floorplans collection:', error); 1521 } 1522 } 1523 1524
1525 // 2nd attempt: read from property_bedrooms_range if it exists 1526 if (bedroomOptions.length === 0) { 1527 try { 1528 const contentLib = await dmAPI.loadContentLibrary(); 1529 const businessTextFields = contentLib.site_texts.custom; 1530 const bedroomsRangeText = businessTextFields.find(field => field.label === 'property_bedrooms_range')?.text || ''; 1531 1532 // Parse the range text and create dropdown options 1533 bedroomOptions = parseBedroomsRange(bedroomsRangeText); 1534 } catch (error) { 1535 if (isEditor) { 1536 console.error('Error loading property_bedrooms_range:', error); 1537 } 1538 } 1539 } 1540 1541 // Populate the select element with the generated options 1542 populateBedroomDropdown(bedroomOptions); 1543} 1544 1545// Parse bedrooms range text (e.g., "1-3", "2-4", "3") and return array of bedroom options 1546function parseBedroomsRange(rangeText) { 1547 if (!rangeText || typeof rangeText !== 'string') { 1548 if (isEditor) { 1549 console.warn('Using fallback bedroom options'); 1550 } 1551 return getDefaultBedroomOptions(); 1552 } 1553 1554 const trimmedText = rangeText.trim(); 1555 // Handle single number (e.g., "3") 1556 if (/^\d+$/.test(trimmedText)) { 1557 const num = parseInt(trimmedText, 10); 1558 if (num >= 0 && num <= 10) { // Reasonable range check 1559 return createBedroomOptions([num]); 1560 } 1561 } 1562 1563 // Handle range format (e.g., "1-3", "2-4", "1 - 3", "2 - 4") 1564 const rangeMatch = trimmedText.match(/^(\d+)\s*-\s*(\d+)$/); 1565 if (rangeMatch) { 1566 const start = parseInt(rangeMatch[1], 10); 1567 const end = parseInt(rangeMatch[2], 10); 1568 1569 // Validate range 1570 if (start >= 0 && end >= start && end <= 10) { 1571 const range = []; 1572 for (let i = start; i <= end; i++) { 1573 range.push(i); 1574 } 1575 return createBedroomOptions(range); 1576 } 1577 } 1578 1579 // If parsing fails, return default options 1580 if (isEditor) { 1581 console.warn('Invalid bedrooms range format:', rangeText); 1582 } 1583 return getDefaultBedroomOptions(); 1584} 1585 1586// Create bedroom option objects from array of numbers 1587function createBedroomOptions(bedroomNumbers) { 1588 // Always include "Any" as the first option 1589 const options = [{ label: 'Any', value: 'any' }]; 1590 1591 const numberTextMap = { 1592 0: 'Studio', 1593 1: 'One Bedroom', 1594 2: 'Two Bedroom', 1595 3: 'Three Bedroom', 1596 4: 'Four Bedroom', 1597 5: 'Five Bedroom', 1598 6: 'Six Bedroom', 1599 7: 'Seven Bedroom or more', 1600 }; 1601 bedroomNumbers.forEach(num => { 1602 const label = numberTextMap[num]; 1603 // omits option if higher than 7 1604 if (label) { 1605 options.push({ label, value: num.toString() }); 1606 } 1607 }); 1608 return options; 1609} 1610 1611// Default bedroom options as fallback 1612function getDefaultBedroomOptions() { 1613 return [ 1614 { label: 'Any', value: 'any' }, 1615 { label: 'Studio', value: '0' }, 1616 { label: 'One Bedroom', value: '1' }, 1617 { label: 'Two Bedroom', value: '2' }, 1618 { label: 'Three Bedroom', value: '3' }, 1619 { label: 'Four Bedroom or more', value: 'four_more' } 1620 ]; 1621} 1622 1623// Populate the bedroom dropdown with options 1624function populateBedroomDropdown(bedroomOptions) { 1625 const selectElement = container.querySelector('#mh_contact_us_floorplan_chosen'); 1626 if (!selectElement) { 1627 console.warn('Bedroom select element not found'); 1628 return; 1629 } 1630 1631 // Clear existing options except the first disabled one 1632 const firstOption = selectElement.querySelector('option[disabled]'); 1633 selectElement.innerHTML = ''; 1634
1635 // Add back the first disabled option 1636 if (firstOption) { 1637 selectElement.appendChild(firstOption); 1638 } else { 1639 // Create default disabled option if it doesn't exist 1640 const defaultOption = document.createElement('option'); 1641 defaultOption.value = ''; 1642 defaultOption.disabled = true; 1643 defaultOption.selected = true; 1644 defaultOption.textContent = ''; 1645 selectElement.appendChild(defaultOption); 1646 } 1647 1648 // Add the bedroom options 1649 bedroomOptions.forEach(option => { 1650 const optionElement = document.createElement('option'); 1651 optionElement.value = option.value; 1652 optionElement.textContent = option.label; 1653 selectElement.appendChild(optionElement); 1654 }); 1655} 1656 1657getBedroomsRange(); 1658 1659// Load UI CSS early (fine) 1660const uidatepickerCSS = document.createElement('link'); 1661uidatepickerCSS.rel = 'stylesheet'; 1662uidatepickerCSS.href = 'https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css'; 1663document.head.appendChild(uidatepickerCSS); 1664 1665const ID_CONTACT_FORM = 'multihub_contact_us_form'; 1666const ID_CONTACT_FORM_STATUS_MESSAGE = '#contact-form-status-message'; 1667const ID_FORM_SUCCESS = '#formSuccess'; 1668const ID_SUBMIT_BUTTON = 'submit_contact_form'; 1669const CLASS_FORM_FIELD_WRAPPER = 'form-field-wrapper'; 1670// Load jQuery UI; only put UI-related init in here 1671if (window.dmAPI?.loadScript) { 1672 // window.dmAPI.loadScript('https://www.google.com/recaptcha/api.js') 1673 window.dmAPI.loadScript('https://www.google.com/recaptcha/enterprise.js?render=explicit', function () { 1674 grecaptcha.enterprise.ready(() => { 1675 const submitButton = container.querySelector(`#${ID_SUBMIT_BUTTON}`); 1676 if (submitButton) { 1677 // Create a unique callback name for this widget instance 1678 const uniqueCallbackName = `mhContactUs_formSubmit_${Math.random().toString(36).substr(2, 9)}`; 1679 container._recaptchaCallbackName = uniqueCallbackName; 1680 1681 // Define the callback globally with the unique name 1682 window[uniqueCallbackName] = function(token) { 1683 mhContactUs_formSubmitHandler(container); 1684 }; 1685 1686 container._recaptchaWidgetId = grecaptcha.enterprise.render(submitButton, { 1687 sitekey: '6Lc8ussrAAAAAH37vGwmWeLvGBAnwbT3c_IR9sxd', 1688 size: 'invisible', 1689 callback: uniqueCallbackName, 1690 action: 'submit', 1691 }); 1692 } 1693 }); 1694 }); 1695 1696 window.dmAPI.loadScript('https://code.jquery.com/ui/1.12.1/jquery-ui.js', function () { 1697 1698 if (typeof $ === 'undefined') { 1699 console.error('jQuery not available for datepicker'); 1700 return; 1701 } 1702 1703 if (typeof $.fn.datepicker === 'undefined') { 1704 if (isEditor) { 1705 console.error('jQuery UI datepicker not loaded'); 1706 } 1707 return; 1708 } 1709 1710 const dateInputElement = container.querySelector(FORM_FIELDS.MOVE_IN_DATE_ACT.jqueryId); 1711 if (!dateInputElement) { 1712 if (isEditor) { 1713 console.warn('Date input element not found in container'); 1714 } 1715 return; 1716 } 1717 1718 // jQuery UI uses element IDs to track instances internally. 1719 // If multiple forms have the same ID, jQuery UI gets confused. 1720 // Make each ID unique by appending a counter. 1721 if (!dateInputElement.id.includes('_instance_')) { 1722 const uniqueId = `${dateInputElement.id}_instance_${Math.random().toString(36).substr(2, 9)}`; 1723 dateInputElement.id = uniqueId; 1724 } 1725 1726 // TODO: I don't like this one bit, but when there are 2 contact forms this was the only thing that worked in a pinch. 1727 setTimeout(() => { 1728 const acttomorrow = new Date(Date.now() + 24 * 60 * 60 * 1000); 1729 try { 1730 $(dateInputElement).datepicker({ 1731 minDate: acttomorrow, 1732 inline: true, 1733 dateFormat: 'mm-dd-yy', 1734 beforeShow: (input, inst) => setTimeout(() => inst.dpDiv.addClass('move_in_date_act'), 0), 1735 onSelect: function(dateText, inst) { 1736 // Use the input element parameter passed by jQuery UI's datepicker 1737 // This is the element that triggered the date picker 1738 const [mm, dd, yy] = dateText.split('-'); // yy is 2-digit from dateFormat 1739 const yyyy = yy.length === 2 ? '20' + yy : yy; 1740 const iso = `${yyyy}-${mm}-${dd}`; 1741 console.log('[CONTACT US] setting date on input:', {inputId: inst.input.id, input: inst.input, iso}); 1742 $(inst.input).val(iso); 1743 }, 1744 }); 1745 } catch (error) { 1746 console.error('Error initializing datepicker:', error); 1747 } 1748 }, 100); 1749 }); 1750} 1751// If for whatever reason jquery fails to load, allow people to punch in the move in date manually 1752else { 1753 $(FORM_FIELDS.MOVE_IN_DATE_ACT.jqueryId).prop('readonly', false); 1754 console.warn('dmAPI not available; skipping jQuery UI init'); 1755} 1756 1757function handleThankyouRedirect() { 1758 const thankYouConfig = data?.config?.thankYouUrl; 1759 if (!thankYouConfig || !thankYouConfig?.href) { 1760 return; 1761 } 1762 // The redirct will be set depending on the Url Type 1763 setTimeout(() => { 1764 if (thankYouConfig?.target === '_blank') { 1765 window.open(thankYouConfig.href); 1766 } else { 1767 window.location.href = thankYouConfig.href; 1768 } 1769 }, 2500); 1770} 1771 1772// Add fun little check mark animation 1773function showSuccessAnim(formContainer) { 1774 const el = formContainer.querySelector('#form_container'); 1775 el.classList.add('success-active'); 1776
1777 let overlay = formContainer.querySelector('.success-overlay'); 1778 if (!overlay) { 1779 overlay = document.createElement('div'); 1780 overlay.className = 'success-overlay'; 1781 overlay.role = 'status'; 1782 overlay.ariaLive = 'polite'; 1783 overlay.innerHTML = ` 1784 <div class="success-wrap title"> 1785 <svg class="success-icon" viewBox="0 0 120 120" aria-hidden="true" focusable="false"> 1786 <circle class="circle" cx="60" cy="60" r="54"></circle> 1787 <path class="check" d="M36 62 L54 80 L86 44"></path> 1788 </svg> 1789 <div style="font-size: 24px;"> 1790 <br>Thank you for contacting us. 1791 <br>We will get back to you as soon as possible. 1792 </div> 1793 </div>`; 1794 el.appendChild(overlay); 1795 } 1796 overlay.classList.add('show'); 1797 return handleThankyouRedirect(); 1798} 1799 1800function enableFormFields(formContainer) { 1801 Object.values(FORM_FIELDS).forEach(field => { 1802 const fieldElement = formContainer.querySelector(`#${field.id}`); 1803 if (fieldElement) { 1804 fieldElement.disabled = false; 1805 } 1806 }); 1807} 1808 1809function disableFormFields(formContainer) { 1810 Object.values(FORM_FIELDS).forEach(field => { 1811 const fieldElement = formContainer.querySelector(`#${field.id}`); 1812 if (fieldElement) { 1813 fieldElement.disabled = true; 1814 } 1815 }); 1816} 1817 1818function showSubmissionError(errMsg = false, formContainer) { 1819 if (!errMsg) { 1820 errMsg = 1821 'There was an error sending your message. If you have an adblocker turned on, please disable it and try again. Otherwise please try again later.'; 1822 } 1823 $(ID_CONTACT_FORM_STATUS_MESSAGE, formContainer).empty(); 1824 $(ID_FORM_SUCCESS, formContainer).hide(); 1825 $(ID_CONTACT_FORM_STATUS_MESSAGE, formContainer).html(`<div class="errormsg">${errMsg}</div>`); 1826 const submitButtonText = data?.submit_button_text || 'Submit'; 1827 const $submitButton = $(`#${ID_SUBMIT_BUTTON}`, formContainer); 1828 $submitButton.text(submitButtonText).prop('disabled', false); 1829 1830 // Re-enable form fields on error 1831 enableFormFields(formContainer); 1832 1833 try { 1834 if (formContainer._recaptchaWidgetId === null) { 1835 return; 1836 } 1837 setTimeout(() => grecaptcha.enterprise.reset(formContainer._recaptchaWidgetId), 0); 1838 } catch (err) {} 1839} 1840 1841function clearFieldError(field, formContainer) { 1842 $(field.jqueryId, formContainer).removeClass('error'); 1843 $(field.jqueryId, formContainer).closest(`.${CLASS_FORM_FIELD_WRAPPER}, .opt-in-section`).next('.errormsg').remove(); 1844 const fieldElement = formContainer.querySelector(`#${field.id}`); 1845 if (fieldElement) { 1846 fieldElement.removeAttribute('aria-invalid'); 1847 fieldElement.removeAttribute('aria-describedby'); 1848 } 1849} 1850 1851function clearFormMessages(formContainer) { 1852 $(ID_FORM_SUCCESS, formContainer).hide(); 1853 $(ID_CONTACT_FORM_STATUS_MESSAGE, formContainer).empty(); 1854 1855 Object.values(FORM_FIELDS).forEach(field => { 1856 clearFieldError(field, formContainer); 1857 }); 1858} 1859 1860/** 1861 * Payload will look something like { mh_contact_us_first_name: 'John', ... } 1862 * It should be casted to { first_name: 'John', ... } before submitting to the leads.multihub.io 1863 * Need to iterate over the FORM_FIELDS and cast the payload accordingly. 1864 * If there is no matching key, just keep the original key. 1865 * @param {*} payload 1866 */ 1867function castPayload(payload) { 1868 const submitPayload = {}; 1869 Object.keys(payload).forEach(key => { 1870 const field = Object.values(FORM_FIELDS).find(field => field.id === key); 1871 submitPayload[field?.payloadKey || key] = payload[key]; 1872 }); 1873 return submitPayload; 1874} 1875 1876function attachErrorMessage(field, formContainer) { 1877 const errorMessage = field.errorMessage; 1878 const fieldElement = formContainer.querySelector(`#${field.id}`); 1879 const errorId = `${field.id}-error`; 1880 1881 $(field.jqueryId, formContainer).addClass('error'); 1882 1883 // Add aria-invalid attribute 1884 if (fieldElement) { 1885 fieldElement.setAttribute('aria-invalid', 'true'); 1886 if (errorMessage) { 1887 fieldElement.setAttribute('aria-describedby', errorId); 1888 } 1889 } 1890 1891 if (!errorMessage) { 1892 return; 1893 } 1894 1895 // Check if error message already exists to avoid duplicates 1896 const $wrapper = $(field.jqueryId, formContainer).closest('.form-field-wrapper, .opt-in-section'); 1897 if ($wrapper.next('.errormsg').length > 0) return; 1898 1899 // Insert error message after the wrapper 1900 // This keeps the label position stable since it's relative to the wrapper 1901 $wrapper.after(`<div class="errormsg" id="${errorId}">${errorMessage}</div>`); 1902} 1903 1904function validatePayload(payload, formContainer) { 1905 let fieldErrors = false;
1906 let firstErrorField = null; 1907 Object.values(FORM_FIELDS).forEach(field => { 1908 let fieldError = false; 1909 // Check for missing required fields 1910 if (field.required && !payload[field.id]) { 1911 fieldError = true; 1912 } 1913 // Check for invalid fields 1914 if (!fieldError && field.validator && !field.validator(payload[field.id])) { 1915 fieldError = true; 1916 } 1917 // No errors, move on. 1918 if (!fieldError) { 1919 return; 1920 } 1921 1922 // If there are errors, add the error message to the field and set the fieldErrors flag to true 1923 fieldErrors = true; 1924 attachErrorMessage(field, formContainer); 1925 // Track the first error field for focus management 1926 if (!firstErrorField) { 1927 firstErrorField = field.id; 1928 } 1929 }); 1930 1931 // Set focus to the first field with an error 1932 if (firstErrorField) { 1933 const firstErrorElement = formContainer.querySelector(`#${firstErrorField}`); 1934 if (firstErrorElement) { 1935 firstErrorElement.focus(); 1936 } 1937 } 1938 1939 return fieldErrors; 1940} 1941 1942// Resize Observer for responsive form behavior 1943function initResponsiveForm() { 1944 const formContainer = container.querySelector('#multihub_contact_us'); 1945 if (!formContainer) return; 1946 1947 // Function to update responsive classes based on form width 1948 function updateResponsiveClasses(width) { 1949 // Remove existing responsive classes 1950 formContainer.classList.remove('small', 'medium', 'large'); 1951 1952 // Add appropriate class based on width 1953 if (width < RESPONSIVE_BREAKPOINTS.MOBILE) { 1954 formContainer.classList.add('small'); 1955 } else if (width < RESPONSIVE_BREAKPOINTS.TABLET) { 1956 formContainer.classList.add('medium'); 1957 } else { 1958 formContainer.classList.add('large'); 1959 } 1960 } 1961 1962 // Initial check 1963 const initialWidth = formContainer.offsetWidth; 1964 updateResponsiveClasses(initialWidth); 1965 1966 // Set up ResizeObserver 1967 if (window.ResizeObserver) { 1968 const resizeObserver = new ResizeObserver(entries => { 1969 for (let entry of entries) { 1970 const width = entry.contentRect.width; 1971 updateResponsiveClasses(width); 1972 } 1973 }); 1974 1975 resizeObserver.observe(formContainer); 1976 1977 // Store observer reference for cleanup if needed 1978 formContainer._resizeObserver = resizeObserver; 1979 } else { 1980 // Fallback for browsers without ResizeObserver 1981 console.warn('ResizeObserver not supported, using window resize fallback'); 1982 1983 let resizeTimeout; 1984 const handleResize = () => { 1985 clearTimeout(resizeTimeout); 1986 resizeTimeout = setTimeout(() => { 1987 const width = formContainer.offsetWidth; 1988 updateResponsiveClasses(width); 1989 }, 100); 1990 }; 1991 1992 window.addEventListener('resize', handleResize); 1993 1994 // Store cleanup function 1995 formContainer._resizeCleanup = () => { 1996 window.removeEventListener('resize', handleResize); 1997 }; 1998 } 1999} 2000 2001// Initialize responsive behavior when DOM is ready 2002if (document.readyState === 'loading') { 2003 document.addEventListener('DOMContentLoaded', initResponsiveForm); 2004} else { 2005 initResponsiveForm(); 2006} 2007 2008// Real-time validation for message field character limit 2009function initMessageCharacterLimit() { 2010 const messageField = container.querySelector(`#${FORM_FIELDS.MESSAGE.id}`); 2011 if (!messageField) return; 2012 if (messageField.tagName !== 'TEXTAREA') return; 2013 2014 // We explicitly set inline height with !important to beat the shared 2015 // `.repli_field { height: 50px !important; }` rule so textarea can 2016 // auto-grow up to max height, then switch to internal scrolling. 2017 const resizeMessageField = () => { 2018 messageField.style.setProperty('height', 'auto', 'important'); 2019 const nextHeight = Math.max(messageField.scrollHeight, MESSAGE_MIN_HEIGHT); 2020 messageField.style.setProperty('height', `${Math.min(nextHeight, MESSAGE_MAX_HEIGHT)}px`, 'important'); 2021 messageField.style.overflowY = nextHeight > MESSAGE_MAX_HEIGHT ? 'auto' : 'hidden'; 2022 }; 2023 2024 2025 messageField.addEventListener('input', () => { 2026 const field = FORM_FIELDS.MESSAGE; 2027 const isAtLimit = messageField.value.length >= MESSAGE_MAX_LENGTH; 2028 2029 if (isAtLimit) { 2030 attachErrorMessage(field, container); 2031 } else { 2032 clearFieldError(field, container); 2033 } 2034 2035 resizeMessageField(); 2036 }); 2037 2038 resizeMessageField(); 2039} 2040 2041// Initialize character limit validation when DOM is ready 2042if (document.readyState === 'loading') { 2043 document.addEventListener('DOMContentLoaded', initMessageCharacterLimit); 2044} else { 2045 initMessageCharacterLimit(); 2046} 2047 2048// Live phone formatting: strip non-digits, cap at 10, and format as (123) 456-7890 2049// as the user types, preserving the caret position across the reformat. 2050function initPhoneFormatting() { 2051 const phoneField = container.querySelector(`#${FORM_FIELDS.PHONE_NO.id}`); 2052 if (!phoneField) return; 2053 2054 phoneField.addEventListener('input', e => { 2055 const el = e.target; 2056 2057 // Count digits before the caret so we can restore the equivalent position 2058 // after reformatting (separators shift character indexes around). 2059 const selStart = el.selectionStart ?? el.value.length; 2060 2061 // Drop any leading 0s and 1s: a US area code never starts with either, so 2062 // this both stops users typing (012) ... and strips an autofilled country 2063 // code before the 10-digit cap can eat the last digit instead. 2064 const inputDigits = stripNonDigits(el.value);
2065 const kept = stripPhonePrefix(inputDigits); 2066 const digits = kept.slice(0, 10); 2067 const formatted = formatPhoneDisplay(digits); 2068 2069 // Discount the dropped prefix digits when restoring the caret. 2070 const droppedLeading = inputDigits.length - kept.length; 2071 const digitsBeforeCursor = Math.min( 2072 Math.max(stripNonDigits(el.value.slice(0, selStart)).length - droppedLeading, 0), 2073 digits.length, 2074 ); 2075 el.value = formatted; 2076 2077 let pos = 0; 2078 let seen = 0; 2079 while (pos < formatted.length && seen < digitsBeforeCursor) { 2080 if (/\d/.test(formatted[pos])) seen++; 2081 pos++; 2082 } 2083 el.setSelectionRange(pos, pos); 2084 }); 2085} 2086 2087// Initialize phone formatting when DOM is ready 2088if (document.readyState === 'loading') { 2089 document.addEventListener('DOMContentLoaded', initPhoneFormatting); 2090} else { 2091 initPhoneFormatting(); 2092} 2093 2094// Widget can pass variables that will be set in CSS Variables 2095const CSS_VAR_MAPPINGS = { 2096 color_input_border: { 2097 cssVar: '--mh-border', 2098 }, 2099 color_input_border_focus: { 2100 cssVar: '--mh-border-focus', 2101 }, 2102 border_thickness: { 2103 cssVar: '--mh-border-thickness', 2104 unit: 'px', 2105 }, 2106 // add more as needed ... 2107}; 2108 2109// Generic handler - works for any color in the mapping 2110if (data?.config) { 2111 const multihubContactUsElement = container.querySelector('#multihub_contact_us'); 2112 if (multihubContactUsElement) { 2113 Object.entries(CSS_VAR_MAPPINGS).forEach(([configKey, cssVar]) => { 2114 if (data.config[configKey]) { 2115 const cssConfig = CSS_VAR_MAPPINGS[configKey]; 2116 const value = data.config[configKey] + (cssConfig.unit ? cssConfig.unit : ''); 2117 multihubContactUsElement.style.setProperty(cssConfig.cssVar, value); 2118 2119 // When border-thickness is updated, also update border-thickness-focus 2120 if (configKey === 'border_thickness') { 2121 const focusValue = `calc(${value} + 2px)`; 2122 multihubContactUsElement.style.setProperty('--mh-border-thickness-focus', focusValue); 2123 } 2124 } 2125 }); 2126 } 2127} 2128 2129function mhContactUs_formSubmitHandler(formContainer) { 2130 // Clear previous error messages and reset state 2131 clearFormMessages(formContainer); 2132 const formPayload = {}; 2133 const formElement = formContainer.querySelector(`#${ID_CONTACT_FORM}`); 2134 const submitButton = formContainer.querySelector(`#${ID_SUBMIT_BUTTON}`); 2135 2136 // Construct form payload object 2137 const formData = new FormData(formElement); 2138 formData.forEach((value, key) => { 2139 formPayload[key] = $.trim(value); 2140 }); 2141 // Submit the phone as raw 10 digits so downstream routers get a clean value, 2142 // independent of the (123) 456-7890 display formatting. 2143 if (formPayload[FORM_FIELDS.PHONE_NO.id]) { 2144 formPayload[FORM_FIELDS.PHONE_NO.id] = stripNonDigits(formPayload[FORM_FIELDS.PHONE_NO.id]); 2145 } 2146 // Validate the payload 2147 const fieldErrors = validatePayload(formPayload, formContainer); 2148 // Check for form field errors and assert mh_leads script is active. 2149 if (fieldErrors) { 2150 return showSubmissionError('Please address the errors above', formContainer); 2151 } 2152 if (!window?.__mh_leads__?.submitAsync) { 2153 return showSubmissionError('This form was misconfigured, please try again later', formContainer); 2154 } 2155 2156 // Coerce opt-in to boolean after validation (FormData omits unchecked checkboxes) 2157 if (optInEnabled) { 2158 formPayload[FORM_FIELDS.OPT_IN.id] = formPayload[FORM_FIELDS.OPT_IN.id] === 'on'; 2159 } 2160 2161 // Set button to loading state 2162 if (submitButton) { 2163 submitButton.disabled = true; 2164 submitButton.textContent = 'Submitting...'; 2165 submitButton.setAttribute('aria-busy', 'true'); 2166 } 2167 2168 // Disable all form fields during submission 2169 disableFormFields(formContainer); 2170 2171 // Build the addition lead data and submit to leads.multihub.io 2172 const additionalData = { widget: MULTIHUB_WIDGET_NAME, lead_type: MULTIHUB_LEAD_TYPE }; 2173 const payload = castPayload(formPayload); 2174 2175 window.__mh_leads__ 2176 .submitAsync(payload, additionalData) 2177 // Verify response and show success/error accordingly 2178 .then(response => { 2179 if (response?.success === true) { 2180 // On success, keep fields disabled and show success animation 2181 return showSuccessAnim(formContainer); 2182 } 2183 if (response?.success !== true) { 2184 // On error, re-enable fields and show error 2185 return showSubmissionError('There was an error sending your message. If you have an adblocker turned on, please disable it and try again. Otherwise please try again later.', formContainer); 2186 } 2187 }) 2188 // Catch unhandled exceptions 2189 .catch(err => { 2190 // On error, re-enable fields and show error 2191 showSubmissionError('There was an error sending your message. If you have an adblocker turned on, please disable it and try again. Otherwise please try again later.', formContainer); 2192 }) 2193 // Reset button state only on error (success overlay keeps everything disabled) 2194 .finally(() => { 2195 // Don't re-enable on success - the success overlay is showing 2196 // Fields and button are only re-enabled in showSubmissionError() 2197 }); 2198}; 2199 }; 2200</script>
2200 2201
2202<script> 2203 window.customWidgetsFunctions["750a6abf74f04b329d41b87b7516ad28~82"] = function (element, data, api) { 2204 const SPECIAL_OFFER_COLLECTION_NAME = 'Special Offers Collection'; 2205const DEFAULT_SPECIAL_OFFER_TITLE = 'Limited Time Move-In Special Available!'; 2206const PLACEHOLDER_TITLE = 'No special offer set'; 2207const env = dmAPI?.getCurrentEnvironment?.() || 'live'; 2208const isEditor = env === 'editor'; 2209const editorLayoutLabel = element?.querySelector('.inEditorEditLayout'); 2210if (editorLayoutLabel) editorLayoutLabel.style.display = isEditor ? '' : 'none'; 2211 2212// Widget and collections can have funky html. Thanks Duda. 2213function stripDudaHtml(str) { 2214 // Early return for empty/undefined values 2215 if (!str || typeof str === 'undefined') return ''; 2216 2217 // Strip all <p class="rteBlock"> and </p> tags 2218 let text = str.replace(/<p class="rteBlock">/g, '').replace(/<\/p>/g, ''); 2219 2220 // Recursively clean if there are still closing tags (shouldn't happen but just in case) 2221 if (text.includes('</p>')) { 2222 return stripDudaHtml(text); 2223 } 2224 2225 // Return empty if only contains <br> tag 2226 if (text.trim() === '<br>') { 2227 return ''; 2228 } 2229 2230 return text; 2231} 2232 2233/** 2234 * Formats the special offer title from collection data. Example formats: 2235 * - "Specials" 2236 * - "Discounts" 2237 * - "1 Month Free" 2238 * - "2 Months Free", etc. 2239 * Note: Config title check is now handled by caller before this function is called. 2240 */ 2241const formatSpecialOfferTitle = (title) => { 2242 let formattedTitle = stripDudaHtml(title); 2243 if (!formattedTitle) return ''; 2244 2245 const lowerTitle = formattedTitle.toLowerCase(); 2246 2247 // If title is non-descriptive, use a default title 2248 if (lowerTitle === 'specials' || lowerTitle === 'discounts') { 2249 return DEFAULT_SPECIAL_OFFER_TITLE; 2250 } 2251 2252 // Only add "Move-in special:" prefix for "X Month(s) Free" format 2253 // this is a common format for Apts.com special offers 2254 if (/^\d+\s+months?\s+free$/i.test(formattedTitle)) { 2255 return `Move-in special: ${formattedTitle}`; 2256 } 2257 2258 return formattedTitle; 2259}; 2260 2261/** 2262 * Formats the special offer description from collection data. 2263 * Note: Editor placeholder is now handled by caller. 2264 * 2265 * Example input formats from collection: 2266 * - "Move-in Special\n Get 1 month FREE + waived app/admin fee!" 2267 * - "Limited Time Only\n Move into a 2-bedroom home by July to get 1 month FREE!" 2268 */ 2269const formatSpecialOfferDescription = (description) => { 2270 let formattedDescription = stripDudaHtml(description || ''); 2271 if (!formattedDescription) return ''; 2272 2273 // Handle both literal \n (as string) and actual newlines
2274 let formatted = formattedDescription.replace(/\\n/g, '\n'); // Convert literal \n to actual newlines 2275 // Split on newlines and filter out empty lines 2276 const lines = formatted 2277 .split('\n') 2278 .map(line => line.trim()) 2279 .filter(line => line); 2280 2281 if (lines.length === 0) return ''; 2282 2283 // Handle edge cases... 2284 if (lines.length === 1 || lines[0] === lines[1]) return lines[0]; 2285 2286 // Take first line as title, rest as description 2287 const titleLine = lines[0]; 2288 const descriptionLines = lines.slice(1).join('<br>'); 2289 return `<strong>${titleLine}:</strong> ${descriptionLines}`; 2290}; 2291 2292const loadWidgetData = async isReRun => { 2293 // If the DM API is not set try again in 500ms 2294 if (!dmAPI || !dmAPI?.loadCollectionsAPI) { 2295 if (isReRun) { 2296 return; 2297 } 2298 setTimeout(() => { 2299 loadWidgetData(true); 2300 }, 500); 2301 return; 2302 } 2303 2304 // New data resolution logic: config first, then collection fallback 2305 const fallbackToCollection = data.config.fallbackToCollection !== false; // default true 2306 2307 var check_by_date = data.config.check_by_date; 2308 2309 // Resolve all display values: config first, collection fallback if enabled 2310 // Stale date defaults from old widget versions â may need these if old configs persist 2311 // const STALE_DEFAULT_DATE_FROM = '08/19/2021'; 2312 // const STALE_DEFAULT_DATE_TO = '12/31/2021'; 2313 let title = stripDudaHtml(data.config.sliderTitle); 2314 let description = stripDudaHtml(data.config.sliderDescription); 2315 let sliderDisclaimer = stripDudaHtml(data.config.sliderDisclaimer || ''); 2316 // check_by_date enabled: config dates only. Disabled: collection dates if available, otherwise no date gating. 2317 let dateFrom = check_by_date ? data.config.dateFrom : null; 2318 let dateTo = check_by_date ? data.config.dateTo : null; 2319 2320 async function getCollectionOffer() { 2321 try { 2322 const collectionsApi = await dmAPI.loadCollectionsAPI(); 2323 if (collectionsApi) { 2324 const specialOffers = await collectionsApi.data(SPECIAL_OFFER_COLLECTION_NAME).get(); 2325 return specialOffers?.values?.[0]?.data; 2326 } 2327 return null; 2328 } catch (error) { 2329 console.error('Error getting collection offer:', error); 2330 return null; 2331 } 2332 } 2333 2334 if (fallbackToCollection && (!title || !description || !sliderDisclaimer || !dateFrom || !dateTo)) { 2335 const offer = await getCollectionOffer(); 2336 if (offer) { 2337 if (isEditor) console.log('SPECIAL_OFFER collection offer:', offer); 2338 if (!title && offer.title) title = formatSpecialOfferTitle(offer.title); 2339 if (!description && offer.description) description = formatSpecialOfferDescription(offer.description); 2340 if (!sliderDisclaimer && offer.disclaimer) sliderDisclaimer = stripDudaHtml(offer.disclaimer); 2341 if (!check_by_date) { 2342 if (!dateFrom && offer.start_date) dateFrom = offer.start_date; 2343 if (!dateTo && offer.end_date) dateTo = offer.end_date; 2344 } 2345 } 2346 } 2347 2348 // Check if we have displayable content from config or collection 2349 const hasOffer = !!title || !!description; 2350 2351 // Final fallback to placeholders (EDITOR ONLY) 2352 // On live site, if no data found, widget will be hidden 2353 if (!title || !description) { 2354 if (isEditor) { 2355 if (!title) title = PLACEHOLDER_TITLE; 2356 } else if (!hasOffer) { 2357 return; 2358 } 2359 } 2360 2361 let layout = data.config.layout; 2362 let animated_effect = false; 2363 let showOn = data.config.showOn; 2364 var checkHomePage = false; 2365 var always_fixed = data.config.always_fixed; 2366 2367 function normalizeTheme2HeaderHeight() { 2368 if (layout != 'theme2') return; 2369 const headerWrapper = $(element).find('.headerWrapper')[0]; 2370 if (!headerWrapper?.style) return; 2371 // Old/stale Duda design configs can persist fixed heights and clip disclaimer text. 2372 headerWrapper.style.setProperty('height', 'auto', 'important'); 2373 headerWrapper.style.setProperty('max-height', 'none', 'important'); 2374 } 2375 2376 if (isEditor) { 2377 console.log('SPECIAL_OFFER', { title, description, sliderDisclaimer, hasOffer, isEditor, data, fallbackToCollection }); 2378 } 2379 2380 function parseDate(value) { 2381 if (!value) return null; 2382 const cleaned = removeExtra(value); 2383 if (!cleaned) return null; 2384 const date = new Date(cleaned); 2385 if (isNaN(date.getTime())) return null; 2386 return date; 2387 } 2388 2389 let today = new Date(); 2390 2391 var putcontentohtml = true; 2392 if (!isEditor && (dateFrom || dateTo)) { 2393 let from = parseDate(dateFrom); 2394 let to = parseDate(dateTo); 2395 if (from && today < from) putcontentohtml = false;
2396 if (to && today > to) putcontentohtml = false; 2397 } 2398 2399 if (putcontentohtml) { 2400 if (layout == 'theme1') { 2401 $(element).find('.wrap .title').html(title); 2402 $(element).find('.wrap .description').html(description); 2403 } else if (layout == 'drop_theme') { 2404 const $dropThemeContent = $(element).find('.offerpopup_advancedversion_v4_contant'); 2405 $(element).find('.offerpopup_advancedversion_v4_main_heading').html(title); 2406 if (!description) { 2407 $(element).find('.offerpopup_advancedversion_v4_para').remove(); 2408 $dropThemeContent.addClass('no-description'); 2409 } else { 2410 $(element).find('.offerpopup_advancedversion_v4_para').html(description); 2411 $dropThemeContent.removeClass('no-description'); 2412 } 2413 } else { 2414 if (!title) { 2415 $(element).find('.headerWrapper .header-title').remove(); 2416 } else { 2417 $(element).find('.headerWrapper .header-title').html(title); 2418 } 2419 2420 $(element).find('.headerWrapper .header-subtitle').html(description); 2421 } 2422 2423 const $disclaimer = $(element).find('.special-offer-disclaimer'); 2424 if (!sliderDisclaimer) { 2425 $disclaimer.html('').hide(); 2426 } else { 2427 $disclaimer.html(sliderDisclaimer).show(); 2428 } 2429 normalizeTheme2HeaderHeight(); 2430 } 2431 2432 if (showOn == 'home') { 2433 checkHomePage = true; 2434 } 2435 2436 const UrlPath = window.location.pathname; 2437 if ( 2438 (checkHomePage && (UrlPath == '/' || UrlPath == '' || UrlPath == 'home' || UrlPath == '/home')) || 2439 !checkHomePage || 2440 isEditor 2441 ) { 2442 $(element).find('.widget-b1e662').show(); 2443 if (data.config.animated_effect != undefined) { 2444 animated_effect = data.config.animated_effect; 2445 } 2446 let innerHeight = 0; 2447 if (layout == 'drop_theme') { 2448 innerHeight = $(element).find('.offerpopup_advancedversion_v4').children().length; 2449 console.log('innerHeight', $(element).find('.offerpopup_advancedversion_v4').children()); 2450 } else { 2451 innerHeight = $(element).find('.headerWrapper').children().length; 2452 console.log('innerHeight', $(element).find('.headerWrapper').children()); 2453 } 2454 2455 let isFadeOut = data.config.isFadeOut; 2456 2457 let dd = String(today.getDate()).padStart(2, ''); 2458 let mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0! 2459 let yyyy = today.getFullYear(); 2460 2461 let sliderDescription = data.config.sliderDescription; 2462 let onlyTextDescription = removeTags(sliderDescription); 2463 if (onlyTextDescription == '' && !description) { 2464 $(element).find('.header-subtitle').remove(); 2465 } 2466 var initialPadding = true; 2467 var currentVScroll = window.scrollY; 2468 if (currentVScroll > 100) { 2469 initialPadding = false; 2470 } 2471 //alert(currentVScroll); 2472 2473 //CURRENT DATE 2474 // today = mm + '/' + dd + '/' + yyyy; 2475 2476 //auto pop 2477 var autopop = data.config.autopop; 2478 var autopop_time = data.config.autopop_time; 2479 2480 if (data.config.autopop_time == undefined || data.config.autopop_time == '') autopop_time = 1000; 2481 2482 var closeonclosebtn = true; 2483 2484 $(element) 2485 .find('.open') 2486 .click(function () { 2487 $(element).find('#slideit section').css('transform', 'translateY(0%)'); 2488 }); 2489 2490 $(element) 2491 .find('.close') 2492 .click(function () { 2493 $(element).find('#slideit section').css('transform', 'translateY(100%)'); 2494 }); 2495 if (layout == 'theme2' && isEditor) { 2496 $('body').addClass('SpecialOfferTabOpen'); 2497 } 2498 let containerHeight = 0; 2499 let newcontainerHeight = 0; 2500 var setautopopsh = (showpopup_by_date = false); 2501 if (!isEditor) { 2502 showpopup_by_date = putcontentohtml; 2503 if (showpopup_by_date) { 2504 if (layout == 'theme2') { 2505 ///body add class for offer popup theme 2 2506 $('body').addClass('SpecialOfferPopupExist'); 2507 normalizeTheme2HeaderHeight(); 2508 if (autopop) { 2509 containerHeight = $(element).find('.headerWrapper').outerHeight(); 2510 //let containerHeight = $(element).find(".headerWrapper").innerHeight(); 2511 $(element).find('.headerWrapper').css('display', 'none'); 2512 2513 setTimeout(function () { 2514 $('body').addClass('SpecialOfferTabOpen'); 2515 if ($(element).find('.headerWrapper').find('a')) { 2516 $(element).find('.headerWrapper').find('a').addClass('header-anchor'); 2517 } 2518 containerHeight = $(element).find('.headerWrapper').outerHeight(); 2519 //containerHeight = $(element).find(".headerWrapper").innerHeight(); 2520 containerHeight = parseInt(containerHeight); 2521 //let containerHeight = data.device != "mobile" ? $(element).find(".headerWrapper").outerHeight() : parseInt($(element).find(".headerWrapper").outerHeight()) + parseInt($("#hamburger-header-container").outerHeight()); 2522 //console.log(containerHeight, "height"); 2523 setautopopsh = true; 2524 if ($(window).scrollTop() < 100 && parseInt(innerHeight) > 0) { 2525 $(element).find('.headerWrapper').css('display', 'block'); 2526 containerHeight = $(element).find('.headerWrapper').outerHeight(); 2527 containerHeight = parseInt(containerHeight); 2528 2529 if (initialPadding) { 2530 //console.log(containerHeight); 2531 $('#site_content').css('padding-top', `${containerHeight}px`); 2532 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2533 'transform', 2534 `translateY(${$(element).find('.headerWrapper').outerHeight()}px)` 2535 ); 2536 } 2537 } 2538 }, autopop_time); 2539 } else { 2540 $('body').addClass('SpecialOfferTabOpen'); 2541 setautopopsh = true; 2542 2543 if (parseInt(innerHeight) > 0) $(element).find('.headerWrapper').css('display', 'block'); 2544 2545 if ($(element).find('.headerWrapper').find('a')) { 2546 $(element).find('.headerWrapper').find('a').addClass('header-anchor'); 2547 } 2548 containerHeight = $(element).find('.headerWrapper').outerHeight(); 2549 //containerHeight = $(element).find(".headerWrapper").innerHeight(); 2550 containerHeight = parseInt(containerHeight); 2551 //let containerHeight = data.device != "mobile" ? $(element).find(".headerWrapper").outerHeight() : parseInt($(element).find(".headerWrapper").outerHeight()) + parseInt($("#hamburger-header-container").outerHeight()); 2552 //console.log(containerHeight, "height"); 2553 2554 setTimeout(() => { 2555 if (initialPadding && parseInt(innerHeight) > 0) { 2556 //console.log(containerHeight); 2557 $('#site_content').css('padding-top', `${containerHeight}px`); 2558 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2559 'transform', 2560 `translateY(${$(element).find('.headerWrapper').outerHeight()}px)` 2561 ); 2562 } 2563 }, 300); 2564 } 2565 2566 let showlock = false;
2567 let hidelock = false; 2568 2569 $(window).scroll(function () { 2570 if (containerHeight == 0) { 2571 containerHeight = $(element).find('.headerWrapper').outerHeight(); 2572 //containerHeight = $(element).find(".headerWrapper").innerHeight(); 2573 containerHeight = parseInt(containerHeight); 2574 } 2575 2576 if (closeonclosebtn) { 2577 // if ($(window).scrollTop() >= 100) { 2578 // console.log("scroll theme 2 date"); 2579 // $(element).find(".headerWrapper").hide(); 2580 // $("#site_content").css("padding-top", "0px"); 2581 // $("#hamburger-header-container, .layout-drawer-hamburger").css("transform", "translateY(0px)"); 2582 // } 2583 // else { 2584 // $(element).find(".headerWrapper").show(); 2585 // console.log(containerHeight); 2586 // $("#site_content").css("padding-top", `${containerHeight}px`); 2587 // $("#hamburger-header-container, .layout-drawer-hamburger").css("transform", `translateY(${$(element).find(".headerWrapper").outerHeight()}px)`); 2588 // } 2589 //console.log(closeonclosebtn); 2590 if ($(window).scrollTop() >= 100) { 2591 //console.log("scroll theme 2 hide"); 2592 //$(element).find(".headerWrapper").hide(); 2593 if (animated_effect) { 2594 if (!hidelock) { 2595 $(element).find('.headerWrapper').animate({ height: 0, padding: 0 }, 500); 2596 $('#site_content').animate({ paddingTop: 0 }, 500); 2597 2598 //$("#site_content").css("padding-top", "0px"); 2599 $('#hamburger-header-container, .layout-drawer-hamburger').addClass( 2600 'hamburger-header-container-animate-top' 2601 ); 2602 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 2603 } 2604 hidelock = true; 2605 showlock = false; 2606 } else { 2607 $(element).find('.headerWrapper').hide(); 2608 $('#site_content').css('padding-top', '0px'); 2609 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 2610 } 2611 $('body').removeClass('SpecialOfferTabOpen'); 2612 } else { 2613 //console.log("scroll theme 2 show"); 2614 //$(element).find(".headerWrapper").show(); 2615 if (setautopopsh) { 2616 if (animated_effect) { 2617 //console.log("sechet",containerHeight); 2618 //if(!showlock && $(window).scrollTop() != 0) 2619 if (!showlock) { 2620 $(element).find('.headerWrapper').animate({ height: containerHeight, padding: '20px 50px' }, 500); 2621 $('#site_content').animate({ paddingTop: containerHeight }, 500); 2622 2623 //console.log(containerHeight); 2624 //$("#site_content").css("padding-top", `${containerHeight}px`); 2625 $('#hamburger-header-container, .layout-drawer-hamburger').addClass( 2626 'hamburger-header-container-animate-top' 2627 ); 2628 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2629 'transform', 2630 `translateY(${containerHeight}px)` 2631 ); 2632 } 2633 2634 hidelock = false; 2635 showlock = true; 2636 } else { 2637 if (parseInt(innerHeight) > 0) { 2638 $(element).find('.headerWrapper').css('display', 'block'); 2639 if (autopop) { 2640 containerHeight = $(element).find('.headerWrapper').outerHeight(); 2641 containerHeight = parseInt(containerHeight); 2642 } 2643 $('#site_content').css('padding-top', `${containerHeight}px`); 2644 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2645 'transform', 2646 `translateY(${containerHeight}px)` 2647 ); 2648 } 2649 } 2650 $('body').addClass('SpecialOfferTabOpen'); 2651 } 2652 } 2653 } 2654 });
2655 ////////////////////// 2656 $('.layout-drawer-hamburger').on('click', function () { 2657 var currentVScrollHBMenu = window.scrollY; 2658 2659 //added for mobile device and duda new update 2660 if (data.device === 'mobile') { 2661 //console.log($(this)); 2662 if ( 2663 !$('.layout-drawer-hamburger').hasClass('hamburger-on-header') && 2664 $(element).find('.headerWrapper').hasClass('hideThisOffer') 2665 ) 2666 $(this).toggleClass('hamburger-on-header'); 2667 } 2668 2669 setTimeout(function () { 2670 //console.log(currentVScrollHBMenu); 2671 if ($('.layout-drawer-hamburger').hasClass('hamburger-on-header')) { 2672 //console.log('hide'); 2673 $(element).find('.headerWrapper').removeClass('hideThisOffer'); 2674 $('body').removeClass('hideThisOfferPop'); 2675 // if(currentVScrollHBMenu <= 100 && closeonclosebtn == true) 2676 if (closeonclosebtn == true) { 2677 $('#site_content').animate({ paddingTop: containerHeight }, 500); 2678 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2679 'transform', 2680 `translateY(${containerHeight}px)` 2681 ); 2682 } 2683 2684 if ($(window).scrollTop() >= 100) { 2685 $(window).scrollTop($(window).scrollTop() + 1); 2686 $(window).scrollTop($(window).scrollTop() - 1); 2687 } 2688 } else { 2689 //console.log('show'); 2690 $(element).find('.headerWrapper').addClass('hideThisOffer'); 2691 $('body').addClass('hideThisOfferPop'); 2692 // if(currentVScrollHBMenu <= 100) 2693 // { 2694 $('#site_content').animate({ paddingTop: 0 }, 500); 2695 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 2696 // } 2697 } 2698 }, 100); 2699 }); 2700 2701 ////click on close/////// 2702 $('.SPECIAL-close-btn').click(function () { 2703 closeonclosebtn = false; 2704 2705 if (animated_effect) { 2706 $(element).find('.headerWrapper').animate({ height: 0, padding: 0 }, 500); 2707 $('#site_content').animate({ paddingTop: 0 }, 500); 2708 //$("#site_content").css("padding-top", "0px"); 2709 $('#hamburger-header-container, .layout-drawer-hamburger').addClass( 2710 'hamburger-header-container-animate-top' 2711 ); 2712 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 2713 2714 setTimeout(function () { 2715 $('.SPECIAL-open-btn').show(); 2716 }, 500); 2717 2718 showlock = true; 2719 } else { 2720 $(element).find('.headerWrapper').css('display', 'none'); 2721 $('#site_content').css('padding-top', '0px'); 2722 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 2723 $('.SPECIAL-open-btn').show(); 2724 } 2725 $('body').removeClass('SpecialOfferTabOpen'); 2726 }); 2727 2728 $('.SPECIAL-open-btn').click(function () { 2729 closeonclosebtn = true; 2730 2731 if (animated_effect) { 2732 $(element).find('.headerWrapper').animate({ height: containerHeight, padding: '20px 50px' }, 500); 2733 $('#site_content').animate({ paddingTop: containerHeight }, 500); 2734 2735 //console.log(containerHeight); 2736 //$("#site_content").css("padding-top", `${containerHeight}px`); 2737 $('#hamburger-header-container, .layout-drawer-hamburger').addClass( 2738 'hamburger-header-container-animate-top' 2739 ); 2740 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2741 'transform', 2742 `translateY(${containerHeight}px)` 2743 ); 2744 2745 setTimeout(function () { 2746 $('.SPECIAL-open-btn').hide(); 2747 }, 500); 2748 2749 showlock = false;
2750 } else { 2751 if (parseInt(innerHeight) > 0) { 2752 $(element).find('.headerWrapper').css('display', 'block'); 2753 $('#site_content').css('padding-top', `${containerHeight}px`); 2754 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2755 'transform', 2756 `translateY(${containerHeight}px)` 2757 ); 2758 $('.SPECIAL-open-btn').hide(); 2759 } 2760 } 2761 $('body').addClass('SpecialOfferTabOpen'); 2762 }); 2763 } 2764 if (layout == 'theme1') { 2765 $(element).find('#slideit').show(); 2766 $('#site_content').css('padding-top', '0px'); 2767 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 2768 2769 if (autopop) { 2770 setTimeout(() => { 2771 $(element).find('#slideit section').css('transform', 'translateY(0%)'); 2772 }, autopop_time); 2773 } 2774 2775 if (isFadeOut) { 2776 fadeOutOnScroll(); 2777 } 2778 } 2779 if (layout == 'drop_theme') { 2780 //first load time 2781 containerHeight = $(element).find('.offerpopup_advancedversion_v4').outerHeight(); 2782 var fixedinnerheight = parseInt(containerHeight); //for fixed effect 2783 if (autopop) { 2784 //$(element).find(".offerpopup_advancedversion_v4").css('display','none'); 2785 setTimeout(() => { 2786 if (parseInt(innerHeight) > 0) { 2787 if ($(window).scrollTop() < 100 || always_fixed) { 2788 $(element).find('.offerpopup_advancedversion_v4').css('display', 'block'); 2789 2790 containerHeight = $(element).find('.offerpopup_advancedversion_v4').outerHeight(); 2791 containerHeight = parseInt(containerHeight); 2792 fixedinnerheight = containerHeight; 2793 2794 $('#site_content').css('padding-top', `${containerHeight}px`); 2795 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2796 'transform', 2797 `translateY(${containerHeight}px)` 2798 ); 2799 $('body').addClass('SpecialOfferPopupOpen_T3'); 2800 } 2801 } 2802 }, autopop_time); 2803 } else { 2804 if (parseInt(innerHeight) > 0) $(element).find('.offerpopup_advancedversion_v4').css('display', 'block'); 2805 2806 containerHeight = $(element).find('.offerpopup_advancedversion_v4').outerHeight(); 2807 containerHeight = parseInt(containerHeight); 2808 fixedinnerheight = containerHeight; 2809 2810 //calculate description height 2811 $(element).find('.offerpopup_advancedversion_v4 .offerpopup_advancedversion_v4_contant').css('opacity', 0); 2812 $(element) 2813 .find('.offerpopup_advancedversion_v4 .offerpopup_advancedversion_v4_contant') 2814 .css('display', 'block'); 2815 newcontainerHeight = $(element).find('.offerpopup_advancedversion_v4').outerHeight(); 2816 newcontainerHeight = parseInt(newcontainerHeight); 2817 $(element) 2818 .find('.offerpopup_advancedversion_v4 .offerpopup_advancedversion_v4_contant') 2819 .css('display', 'none'); 2820 $(element).find('.offerpopup_advancedversion_v4 .offerpopup_advancedversion_v4_contant').css('opacity', 1); 2821 2822 setTimeout(() => { 2823 if (parseInt(innerHeight) > 0) { 2824 if (initialPadding || always_fixed) { 2825 $('#site_content').css('padding-top', `${containerHeight}px`); 2826 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2827 'transform', 2828 `translateY(${containerHeight}px)` 2829 ); 2830 $('body').addClass('SpecialOfferPopupOpen_T3'); 2831 } 2832 } 2833 }, 100); 2834 } 2835 2836 //on window scroll effect 2837 $(window).scroll(function () { 2838 containerHeight = $(element).find('.offerpopup_advancedversion_v4').outerHeight(); 2839 containerHeight = parseInt(containerHeight); 2840 2841 $('#hamburger-header-container, .layout-drawer-hamburger').removeClass( 2842 'hamburger-header-container-animate-top' 2843 ); 2844 2845 if (always_fixed) { 2846 if ( 2847 $(window).scrollTop() >= 100 && 2848 $(element).find('.offerpopup_advancedversion_v4').hasClass('DescriptionOpen') 2849 ) { 2850 $(element).find('.offerpopup_advancedversion_v4_icon').trigger('click'); 2851 } 2852 } else { 2853 if ($(window).scrollTop() >= 100) { 2854 $(element).find('.offerpopup_advancedversion_v4').hide(); 2855 $('#site_content').css('padding-top', '0px'); 2856 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 2857 $('body').removeClass('SpecialOfferPopupOpen_T3'); 2858 2859 turnOFFdescription(); 2860 } else { 2861 if (parseInt(innerHeight) > 0) { 2862 $(element).find('.offerpopup_advancedversion_v4').css('display', 'block'); 2863 $('#site_content').css('padding-top', `${containerHeight}px`); 2864 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2865 'transform', 2866 `translateY(${containerHeight}px)` 2867 ); 2868 $('body').addClass('SpecialOfferPopupOpen_T3'); 2869 } 2870 } 2871 } 2872 }); 2873 2874 //click on toggle 2875 $(element) 2876 .find('.offerpopup_advancedversion_v4_icon, .offerpopup_advancedversion_v4_main_heading') 2877 .on('click', function () { 2878 $(element).find('.offerpopup_advancedversion_v4_contant').stop().slideToggle(500, 'swing'); 2879 $(element).find('.offerpopup_advancedversion_v4').toggleClass('DescriptionOpen'); 2880 $('#hamburger-header-container, .layout-drawer-hamburger').addClass( 2881 'hamburger-header-container-animate-top' 2882 ); 2883 2884 if (!$(element).find('.offerpopup_advancedversion_v4').hasClass('DescriptionOpen')) { 2885 if (always_fixed) { 2886 $('#site_content').animate({ paddingTop: fixedinnerheight }, 500); 2887 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2888 'transform', 2889 `translateY(${fixedinnerheight}px)` 2890 ); 2891 } else { 2892 $('#site_content').animate({ paddingTop: containerHeight }, 500); 2893 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2894 'transform', 2895 `translateY(${containerHeight}px)` 2896 ); 2897 } 2898 } else { 2899 if (newcontainerHeight > 0) { 2900 $('#site_content').animate({ paddingTop: newcontainerHeight }, 500); 2901 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2902 'transform', 2903 `translateY(${newcontainerHeight}px)` 2904 ); 2905 } else { 2906 setTimeout(() => { 2907 newcontainerHeight = $(element).find('.offerpopup_advancedversion_v4').outerHeight(); 2908 newcontainerHeight = parseInt(newcontainerHeight); 2909 2910 $('#site_content').animate({ paddingTop: newcontainerHeight }, 500); 2911 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2912 'transform', 2913 `translateY(${newcontainerHeight}px)` 2914 ); 2915 }, 510); 2916 } 2917 } 2918 }); 2919 2920 //click on hamburger 2921 $('.layout-drawer-hamburger').on('click', function () { 2922 var currentVScrollHBMenu = window.scrollY; 2923 2924 setTimeout(function () { 2925 $('#hamburger-header-container, .layout-drawer-hamburger').addClass( 2926 'hamburger-header-container-animate-top' 2927 ); 2928 if ($('.layout-drawer-hamburger').hasClass('hamburgerOPEN')) { 2929 if (currentVScrollHBMenu <= 100 || always_fixed) { 2930 $(element).find('.offerpopup_advancedversion_v4').css('display', 'block'); 2931 containerHeight = $(element).find('.offerpopup_advancedversion_v4').outerHeight(); 2932 containerHeight = parseInt(containerHeight); 2933 $('#site_content').animate({ paddingTop: containerHeight }, 500); 2934 $('#hamburger-header-container, .layout-drawer-hamburger').css( 2935 'transform', 2936 `translateY(${containerHeight}px)` 2937 ); 2938 $('body').addClass('SpecialOfferPopupOpen_T3'); 2939 } 2940 2941 $('.layout-drawer-hamburger').removeClass('hamburgerOPEN'); 2942 } else { 2943 $('.layout-drawer-hamburger').addClass('hamburgerOPEN'); 2944 $(element).find('.offerpopup_advancedversion_v4').hide(); 2945 $('#site_content').animate({ paddingTop: 0 }, 500); 2946 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 2947 $('body').removeClass('SpecialOfferPopupOpen_T3'); 2948 2949 //trunoff the description 2950 if (always_fixed) turnOFFdescription(); 2951 } 2952 }, 200); 2953 }); 2954 } 2955 } else { 2956 $(element).find('.headerWrapper').hide(); 2957 $(element).find('#slideit').hide(); 2958 $(element).find('.offerpopup_advancedversion_v4').hide(); 2959 2960 $('#site_content').css('padding-top', '0px'); 2961 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 2962 2963 //remove the inner content 2964 $(element).find('.headerWrapper').html(''); 2965 $(element).find('#slideit').html(''); 2966 $(element).find('.offerpopup_advancedversion_v4').html(''); 2967 2968 $(window).scroll(function () { 2969 if ($(window).scrollTop() >= 100) { 2970 $(element).find('.headerWrapper').hide(); 2971 $('#site_content').css('padding-top', '0px'); 2972 } 2973 }); 2974 } 2975 2976 function fadeOutOnScroll() { 2977 $(window).scroll(function () { 2978 if ($(window).scrollTop() > 200) { 2979 $(element).find('#slideit').fadeOut(); 2980 } else { 2981 $(element).find('#slideit').fadeIn(); 2982 } 2983 }); 2984 } 2985 } 2986 2987 if (isEditor) { 2988 if (layout == 'theme2') { 2989 $('body').addClass('SpecialOfferPopupExist'); 2990 $(element).find('.headerWrapper').css('display', 'block'); 2991 normalizeTheme2HeaderHeight(); 2992 if ($(element).find('.headerWrapper').find('a')) { 2993 $(element).find('.headerWrapper').find('a').addClass('header-anchor'); 2994 } 2995 let containerHeight = $(element).find('.headerWrapper').outerHeight(); 2996 //let containerHeight = $(element).find(".headerWrapper").innerHeight(); 2997 // let containerHeight = data.device != "mobile" ? $(element).find(".headerWrapper").outerHeight() : parseInt($(element).find(".headerWrapper").outerHeight()) + parseInt($("#hamburger-header-container").outerHeight()); 2998 setTimeout(() => { 2999 containerHeight = $(element).find('.headerWrapper').outerHeight(); 3000 //containerHeight = $(element).find(".headerWrapper").innerHeight(); 3001 containerHeight = parseInt(containerHeight); 3002 if (parseInt(innerHeight) > 0) { 3003 $('#site_content').css('padding-top', `${containerHeight}px`); 3004 $('#hamburger-header-container, .layout-drawer-hamburger').css( 3005 'transform', 3006 `translateY(${$(element).find('.headerWrapper').outerHeight()}px)` 3007 ); 3008 } 3009 }, 500); 3010 let showlock = false;
3011 let hidelock = false; 3012 $(window).scroll(function () { 3013 if (closeonclosebtn) { 3014 if ($(window).scrollTop() >= 100) { 3015 if (animated_effect) { 3016 if (!hidelock) { 3017 $(element).find('.headerWrapper').animate({ height: 0, padding: 0 }, 500); 3018 $('#site_content').animate({ paddingTop: 0 }, 500); 3019 3020 //$("#site_content").css("padding-top", "0px"); 3021 $('#hamburger-header-container, .layout-drawer-hamburger').addClass( 3022 'hamburger-header-container-animate-top' 3023 ); 3024 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 3025 } 3026 hidelock = true; 3027 showlock = false; 3028 } else { 3029 $(element).find('.headerWrapper').css('display', 'none'); 3030 $('#site_content').css('padding-top', '0px'); 3031 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 3032 } 3033 $('body').removeClass('SpecialOfferTabOpen'); 3034 } else { 3035 if (animated_effect) { 3036 if (!showlock) { 3037 $(element).find('.headerWrapper').animate({ height: containerHeight, padding: '20px 50px' }, 500); 3038 $('#site_content').animate({ paddingTop: containerHeight }, 500); 3039 3040 //console.log(containerHeight); 3041 //$("#site_content").css("padding-top", `${containerHeight}px`); 3042 $('#hamburger-header-container, .layout-drawer-hamburger').addClass( 3043 'hamburger-header-container-animate-top' 3044 ); 3045 $('#hamburger-header-container, .layout-drawer-hamburger').css( 3046 'transform', 3047 `translateY(${containerHeight}px)` 3048 ); 3049 } 3050 3051 hidelock = false; 3052 showlock = true; 3053 } else { 3054 //console.log("scroll heigh",containerHeight); 3055 $(element).find('.headerWrapper').css('display', 'block'); 3056 $('#site_content').css('padding-top', `${containerHeight}px`); 3057 $('#hamburger-header-container, .layout-drawer-hamburger').css( 3058 'transform', 3059 `translateY(${containerHeight}px)` 3060 ); 3061 } 3062 $('body').addClass('SpecialOfferTabOpen'); 3063 } 3064 } 3065 }); 3066 3067 ///open close of hamburger menu -- arijit start--- 3068 $('.layout-drawer-hamburger').on('click', function () { 3069 var currentVScrollHBMenu = window.scrollY; 3070 3071 //added for mobile device and duda new update 3072 if (data.device === 'mobile') { 3073 if ($('div#layout-drawer-hamburger').hasClass('hamburger-on-header')) { 3074 $('div#layout-drawer-hamburger').removeClass('hamburger-on-header'); 3075 } else { 3076 $('div#layout-drawer-hamburger').addClass('hamburger-on-header'); 3077 } 3078 //$('div#layout-drawer-hamburger.layout-drawer-hamburger').toggleClass('hamburger-on-header'); 3079 //console.log("check mobile",data.device,$('.layout-drawer-hamburger')); 3080 } 3081 3082 setTimeout(function () { 3083 //console.log(currentVScrollHBMenu); 3084 if ($('.layout-drawer-hamburger').hasClass('hamburger-on-header')) { 3085 //console.log('hide'); 3086 $(element).find('.headerWrapper').removeClass('hideThisOffer'); 3087 $('body').removeClass('hideThisOfferPop'); 3088 // if(currentVScrollHBMenu <= 100 && closeonclosebtn == true) 3089 if (closeonclosebtn == true) { 3090 $('#site_content').animate({ paddingTop: containerHeight }, 500); 3091 $('#hamburger-header-container, .layout-drawer-hamburger').css( 3092 'transform', 3093 `translateY(${containerHeight}px)` 3094 ); 3095 } 3096 } else { 3097 //console.log('show'); 3098 $(element).find('.headerWrapper').addClass('hideThisOffer'); 3099 $('body').addClass('hideThisOfferPop'); 3100 // if(currentVScrollHBMenu <= 100) 3101 // { 3102 $('#site_content').animate({ paddingTop: 0 }, 500); 3103 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 3104 // } 3105 } 3106 }, 200); 3107 }); 3108 ///-arijit end// 3109 3110 ////click on close/////// 3111 $('.SPECIAL-close-btn').click(function () { 3112 closeonclosebtn = false;
3113 3114 if (animated_effect) { 3115 $(element).find('.headerWrapper').animate({ height: 0, padding: 0 }, 500); 3116 $('#site_content').animate({ paddingTop: 0 }, 500); 3117 //$("#site_content").css("padding-top", "0px"); 3118 $('#hamburger-header-container, .layout-drawer-hamburger').addClass( 3119 'hamburger-header-container-animate-top' 3120 ); 3121 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 3122 3123 setTimeout(function () { 3124 $('.SPECIAL-open-btn').show(); 3125 }, 500); 3126 3127 showlock = true; 3128 } else { 3129 $(element).find('.headerWrapper').css('display', 'none'); 3130 $('#site_content').css('padding-top', '0px'); 3131 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 3132 $('.SPECIAL-open-btn').show(); 3133 } 3134 $('body').removeClass('SpecialOfferTabOpen'); 3135 }); 3136 3137 $('.SPECIAL-open-btn').click(function () { 3138 closeonclosebtn = true; 3139 3140 if (animated_effect) { 3141 $(element).find('.headerWrapper').animate({ height: containerHeight, padding: '20px 50px' }, 500); 3142 $('#site_content').animate({ paddingTop: containerHeight }, 500); 3143 3144 //console.log(containerHeight); 3145 //$("#site_content").css("padding-top", `${containerHeight}px`); 3146 $('#hamburger-header-container, .layout-drawer-hamburger').addClass( 3147 'hamburger-header-container-animate-top' 3148 ); 3149 $('#hamburger-header-container, .layout-drawer-hamburger').css( 3150 'transform', 3151 `translateY(${containerHeight}px)` 3152 ); 3153 3154 setTimeout(function () { 3155 $('.SPECIAL-open-btn').hide(); 3156 }, 500); 3157 3158 showlock = false; 3159 } else { 3160 if (parseInt(innerHeight) > 0) { 3161 $(element).find('.headerWrapper').css('display', 'block'); 3162 $('#site_content').css('padding-top', `${containerHeight}px`); 3163 $('#hamburger-header-container, .layout-drawer-hamburger').css( 3164 'transform', 3165 `translateY(${containerHeight}px)` 3166 ); 3167 $('.SPECIAL-open-btn').hide(); 3168 } 3169 } 3170 $('body').addClass('SpecialOfferTabOpen'); 3171 }); 3172 } 3173 if (layout == 'theme1') { 3174 $('#site_content').css('padding-top', '0px'); 3175 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 3176 } 3177 3178 if (layout == 'drop_theme') { 3179 //first load 3180 $(element).find('.offerpopup_advancedversion_v4').css('display', 'block'); 3181 containerHeight = $(element).find('.offerpopup_advancedversion_v4').outerHeight(); 3182 containerHeight = parseInt(containerHeight); 3183 3184 setTimeout(() => { 3185 if (parseInt(innerHeight) > 0) { 3186 if (initialPadding || always_fixed) { 3187 $('#site_content').css('padding-top', `${containerHeight}px`); 3188 $('#hamburger-header-container, .layout-drawer-hamburger').css( 3189 'transform', 3190 `translateY(${containerHeight}px)` 3191 ); 3192 $('body').addClass('SpecialOfferPopupOpen_T3'); 3193 } 3194 } 3195 }, 300); 3196 3197 //on scroll effect 3198 $(window).scroll(function () { 3199 if (always_fixed) { 3200 if ( 3201 $(window).scrollTop() >= 100 && 3202 $(element).find('.offerpopup_advancedversion_v4').hasClass('DescriptionOpen') 3203 ) { 3204 $(element).find('.offerpopup_advancedversion_v4_icon').trigger('click'); 3205 } 3206 } else { 3207 if ($(window).scrollTop() >= 100) { 3208 $(element).find('.offerpopup_advancedversion_v4').hide(); 3209 $('#site_content').css('padding-top', '0px'); 3210 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 3211 $('body').removeClass('SpecialOfferPopupOpen_T3'); 3212 3213 turnOFFdescription(); 3214 } else { 3215 containerHeight = $(element).find('.offerpopup_advancedversion_v4').outerHeight(); 3216 containerHeight = parseInt(containerHeight); 3217 3218 $(element).find('.offerpopup_advancedversion_v4').css('display', 'block'); 3219 $('#site_content').css('padding-top', `${containerHeight}px`); 3220 $('#hamburger-header-container, .layout-drawer-hamburger').css( 3221 'transform', 3222 `translateY(${containerHeight}px)` 3223 ); 3224 $('body').addClass('SpecialOfferPopupOpen_T3'); 3225 } 3226 } 3227 }); 3228 3229 //on click effect 3230 $(element) 3231 .find('.offerpopup_advancedversion_v4_icon, .offerpopup_advancedversion_v4_main_heading') 3232 .on('click', function () { 3233 const $dropdown = $(element).find('.offerpopup_advancedversion_v4'); 3234 const $content = $(element).find('.offerpopup_advancedversion_v4_contant'); 3235 const isOpen = $dropdown.hasClass('DescriptionOpen'); 3236 3237 if (isOpen) { 3238 // Closing - collapse content and animate page back 3239 $content.stop().slideToggle(400, 'swing'); 3240 $dropdown.toggleClass('DescriptionOpen'); 3241 $('#site_content').animate({ paddingTop: containerHeight }, 400); 3242 $('#hamburger-header-container, .layout-drawer-hamburger').css( 3243 'transform', 3244 `translateY(${containerHeight}px)` 3245 ); 3246 } else { 3247 // Opening - measure content height invisibly first 3248 $content.css({ display: 'block', visibility: 'hidden' }); 3249 let measuredHeight = $dropdown.outerHeight(); 3250 $content.css({ display: 'none', visibility: 'visible' }); 3251 3252 // Now animate dropdown open and page shift together 3253 $content.stop().slideToggle(400, 'swing'); 3254 $dropdown.toggleClass('DescriptionOpen'); 3255 $('#site_content').animate({ paddingTop: measuredHeight }, 400); 3256 $('#hamburger-header-container, .layout-drawer-hamburger').css( 3257 'transform', 3258 `translateY(${measuredHeight}px)` 3259 ); 3260 } 3261 }); 3262 3263 //click on hamburger 3264 $('.layout-drawer-hamburger').on('click', function () { 3265 var currentVScrollHBMenu = window.scrollY; 3266 3267 setTimeout(function () { 3268 if ($('.layout-drawer-hamburger').hasClass('hamburgerOPEN')) { 3269 if (currentVScrollHBMenu <= 100 || always_fixed) { 3270 $(element).find('.offerpopup_advancedversion_v4').css('display', 'block'); 3271 containerHeight = $(element).find('.offerpopup_advancedversion_v4').outerHeight(); 3272 containerHeight = parseInt(containerHeight); 3273 $('#site_content').animate({ paddingTop: containerHeight }, 500); 3274 $('#hamburger-header-container, .layout-drawer-hamburger').css( 3275 'transform', 3276 `translateY(${containerHeight}px)` 3277 ); 3278 $('body').addClass('SpecialOfferPopupOpen_T3'); 3279 } 3280 $('.layout-drawer-hamburger').removeClass('hamburgerOPEN'); 3281 } else { 3282 $('.layout-drawer-hamburger').addClass('hamburgerOPEN'); 3283 $(element).find('.offerpopup_advancedversion_v4').hide(); 3284 $('body').removeClass('SpecialOfferPopupOpen_T3'); 3285 $('#site_content').animate({ paddingTop: 0 }, 500); 3286 $('#hamburger-header-container, .layout-drawer-hamburger').css('transform', 'translateY(0px)'); 3287 3288 //trunoff the description 3289 if (always_fixed) turnOFFdescription(); 3290 } 3291 }, 200); 3292 }); 3293 } 3294 } 3295 3296 function removeTags(str) { 3297 if (!str || str === null || str === '') return false;
3298 else str = str.toString(); 3299 3300 // Regular expression to identify HTML tags in 3301 // the input string. Replacing the identified 3302 // HTML tag with a null string. 3303 return str.replace(/(<([^>]+)>)/gi, ''); 3304 } 3305 3306 function turnOFFdescription() { 3307 if ($(element).find('.offerpopup_advancedversion_v4').hasClass('DescriptionOpen')) { 3308 $(element).find('.offerpopup_advancedversion_v4_contant').stop().slideToggle(400, 'swing'); 3309 $(element).find('.offerpopup_advancedversion_v4').toggleClass('DescriptionOpen'); 3310 } 3311 } 3312 } else { 3313 $(element).find('.widget-b1e662').hide(); 3314 $(element).find('.widget-b1e662').html(''); 3315 } 3316 3317 function removeExtra(str) { 3318 let fullText = ''; 3319 if (typeof str !== 'undefined') { 3320 if (!str.includes('</p>')) { 3321 fullText = str; 3322 } else { 3323 fullText = str.substring(str.indexOf('>') + 1).replace('</p>', ''); 3324 } 3325 } 3326 return fullText; 3327 } 3328}; 3329 3330loadWidgetData(false); 3331 3332 }; 3333</script>
3333 3334
3335<script> 3336 window.customWidgetsFunctions["1f5975986930429f819d4cd2154b5c4a~25"] = function (element, data, api) { 3337 null 3338 }; 3339</script>
3339 3340 3341
3342<script type="text/javascript"> 3343 3344 var d_version = "production_6804"; 3345 var build = "2026-09-28T12_49_41"; 3346 window['v' + 'ersion'] = d_version; 3347 3348 function buildEditorParent() { 3349 window.isMultiScreen = true; 3350 window.editorParent = {}; 3351 window.previewParent = {}; 3352 window.assetsCacheQueryParam = "?version=2026-09-28T12_49_41"; 3353 try { 3354 var _p = window.parent; 3355 if (_p && _p.document && _p.$ && _p.$.dmfw) { 3356 window.editorParent = _p; 3357 } else if (_p.isSitePreview) { 3358 window.previewParent = _p; 3359 } 3360 } catch (e) { 3361 3362 } 3363 } 3364 3365 buildEditorParent(); 3366</script>
3366 3367 3368 3369<!-- Load jQuery --> 3370
3371<script type="text/javascript" id='d-js-jquery' 3372 src="https://static.cdn-website.com/libs/jquery/jquery-3.7.0.min.js"></script>
3372 3373 3374<!-- End Load jQuery --> 3375 3376 3377<!-- Injecting site-wide before scripts --> 3378 3379<!-- End Injecting site-wide to the head --> 3380 3381 3382
3383<script> 3384 var _jquery = window.$; 3385 3386 var jqueryAliases = ['$', 'jquery', 'jQuery']; 3387 3388 jqueryAliases.forEach((alias) => { 3389 Object.defineProperty(window, alias, { 3390 get() { 3391 return _jquery; 3392 }, 3393 set() { 3394 console.warn("Trying to over-write the global jquery object!"); 3395 } 3396 }); 3397 }); 3398 window.jQuery.migrateMute = true; 3399</script>
3399 3400 3401 3402 3403
3404<script> 3405 window.cookiesNotificationMarkupPreview = 'null'; 3406</script>
3406 3407 3408<!-- HEAD RT JS Include -->
3409<script id='d-js-params'> 3410 window.INSITE = window.INSITE || {}; 3411 window.INSITE.device = "desktop"; 3412 3413 window.rtCommonProps = {}; 3414 rtCommonProps["rt.ajax.ajaxScriptsFix"] =true; 3415 rtCommonProps["rt.pushnotifs.sslframe.encoded"] = 'aHR0cHM6Ly97c3ViZG9tYWlufS5wdXNoLW5vdGlmcy5jb20='; 3416 rtCommonProps["runtimecollector.url"] = 'https://rtc.multiscreensite.com'; 3417 rtCommonProps["performance.tabletPreview.removeScroll"] = 'false'; 3418 rtCommonProps["inlineEditGrid.snap"] =true; 3419 rtCommonProps["popup.insite.cookie.ttl"] = '0.5'; 3420 rtCommonProps["rt.pushnotifs.force.button"] =true; 3421 rtCommonProps["common.mapbox.token"] = 'pk.eyJ1IjoiZGFubnliMTIzIiwiYSI6ImNqMGljZ256dzAwMDAycXBkdWxwbDgzeXYifQ.Ck5P-0NKPVKAZ6SH98gxxw'; 3422 rtCommonProps["common.mapbox.js.override"] =false; 3423 rtCommonProps["common.here.appId"] = 'iYvDjIQ2quyEu0rg0hLo'; 3424 rtCommonProps["common.here.appCode"] = '1hcIxLJcbybmtBYTD9Z1UA'; 3425 rtCommonProps["isCoverage.test"] =false; 3426 rtCommonProps["ecommerce.ecwid.script"] = 'https://app.multiscreenstore.com/script.js'; 3427 rtCommonProps["common.resources.dist.cdn"] =true; 3428 rtCommonProps["common.build.dist.folder"] = 'production/6804'; 3429 rtCommonProps["common.resources.cdn.host"] = 'https://static.cdn-website.com'; 3430 rtCommonProps["common.resources.folder"] = 'https://static.cdn-website.com/mnlt/production/6804'; 3431 rtCommonProps["common.fonts.api.v2.url"] = 'https://irp.cdn-website.com/fonts/css2?family='; 3432 rtCommonProps["feature.flag.runtime.backgroundSlider.preload.slowly"] =true; 3433 rtCommonProps["feature.flag.runtime.newAnimation.enabled"] =true; 3434 rtCommonProps["feature.flag.runtime.newAnimation.jitAnimation.enabled"] =true; 3435 rtCommonProps["feature.flag.sites.google.analytics.gtag"] =true; 3436 rtCommonProps["feature.flag.runOnReadyNewTask"] =true; 3437 rtCommonProps["isAutomation.test"] =false; 3438 rtCommonProps["booking.cal.api.domain"] = 'api.cal.com'; 3439 3440 3441 rtCommonProps['common.mapsProvider'] = 'mapbox'; 3442 3443 rtCommonProps['common.mapsProvider.version'] = '0.52.0'; 3444 rtCommonProps['common.geocodeProvider'] = 'mapbox'; 3445 rtCommonProps['server.for.resources'] = ''; 3446 rtCommonProps['feature.flag.lazy.widgets'] = true; 3447 rtCommonProps['feature.flag.single.wow'] = false; 3448 rtCommonProps['feature.flag.disallowPopupsInEditor'] = true; 3449 rtCommonProps['feature.flag.mark.anchors'] = true; 3450 rtCommonProps['captcha.public.key'] = '6LffcBsUAAAAAMU-MYacU-6QHY4iDtUEYv_Ppwlz'; 3451 rtCommonProps['captcha.invisible.public.key'] = '6LeiWB8UAAAAAHYnVJM7_-7ap6bXCUNGiv7bBPME'; 3452 rtCommonProps["images.sizes.small"] =160; 3453 rtCommonProps["images.sizes.mobile"] =640; 3454 rtCommonProps["images.sizes.tablet"] =1280; 3455 rtCommonProps["images.sizes.desktop"] =1920; 3456 rtCommonProps["modules.resources.cdn"] =true; 3457 rtCommonProps["import.images.storage.imageCDN"] = 'https://irp.cdn-website.com/'; 3458 rtCommonProps["feature.flag.runtime.inp.threshold"] =150; 3459 rtCommonProps["feature.flag.performance.logs"] =false; 3460 rtCommonProps["site.widget.form.captcha.type"] = 'g_recaptcha'; 3461 rtCommonProps["friendly.captcha.site.key"] = 'FCMGSQG9GVNMFS8K'; 3462 rtCommonProps["cookiebot.mapbox.consent.category"] = 'marketing'; 3463 rtCommonProps["termly.mapbox.consent.category"] = 'performance'; 3464 // feature flags that's used out of runtime module (in legacy files) 3465 rtCommonProps["platform.monolith.personalization.dateTimeCondition.popupMsgAction.moveToclient.enabled"] =true; 3466 3467 window.rtFlags = {}; 3468 rtFlags["unsuspendEcwidStoreOnRuntime.enabled"] =true; 3469 rtFlags["scripts.widgetCount.enabled"] =true; 3470 rtFlags["fnb.animations.tracking.enabled"] =true; 3471 rtFlags["ecom.ecwidNewUrlStructure.enabled"] = false; 3472 rtFlags["ecom.ecwid.accountPage.emptyBaseUrl.enabled"] = true; 3473 rtFlags["ecom.ecwid.accountPage.repeatOrderRedirect.enabled"] = false; 3474 rtFlags["ecom.ecwid.pages.links.disable.listeners"] = true; 3475 rtFlags["ecom.ecwid.storefrontV3.enabled"] = false; 3476 rtFlags["ecom.monolith.legacy.js.api.disabled.for.new.sites"] = false; 3477 rtFlags["geocode.search.localize"] =false; 3478 rtFlags["feature.flag.runtime.newAnimation.asyncInit.setTimeout.enabled"] =false; 3479 rtFlags["twitter.heightLimit.enabled"] = true; 3480 rtFlags["runtime.lottieOverflow"] =false; 3481 rtFlags["runtime.monitoring.sentry.ignoreErrors"] = ""; 3482 rtFlags["streamline.monolith.personalization.supportMultipleConditions.enabled"] =false; 3483 rtFlags["flex.animation.design.panel.layout"] =true; 3484 rtFlags["runtime.cwv.report.cls.enabled"] =false; 3485 rtFlags["runtime.cwv.report.lcp.enabled"] =false; 3486 rtFlags["runtime.lcp.preload.selfheal.enabled"] =true; 3487 rtFlags["runtime.lcp.preload.bootstrap.enabled"] =true; 3488 rtFlags["runtime.lcp.preload.monitor.enabled"] =false; 3489 rtFlags["runtime.customwidget.heightpin.enabled"] =true; 3490 rtFlags["contact.form.useActiveForm"] =true; 3491 rtFlags["contact.form.custom.errors.enabled"] =false; 3492 rtFlags["runtime.ssr.productStore.internal.observer"] =true;
3493 rtFlags["runtime.ssr.productCustomizations"] =true; 3494 rtFlags["runtime.ssr.runtime.filter-sort.newFilterSortWidgetWithOptions.enabled"] =true; 3495 rtFlags["runtime.ssr.ssrSlider.jumpThreshold.enabled"] =true; 3496 rtFlags["editor.widget.form.a11y"] =true; 3497</script>
vendor: 1 bytes, line 3497
3497
3498<script src="https://static.cdn-website.com/mnlt/production/6804/_dm/s/rt/dist/scripts/d-js-one-runtime-unified-desktop.min.js" id="d-js-core"></script>
3498 3499 3500<!-- End of HEAD RT JS Include --> 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512
3512<script src="https://static.cdn-website.com/mnlt/production/6804/_dm/s/rt/dist/scripts/d-js-jquery-migrate.min.js" ></script>
3512 3513 3514 3515 3516 3517
3518<script> 3519 3520 $(window).bind("orientationchange", function (e) { 3521 $.layoutManager.initLayout(); 3522 3523 }); 3524 $(document).resize(function () { 3525 3526 }); 3527</script>
3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546
3547<script type="text/javascript" id="d_track_sp"> 3548 ;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[]; 3549 p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments) 3550 };p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1; 3551 n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","//d32hwlnfiv2gyn.cloudfront.net/sp-2.0.0-dm-0.1.min.js","snowplow")); 3552 window.dmsnowplow = window.snowplow; 3553 3554 dmsnowplow('newTracker', 'cf', 'd32hwlnfiv2gyn.cloudfront.net', { // Initialise a tracker 3555 appId: '3032b12d' 3556 }); 3557 3558 // snowplow queries element styles so we wait until CSS calculations are done. 3559 requestAnimationFrame(() => { 3560 dmsnowplow('trackPageView'); 3561 _dm_insite.forEach((rule) => { 3562 // Specifically in popup only the client knows if it is shown or not so we don't always want to track its impression here 3563 // the tracking is in popup.js 3564 if (rule.actionName !== "popup") { 3565 dmsnowplow('trackStructEvent', 'insite', 'impression', rule.ruleType, rule.ruleId); 3566 } 3567 window?.waitForDeferred?.('dmAjax', () => { 3568 $.DM.events.trigger('event-ruleTriggered', {value: rule}); 3569 }); 3570 }); 3571 }); 3572</script>
3572 3573 3574 3575 3576<div style="display:none;" id="P6iryBW0Wu"></div> 3577 3578<!-- photoswipe markup --> 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588<!-- Root element of PhotoSwipe. Must have class pswp. --> 3589<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 3590 3591 <!-- Background of PhotoSwipe. 3592 It's a separate element as animating opacity is faster than rgba(). --> 3593 <div class="pswp__bg"></div> 3594 3595 <!-- Slides wrapper with overflow:hidden. --> 3596 <div class="pswp__scroll-wrap"> 3597 3598 <!-- Container that holds slides. 3599 PhotoSwipe keeps only 3 of them in the DOM to save memory. 3600 Don't modify these 3 pswp__item elements, data is added later on. --> 3601 <div class="pswp__container"> 3602 <div class="pswp__item"></div> 3603 <div class="pswp__item"></div> 3604 <div class="pswp__item"></div> 3605 </div> 3606 3607 <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. --> 3608 <div class="pswp__ui pswp__ui--hidden"> 3609 3610 <div class="pswp__top-bar"> 3611 3612 <!-- Controls are self-explanatory. Order can be changed. --> 3613 3614 <div class="pswp__counter"></div> 3615 3616 <button class="pswp__button pswp__button--close" data-auto="pswp-close" title="Close (Esc)"></button> 3617 3618 <button class="pswp__button pswp__button--share" data-auto="pswp-share" title="Share"></button> 3619 3620 <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> 3621 3622 <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> 3623 3624 <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR --> 3625 <!-- element will get class pswp__preloader--active when preloader is running --> 3626 <div class="pswp__preloader"> 3627 <div class="pswp__preloader__icn"> 3628 <div class="pswp__preloader__cut"> 3629 <div class="pswp__preloader__donut"></div> 3630 </div> 3631 </div> 3632 </div> 3633 </div> 3634 3635 <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> 3636 <div class="pswp__share-tooltip"></div> 3637 </div> 3638 3639 <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"> 3640 </button> 3641 3642 <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"> 3643 </button> 3644 3645 <div class="pswp__caption"> 3646 <div class="pswp__caption__center"></div> 3647 </div> 3648 3649 </div> 3650 3651 </div> 3652 3653</div> 3654<div id="fb-root" 3655 data-locale="en"></div> 3656<!-- Alias: 3032b12d --> 3657<div class="dmPopupMask" id="dmPopupMask"></div> 3658<div id="dmPopup" class="dmPopup" data-auto="popup"> 3659 <div class="dmPopupCloseWrapper"> <div class="dmPopupClose dm-common-icons-close oneIcon" data-auto="popup-close" onclick="dmHidePopup(event);"></div> </div> 3660 <div class="dmPopupTitle"> <span></span> Share by:</div> 3661 <div class="data"></div> 3662</div>
3662<script id="d_track_personalization"> 3663 window?.waitForDeferred?.('dmAjax', () => { 3664 // Collects client data and updates cookies used by smart sites 3665 window.expireDays = 365; 3666 window.visitLength = 30 * 60000; 3667 $.setCookie("dm_timezone_offset", (new Date()).getTimezoneOffset(), window.expireDays); 3668 setSmartSiteCookiesInternal("dm_this_page_view","dm_last_page_view","dm_total_visits","dm_last_visit"); 3669 }); 3670</script>
vendor: 1 bytes, line 3670
3670
3671<script type="text/javascript"> 3672 3673 Parameters.NavigationAreaParams.MoreButtonText = 'MORE'; 3674 3675 Parameters.NavigationAreaParams.LessButtonText = 'LESS'; 3676 Parameters.HomeLinkText = 'Home'; 3677 </script>
3677 3678<!-- End Script tags --> 3679<!-- Begin Body End Markup -->
3680<script type="text/javascript" src="https://app.repli360.com/admin/rrac-website-script/eyJpdiI6Ik51dlpFSVpCYUxRMXFXc01KU0Q3Y1E9PSIsInZhbHVlIjoicFhyYXg0K29hcXNtVVZTMjJ0WEJZZz09IiwibWFjIjoiNGY4NjVjYWRiNTVkOGYzNGE0ZmFiMDE1OTk0YjVlMWYyMDM4YTRkODgzYTI1NjY5MDU5NzI2YWM2MTJmOGQ3ZCJ9"></script>
3680<!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 3680-3682
3680 3681 3682<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
3682GTM-NGX8WQHN
vendor: 85 bytes, lines 3682-3685
3682" 3683 3684height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 3685
3686<!-- End Google Tag Manager (noscript) --><!-- End Body End Markup --> 3687<!-- Site Wide Html Markup --> 3688<div id="swh-0a8e1670212b4123b615ca5501d8011c"> 3689
3689<script defer 3690 src="https://leads.multihub.io/leadcapture.js" 3691 data-beacon-endpoint="https://leads.multihub.io/beacon" 3692 data-mh-endpoint="https://leads.multihub.io/form" 3693 data-lcid="019f480c-85dc-765f-a06b-9756ea7c43dc" 3694 data-mh-propertyId="6767906449167551"> 3695 </script>
3695 3696 </div><!-- Site Wide Html Markup --> 3697</body> 3698</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.