1<!DOCTYPE html> 2 3<html class="no-js css-scroll eds-theme-light" lang="en"> 4 <head> 5 <meta charset="utf-8" /> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 7 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 8 <meta name="apple-mobile-web-app-status-bar-style" content="black"> 9 <meta name="mobile-web-app-capable" content="yes"> 10 11 12 <title>Empire Hunan - Lowell in MA | Accessibility | Chinese</title> 13 <meta name="keywords" content="hunan empire, hunan empire lowell, hunan empire menu, lowell chinese delivery, lowell chinese food, lowell chinese restaurants, chinese delivery, best chinese food in lowell, chinese restaurants in lowell, chinese restaurants near me, chinese food near me, lowell chinese takeout" /> 14 15 <meta property="og:type" content="website"> 16 <meta property="og:title" content="Empire Hunan - Lowell in MA | Accessibility | Chinese"> 17 <meta property="og:image" content="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/8d911626-6927-4f58-3905-29add3317500/public" /> 18 19 <meta name="twitter:card" content="summary_large_image"> 20 <meta name="twitter:title" content="Empire Hunan - Lowell in MA | Accessibility | Chinese"> 21 <meta name="twitter:image" content="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/8d911626-6927-4f58-3905-29add3317500/public" /> 22 23 <link rel="shortcut icon" href="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/20c39556-ddd9-450d-c2ad-9eaa55560900/public" type="image/x-icon" /> 24 25 <link rel="canonical" href="https://order.empirehunanma.com/accessibility"/> 26 27 <link type="text/css" rel="stylesheet" href="/min/g=eds_css&1788377785" /> 28 <link type="text/css" rel="stylesheet" href="/min/g=css4.0&1788377785" /> 29 <link href="https://fonts.googleapis.com/css?family=Nunito:400,700|Open+Sans:400,600,700" rel="stylesheet" /> 30 <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/minified/jquery-ui.min.css" /> 31
31<script src="https://kit.fontawesome.com/0208faa9a2.js" crossorigin="anonymous"></script>
31 32 33 <style> 34 .home_hero, .menu_hero{ background-image: url(https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/53fe6826-f233-4883-297a-62b8dced8b00/public); } 35 @media 36 (-webkit-min-device-pixel-ratio: 1.25), 37 (min-resolution: 120dpi){ 38 /* Retina header*/ 39 .home_hero, .menu_hero{ background-image: url(https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/72e80934-5a52-4ab9-837e-eb6caeae4800/public); } 40 } 41 /*body{ } */ 42 43 44 </style> 45 46 47
47<script type="text/javascript"> 48 var UrlTag = "empirehunanlowell"; 49 var template = 'defaultv4'; 50 var formname = 'accessibility'; 51 var menulink = 'https://order.empirehunanma.com/order/main'; 52 var checkoutlink = 'https://order.empirehunanma.com/checkout'; 53 </script>
53 54
54<script> 55 /* http://writing.colin-gourlay.com/safely-using-ready-before-including-jquery/ */ 56 (function(w,d,u){w.readyQ=[];w.bindReadyQ=[];function p(x,y){if(x=="ready"){w.bindReadyQ.push(y);}else{w.readyQ.push(x);}};var a={ready:p,bind:p};w.$=w.jQuery=function(f){if(f===d||f===u){return a}else{p(f)}}})(window,document) 57 </script>
57 58 59 60<!-- Google Tag Manager -->
61<script> 62 window.dataLayer = window.dataLayer || []; 63 window.gtag = window.gtag || function gtag() { dataLayer.push(arguments); }; 64 gtag('js', new Date()); 65 66 let data = { 67 account: 'empirehunanlowell', 68 context: 'direct', 69 templateVersion: 4, 70 rid: 66, 71 } 72 dataLayer.push({ ...data, event: 'app_data_ready' });
vendor: 337 bytes, lines 72-78
72 73 74 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 75 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 76 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 77 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 78 })(window,document,'script','dataLayer','
78GTM-K9P93M
vendor: 4 bytes, line 78
78');
79</script>
vendor: 67 bytes, lines 79-81
79 80 81 <script async src="https://www.googletagmanager.com/gtag/js?id=
81G-5R8H2SNV1H
vendor: 15 bytes, lines 81-83
81"></script> 82 83
83<script> 84 85 gtag('config', "G-5R8H2SNV1H"); 86 </script>
86 87 88 89 90 <meta name="smartbanner:title" content="Empire Hunan Lowell Ordering"> 91 <meta name="smartbanner:author" content="Online Ordering"> 92 <meta name="smartbanner:price" content="FREE"> 93 <meta name="smartbanner:price-suffix-google" content=" "> 94 <meta name="smartbanner:button" content="VIEW"> 95 <meta name="smartbanner:button-url-google" content="https://play.google.com/store/apps/details?id=com.chinesemenuonline.empirehunanlowell"> 96 <meta name="smartbanner:enabled-platforms" content="android"> 97 <meta name="smartbanner:icon-google" content="https://ehc-west-0-bucket.s3.us-west-2.amazonaws.com/web/documents/empirehunanlowell/"> 98 </head> 99 100 <body 101 data-event-on:customer_registered="window.location.reload()" 102 data-event-on:customer_logged_in="window.location.reload()" 103 data-event-on:customer_logged_out="window.location.reload()" 104 > 105 <a class="skip-to-content-link" href="#main">Skip to content</a> 106 <!-- Google Tag Manager (noscript) -->
vendor: 70 bytes, lines 106-107
106 107 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
107GTM-K9P93M
vendor: 85 bytes, lines 107-108
107" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 108
108<!-- End Google Tag Manager (noscript) --> 109 <!-- wrapper starts --> 110 <div class="wrapper"> 111 <section style="grid-area: header-announcements" aria-label="Announcement"> 112 <div id="upgradeBrowserBanner" class="alert alert-warning mb-0 rounded-0 py-4" style="display:none;"> 113 <div class="alert-icon"><i class="fas fa-warning" aria-hidden="true"></i></div> 114 <div> 115 <strong>We're sorry, but the Web browser you are using is not supported.</strong> <br/> Please upgrade your browser or try a different one to use this Website. Supported browsers include:<br/> 116 <ul class="list-unstyled"> 117 <li class="mt-2"><a href="https://www.google.com/chrome" target="_blank" rel="noopener noreferrer" class="simple-link"><i class="fab fa-chrome"></i> Chrome</a></li> 118 <li class="mt-2"><a href="https://www.mozilla.com/firefox/upgrade.html" target="_blank" rel="noopener noreferrer" class="simple-link"><i class="fab fa-firefox"></i> Firefox</a></li> 119 <li class="mt-2"><a href="https://www.microsoft.com/en-us/windows/microsoft-edge" target="_blank" rel="noopener noreferrer" class="simple-link"><i class="fab fa-edge"></i> Edge</a></li> 120 <li class="mt-2"><a href="http://www.apple.com/safari/" target="_blank" rel="noopener noreferrer" class="simple-link"><i class="fab fa-safari"></i> Safari</a></li> 121 </ul> 122 </div> 123</div>
124<script> 125 var ua = navigator.userAgent; 126 var match = ua.match(/Firefox\/([0-9]+)\./); 127 var firefoxVersion = match ? parseInt(match[1]) : 1000; 128 var match = ua.match(/Chrome\/([0-9]+)\./); 129 var chromeVersion = match ? parseInt(match[1]) : 1000; 130 var isIE = ua.indexOf('MSIE') > -1 || ua.indexOf('Trident') > -1; 131 var upgradeBrowserBanner = document.getElementById('upgradeBrowserBanner'); 132 var isMatchesSupported = typeof(upgradeBrowserBanner.matches)!="undefined"; 133 var isEntriesSupported = typeof(Object.entries)!="undefined"; 134 //Safari version is verified with isEntriesSupported 135 if (isIE || !isMatchesSupported || !isEntriesSupported || firefoxVersion <= 46 || chromeVersion <= 53) { 136 upgradeBrowserBanner.style.display = 'flex'; 137 } 138</script>
138 139 <!-- get closed sign if applicable. --> 140 141 142 </section> 143 144 <!-- Header Starts --> 145 <div class="headerAndWtype" style="grid-area: header"> 146 <header class="header" > 147 <div class="d-flex flex-column align-items-start flex-md-row align-items-md-center"> 148 <div class="logo_name_alt flex-shrink-0 d-flex align-items-center align-self-stretch pe-6 pe-md-0"> 149 <button class="eds_button btn btn-outline eds_menu_button" style="color: inherit" aria-label="Main menu" aria-expanded="false" data-bs-toggle="offcanvas" data-bs-target="#side-menu" aria-controls="side-menu" type="button"><span aria-hidden="true"></span><span aria-hidden="true"></span><span aria-hidden="true"></span></button> 150 <div class="d-flex flex-column align-items-center mx-auto align-items-md-start mx-md-0"> 151 <a 152 class="eds-display-text-title-xs text-truncate title-container" 153 href="https://order.empirehunanma.com" 154 aria-current="false" 155 > 156 Empire Hunan - Lowell </a> 157 158 <span class="eds-copy-text-s-regular text-center text-md-start address-container" title="87 Church St Lowell, MA 01852"> 159 87 Church St Lowell, MA 01852 </span> 160 </div> 161 </div> 162 163 164 <div class="position-absolute top-0 end-0 p-2"> 165 166 <div id="login-status" > 167 <button class="eds_button btn btn-outline px-2 text-nowrap" aria-label="Log in" style="color: currentColor" data-bs-toggle="modal" data-bs-target="#login-modal" type="button"><i class="eds_icon fa fa-lg fa-user-circle d-block d-lg-none" style="" aria-hidden="true"></i> <div class="d-none d-lg-flex align-items-baseline gap-2"><i class="eds_icon fa fa-user-circle" style="" aria-hidden="true"></i><div class="profile-container text-truncate">Log in</div></div></button> </div> 168 169 </div> 170 </div> 171 172 173 <div data-eds-id="6ab536c639f04" 174 class="eds_side_menu offcanvas offcanvas-start " 175 tabindex="-1" 176 aria-label="Side navigation" 177 id="side-menu" data-event-on:menu_selected="this.dispatchEvent(new CustomEvent('eds.hide'))" data-event-on:category_selected="this.dispatchEvent(new CustomEvent('eds.hide'))" > 178 179 <div class="eds_side_menu-body offcanvas-body d-flex flex-column pt-0 px-0 css-scroll" style="padding-bottom: 115px; scroll-padding-bottom: 115px;"> 180 <div 181 class="eds_side_menu-close position-absolute top-0 end-0 pt-3 pe-3 " 182 style="z-index: 1" 183 > 184 <button data-bs-dismiss="offcanvas" data-bs-target="[data-eds-id="6ab536c639f04"]" aria-label="Close" class="eds_button btn btn-outline-secondary eds_button--shape-circle" type="button"><i class="eds_icon fa fa-close" style="" aria-hidden="true"></i></button> </div> 185 186 <nav aria-labelledby="header-navigation-title"> 187 <h2 id="header-navigation-title" class="eds-display-text-title-m m-0 p-3">Pages</h2> 188<ul class="eds_list eds_list--border-none border-bottom"> 189 <li class="eds_list-item"> 190 <a class="d-block p-3 " href="https://order.empirehunanma.com" aria-current="false"> 191 Home </a> 192 </li> 193 194 <li class="eds_list-item"> 195 <a 196 class="d-block p-3 " 197 href="https://order.empirehunanma.com/order/main" 198 aria-current="false" 199 > 200 Menu </a> 201 </li> 202 203 204 <li class="eds_list-item"> 205 <a class="d-block p-3 " href="https://order.empirehunanma.com/page/delivery-info" aria-current="false"> 206 Delivery Info </a> 207 </li> 208 209 <li class="eds_list-item"> 210 <a class="d-block p-3 " href="https://order.empirehunanma.com/locationinfo" aria-current="false"> 211 Location & Hours </a> 212 </li> 213 214 <li class="eds_list-item"> 215 <a class="d-block p-3 " href="https://order.empirehunanma.com/contact" aria-current="false"> 216 Contact 217 </a> 218 </li> 219</ul> 220 </nav> 221 222 223 <div class="border-bottom border-light p-3"> 224 225 226 <details 227 class="eds_list eds_list--border-none" open data-menu-id="11987" 228 data-event-on:document_ready="this.open = localStorage.getItem('menu-open-11987') !== 'false'" 229 onclick="localStorage.setItem('menu-open-11987', !this.open)" 230 > 231 <summary class="eds-copy-text-l-regular list-unstyled rounded-3 mb-1 " tabindex="0"> 232 <h2 class="eds-display-text-title-m m-0 p-0"> 233 <i class="eds_icon fas fa-chevron-right" style="" aria-hidden="true"></i> Menu <span class="sr-only">25 categories</span> 234 </h2> 235 </summary> 236 <div class="mb-3"></div> 237 238 239 <a 240 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 241 data-event-on:category_pinned="(category) => { 242 const isCurrent = category.id === '149874'; 243 $(this).toggleClass('active', isCurrent); 244 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 245 }" 246 href="https://order.empirehunanma.com/order/main/american-chinese-special" 247 aria-current="false" 248 onclick="if (!event.ctrlKey) { 249 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 250 if (currentMenuIsActive) { 251 app.event.emit('category_selected', { id: '149874' }); 252 } else { 253 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149874' }); 254 } 255 }" 256 > 257 American Chinese Special<span class="sr-only"> menu category</span> 258 <span class="ms-auto">7<span class="sr-only"> items available</span></span> 259 </a> 260 <a 261 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 262 data-event-on:category_pinned="(category) => { 263 const isCurrent = category.id === '149872'; 264 $(this).toggleClass('active', isCurrent); 265 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 266 }" 267 href="https://order.empirehunanma.com/order/main/appetizers" 268 aria-current="false" 269 onclick="if (!event.ctrlKey) { 270 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 271 if (currentMenuIsActive) { 272 app.event.emit('category_selected', { id: '149872' }); 273 } else { 274 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149872' }); 275 } 276 }" 277 > 278 Appetizers<span class="sr-only"> menu category</span> 279 <span class="ms-auto">14<span class="sr-only"> items available</span></span> 280 </a> 281 <a 282 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 283 data-event-on:category_pinned="(category) => { 284 const isCurrent = category.id === '149875'; 285 $(this).toggleClass('active', isCurrent); 286 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 287 }" 288 href="https://order.empirehunanma.com/order/main/soup" 289 aria-current="false" 290 onclick="if (!event.ctrlKey) { 291 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 292 if (currentMenuIsActive) { 293 app.event.emit('category_selected', { id: '149875' }); 294 } else { 295 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149875' }); 296 } 297 }" 298 > 299 Soup<span class="sr-only"> menu category</span> 300 <span class="ms-auto">8<span class="sr-only"> items available</span></span> 301 </a> 302 <a 303 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 304 data-event-on:category_pinned="(category) => { 305 const isCurrent = category.id === '149876'; 306 $(this).toggleClass('active', isCurrent); 307 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 308 }" 309 href="https://order.empirehunanma.com/order/main/fried-rice" 310 aria-current="false" 311 onclick="if (!event.ctrlKey) { 312 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 313 if (currentMenuIsActive) { 314 app.event.emit('category_selected', { id: '149876' }); 315 } else { 316 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149876' }); 317 } 318 }" 319 > 320 Fried Rice<span class="sr-only"> menu category</span> 321 <span class="ms-auto">8<span class="sr-only"> items available</span></span> 322 </a> 323 <a 324 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 325 data-event-on:category_pinned="(category) => { 326 const isCurrent = category.id === '149877'; 327 $(this).toggleClass('active', isCurrent); 328 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 329 }" 330 href="https://order.empirehunanma.com/order/main/chow-mein" 331 aria-current="false" 332 onclick="if (!event.ctrlKey) { 333 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 334 if (currentMenuIsActive) { 335 app.event.emit('category_selected', { id: '149877' }); 336 } else { 337 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149877' }); 338 } 339 }" 340 > 341 Chow Mein<span class="sr-only"> menu category</span> 342 <span class="ms-auto">6<span class="sr-only"> items available</span></span> 343 </a> 344 <a 345 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 346 data-event-on:category_pinned="(category) => { 347 const isCurrent = category.id === '149878'; 348 $(this).toggleClass('active', isCurrent); 349 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 350 }" 351 href="https://order.empirehunanma.com/order/main/chop-suey" 352 aria-current="false" 353 onclick="if (!event.ctrlKey) { 354 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 355 if (currentMenuIsActive) { 356 app.event.emit('category_selected', { id: '149878' }); 357 } else { 358 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149878' }); 359 } 360 }" 361 > 362 Chop Suey<span class="sr-only"> menu category</span> 363 <span class="ms-auto">6<span class="sr-only"> items available</span></span> 364 </a> 365 <a 366 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 367 data-event-on:category_pinned="(category) => { 368 const isCurrent = category.id === '149879'; 369 $(this).toggleClass('active', isCurrent); 370 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 371 }" 372 href="https://order.empirehunanma.com/order/main/egg-foo-young" 373 aria-current="false" 374 onclick="if (!event.ctrlKey) { 375 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 376 if (currentMenuIsActive) { 377 app.event.emit('category_selected', { id: '149879' }); 378 } else { 379 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149879' }); 380 } 381 }" 382 > 383 Egg Foo Young<span class="sr-only"> menu category</span> 384 <span class="ms-auto">6<span class="sr-only"> items available</span></span> 385 </a> 386 <a 387 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 388 data-event-on:category_pinned="(category) => { 389 const isCurrent = category.id === '149880'; 390 $(this).toggleClass('active', isCurrent); 391 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 392 }" 393 href="https://order.empirehunanma.com/order/main/lo-mein" 394 aria-current="false" 395 onclick="if (!event.ctrlKey) { 396 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 397 if (currentMenuIsActive) { 398 app.event.emit('category_selected', { id: '149880' }); 399 } else { 400 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149880' }); 401 } 402 }" 403 > 404 Lo Mein<span class="sr-only"> menu category</span> 405 <span class="ms-auto">6<span class="sr-only"> items available</span></span> 406 </a> 407 <a 408 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 409 data-event-on:category_pinned="(category) => { 410 const isCurrent = category.id === '149881'; 411 $(this).toggleClass('active', isCurrent); 412 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 413 }" 414 href="https://order.empirehunanma.com/order/main/chow-ho-fun" 415 aria-current="false" 416 onclick="if (!event.ctrlKey) { 417 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 418 if (currentMenuIsActive) { 419 app.event.emit('category_selected', { id: '149881' }); 420 } else { 421 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149881' }); 422 } 423 }" 424 > 425 Chow Ho Fun<span class="sr-only"> menu category</span> 426 <span class="ms-auto">5<span class="sr-only"> items available</span></span> 427 </a> 428 <a 429 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 430 data-event-on:category_pinned="(category) => { 431 const isCurrent = category.id === '149882'; 432 $(this).toggleClass('active', isCurrent); 433 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 434 }" 435 href="https://order.empirehunanma.com/order/main/chow-mei-fun" 436 aria-current="false" 437 onclick="if (!event.ctrlKey) { 438 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 439 if (currentMenuIsActive) { 440 app.event.emit('category_selected', { id: '149882' }); 441 } else { 442 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149882' }); 443 } 444 }" 445 > 446 Chow Mei Fun<span class="sr-only"> menu category</span> 447 <span class="ms-auto">6<span class="sr-only"> items available</span></span> 448 </a> 449 <a 450 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 451 data-event-on:
451category_pinned="(category) => { 452 const isCurrent = category.id === '149883'; 453 $(this).toggleClass('active', isCurrent); 454 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 455 }" 456 href="https://order.empirehunanma.com/order/main/poultry" 457 aria-current="false" 458 onclick="if (!event.ctrlKey) { 459 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 460 if (currentMenuIsActive) { 461 app.event.emit('category_selected', { id: '149883' }); 462 } else { 463 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149883' }); 464 } 465 }" 466 > 467 Poultry<span class="sr-only"> menu category</span> 468 <span class="ms-auto">13<span class="sr-only"> items available</span></span> 469 </a> 470 <a 471 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 472 data-event-on:category_pinned="(category) => { 473 const isCurrent = category.id === '149884'; 474 $(this).toggleClass('active', isCurrent); 475 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 476 }" 477 href="https://order.empirehunanma.com/order/main/pork" 478 aria-current="false" 479 onclick="if (!event.ctrlKey) { 480 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 481 if (currentMenuIsActive) { 482 app.event.emit('category_selected', { id: '149884' }); 483 } else { 484 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149884' }); 485 } 486 }" 487 > 488 Pork<span class="sr-only"> menu category</span> 489 <span class="ms-auto">6<span class="sr-only"> items available</span></span> 490 </a> 491 <a 492 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 493 data-event-on:category_pinned="(category) => { 494 const isCurrent = category.id === '149885'; 495 $(this).toggleClass('active', isCurrent); 496 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 497 }" 498 href="https://order.empirehunanma.com/order/main/beef" 499 aria-current="false" 500 onclick="if (!event.ctrlKey) { 501 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 502 if (currentMenuIsActive) { 503 app.event.emit('category_selected', { id: '149885' }); 504 } else { 505 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149885' }); 506 } 507 }" 508 > 509 Beef<span class="sr-only"> menu category</span> 510 <span class="ms-auto">12<span class="sr-only"> items available</span></span> 511 </a> 512 <a 513 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 514 data-event-on:category_pinned="(category) => { 515 const isCurrent = category.id === '149886'; 516 $(this).toggleClass('active', isCurrent); 517 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 518 }" 519 href="https://order.empirehunanma.com/order/main/seafood" 520 aria-current="false" 521 onclick="if (!event.ctrlKey) { 522 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 523 if (currentMenuIsActive) { 524 app.event.emit('category_selected', { id: '149886' }); 525 } else { 526 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149886' }); 527 } 528 }" 529 > 530 Seafood<span class="sr-only"> menu category</span> 531 <span class="ms-auto">14<span class="sr-only"> items available</span></span> 532 </a> 533 <a 534 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 535 data-event-on:category_pinned="(category) => { 536 const isCurrent = category.id === '149887'; 537 $(this).toggleClass('active', isCurrent); 538 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 539 }" 540 href="https://order.empirehunanma.com/order/main/vegetables" 541 aria-current="false" 542 onclick="if (!event.ctrlKey) { 543 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 544 if (currentMenuIsActive) { 545 app.event.emit('category_selected', { id: '149887' }); 546 } else { 547 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149887' }); 548 } 549 }" 550 > 551 Vegetables<span class="sr-only"> menu category</span> 552 <span class="ms-auto">5<span class="sr-only"> items available</span></span> 553 </a> 554 <a 555 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 556 data-event-on:category_pinned="(category) => { 557 const isCurrent = category.id === '149888'; 558 $(this).toggleClass('active', isCurrent); 559 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 560 }" 561 href="https://order.empirehunanma.com/order/main/sweet-sour" 562 aria-current="false" 563 onclick="if (!event.ctrlKey) { 564 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 565 if (currentMenuIsActive) { 566 app.event.emit('category_selected', { id: '149888' }); 567 } else { 568 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149888' }); 569 } 570 }" 571 > 572 Sweet & Sour<span class="sr-only"> menu category</span> 573 <span class="ms-auto">2<span class="sr-only"> items available</span></span> 574 </a> 575 <a 576 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 577 data-event-on:category_pinned="(category) => { 578 const isCurrent = category.id === '149889'; 579 $(this).toggleClass('active', isCurrent); 580 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 581 }" 582 href="https://order.empirehunanma.com/order/main/moo-shu" 583 aria-current="false" 584 onclick="if (!event.ctrlKey) { 585 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 586 if (currentMenuIsActive) { 587 app.event.emit('category_selected', { id: '149889' }); 588 } else { 589 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149889' }); 590 } 591 }" 592 > 593 Moo Shu<span class="sr-only"> menu category</span> 594 <span class="ms-auto">5<span class="sr-only"> items available</span></span> 595 </a> 596 <a 597 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 598 data-event-on:category_pinned="(category) => { 599 const isCurrent = category.id === '149890'; 600 $(this).toggleClass('active', isCurrent); 601 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 602 }" 603 href="https://order.empirehunanma.com/order/main/special-combination-plates" 604 aria-current="false" 605 onclick="if (!event.ctrlKey) { 606 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 607 if (currentMenuIsActive) { 608 app.event.emit('category_selected', { id: '149890' }); 609 } else { 610 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149890' }); 611 } 612 }" 613 > 614 Special Combination Plates<span class="sr-only"> menu category</span> 615 <span class="ms-auto">27<span class="sr-only"> items available</span></span> 616 </a> 617 <a 618 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 619 data-event-on:category_pinned="(category) => { 620 const isCurrent = category.id === '149891'; 621 $(this).toggleClass('active', isCurrent); 622 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 623 }" 624 href="https://order.empirehunanma.com/order/main/chefs-special" 625 aria-current="false" 626 onclick="if (!event.ctrlKey) { 627 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 628 if (currentMenuIsActive) { 629 app.event.emit('category_selected', { id: '149891' }); 630 } else { 631 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149891' }); 632 } 633 }" 634 > 635 Chef's Special<span class="sr-only"> menu category</span> 636 <span class="ms-auto">23<span class="sr-only"> items available</span></span> 637 </a> 638 <a 639 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 640 data-event-on:category_pinned="(category) => { 641 const isCurrent = category.id === '149873'; 642 $(this).toggleClass('active', isCurrent); 643 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 644 }" 645 href="https://order.empirehunanma.com/order/main/appetizers-combination" 646 aria-current="false" 647 onclick="if (!event.ctrlKey) { 648 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 649 if (currentMenuIsActive) { 650 app.event.emit('category_selected', { id: '149873' }); 651 } else { 652 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149873' }); 653 } 654 }" 655 > 656 Appetizers Combination<span class="sr-only"> menu category</span> 657 <span class="ms-auto">6<span class="sr-only"> items available</span></span> 658 </a> 659 <a 660 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 661 data-event-on:category_pinned="(category) => { 662 const isCurrent = category.id === '149893'; 663 $(this).toggleClass('active', isCurrent); 664 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 665 }" 666 href="https://order.empirehunanma.com/order/main/dinner-specials" 667 aria-current="false" 668 onclick="if (!event.ctrlKey) { 669 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 670 if (currentMenuIsActive) { 671 app.event.emit('category_selected', { id: '149893' }); 672 } else { 673 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149893' }); 674 } 675 }" 676 > 677 Dinner Specials<span class="sr-only"> menu category</span> 678 <span class="ms-auto">10<span class="sr-only"> items available</span></span> 679 </a> 680 <a 681 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 682 data-event-on:category_pinned="(category) => { 683 const isCurrent = category.id === '149894'; 684 $(this).toggleClass('active', isCurrent); 685 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 686 }" 687 href="https://order.empirehunanma.com/order/main/family-platters" 688 aria-current="false" 689 onclick="if (!event.ctrlKey) { 690 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 691 if (currentMenuIsActive) { 692 app.event.emit('category_selected', { id: '149894' }); 693 } else { 694 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149894' }); 695 } 696 }" 697 > 698 Family Platters<span class="sr-only"> menu category</span> 699 <span class="ms-auto">4<span class="sr-only"> items available</span></span> 700 </a> 701 <a 702 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 703 data-event-on:category_pinned="(category) => { 704 const isCurrent = category.id === '149895'; 705 $(this).toggleClass('active', isCurrent); 706 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 707 }" 708 href="https://order.empirehunanma.com/order/main/lunch-special" 709 aria-current="false" 710 onclick="if (!event.ctrlKey) { 711 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 712 if (currentMenuIsActive) { 713 app.event.emit('category_selected', { id: '149895' }); 714 } else { 715 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149895' }); 716 } 717 }" 718 > 719 Lunch Special<span class="sr-only"> menu category</span> 720 <span class="ms-auto">40<span class="sr-only"> items available</span></span> 721 </a> 722 <a 723 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex " 724 data-event-on:category_pinned="(category) => { 725 const isCurrent = category.id === '149896'; 726 $(this).toggleClass('active', isCurrent); 727 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 728 }" 729 href="https://order.empirehunanma.com/order/main/beverages" 730 aria-current="false" 731 onclick="if (!event.ctrlKey) { 732 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 733 if (currentMenuIsActive) { 734 app.event.emit('category_selected', { id: '149896' }); 735 } else { 736 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '149896' }); 737 } 738 }" 739 > 740 Beverages<span class="sr-only"> menu category</span> 741 <span class="ms-auto">7<span class="sr-only"> items available</span></span> 742 </a> 743 <a 744 class="eds_list-item eds-copy-text-l-regular list-unstyled rounded-3 mb-1 px-3 px-lg-4 py-2p5 d-flex
744" 745 data-event-on:category_pinned="(category) => { 746 const isCurrent = category.id === '269405'; 747 $(this).toggleClass('active', isCurrent); 748 this.setAttribute('aria-current', isCurrent ? 'page' : 'false'); 749 }" 750 href="https://order.empirehunanma.com/order/main/sauces" 751 aria-current="false" 752 onclick="if (!event.ctrlKey) { 753 const currentMenuIsActive = true || $(this).closest('details').find('summary').hasClass('active'); 754 if (currentMenuIsActive) { 755 app.event.emit('category_selected', { id: '269405' }); 756 } else { 757 app.event.emit('menu_selected', { menu_id: '11987', menu_description: "Please note: requests for additional items or special preparation may incur an <b>extra charge<\/b> not calculated on your online order.", category_id: '269405' }); 758 } 759 }" 760 > 761 Sauces<span class="sr-only"> menu category</span> 762 <span class="ms-auto">4<span class="sr-only"> items available</span></span> 763 </a> 764 </details> 765 766 </div> 767 768 769 <div class="restaurant-info border-top border-light p-3 position-absolute bottom-0 left-0 w-100"> 770 <h2 class="eds-display-text-title-xs mb-0 me-2 pe-4"><span class="sr-only">Location: You're currently ordering from </span>Empire Hunan - Lowell</h2> 771 772 <address class="eds-copy-text-s-regular mb-0"> 773 87 Church St Lowell, MA 01852 </address> 774 </div> 775 776 <div class="eds-copy-text-s-regular p-3 d-lg-none"> 777 <h2 class="eds-display-text-title-m m-0 pb-3">Additional info</h2> 778 <ul class="list-unstyled" aria-label="App store links"> 779 <li><a href="https://play.google.com/store/apps/details?id=com.chinesemenuonline.empirehunanlowell"><span class="sr-only">Download from the Google Play Store</span><img src="/web/default4.0/images/google-play-badge.svg" alt="" aria-hidden="true"></a></li> 780 </ul> 781 782 <ul class="list-unstyled d-flex gap-2" aria-label="Social network links"> 783 <li><a href="https://www.yelp.com/biz/empire-hunan-lowell-3" target="new" title="Opens in new tab" class="icon" title="Yelp"><i class="fab fa-yelp"></i><span class="sr-only">Yelp</span></a></li> 784 <li><a href="https://www.tripadvisor.com/Restaurant_Review-g60891-d4160584-Reviews-Empire_Hunan_Chinese_Restaurant-Lowell_Massachusetts.html" target="new" title="Opens in new tab" class="icon" title="TripAdvisor"><i class="fak fa-tripadvisor"></i><span class="sr-only">TripAdvisor</span></a></li> 785 </ul> 786 787<div>© 2026 Online Ordering by <a href="http://chinesemenuonline.com">Chinese Menu Online</a></div> 788 <div>Taste authentic flavors from Chinese restaurants on <a href="https://www.springroll.com" target="_blank" title="Opens in new tab" >Springroll</a></div> 789 790<ul class="list-unstyled mb-0 pt-3" aria-label="Legal and support"> 791 <li><a href="https://order.empirehunanma.com/reportbug">Technical Support</a></li> 792 <li><a href="https://order.empirehunanma.com/privacy">Privacy Policy</a></li> 793 <li><a href="https://order.empirehunanma.com/tos">Terms of Service</a></li> 794 <li><a href="https://order.empirehunanma.com/accessibility">Accessibility</a></li> 795</ul> 796 797This site is protected by reCAPTCHA and <a href="https://policies.google.com/privacy">Google's Privacy Policy</a> and <a href="https://policies.google.com/terms">Google's Terms of Service</a> apply. 798 </div> </div> 799 800
800<script> 801 { 802 const container = document.querySelector('[data-eds-id="6ab536c639f04"]'); 803 804 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 805 container.addEventListener(`eds.${eventName}`, (e) => { 806 bootstrap.Offcanvas.getOrCreateInstance(container)[eventName]( 807 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 808 ); 809 }); 810 }); 811 } 812 </script>
812 813 </div> 814 815 </header> 816 </div> 817 818 <aside class="container p-0" style="grid-area: hero" aria-labelledby="hero-section-title"> 819 <section class="hero"> 820 <div class="menu_hero backbgbox position-relative"> 821 <div class="logo"> 822 <a class="logo-image" href="https://order.empirehunanma.com" aria-current="false" > 823 <img 824 src="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/8d911626-6927-4f58-3905-29add3317500/public" 825 srcset="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/8d911626-6927-4f58-3905-29add3317500/public 1x, https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/8d911626-6927-4f58-3905-29add3317500/public 2x" alt="Go to Home" 826 onerror="this.closest('.logo').style.setProperty('display', 'none', 'important')" 827 /> 828 </a> 829 </div> 830 </div> 831 832 <div class="p-3"> 833 <div class="pb-1"> 834 <h1 id="hero-section-title" class="eds-display-text-title-s m-0 p-0">Empire Hunan - Lowell</h1> 835 </div> 836 837 <div class="d-sm-flex align-items-baseline"> 838 <div class="mt-2"> 839 840 <span 841 class="eds_label eds_label--variant-error eds-interface-text-m-bold me-1 text-nowrap" 842 > 843 Closed </span> 844 845 Opens at 11:00AM </div> 846 847 <div class="d-flex gap-2 ms-sm-auto mt-2"> 848 849 <a 850 class="eds_button btn btn-outline-secondary btn-sm col text-nowrap" 851 href="https://order.empirehunanma.com/locationinfo?lid=9464" 852 > 853 <i class="eds_icon fa fa-info-circle" style="" aria-hidden="true"></i> Store info </a> 854 855 856 857 <a 858 class="eds_button btn btn-outline-secondary btn-sm col d-lg-none text-nowrap" 859 href="tel:(978) 458-8290" 860 > 861 <i class="eds_icon fa fa-phone" style="" aria-hidden="true"></i> Call us </a> 862 863 864 </div> 865 </div> 866 </div> 867 </section> 868 </aside> 869 870 871 872 <div class="container" style="grid-area: messages"> 873 </div> 874 <!-- Header ends --> 875<main class="main_content" id="main"> 876 <div class="container menu_page contact_page locationinfo"> 877 <div class="row menu_wrapper"> 878 <h1><span style="font-size:20pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"><strong>Accessibility Statement</strong></span></span></span></h1> 879 880<p><span style="font-size:12pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"><strong>Last Updated: May 26, 2026</strong></span></span></span></p> 881 882<h2><span style="font-size:16pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"><strong>Our Commitment</strong></span></span></span></h2> 883 884<p><span style="font-size:12pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">We are committed to ensuring digital accessibility for people with disabilities. We are continually improving the user experience for everyone and applying the relevant accessibility standards. We aim to conform to the </span></span></span><span style="font-size:12pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"><strong>Web Content Accessibility Guidelines (WCAG) 2.1, Level AA</strong></span></span></span><span style="font-size:12pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">, to the best of our ability.</span></span></span></p> 885 886<h2><span style="font-size:16pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"><strong>Support and Feedback</strong></span></span></span></h2> 887 888<p><span style="font-size:12pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">We welcome your feedback on the accessibility of our Service. If you encounter accessibility barriers or have difficulty using any part of our website or mobile applications, please let us know immediately so that we can assist you:</span></span></span></p> 889 890<div class="row"> 891<div class="col"> 892<ul> 893 <li style="list-style-type:disc"><span style="font-size:12pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"><strong>Email:</strong></span></span></span><span style="font-size:12pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"> [email protected]</span></span></span></li> 894 <li style="list-style-type:disc"><span style="font-size:12pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"><strong>Address: </strong>8480 Honeycutt Rd. Suite 200 Raleigh, NC 27615</span></span></span></li> 895</ul> 896</div> 897</div> 898 899<p><span style="font-size:12pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">When contacting us, please provide a description of the specific feature you feel is not fully accessible or a suggestion for improvement. We take your feedback seriously and will consider it as we evaluate ways to accommodate all of our customers and our overall accessibility policies.</span></span></span></p> 900 901<h2><span style="font-size:16pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"><strong>Third-Party Content Disclaimer</strong></span></span></span></h2> 902 903<p><span style="font-size:12pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">While we strive to provide an accessible experience, please note that our platform facilitates connections with third-party Restaurants and Resellers. Certain content including, but not limited to, menu images, restaurant-specific branding, promotional graphics, and PDF uploads is provided and controlled by these third parties.</span></span></span></p> 904 905<p><span style="font-size:12pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">We cannot guarantee the accessibility of content hosted on our platform that is managed by third-party entities. However, we encourage our partners to provide accessible content and are happy to assist users in obtaining the information they need through alternative means whenever possible.</span></span></span></p> 906 907<h2><span style="font-size:16pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000"><strong>Ongoing Efforts</strong></span></span></span></h2> 908 909<p><span style="font-size:12pt"><span style="font-family:Arial,sans-serif"><span style="color:#000000">Accessibility is an ongoing process. Our team regularly reviews the Service using industry-standard tools and assistive technologies (such as screen readers) to identify and remediate potential barriers. We are dedicated to maintaining a platform that allows all users to browse, order, and enjoy their favorite meals with ease.</span></span></span></p> 910 </div> 911 </div> 912</main> 913 914<footer class="footer bg-white" style="grid-area: footer"> 915 <div class="container"> 916 <div class="social_wrapper"> 917 <div class="social_links"> 918 <ul class="d-flex align-items-start"> 919 <li> 920 <a class="icon" href="https://www.yelp.com/biz/empire-hunan-lowell-3" target="_blank" title="Yelp (opens in new tab)"> 921 <span class="sr-only">Yelp</span> 922 <i class="eds_icon fab fa-yelp" style="" aria-hidden="true"></i> </a> 923 </li> 924 <li> 925 <a class="icon" href="https://www.tripadvisor.com/Restaurant_Review-g60891-d4160584-Reviews-Empire_Hunan_Chinese_Restaurant-Lowell_Massachusetts.html" target="_blank" title="TripAdvisor (opens in new tab)"> 926 <span class="sr-only">TripAdvisor</span> 927 <img class="eds_icon fab fa-tripadvisor" style="" aria-hidden="true" src="/web/website/assets/svg/icons/social/tripadvisor.svg" alt="Tripadvisor" /> </a> 928 </li> 929 </ul> 930 </div> 931 <div class="d_app"> 932 <ul> 933 <li><a href="https://play.google.com/store/apps/details?id=com.chinesemenuonline.empirehunanlowell"><span class="sr-only">Download from the Google Play Store</span><img src="/web/default4.0/images/google-play-badge.svg" alt="Get it on Google Play" aria-hidden="true"></a></li> 934 </ul> 935 </div> 936 </div> 937 938 <div class="d-flex flex-wrap justify-content-between gap-2 mt-2" style="--bs-link-color: var(--bs-body-color); --bs-link-hover-color: var(--bs-gray-dark)"> 939 <ul class="list-unstyled d-flex gap-3 mb-0 eds-interface-text-l-regular"> 940 <li><a class="text-decoration-none" href="https://order.empirehunanma.com" aria-current="false">Home</a></li> 941 <li><a class="text-decoration-none" href="https://order.empirehunanma.com/order/main" aria-current="false">Menu</a></li> 942 <li> 943 <a class="text-decoration-none" href="https://order.empirehunanma.com/page/delivery-info" aria-current="false">Delivery Info</a> 944 </li> 945 <li><a class="text-decoration-none" href="https://order.empirehunanma.com/locationinfo" aria-current="false">Location & Hours</a></li> 946 <li><a class="text-decoration-none" href="https://order.empirehunanma.com/contact" aria-current="false">Contact</a></li> 947 </ul> 948 949 <ul class="list-unstyled d-flex mb-0 eds-interface-text-m-regular"> 950 <li class="bullet-separated"><a href="https://order.empirehunanma.com/reportbug" class="errorLink">Technical Support</a></li> 951 <li class="bullet-separated"><a href="https://order.empirehunanma.com/privacy">Privacy Policy</a></li> 952 <li class="bullet-separated"><a href="https://order.empirehunanma.com/tos">Terms of Service</a></li> 953 <li class="bullet-separated"><a href="https://order.empirehunanma.com/accessibility">Accessibility</a></li> 954 </ul> 955 </div> 956 957 <div class="d-flex justify-content-between gap-3 border-top mt-3 pt-3" style="--bs-link-color: var(--bs-body-color); --bs-link-hover-color: var(--bs-gray-dark)"> 958 <p class="eds-copy-text-m-regular"> 959 This site is protected by reCAPTCHA and <a href="https://policies.google.com/privacy">Google's Privacy Policy</a> and <a href="https://policies.google.com/terms">Google's Terms of Service</a> apply. 960 </p> 961 962 <p class="eds-copy-text-m-regular text-end"> 963 © 2026 Online Ordering by <a href="http://chinesemenuonline.com">Chinese Menu Online</a> <br>Taste authentic flavors from Chinese restaurants on <a href="https://www.springroll.com" target="_blank" title="Opens in new tab" >Springroll</a> </p> 964 </div> 965 </div> 966</footer> 967<!-- footer ends --> 968 969 970</div> 971<!-- wrapper ends --> 972 973 974 975 <div 976 data-eds-id="6ab536c63ce1e" 977 class="eds_dialog modal fade " 978 tabindex="-1" 979 aria-labelledby="eds-dialog-title-6ab536c63ce1e" 980 aria-hidden="true" 981 id="forgot-password-modal" >
982 <div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down modal-md"> 983 <div class="modal-content "> 984 985 <div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m "> 986 <h2 id="eds-dialog-title-6ab536c63ce1e" class="eds_dialog-title modal-title eds-display-text-title-m pe-5" style="max-width: 100%"> 987 Forgot Password </h2> 988 989 <button class="eds_button btn btn-outline-secondary btn-lg eds_button--shape-circle position-absolute top-0 end-0 border d-sm-none" style="width: 3rem; height: 3rem; margin-top: 6px; margin-right: 6px" data-bs-dismiss="modal" aria-label="Close" type="button"><i class="eds_icon fa fa-close" style="" aria-hidden="true"></i></button> </div> 990 991 <div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular "> 992 <form 993 id="forgot-password-form" 994 name="forgot-password" 995 data-async-on-submit 996 method="post" 997 action="https://order.empirehunanma.com/auth/forgotpassword" 998 data-async-block="#forgot-password-modal .modal-content" 999 data-async-target="#forgot-password-modal .eds_dialog-body" 1000 data-async-recaptcha 1001 novalidate 1002 > 1003 1004 1005 <label 1006 data-eds-id="6ab536c63cdcf" 1007 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-3" 1008 > 1009 <div class="eds_formfield-label"> 1010 Your email <span aria-hidden="true">*</span> </div> 1011 1012 <div class="position-relative d-flex flex-column"> 1013 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1014 1015 <input 1016 type="email" 1017 class="eds-copy-text-l-regular " 1018 placeholder=" " name="email" autocomplete="email" required value="" /> 1019 1020 1021 1022 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1023 </div> 1024 1025 1026
1026<script> 1027 { 1028 const container = document.querySelector('[data-eds-id="6ab536c63cdcf"]'); 1029 const input = container.querySelector('input, textarea, select'); 1030 const error = container.querySelector('.eds_formfield-error'); 1031 1032 1033 input.addEventListener('eds.validation.reset', () => { 1034 input.removeAttribute('data-validation'); 1035 input.setCustomValidity(''); 1036 error.innerHTML = ''; 1037 }); 1038 1039 input.addEventListener('eds.validation.hide', () => { 1040 input.removeAttribute('data-validation'); 1041 }); 1042 1043 input.addEventListener('eds.validation.success', (e) => { 1044 input.setCustomValidity(''); 1045 input.setAttribute('data-validation', ''); 1046 error.innerHTML = ''; 1047 }); 1048 1049 input.addEventListener('eds.validation.warning', (e) => { 1050 input.setCustomValidity(''); 1051 input.setAttribute('data-validation', ''); 1052 error.innerHTML = e.detail; 1053 }); 1054 1055 input.addEventListener('eds.validation.error', (e) => { 1056 input.setCustomValidity(e.detail); 1057 input.checkValidity(); input.setAttribute('data-validation', ''); 1058 }); 1059 1060 input.addEventListener('invalid', (e) => { 1061 error.innerHTML = input.validationMessage; 1062 }); 1063 1064 } 1065 </script>
1065 1066 </label> 1067 1068 1069 <button class="eds_button btn btn-primary w-100 mb-3" type="submit" form="forgot-password-form">Reset password</button> 1070 <div class="text-center"> 1071 <button data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#login-modal" class="eds_button btn btn-link btn-text-link border-0 p-0 text-inherit text-decoration-none" type="button">< Back</button> </div> 1072 </form> </div> 1073 1074 1075 </div> 1076 </div> 1077 1078
1078<script> 1079 { 1080 const container = document.querySelector('[data-eds-id="6ab536c63ce1e"]'); 1081 let edsMethodsDisabled = false; 1082 1083 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 1084 container.addEventListener(`eds.${eventName}`, (e) => { 1085 if (edsMethodsDisabled) return; 1086 1087 bootstrap.Modal.getOrCreateInstance(container)[eventName]( 1088 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 1089 ); 1090 }); 1091 }); 1092 1093 ['show', 'shown', 'hide', 'hidden'].forEach((eventName) => { 1094 container.addEventListener(`${eventName}.bs.modal`, (e) => { 1095 if (edsMethodsDisabled) return; 1096 1097 edsMethodsDisabled = true; // Prevent infinite loop of triggering events 1098 container.dispatchEvent(new CustomEvent(`eds.${eventName}`)); 1099 edsMethodsDisabled = false; 1100 }); 1101 }); 1102 1103 1104 ['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => { 1105 container.addEventListener(eventName, () => { 1106 const autofocusInput = container.querySelector('[autofocus]'); 1107 if (autofocusInput) { 1108 container.style.display = 'block'; 1109 autofocusInput.focus(); 1110 } 1111 }); 1112 }); 1113 1114 } 1115 </script>
1115 1116 </div> 1117 1118 1119 <div 1120 data-eds-id="6ab536c63d2b7" 1121 class="eds_dialog modal fade " 1122 tabindex="-1" 1123 aria-labelledby="eds-dialog-title-6ab536c63d2b7" 1124 aria-hidden="true" 1125 id="login-modal" > 1126 <div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down modal-md"> 1127 <div class="modal-content "> 1128 1129 <div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m "> 1130 <h2 id="eds-dialog-title-6ab536c63d2b7" class="eds_dialog-title modal-title eds-display-text-title-m pe-5" style="max-width: 100%"> 1131 Log in </h2> 1132 1133 <button class="eds_button btn btn-outline-secondary btn-lg eds_button--shape-circle position-absolute top-0 end-0 border d-sm-none" style="width: 3rem; height: 3rem; margin-top: 6px; margin-right: 6px" data-bs-dismiss="modal" aria-label="Close" type="button"><i class="eds_icon fa fa-close" style="" aria-hidden="true"></i></button> </div> 1134 1135 <div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular "> 1136 <form 1137 id="login-form" 1138 name="login" 1139 data-async-on-submit 1140 method="post" 1141 action="https://order.empirehunanma.com/auth" 1142 data-async-block="#login-modal .modal-content" 1143 data-async-target="#login-modal .eds_dialog-body" 1144 data-async-then="document.querySelector('#login-modal').dispatchEvent(new CustomEvent('eds.hide'))" 1145 data-async-recaptcha 1146 novalidate 1147 > 1148 1149 1150 <label 1151 data-eds-id="6ab536c63d13a" 1152 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-3" 1153 > 1154 <div class="eds_formfield-label"> 1155 Your email <span aria-hidden="true">*</span> </div> 1156 1157 <div class="position-relative d-flex flex-column"> 1158 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1159 1160 <input 1161 type="email" 1162 class="eds-copy-text-l-regular " 1163 placeholder=" " name="email" autocomplete="username" required value="" /> 1164 1165 1166 1167 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1168 </div> 1169 1170 1171
1171<script> 1172 { 1173 const container = document.querySelector('[data-eds-id="6ab536c63d13a"]'); 1174 const input = container.querySelector('input, textarea, select'); 1175 const error = container.querySelector('.eds_formfield-error'); 1176 1177 1178 input.addEventListener('eds.validation.reset', () => { 1179 input.removeAttribute('data-validation'); 1180 input.setCustomValidity(''); 1181 error.innerHTML = ''; 1182 }); 1183 1184 input.addEventListener('eds.validation.hide', () => { 1185 input.removeAttribute('data-validation'); 1186 }); 1187 1188 input.addEventListener('eds.validation.success', (e) => { 1189 input.setCustomValidity(''); 1190 input.setAttribute('data-validation', ''); 1191 error.innerHTML = ''; 1192 }); 1193 1194 input.addEventListener('eds.validation.warning', (e) => { 1195 input.setCustomValidity(''); 1196 input.setAttribute('data-validation', ''); 1197 error.innerHTML = e.detail; 1198 }); 1199 1200 input.addEventListener('eds.validation.error', (e) => { 1201 input.setCustomValidity(e.detail); 1202 input.checkValidity(); input.setAttribute('data-validation', ''); 1203 }); 1204 1205 input.addEventListener('invalid', (e) => { 1206 error.innerHTML = input.validationMessage; 1207 }); 1208 1209 } 1210 </script>
1210 1211 </label> 1212 1213 1214 1215 <label 1216 data-eds-id="6ab536c63d166" 1217 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2" 1218 > 1219 <div class="eds_formfield-label"> 1220 Your password <span aria-hidden="true">*</span> </div> 1221 1222 <div class="position-relative d-flex flex-column"> 1223 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1224 1225 <input 1226 type="password" 1227 class="eds-copy-text-l-regular pe-6" 1228 data-event-on:toggle_password_6ab536c63d166="(shown) => $(this).attr('type', shown ? 'text' : 'password')" placeholder=" " name="password" autocomplete="current-password" required value="" /> 1229 1230 1231 <button class="eds_button btn btn-outline eds_formfield-toggle_password position-absolute end-0 px-2" style="--bs-btn-bg: transparent" title="Show password" aria-label="Show password" onclick="app.event.emit('toggle_password_6ab536c63d166', !$(this).data('password-shown'))" data-event-on:toggle_password_6ab536c63d166="(shown) => $(this).data('password-shown', shown).attr('title', shown ? 'Hide password' : 'Show password').attr('aria-label', shown ? 'Hide password' : 'Show password')" type="button"><i class="eds_icon fas fa-sm fa-eye" style="" aria-hidden="true" data-event-on:toggle_password_6ab536c63d166="(shown) => this.hidden = shown"></i> <i class="eds_icon fas fa-sm fa-eye-slash" style="" aria-hidden="true" data-event-on:toggle_password_6ab536c63d166="(shown) => this.hidden = !shown" hidden></i></button> 1232 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1233 </div> 1234 1235 1236
1236<script> 1237 { 1238 const container = document.querySelector('[data-eds-id="6ab536c63d166"]'); 1239 const input = container.querySelector('input, textarea, select'); 1240 const error = container.querySelector('.eds_formfield-error'); 1241 1242 1243 input.addEventListener('eds.validation.reset', () => { 1244 input.removeAttribute('data-validation'); 1245 input.setCustomValidity(''); 1246 error.innerHTML = ''; 1247 }); 1248 1249 input.addEventListener('eds.validation.hide', () => { 1250 input.removeAttribute('data-validation'); 1251 }); 1252 1253 input.addEventListener('eds.validation.success', (e) => { 1254 input.setCustomValidity(''); 1255 input.setAttribute('data-validation', ''); 1256 error.innerHTML = ''; 1257 }); 1258 1259 input.addEventListener('eds.validation.warning', (e) => { 1260 input.setCustomValidity(''); 1261 input.setAttribute('data-validation', ''); 1262 error.innerHTML = e.detail; 1263 }); 1264 1265 input.addEventListener('eds.validation.error', (e) => { 1266 input.setCustomValidity(e.detail); 1267 input.checkValidity(); input.setAttribute('data-validation', ''); 1268 }); 1269 1270 input.addEventListener('invalid', (e) => { 1271 error.innerHTML = input.validationMessage; 1272 }); 1273 1274 } 1275 </script>
1275 1276 </label> 1277 1278 1279 <div class="text-end mb-3"> 1280 <button data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#forgot-password-modal" class="eds_button btn btn-link btn-text-link border-0 p-0 text-inherit text-decoration-none" type="button">Forgot your password?</button> </div> 1281 1282 1283 <button class="eds_button btn btn-primary w-100 mb-3" type="submit">Log in</button> 1284 <div class="d-flex align-items-center mb-3"><hr class="flex-grow-1"><span class="mx-3 text-muted eds-interface-text-s-regular">OR</span><hr class="flex-grow-1"></div> <div class="google-signin-container text-center mb-2"> 1285 <a href="https://sso.onlineorderingsecure.com/auth/google/redirect?return_to=https%3A%2F%2Forder.empirehunanma.com%2Fauth%2Fgoogle&redirect=%2Faccessibility" class="btn btn-outline-secondary w-100 eds_button eds_button--shape-default d-flex align-items-center justify-content-center gap-2" onclick="var url = new URL(this.href); url.searchParams.set('redirect', window.location.pathname + window.location.search); this.href = url.toString();"> 1286 <svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M17.64 9.2c0-.637-.057-1.251-.164-1.84H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615Z" fill="#4285F4"/><path d="M9 18c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18Z" fill="#34A853"/><path d="M3.964 10.71A5.41 5.41 0 0 1 3.682 9c0-.593.102-1.17.282-1.71V4.958H.957A8.997 8.997 0 0 0 0 9c0 1.452.348 2.827.957 4.042l3.007-2.332Z" fill="#FBBC05"/><path d="M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.958L3.964 6.29C4.672 4.163 6.656 2.58 9 2.58Z" fill="#EA4335"/></svg> 1287 Continue with Google 1288 </a> 1289 </div> 1290 <div class="apple-signin-container text-center mb-2"> 1291 <a href="https://sso.onlineorderingsecure.com/auth/apple/redirect?return_to=https%3A%2F%2Forder.empirehunanma.com%2Fauth%2Fapple&redirect=%2Faccessibility" class="btn btn-outline-secondary w-100 eds_button eds_button--shape-default d-flex align-items-center justify-content-center gap-2" onclick="var url = new URL(this.href); url.searchParams.set('redirect', window.location.pathname + window.location.search); this.href = url.toString();"> 1292 <svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M15.1 6.2c-.1.1-2.1 1.2-2.1 3.7 0 2.9 2.5 3.9 2.6 3.9 0 0 0 .1-.4 1.3-.6 1.5-1.7 3-2.9 3-1.3 0-1.6-.7-3.1-.7s-2 .8-3.1.8c-1.2 0-2.2-1.3-3-2.8C2 13.3 1.4 10.9 1.4 8.6c0-3.7 2.4-5.6 4.7-5.6 1.2 0 2.3.8 3 .8.7 0 1.9-.9 3.3-.9.5 0 2.4.1 3.7 1.3zM11.7 1.5c.6-.7 1-1.7 1-2.7 0-.1 0-.3 0-.4-1 0-2.1.6-2.8 1.4-.6.6-1.1 1.6-1.1 2.6 0 .2 0 .3 0 .4.1 0 .2 0 .3 0 .9 0 1.9-.6 2.6-1.3z" fill="currentColor"/></svg> 1293 Continue with Apple 1294 </a> 1295 </div> 1296 <small class="d-block mt-2 eds-interface-text-s-regular"> 1297 By continuing, you agree to our <a href="https://order.empirehunanma.com/tos" target="_blank" rel="noopener" title="Opens in new tab">Terms of Service</a> & <a href="https://order.empirehunanma.com/privacy" target="_blank" rel="noopener" title="Opens in new tab">Privacy Policy</a> and consent to receive automated promotional emails. See our <a href="https://order.empirehunanma.com/privacy#section-7-7" target="_blank" rel="noopener" title="Opens in new tab">Notice of Financial Incentive</a> regarding how we use your data for rewards and offers. 1298 </small> 1299 1300 <div class="text-center mt-3"> 1301 Don't have an account? 1302 <button data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#register-modal" class="eds_button btn btn-link btn-text-link border-0 p-0 text-inherit text-decoration-none" type="button">Sign up</button> </div> 1303 </form> </div> 1304 1305 1306 </div> 1307 </div> 1308 1309
1309<script> 1310 { 1311 const container = document.querySelector('[data-eds-id="6ab536c63d2b7"]'); 1312 let edsMethodsDisabled = false; 1313 1314 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 1315 container.addEventListener(`eds.${eventName}`, (e) => { 1316 if (edsMethodsDisabled) return; 1317 1318 bootstrap.Modal.getOrCreateInstance(container)[eventName]( 1319 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 1320 ); 1321 }); 1322 }); 1323 1324 ['show', 'shown', 'hide', 'hidden'].forEach((eventName) => { 1325 container.addEventListener(`${eventName}.bs.modal`, (e) => { 1326 if (edsMethodsDisabled) return; 1327 1328 edsMethodsDisabled = true; // Prevent infinite loop of triggering events 1329 container.dispatchEvent(new CustomEvent(`eds.${eventName}`)); 1330 edsMethodsDisabled = false; 1331 }); 1332 }); 1333 1334 1335 ['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => { 1336 container.addEventListener(eventName, () => { 1337 const autofocusInput = container.querySelector('[autofocus]'); 1338 if (autofocusInput) { 1339 container.style.display = 'block'; 1340 autofocusInput.focus(); 1341 } 1342 }); 1343 }); 1344 1345 } 1346 </script>
1346 1347 </div> 1348 1349 1350 <div 1351 data-eds-id="6ab536c63d6c5" 1352 class="eds_dialog modal fade " 1353 tabindex="-1" 1354 aria-labelledby="eds-dialog-title-6ab536c63d6c5" 1355 aria-hidden="true" 1356 id="register-modal" > 1357 <div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down modal-md"> 1358 <div class="modal-content "> 1359 1360 <div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m "> 1361 <h2 id="eds-dialog-title-6ab536c63d6c5" class="eds_dialog-title modal-title eds-display-text-title-m pe-5" style="max-width: 100%"> 1362 Sign up </h2> 1363 1364 <button class="eds_button btn btn-outline-secondary btn-lg eds_button--shape-circle position-absolute top-0 end-0 border d-sm-none" style="width: 3rem; height: 3rem; margin-top: 6px; margin-right: 6px" data-bs-dismiss="modal" aria-label="Close" type="button"><i class="eds_icon fa fa-close" style="" aria-hidden="true"></i></button> </div> 1365 1366 <div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular p-0"> 1367 <form 1368 id="register-form" 1369 name="register" 1370 data-async-on-submit 1371 method="post" 1372 action="https://order.empirehunanma.com/auth/register" 1373 data-async-block="#register-modal .modal-content" 1374 data-async-target="#register-modal .eds_dialog-body" 1375 data-async-then="document.querySelector('#register-modal').dispatchEvent(new CustomEvent('eds.hide'))" 1376 data-async-recaptcha 1377 novalidate 1378 > 1379 1380 <div class="p-3 pt-0"> 1381 1382 <label 1383 data-eds-id="6ab536c63d509" 1384 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5" 1385 > 1386 <div class="eds_formfield-label"> 1387 First name <span aria-hidden="true">*</span> </div> 1388 1389 <div class="position-relative d-flex flex-column"> 1390 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1391 1392 <input 1393 type="text" 1394 class="eds-copy-text-l-regular " 1395 placeholder=" " name="firstname" autocomplete="given-name" required value="" /> 1396 1397 1398 1399 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1400 </div> 1401 1402 1403
1403<script> 1404 { 1405 const container = document.querySelector('[data-eds-id="6ab536c63d509"]'); 1406 const input = container.querySelector('input, textarea, select'); 1407 const error = container.querySelector('.eds_formfield-error'); 1408 1409 1410 input.addEventListener('eds.validation.reset', () => { 1411 input.removeAttribute('data-validation'); 1412 input.setCustomValidity(''); 1413 error.innerHTML = ''; 1414 }); 1415 1416 input.addEventListener('eds.validation.hide', () => { 1417 input.removeAttribute('data-validation'); 1418 }); 1419 1420 input.addEventListener('eds.validation.success', (e) => { 1421 input.setCustomValidity(''); 1422 input.setAttribute('data-validation', ''); 1423 error.innerHTML = ''; 1424 }); 1425 1426 input.addEventListener('eds.validation.warning', (e) => { 1427 input.setCustomValidity(''); 1428 input.setAttribute('data-validation', ''); 1429 error.innerHTML = e.detail; 1430 }); 1431 1432 input.addEventListener('eds.validation.error', (e) => { 1433 input.setCustomValidity(e.detail); 1434 input.checkValidity(); input.setAttribute('data-validation', ''); 1435 }); 1436 1437 input.addEventListener('invalid', (e) => { 1438 error.innerHTML = input.validationMessage; 1439 }); 1440 1441 } 1442 </script>
1442 1443 </label> 1444 1445 1446 1447 <label 1448 data-eds-id="6ab536c63d531" 1449 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5" 1450 > 1451 <div class="eds_formfield-label"> 1452 Last name <span aria-hidden="true">*</span> </div> 1453 1454 <div class="position-relative d-flex flex-column"> 1455 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1456 1457 <input 1458 type="text" 1459 class="eds-copy-text-l-regular " 1460 placeholder=" " name="lastname" autocomplete="family-name" required value="" /> 1461 1462 1463 1464 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1465 </div> 1466 1467 1468
1468<script> 1469 { 1470 const container = document.querySelector('[data-eds-id="6ab536c63d531"]'); 1471 const input = container.querySelector('input, textarea, select'); 1472 const error = container.querySelector('.eds_formfield-error'); 1473 1474 1475 input.addEventListener('eds.validation.reset', () => { 1476 input.removeAttribute('data-validation'); 1477 input.setCustomValidity(''); 1478 error.innerHTML = ''; 1479 }); 1480 1481 input.addEventListener('eds.validation.hide', () => { 1482 input.removeAttribute('data-validation'); 1483 }); 1484 1485 input.addEventListener('eds.validation.success', (e) => { 1486 input.setCustomValidity(''); 1487 input.setAttribute('data-validation', ''); 1488 error.innerHTML = ''; 1489 }); 1490 1491 input.addEventListener('eds.validation.warning', (e) => { 1492 input.setCustomValidity(''); 1493 input.setAttribute('data-validation', ''); 1494 error.innerHTML = e.detail; 1495 }); 1496 1497 input.addEventListener('eds.validation.error', (e) => { 1498 input.setCustomValidity(e.detail); 1499 input.checkValidity(); input.setAttribute('data-validation', ''); 1500 }); 1501 1502 input.addEventListener('invalid', (e) => { 1503 error.innerHTML = input.validationMessage; 1504 }); 1505 1506 } 1507 </script>
1507 1508 </label> 1509 1510 1511 1512 <label 1513 data-eds-id="6ab536c63d54f" 1514 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5" 1515 > 1516 <div class="eds_formfield-label"> 1517 Email <span aria-hidden="true">*</span> </div> 1518 1519 <div class="position-relative d-flex flex-column"> 1520 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1521 1522 <input 1523 type="email" 1524 class="eds-copy-text-l-regular " 1525 placeholder=" " name="email" autocomplete="username" required value="" /> 1526 1527 1528 1529 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1530 </div> 1531 1532 1533
1533<script> 1534 { 1535 const container = document.querySelector('[data-eds-id="6ab536c63d54f"]'); 1536 const input = container.querySelector('input, textarea, select'); 1537 const error = container.querySelector('.eds_formfield-error'); 1538 1539 1540 input.addEventListener('eds.validation.reset', () => { 1541 input.removeAttribute('data-validation'); 1542 input.setCustomValidity(''); 1543 error.innerHTML = ''; 1544 }); 1545 1546 input.addEventListener('eds.validation.hide', () => { 1547 input.removeAttribute('data-validation'); 1548 }); 1549 1550 input.addEventListener('eds.validation.success', (e) => { 1551 input.setCustomValidity(''); 1552 input.setAttribute('data-validation', ''); 1553 error.innerHTML = ''; 1554 }); 1555 1556 input.addEventListener('eds.validation.warning', (e) => { 1557 input.setCustomValidity(''); 1558 input.setAttribute('data-validation', ''); 1559 error.innerHTML = e.detail; 1560 }); 1561 1562 input.addEventListener('eds.validation.error', (e) => { 1563 input.setCustomValidity(e.detail); 1564 input.checkValidity(); input.setAttribute('data-validation', ''); 1565 }); 1566 1567 input.addEventListener('invalid', (e) => { 1568 error.innerHTML = input.validationMessage; 1569 }); 1570 1571 } 1572 </script>
1572 1573 </label> 1574 1575 1576 1577 <label 1578 data-eds-id="6ab536c63d56a" 1579 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5" 1580 > 1581 <div class="eds_formfield-label"> 1582 Password <span aria-hidden="true">*</span> </div> 1583 1584 <div class="position-relative d-flex flex-column"> 1585 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1586 1587 <input 1588 type="password" 1589 class="eds-copy-text-l-regular pe-6" 1590 data-event-on:toggle_password_6ab536c63d56a="(shown) => $(this).attr('type', shown ? 'text' : 'password')" placeholder=" " name="password" autocomplete="current-password" required value="" /> 1591 1592 1593 <button class="eds_button btn btn-outline eds_formfield-toggle_password position-absolute end-0 px-2" style="--bs-btn-bg: transparent" title="Show password" aria-label="Show password" onclick="app.event.emit('toggle_password_6ab536c63d56a', !$(this).data('password-shown'))" data-event-on:toggle_password_6ab536c63d56a="(shown) => $(this).data('password-shown', shown).attr('title', shown ? 'Hide password' : 'Show password').attr('aria-label', shown ? 'Hide password' : 'Show password')" type="button"><i class="eds_icon fas fa-sm fa-eye" style="" aria-hidden="true" data-event-on:toggle_password_6ab536c63d56a="(shown) => this.hidden = shown"></i> <i class="eds_icon fas fa-sm fa-eye-slash" style="" aria-hidden="true" data-event-on:toggle_password_6ab536c63d56a="(shown) => this.hidden = !shown" hidden></i></button> 1594 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1595 </div> 1596 1597 1598
1598<script> 1599 { 1600 const container = document.querySelector('[data-eds-id="6ab536c63d56a"]'); 1601 const input = container.querySelector('input, textarea, select'); 1602 const error = container.querySelector('.eds_formfield-error'); 1603 1604 1605 input.addEventListener('eds.validation.reset', () => { 1606 input.removeAttribute('data-validation'); 1607 input.setCustomValidity(''); 1608 error.innerHTML = ''; 1609 }); 1610 1611 input.addEventListener('eds.validation.hide', () => { 1612 input.removeAttribute('data-validation'); 1613 }); 1614 1615 input.addEventListener('eds.validation.success', (e) => { 1616 input.setCustomValidity(''); 1617 input.setAttribute('data-validation', ''); 1618 error.innerHTML = ''; 1619 }); 1620 1621 input.addEventListener('eds.validation.warning', (e) => { 1622 input.setCustomValidity(''); 1623 input.setAttribute('data-validation', ''); 1624 error.innerHTML = e.detail; 1625 }); 1626 1627 input.addEventListener('eds.validation.error', (e) => { 1628 input.setCustomValidity(e.detail); 1629 input.checkValidity(); input.setAttribute('data-validation', ''); 1630 }); 1631 1632 input.addEventListener('invalid', (e) => { 1633 error.innerHTML = input.validationMessage; 1634 }); 1635 1636 } 1637 </script>
1637 1638 </label> 1639 1640 1641 1642 <label 1643 data-eds-id="6ab536c63d5ba" 1644 class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-3" 1645 > 1646 <div class="eds_formfield-label"> 1647 Phone number <span aria-hidden="true">*</span> </div> 1648 1649 <div class="position-relative d-flex flex-column"> 1650 <div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div> 1651 1652 <input 1653 type="text" 1654 class="eds-copy-text-l-regular " 1655 placeholder=" " name="primary_phone" autocomplete="tel-national" required value="" /> 1656 1657 1658 1659 <i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i> 1660 </div> 1661 1662 <div class="eds-interface-text-s-regular mt-2"> 1663 <i class="eds_icon fa fa-info-circle text-muted" style="" aria-hidden="true"></i> We require a phone number in case we need to contact you about your order. </div> 1664 1665
1665<script> 1666 { 1667 const container = document.querySelector('[data-eds-id="6ab536c63d5ba"]'); 1668 const input = container.querySelector('input, textarea, select'); 1669 const error = container.querySelector('.eds_formfield-error'); 1670 1671 1672 input.addEventListener('eds.validation.reset', () => { 1673 input.removeAttribute('data-validation'); 1674 input.setCustomValidity(''); 1675 error.innerHTML = ''; 1676 }); 1677 1678 input.addEventListener('eds.validation.hide', () => { 1679 input.removeAttribute('data-validation'); 1680 }); 1681 1682 input.addEventListener('eds.validation.success', (e) => { 1683 input.setCustomValidity(''); 1684 input.setAttribute('data-validation', ''); 1685 error.innerHTML = ''; 1686 }); 1687 1688 input.addEventListener('eds.validation.warning', (e) => { 1689 input.setCustomValidity(''); 1690 input.setAttribute('data-validation', ''); 1691 error.innerHTML = e.detail; 1692 }); 1693 1694 input.addEventListener('eds.validation.error', (e) => { 1695 input.setCustomValidity(e.detail); 1696 input.checkValidity(); input.setAttribute('data-validation', ''); 1697 }); 1698 1699 input.addEventListener('invalid', (e) => { 1700 error.innerHTML = input.validationMessage; 1701 }); 1702 1703 } 1704 </script>
1704 1705 </label> 1706 1707 1708 1709 <div class="eds_checkable d-inline-block mb-2" > 1710 <input id="eds-checkable-6ab536c63d5d9" name="receive_promotions" value="1" checked type="checkbox" /> 1711 <label for="eds-checkable-6ab536c63d5d9" class="eds_checkable-text eds-interface-text-l-regular "> 1712 Receive Promotional Offers & Updates </label> 1713 </div> 1714 1715 1716 <button class="eds_button btn btn-primary w-100 mt-1 mb-3" type="submit">Sign up</button> 1717 <div class="d-flex align-items-center mb-3"><hr class="flex-grow-1"><span class="mx-3 text-muted eds-interface-text-s-regular">OR</span><hr class="flex-grow-1"></div> <div class="google-signin-container text-center mb-2"> 1718 <a href="https://sso.onlineorderingsecure.com/auth/google/redirect?return_to=https%3A%2F%2Forder.empirehunanma.com%2Fauth%2Fgoogle&redirect=%2Faccessibility" class="btn btn-outline-secondary w-100 eds_button eds_button--shape-default d-flex align-items-center justify-content-center gap-2" onclick="var url = new URL(this.href); url.searchParams.set('redirect', window.location.pathname + window.location.search); this.href = url.toString();"> 1719 <svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M17.64 9.2c0-.637-.057-1.251-.164-1.84H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615Z" fill="#4285F4"/><path d="M9 18c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18Z" fill="#34A853"/><path d="M3.964 10.71A5.41 5.41 0 0 1 3.682 9c0-.593.102-1.17.282-1.71V4.958H.957A8.997 8.997 0 0 0 0 9c0 1.452.348 2.827.957 4.042l3.007-2.332Z" fill="#FBBC05"/><path d="M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.958L3.964 6.29C4.672 4.163 6.656 2.58 9 2.58Z" fill="#EA4335"/></svg> 1720 Continue with Google 1721 </a> 1722 </div> 1723 <div class="apple-signin-container text-center mb-2"> 1724 <a href="https://sso.onlineorderingsecure.com/auth/apple/redirect?return_to=https%3A%2F%2Forder.empirehunanma.com%2Fauth%2Fapple&redirect=%2Faccessibility" class="btn btn-outline-secondary w-100 eds_button eds_button--shape-default d-flex align-items-center justify-content-center gap-2" onclick="var url = new URL(this.href); url.searchParams.set('redirect', window.location.pathname + window.location.search); this.href = url.toString();"> 1725 <svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M15.1 6.2c-.1.1-2.1 1.2-2.1 3.7 0 2.9 2.5 3.9 2.6 3.9 0 0 0 .1-.4 1.3-.6 1.5-1.7 3-2.9 3-1.3 0-1.6-.7-3.1-.7s-2 .8-3.1.8c-1.2 0-2.2-1.3-3-2.8C2 13.3 1.4 10.9 1.4 8.6c0-3.7 2.4-5.6 4.7-5.6 1.2 0 2.3.8 3 .8.7 0 1.9-.9 3.3-.9.5 0 2.4.1 3.7 1.3zM11.7 1.5c.6-.7 1-1.7 1-2.7 0-.1 0-.3 0-.4-1 0-2.1.6-2.8 1.4-.6.6-1.1 1.6-1.1 2.6 0 .2 0 .3 0 .4.1 0 .2 0 .3 0 .9 0 1.9-.6 2.6-1.3z" fill="currentColor"/></svg> 1726 Continue with Apple 1727 </a> 1728 </div> 1729 <small class="d-block mt-2 eds-interface-text-s-regular"> 1730 By continuing, you agree to our <a href="https://order.empirehunanma.com/tos" target="_blank" rel="noopener" title="Opens in new tab">Terms of Service</a> & <a href="https://order.empirehunanma.com/privacy" target="_blank" rel="noopener" title="Opens in new tab">Privacy Policy</a> and consent to receive automated promotional emails. See our <a href="https://order.empirehunanma.com/privacy#section-7-7" target="_blank" rel="noopener" title="Opens in new tab">Notice of Financial Incentive</a> regarding how we use your data for rewards and offers. 1731 </small> 1732 1733 <div class="text-center mt-3"> 1734 Already have an account? 1735 <button data-bs-dismiss="modal" data-bs-toggle="modal" data-bs-target="#login-modal" class="eds_button btn btn-link btn-text-link border-0 p-0 text-inherit text-decoration-none" type="button">Log in</button> </div> 1736 </div> 1737 </form> </div> 1738 1739 1740 </div> 1741 </div> 1742 1743
1743<script> 1744 { 1745 const container = document.querySelector('[data-eds-id="6ab536c63d6c5"]'); 1746 let edsMethodsDisabled = false; 1747 1748 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 1749 container.addEventListener(`eds.${eventName}`, (e) => { 1750 if (edsMethodsDisabled) return; 1751 1752 bootstrap.Modal.getOrCreateInstance(container)[eventName]( 1753 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 1754 ); 1755 }); 1756 }); 1757 1758 ['show', 'shown', 'hide', 'hidden'].forEach((eventName) => { 1759 container.addEventListener(`${eventName}.bs.modal`, (e) => { 1760 if (edsMethodsDisabled) return; 1761 1762 edsMethodsDisabled = true; // Prevent infinite loop of triggering events 1763 container.dispatchEvent(new CustomEvent(`eds.${eventName}`)); 1764 edsMethodsDisabled = false; 1765 }); 1766 }); 1767 1768 1769 ['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => { 1770 container.addEventListener(eventName, () => { 1771 const autofocusInput = container.querySelector('[autofocus]'); 1772 if (autofocusInput) { 1773 container.style.display = 'block'; 1774 autofocusInput.focus(); 1775 } 1776 }); 1777 }); 1778 1779 } 1780 </script>
1780 1781 </div> 1782 1783 1784
1784<script> 1785 window.__ssoConfig = { 1786 google: { 1787 pendingUrl: "https:\/\/order.empirehunanma.com\/auth\/google\/pending", 1788 registerModalId: "register-modal", 1789 loginModalId: "login-modal" }, 1790 apple: { 1791 pendingUrl: "https:\/\/order.empirehunanma.com\/auth\/apple\/pending", 1792 registerModalId: "register-modal", 1793 loginModalId: "login-modal" } 1794 }; 1795 </script>
1795 1796 1797 1798<div class="modal fade" id="modal-order-time" tabindex="-1" role="dialog" 1799 aria-hidden="true"> 1800 <div class="modal-dialog modal-fullscreen-md-down mt-md-6" role="document"> 1801 <div class="modal-content"> 1802 <button class="d-md-none close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> 1803 <div class="modal-header"> 1804 <h2 class="modal-title eds-display-text-title-m">Order time</h2> 1805 </div> 1806 <div class="modal-body"> 1807 <div class="btn-group w-100 btn-group-order-time-type mb-3" style="display: none;"> 1808 1809 <input type="radio" name="param_order~time~type_i_n_1" id="order_time_type_1-" value="1" class="btn-check timeswitch orderTimeTypeOption" 1810 checked /> 1811 <label for="order_time_type_1-" class="d-flex align-items-center justify-content-center btn btn-outline-secondary w-50"> 1812 <span> 1813 Later 1814 <span class="d-block small fw-normal">Later</span> 1815 </span> 1816 </label> 1817 </div> 1818 <div id="laterContent" class=""> 1819 <div class="select-time-container"> 1820 <div class="selecttime showcheck_parent "> 1821 <div class="select-time-header clearfix"> 1822 <h3 class="bold fl fs-5">Pick a day and time</h3> 1823 </div> 1824 <div class="select-time-content clearfix"> 1825 <div class="row select-time-row"> 1826 <div class="datepicker col-md-8" style="min-height: 248px;"> 1827 <div class="datepicker-days" style="display: block;"> 1828 <div data-datetimepicker data-datepicker-min-date="2026-09-24" class="errorable"></div> 1829 </div> 1830 </div> 1831 <div class="timepicker col-md-4"> 1832 <div class="timepicker-picker"> 1833 <ul class="ready-at-time css-scroll"> 1834 <li class="time-button "> 1835 <input id="timeValue0" type="radio" value="11:30 AM" name="param_ready~at~time_s_n_15" 1836 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1837 data-required-field data-ready-attime/> 1838 <label for="timeValue0" class="btn btn-outline-secondary btn-sm" for="">11:30 AM</label> 1839 </li> 1840 <li class="time-button "> 1841 <input id="timeValue1" type="radio" value="11:45 AM" name="param_ready~at~time_s_n_15" 1842 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1843 data-required-field data-ready-attime/> 1844 <label for="timeValue1" class="btn btn-outline-secondary btn-sm" for="">11:45 AM</label> 1845 </li> 1846 <li class="time-button "> 1847 <input id="timeValue2" type="radio" value="12:00 PM" name="param_ready~at~time_s_n_15" 1848 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1849 data-required-field data-ready-attime/> 1850 <label for="timeValue2" class="btn btn-outline-secondary btn-sm" for="">12:00 PM</label> 1851 </li> 1852 <li class="time-button "> 1853 <input id="timeValue3" type="radio" value="12:15 PM" name="param_ready~at~time_s_n_15" 1854 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1855 data-required-field data-ready-attime/> 1856 <label for="timeValue3" class="btn btn-outline-secondary btn-sm" for="">12:15 PM</label> 1857 </li> 1858 <li class="time-button "> 1859 <input id="timeValue4" type="radio" value="12:30 PM" name="param_ready~at~time_s_n_15" 1860 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1861 data-required-field data-ready-attime/> 1862 <label for="timeValue4" class="btn btn-outline-secondary btn-sm" for="">12:30 PM</label> 1863 </li> 1864 <li class="time-button "> 1865 <input id="timeValue5" type="radio" value="12:45 PM" name="param_ready~at~time_s_n_15" 1866 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1867 data-required-field data-ready-attime/> 1868 <label for="timeValue5" class="btn btn-outline-secondary btn-sm" for="">12:45 PM</label> 1869 </li> 1870 <li class="time-button "> 1871 <input id="timeValue6" type="radio" value="1:00 PM" name="param_ready~at~time_s_n_15" 1872 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1873 data-required-field data-ready-attime/> 1874 <label for="timeValue6" class="btn btn-outline-secondary btn-sm" for="">1:00 PM</label> 1875 </li> 1876 <li class="time-button "> 1877 <input id="timeValue7" type="radio" value="1:15 PM" name="param_ready~at~time_s_n_15" 1878 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1879 data-required-field data-ready-attime/> 1880 <label for="timeValue7" class="btn btn-outline-secondary btn-sm" for="">1:15 PM</label> 1881 </li> 1882 <li class="time-button "> 1883 <input id="timeValue8" type="radio" value="1:30 PM" name="param_ready~at~time_s_n_15" 1884 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1885 data-required-field data-ready-attime/> 1886 <label for="timeValue8" class="btn btn-outline-secondary btn-sm" for="">1:30 PM</label> 1887 </li> 1888 <li class="time-button "> 1889 <input id="timeValue9" type="radio" value="1:45 PM" name="param_ready~at~time_s_n_15" 1890 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1891 data-required-field data-ready-attime/> 1892 <label for="timeValue9" class="btn btn-outline-secondary btn-sm" for="">1:45 PM</label> 1893 </li> 1894 <li class="time-button "> 1895 <input id="timeValue10" type="radio" value="2:00 PM" name="param_ready~at~time_s_n_15" 1896 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1897 data-required-field data-ready-attime/> 1898 <label for="timeValue10" class="btn btn-outline-secondary btn-sm" for="">2:00 PM</label> 1899 </li> 1900 <li class="time-button "> 1901 <input id="timeValue11" type="radio" value="2:15 PM" name="param_ready~at~time_s_n_15" 1902 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1903 data-required-field data-ready-attime/> 1904 <label for="timeValue11" class="btn btn-outline-secondary btn-sm" for="">2:15 PM</label> 1905 </li> 1906 <li class="time-button "> 1907 <input id="timeValue12" type="radio" value="2:30 PM" name="param_ready~at~time_s_n_15" 1908 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1909 data-required-field data-ready-attime/> 1910 <label for="timeValue12" class="btn btn-outline-secondary btn-sm" for="">2:30 PM</label> 1911 </li> 1912 <li class="time-button "> 1913 <input id="timeValue13" type="radio" value="2:45 PM" name="param_ready~at~time_s_n_15" 1914 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1915 data-required-field data-ready-attime/> 1916 <label for="timeValue13" class="btn btn-outline-secondary btn-sm" for="">2:45 PM</label> 1917 </li> 1918 <li class="time-button "> 1919 <input id="timeValue14" type="radio" value="3:00 PM" name="param_ready~at~time_s_n_15" 1920 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1921 data-required-field data-ready-attime/> 1922 <label for="timeValue14" class="btn btn-outline-secondary btn-sm" for="">3:00 PM</label> 1923 </li> 1924 <li class="time-button "> 1925 <input id="timeValue15" type="radio" value="3:15 PM" name="param_ready~at~time_s_n_15" 1926 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1927 data-required-field data-ready-attime/> 1928 <label for="timeValue15" class="btn btn-outline-secondary btn-sm" for="">3:15 PM</label> 1929 </li> 1930 <li class="time-button "> 1931 <input id="timeValue16" type="radio" value="3:30 PM" name="param_ready~at~time_s_n_15" 1932 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1933 data-required-field data-ready-attime/> 1934 <label for="timeValue16" class="btn btn-outline-secondary btn-sm" for="">3:30 PM</label> 1935 </li> 1936 <li class="time-button "> 1937 <input id="timeValue17" type="radio" value="3:45 PM" name="param_ready~at~time_s_n_15" 1938 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1939 data-required-field data-ready-attime/> 1940 <label for="timeValue17" class="btn btn-outline-secondary btn-sm" for="">3:45 PM</label> 1941 </li> 1942 <li class="time-button "> 1943 <input id="timeValue18" type="radio" value="4:00 PM" name="param_ready~at~time_s_n_15" 1944 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1945 data-required-field data-ready-attime/> 1946 <label for="timeValue18" class="btn btn-outline-secondary btn-sm" for="">4:00 PM</label> 1947 </li> 1948 <li class="time-button "> 1949 <input id="timeValue19" type="radio" value="4:15 PM" name="param_ready~at~time_s_n_15" 1950 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1951 data-required-field data-ready-attime/> 1952 <label for="timeValue19" class="btn btn-outline-secondary btn-sm" for="">4:15 PM</label> 1953 </li> 1954 <li class="time-button "> 1955 <input id="timeValue20" type="radio" value="4:30 PM" name="param_ready~at~time_s_n_15" 1956 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1957 data-required-field data-ready-attime/> 1958 <label for="timeValue20" class="btn btn-outline-secondary btn-sm" for="">4:30 PM</label> 1959 </li> 1960 <li class="time-button "> 1961 <input id="timeValue21" type="radio" value="4:45 PM" name="param_ready~at~time_s_n_15" 1962 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1963 data-required-field data-ready-attime/> 1964 <label for="timeValue21" class="btn btn-outline-secondary btn-sm" for="">4:45 PM</label> 1965 </li> 1966 <li class="time-button "> 1967 <input id="timeValue22" type="radio" value="5:00 PM" name="param_ready~at~time_s_n_15" 1968 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1969 data-required-field data-ready-attime/> 1970 <label for="timeValue22" class="btn btn-outline-secondary btn-sm" for="">5:00 PM</label> 1971 </li> 1972 <li class="time-button "> 1973 <input id="timeValue23" type="radio" value="5:15 PM" name="param_ready~at~time_s_n_15" 1974 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1975 data-required-field data-ready-attime/> 1976 <label for="timeValue23" class="btn btn-outline-secondary btn-sm" for="">5:15 PM</label> 1977 </li> 1978 <li class="time-button "> 1979 <input id="timeValue24" type="radio" value="5:30 PM" name="param_ready~at~time_s_n_15" 1980 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1981 data-required-field data-ready-attime/> 1982 <label for="timeValue24" class="btn btn-outline-secondary btn-sm" for="">5:30 PM</label> 1983 </li> 1984 <li class="time-button "> 1985 <input id="timeValue25" type="radio" value="5:45 PM" name="param_ready~at~time_s_n_15" 1986 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1987 data-required-field data-ready-attime/> 1988 <label for="timeValue25" class="btn btn-outline-secondary btn-sm" for="">5:45 PM</label> 1989 </li> 1990 <li class="time-button "> 1991 <input id="timeValue26" type="radio" value="6:00 PM" name="param_ready~at~time_s_n_15" 1992 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1993 data-required-field data-ready-attime/> 1994 <label for="timeValue26" class="btn btn-outline-secondary btn-sm" for="">6:00 PM</label> 1995 </li> 1996 <li class="time-button "> 1997 <input id="timeValue27" type="radio" value="6:15 PM" name="param_ready~at~time_s_n_15" 1998 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 1999 data-required-field data-ready-attime/> 2000 <label for="timeValue27" class="btn btn-outline-secondary btn-sm" for="">6:15 PM</label> 2001 </li> 2002 <li class="time-button "> 2003 <input id="timeValue28" type="radio" value="6:30 PM" name="param_ready~at~time_s_n_15" 2004 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2005 data-required-field data-ready-attime/> 2006 <label for="timeValue28" class="btn btn-outline-secondary btn-sm" for="">6:30 PM</label> 2007 </li> 2008 <li class="time-button "> 2009 <input id="timeValue29" type="radio" value="6:45 PM" name="param_ready~at~time_s_n_15" 2010 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2011 data-required-field data-ready-attime/> 2012 <label for="timeValue29" class="btn btn-outline-secondary btn-sm" for="">6:45 PM</label> 2013 </li> 2014 <li class="time-button "> 2015 <input id="timeValue30" type="radio" value="7:00 PM" name="param_ready~at~time_s_n_15" 2016 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2017 data-required-field data-ready-attime/> 2018 <label for="timeValue30" class="btn btn-outline-secondary btn-sm" for="">7:00 PM</label> 2019 </li> 2020 <li class="time-button "> 2021 <input id="timeValue31" type="radio" value="7:15 PM" name="param_ready~at~time_s_n_15" 2022 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2023 data-required-field data-ready-attime/> 2024 <label for="timeValue31" class="btn btn-outline-secondary btn-sm" for="">7:15 PM</label> 2025 </li> 2026 <li class="time-button "> 2027 <input id="timeValue32" type="radio" value="7:30 PM" name="param_ready~at~time_s_n_15" 2028 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2029 data-required-field data-ready-attime/> 2030 <label for="timeValue32" class="btn btn-outline-secondary btn-sm" for="">7:30 PM</label> 2031 </li> 2032 <li class="time-button "> 2033 <input id="timeValue33" type="radio" value="7:45 PM" name="param_ready~at~time_s_n_15" 2034 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2035 data-required-field data-ready-attime/> 2036 <label for="timeValue33" class="btn btn-outline-secondary btn-sm" for="">7:45 PM</label> 2037 </li> 2038 <li class="time-button "> 2039 <input id="timeValue34" type="radio" value="8:00 PM" name="param_ready~at~time_s_n_15" 2040 class="btn-check rad-ready_at_time" onchange="saveFormStat
2040e('param_ready~at~time_s_n_15', this.value, true);" 2041 data-required-field data-ready-attime/> 2042 <label for="timeValue34" class="btn btn-outline-secondary btn-sm" for="">8:00 PM</label> 2043 </li> 2044 <li class="time-button "> 2045 <input id="timeValue35" type="radio" value="8:15 PM" name="param_ready~at~time_s_n_15" 2046 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2047 data-required-field data-ready-attime/> 2048 <label for="timeValue35" class="btn btn-outline-secondary btn-sm" for="">8:15 PM</label> 2049 </li> 2050 <li class="time-button "> 2051 <input id="timeValue36" type="radio" value="8:30 PM" name="param_ready~at~time_s_n_15" 2052 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2053 data-required-field data-ready-attime/> 2054 <label for="timeValue36" class="btn btn-outline-secondary btn-sm" for="">8:30 PM</label> 2055 </li> 2056 <li class="time-button "> 2057 <input id="timeValue37" type="radio" value="8:45 PM" name="param_ready~at~time_s_n_15" 2058 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2059 data-required-field data-ready-attime/> 2060 <label for="timeValue37" class="btn btn-outline-secondary btn-sm" for="">8:45 PM</label> 2061 </li> 2062 <li class="time-button "> 2063 <input id="timeValue38" type="radio" value="9:00 PM" name="param_ready~at~time_s_n_15" 2064 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2065 data-required-field data-ready-attime/> 2066 <label for="timeValue38" class="btn btn-outline-secondary btn-sm" for="">9:00 PM</label> 2067 </li> 2068 <li class="time-button "> 2069 <input id="timeValue39" type="radio" value="9:15 PM" name="param_ready~at~time_s_n_15" 2070 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2071 data-required-field data-ready-attime/> 2072 <label for="timeValue39" class="btn btn-outline-secondary btn-sm" for="">9:15 PM</label> 2073 </li> 2074 <li class="time-button "> 2075 <input id="timeValue40" type="radio" value="9:30 PM" name="param_ready~at~time_s_n_15" 2076 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2077 data-required-field data-ready-attime/> 2078 <label for="timeValue40" class="btn btn-outline-secondary btn-sm" for="">9:30 PM</label> 2079 </li> 2080 <li class="time-button "> 2081 <input id="timeValue41" type="radio" value="9:45 PM" name="param_ready~at~time_s_n_15" 2082 class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);" 2083 data-required-field data-ready-attime/> 2084 <label for="timeValue41" class="btn btn-outline-secondary btn-sm" for="">9:45 PM</label> 2085 </li> 2086 </ul> 2087 </div> 2088 </div> 2089 </div> 2090 </div> 2091</div> 2092</div> 2093<input type="hidden" name="param_ready~at_s_n_100" class="hid-ready-at" value="" /> 2094<input type="hidden" class="hid-ready-at-date" value="2026-09-24" /> 2095<input type="hidden" class="hid-eot" value="1969-12-31 16:00:00" /> </div> 2096 </div> 2097 <div class="modal-footer"> 2098 <input type="hidden" id="hid-order-time-type" value="1" /> 2099 <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Cancel</button> 2100 <button type="button" class="btn btn-primary" data-save-time-modal>Save</button> 2101 </div> 2102 </div> 2103 </div> 2104</div> 2105 2106<!-- www modal start --> 2107<div class="modal fade mob_full_modal www_modal order-options" id="modal-order-options" tabindex="-1" role="dialog" 2108 aria-hidden="true" data-update-otype-on-modal-close> 2109 <div class="modal-dialog modal-fullscreen-sm-down mt-sm-6" role="document"> 2110 <div class="modal-content"> 2111 <button class="d-md-none close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> 2112 <div class="modal-header"> 2113 <h2 class="modal-title eds-display-text-title-m">Order details</h2> 2114 </div> 2115 <div class="modal-body"> 2116 <div class="www_moda_content"> 2117 <div class="cs_box order_type" onchange="app.event.emit('order_type_changed', { order_type: event.target.value })"> 2118 <div class="h5">What:</div> 2119 <div class="position-relative"> 2120 <div class="mdropbtn" data-toggle-mdrop role="button"> 2121 <span class="visually-hidden">Order type:</span> 2122 <span data-order-type-label> 2123 Select </span> 2124 </div> 2125 <ul data-mdrop-ul> 2126 <li class=" "> 2127 <input data-order-type-on-change type="radio" name="param_order~type_s_n_10" id="order-type-pickup-1" 2128 class="orderTypeOption css-checkbox " data-name="Pick up" value="PICKUP" 2129 data-constant="1" data-base="PICKUP" > 2130 <label for="order-type-pickup-1" class="css-label" data-update-mdrop-on-click> 2131 Pick up </label> 2132 </li> 2133 <li class=" "> 2134 <input data-order-type-on-change type="radio" name="param_order~type_s_n_10" id="order-type-
2134delivery-1" 2135 class="orderTypeOption css-checkbox deliveryswitch" data-name="Delivery" value="DELIVERY" 2136 data-constant="2" data-base="DELIVERY" > 2137 <label for="order-type-delivery-1" class="css-label" data-update-mdrop-on-click> 2138 Delivery </label> 2139 </li> 2140 </ul> 2141</div> 2142 </div> 2143 <form class=""> 2144 <div class="cs_box guest_checkout_address checkout_address deliveryAddressContainer" style="display:none;"> 2145 <label for="street-address-bar" class="h5">Enter your address:</label> 2146 <div class="form-group street-address-container"> 2147 <input name="param_full~address_s_n_255" id="street-address-bar" placeholder="Enter your address" 2148 data-autocomplete-address data-autocomplete-success="autoCompleteSuccess" 2149 onkeyup="scheduleFormStateSave(this.name, this.value)" onchange="validateAddress($('#modal-order-options .deliveryAddressContainer'))" 2150 type="search" class="form-control input-search input-validate-address input-street-address user-address-field" 2151 value="" data-required-field /> 2152 </div> 2153 <input type="hidden" name="param_street~address_s_n_255" data-autocompleted-street-address /> 2154 <input type="hidden" name="param_city_s_n_90" data-autocompleted-city /> 2155 <input type="hidden" name="param_state_s_n_2" data-autocompleted-state /> 2156 <input type="hidden" name="param_zip~code_z_n_10" data-autocompleted-zip /> 2157 </div> 2158 </form> 2159 <!-- <div class="form-submit-wrapper"> 2160 <input type="submit" class="form-submit btn btn-primary" value="Save" data-close-modal data-select-later-date data-saveotype-modal> 2161 </div> --> 2162 </div> 2163 </div> 2164 <div 2165 data-async-on-event="order_type_changed" 2166 data-async-action="https://order.empirehunanma.com/ajax/?form=minimum_order_value_warning&component=order_type" 2167 data-async-method="get" 2168 > 2169 </div> 2170 <div class="modal-footer"> 2171 <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Close</button> 2172 <button type="button" class="btn btn-primary" data-close-modal data-saveotype-modal>Save</button> 2173 </div> 2174 </div> 2175 </div> 2176</div> 2177<!-- www modal end --> 2178 2179<!-- menu item modal --> 2180<div class="modal fade add_menu" id="add_menu_item" tabindex="-1" role="dialog" aria-hidden="true" aria-labelledby="item_name"> 2181 <div class="modal-dialog modal-dialog-centered modal-fullscreen-md-down" role="document"> 2182 <div class="modal-content menu-item-container-wrapper"> 2183 <div class="modal-body menu-item-container "> 2184 <p id="item_name">Menu item dialog</p> 2185 </div> 2186 </div> 2187 </div> 2188</div> 2189<!-- menu item modal end --> 2190 2191 2192 <div 2193 data-eds-id="6ab536c64808c" 2194 class="eds_dialog modal fade " 2195 tabindex="-1" 2196 aria-labelledby="eds-dialog-title-6ab536c64808c" 2197 aria-hidden="true" 2198 data-event-on:coupon_modal_shown="(shown) => $(this).data(`coupon_modal_shown`, shown)" data-event-on:show_coupon_restrictions="({ coupon, errors }) => { 2199 if ($(this).data(`coupon_modal_shown`)) return; 2200 2201 $(this).find(`.eds_dialog-title`).html(`<div class="text-truncate">${coupon}</div>`); 2202 $(this).find(`.eds_dialog-body`).html(errors); 2203 this.dispatchEvent(new CustomEvent(`eds.show`)); 2204 }" data-event-on:restore_coupon_modal="this.dispatchEvent(new CustomEvent(`eds.hide`))" > 2205 <div class="modal-dialog modal-dialog-scrollable modal-dialog-centered modal-fullscreen-sm-down modal-md"> 2206 <div class="modal-content "> 2207 2208 <div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m "> 2209 <h2 id="eds-dialog-title-6ab536c64808c" class="eds_dialog-title modal-title eds-display-text-title-m pe-5" style="max-width: 100%"> 2210 Coupon restrictions </h2> 2211 2212 <button class="eds_button btn btn-outline-secondary btn-lg eds_button--shape-circle position-absolute top-0 end-0 border" style="width: 3rem; height: 3rem; margin-top: 6px; margin-right: 6px" data-bs-dismiss="modal" aria-label="Close" type="button"><i class="eds_icon fa fa-close" style="" aria-hidden="true"></i></button> </div> 2213
2214 <div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular vh-100"> 2215 </div> 2216 2217 2218 </div> 2219 </div> 2220 2221
2221<script> 2222 { 2223 const container = document.querySelector('[data-eds-id="6ab536c64808c"]'); 2224 let edsMethodsDisabled = false; 2225 2226 ['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => { 2227 container.addEventListener(`eds.${eventName}`, (e) => { 2228 if (edsMethodsDisabled) return; 2229 2230 bootstrap.Modal.getOrCreateInstance(container)[eventName]( 2231 ...(Array.isArray(e.detail) ? e.detail : [e.detail]) 2232 ); 2233 }); 2234 }); 2235 2236 ['show', 'shown', 'hide', 'hidden'].forEach((eventName) => { 2237 container.addEventListener(`${eventName}.bs.modal`, (e) => { 2238 if (edsMethodsDisabled) return; 2239 2240 edsMethodsDisabled = true; // Prevent infinite loop of triggering events 2241 container.dispatchEvent(new CustomEvent(`eds.${eventName}`)); 2242 edsMethodsDisabled = false; 2243 }); 2244 }); 2245 2246 2247 ['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => { 2248 container.addEventListener(eventName, () => { 2249 const autofocusInput = container.querySelector('[autofocus]'); 2250 if (autofocusInput) { 2251 container.style.display = 'block'; 2252 autofocusInput.focus(); 2253 } 2254 }); 2255 }); 2256 2257 } 2258 </script>
2258 2259 </div> 2260 2261 2262<!-- location modal mobile start--> 2263<div class="modal fade location-picker" id="locationModal" tabindex="-1" role="dialog" aria-hidden="true"> 2264 <div class="backdrop" data-bs-dismiss="modal"></div> 2265 <div class="modal-dialog modal-sm modal-dialog-centered" role="document"> 2266 <div class="modal-content"> 2267 <div class="modal-header"> 2268 <h2 class="modal-title eds-display-text-title-m">Change Location</h2> 2269 </div> 2270 2271 <div class="modal-body"> 2272 2273<div class="change_location-locations"> 2274 <input 2275 type="radio" 2276 class="css-checkbox" 2277 id="locations-1-location-9464" 2278 name="locations-1" 2279 value="https://order.empirehunanma.com/order" 2280 checked /> 2281 <label class="css-label" for="locations-1-location-9464"> 2282 <div style="line-height: normal"> 2283 <strong>Empire Hunan - Lowell</strong> 2284 <br /> 2285 87 Church St Lowell, MA 01852 </div> 2286 </label> 2287 </div> 2288 2289 </div> 2290 2291 <div class="modal-footer"> 2292 <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Close</button> 2293 <button type="button" class="btn btn-warning" data-go-to-url-on-click="[name='locations-1']:checked"> 2294 Change location </button> 2295 </div> 2296 </div> 2297 </div> 2298</div> 2299<!-- location modal mobile end --> 2300 2301<div class="modal fade add_new_card_modal" id="modal-add-new-card" tabindex="-1" role="dialog" aria-modal="true"> 2302 <div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down" role="document"> 2303 <div class="modal-content"> 2304 <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"></button> 2305 <div class="modal-header"> 2306 <h2 class="modal-title eds-display-text-title-m">Add new card</h2> 2307 </div> 2308 <div class="modal-body pb-6"> 2309 <div class="ajax-creditcards"> 2310 <div class="fa fa-spinner fa-spin fa-4x"> 2311 </div> 2312 </div> 2313 </div> 2314 </div> 2315 </div> 2316</div> 2317 2318<div class="modal fade" id="modal-payment-change" tabindex="-1" role="dialog" aria-modal="true"> 2319 <div class="modal-dialog modal-dialog-centered" role="document"> 2320 <div class="modal-content"> 2321 <div class="modal-header"> 2322 <h2 class="modal-title modal-title-accent eds-display-text-title-m">Confirm <span data-confirm-payment-name>Pay with cash</span></h2> 2323 </div> 2324 <div class="modal-body"> 2325 <p>You've just changed your payment type to <strong data-confirm-payment-name>Pay with cash</strong>. Please confirm that to proceed.</p> 2326 <button class="btn btn-primary w-100" data-bs-dismiss="modal" data-confirm-payment-switch>Confirm and proceed</button> 2327 <button class="btn eh-btn-silent w-100 mt-2" data-bs-dismiss="modal" data-cancel-payment-switch>Cancel</button> 2328 </div> 2329 </div> 2330 </div> 2331</div> 2332 2333<div class="modal fade modal_over_modal" id="modal-confirm-no-number-address" tabindex="-1" role="dialog" aria-modal="true" style="z-index: 2000;"> 2334 <div class="modal-dialog modal-dialog-centered" role="document"> 2335 <div class="modal-content"> 2336 <div class="modal-header"> 2337 <h2 class="modal-title modal-title-accent eds-display-text-title-m">Confirm Address</h2> 2338 </div> 2339 <div class="modal-body"> 2340 <p>This address doesn't start with a street number. Please confirm the address is correct.</p> 2341 <button class="btn btn-warning w-100" data-bs-dismiss="modal" data-confirm-no-number-address>Yes, it's correct</button> 2342 <button class="btn btn-secondary w-100 mt-2" data-bs-dismiss="modal" data-cancel-no-number-address>No, let me edit it</button> 2343 </div> 2344 </div> 2345 </div> 2346</div> 2347 2348<div class="modal fade mob_full_modal" id="modal-invalid-address" tabindex="-1" role="dialog" aria-modal="true"> 2349 <div class="modal-dialog modal-dialog-centered" role="document"> 2350 <div class="modal-content"> 2351 <button class="close" type="button" data-bs-dismiss="modal" aria-label="Close"></button> 2352 <div class="modal-header"> 2353 <h2 class="modal-title eds-display-text-title-m">Sorry we do not deliver to your address!</h2> 2354 </div> 2355 <div class="modal-body"> 2356 <div class="www_moda_content"> 2357 <div class="cs_box pickup_when showcheck_parent"> 2358 <div>You can Pick up your order at this location</div> 2359 <div class="pickup_locbox"> 2360 <div class="rest_loc"> 2361 <p> 2362 Empire Hunan - Lowell<br/> 2363 87 Church St<br/>Lowell, MA 01852 </p> 2364 </div> 2365</div> </div> 2366 <div class="form-submit-wrapper"> 2367 <input type="submit" class="form-submit" value="Switch to pickup" data-bs-dismiss="modal" data-switch-to-pickup> 2368 </div> 2369 </div> 2370 </div> 2371 </div> 2372 </div> 2373</div> 2374 2375<div class="modal fade mob_full_modal" id="modal-view-delivery-zone" tabindex="-1" role="dialog" aria-modal="true"> 2376 <div class="modal-dialog modal-dialog-centered" role="document"> 2377 <div class="modal-content">
2378 <div class="modal-body modal-body-view-delivery-zone" style="min-height: 75px;"> 2379 <div id="loading-view-delivery-area" class="loading-ajax-spinner"><i class="fa fa-spin fa-spinner fa-3x "></i></div> 2380 <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"></button> 2381 <div id="modal-view-delivery-zone-content" style="display:none;"> 2382 <div class="h4 mt15">View our delivery area</div> 2383 <div class="mb15"></div> 2384 <style> 2385 #iframe-view-delivery-area { 2386 width:100%; 2387 height:100%; 2388 min-height:556px; 2389 } 2390 @media screen and (max-width: 768px) { 2391 #iframe-view-delivery-area { 2392 height: calc(100vh - 90px); 2393 } 2394 } 2395 </style> 2396 <iframe id="iframe-view-delivery-area" name="iframe-deliveryzone" frameborder="0" hspace="0" scrolling="auto" 2397 data-src="https://order.empirehunanma.com/viewdeliveryzone/altdoc/1/vdz/1" title="Map of delivery areas"></iframe> 2398 </div> 2399 </div> 2400 </div> 2401 </div> 2402</div> 2403 2404<!-- Alert modal --> 2405<div class="modal fade" id="modal-alert" tabindex="-1" aria-labelledby="modal-alert" aria-hidden="true"> 2406 <div class="modal-dialog"> 2407 <div class="modal-content"> 2408 <div class="modal-header"> 2409 <h2 class="modal-title fs-5 eds-display-text-title-m">Error</h2> 2410 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> 2411 </div> 2412 <div class="modal-body"> 2413 Description 2414 </div> 2415 <div class="modal-footer"> 2416 <button type="button" class="btn btn-primary btn-close-modal" data-bs-dismiss="modal">Close</button> 2417 <button type="button" class="btn btn-primary hidden">Save changes</button> 2418 </div> 2419 </div> 2420 </div> 2421</div> 2422 2423 2424 2425 2426 2427 <div 2428 id="toasts" 2429 class="toast-container position-fixed start-50 translate-middle-x" 2430 style="bottom: calc(var(--eds-fixed-cta-height, 0) * 1px); max-width: calc(100% - 2rem)" 2431 > 2432 </div> 2433 2434
2434<script> 2435 $(() => { 2436 const ctas = document.querySelectorAll('[data-fixed-cta]'); 2437 if (!ctas.length) { 2438 return; 2439 } 2440 2441 function updateFixedCTAHeight() { 2442 document.documentElement.style.setProperty( 2443 '--eds-fixed-cta-height', 2444 Math.max(0, ...Array.from(ctas, (element) => { 2445 const rect = element.getBoundingClientRect(); 2446 return rect.height > 0 && getComputedStyle(element).position === 'fixed' 2447 ? Math.max(0, window.innerHeight - rect.top) 2448 : 0; 2449 })) 2450 ); 2451 } 2452 2453 if ('ResizeObserver' in window) { 2454 ctas.forEach((cta) => new ResizeObserver(updateFixedCTAHeight).observe(cta)); 2455 } else { 2456 updateFixedCTAHeight(); 2457 } 2458 2459 window.addEventListener('resize', app.throttle(updateFixedCTAHeight)); 2460 }); 2461 </script>
2461 2462 2463 <div class="visually-hidden"> 2464 <div id="announcements-polite" aria-live="polite" aria-atomic="true"> 2465 <div id="announcement-polite"></div> 2466 </div> 2467 2468 <div id="announcements-assertive" aria-live="assertive" aria-atomic="true"> 2469 <div id="announcement-assertive"></div> 2470 </div> 2471 </div> 2472 2473
2474<script type="text/javascript" src="/share42/share42.js"></script>
2474 2475 2476<!-- SET: SCRIPTS -->
2477<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2477
2477
2478<script>window.jQuery || document.write('
2478<script src="/web/default3.0/js/vendor/jquery-3.6.0.min.js"><\/script>')</script>
vendor: 1 bytes, line 2478
2478
2479<script src="https://code.jquery.com/jquery-migrate-3.3.2.js" integrity="sha384-KwAndHbPSueZ9+pG1mDjru/Q6KT6cliBs+/SCGpcOO6XvhrkbF0cBzkSs3+Pl2Zz" crossorigin="anonymous"></script>
2479 2480<!--
2480<script src="https://code.jquery.com/jquery-migrate-3.3.2.min.js" integrity="sha256-Ap4KLoCf1rXb52q+i3p0k2vjBsmownyBTE1EqlRiMwA=" crossorigin="anonymous"></script>
2480-->
2481<script> 2482 /* http://writing.colin-gourlay.com/safely-using-ready-before-including-jquery/ */ 2483 (function($,d){$.each(readyQ,function(i,f){$(f)});$.each(bindReadyQ,function(i,f){$(d).bind("ready",f)})})(jQuery,document) 2484</script>
vendor: 1 bytes, line 2484
2484
2485<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.min.js" integrity="sha256-lSjKY0/srUM9BE3dPm+c4fBo1dky2v27Gdjm2uoZaL0=" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2485
2485
2486<script type="text/javascript" src="/min/g=js4.0&1788675044"></script>
2486 2487<!-- END: SCRIPTS --> 2488 2489
2490<script> 2491 function closeAnnouncementModal(){ 2492 $("#announcementBox").hide(); 2493 setAnnouncementSession(""); 2494 } 2495 2496 $('body').on('click', '#closeAnnouncement', function(e) { 2497 e.preventDefault(); 2498 setAnnouncementSession(""); 2499 }); 2500</script>
vendor: 1 bytes, line 2500
2500
2501<script> 2502$(() => { 2503 const stickyHeader = document.querySelector('.headerAndWtype'); 2504 if (!stickyHeader) { 2505 return; 2506 } 2507 2508 function updateHeaderHeight() { 2509 const gap = parseFloat(getComputedStyle(document.documentElement).fontSize) || 16; 2510 const offset = stickyHeader.offsetHeight + gap; 2511 document.documentElement.style.scrollPaddingTop = offset + 'px'; 2512 2513 document.documentElement.style.setProperty('--sticky-header-offset', offset + 'px'); 2514 } 2515 2516 updateHeaderHeight(); 2517 if ('ResizeObserver' in window) { 2518 new ResizeObserver(updateHeaderHeight).observe(stickyHeader); 2519 } else { 2520 window.addEventListener('resize', app.throttle(updateHeaderHeight)); 2521 } 2522}); 2523</script>
2523 2524 2525 <div id="recaptcha" class="g-recaptcha" data-callback="submitAjaxForm" data-size="invisible"></div> 2526 <div id="async-recaptcha" class="g-recaptcha" data-callback="recaptchaAsyncCallback" data-size="invisible"></div> 2527 2528
2528<script> 2529 var ajaxRecaptcha; 2530 var asyncRecaptcha; 2531 var checkoutRecaptcha; 2532 2533 function initRecaptchas() { 2534 const options = { 2535 sitekey: "6LeS6lMUAAAAADOPnBKluMb49PS1NyzPT1kR87Re", 2536 size: 'invisible', 2537 }; 2538 2539 $('[data-recaptcha]').not('[data-ajax-form]').each(function (k, v) { 2540 const submit = $(v).find('[type="submit"]'); 2541 grecaptcha.render(submit[0], { 2542 ...options, 2543 callback(token) { 2544 $(v).submit(); 2545 }, 2546 }); 2547 }); 2548 2549 ajaxRecaptcha = grecaptcha.render('recaptcha', options); 2550 asyncRecaptcha = grecaptcha.render('async-recaptcha', options); 2551 } 2552 </script>
vendor: 119 bytes, lines 2552-2554
2552 2553 <script src="https://www.google.com/recaptcha/api.js?render=explicit&onload=initRecaptchas" async defer></script> 2554
2555</body> 2556</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.