PageSourceSearch

https://www.szechuanoperany.com/locationinfo

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