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