PageSourceSearch

https://www.chinahutwhitehall.com/page/delivery-info

html chinahutwhitehall.com collected 2026-09-24 14:40:15 UTC 118,526 bytes, 2,455 lines download raw bytes

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