PageSourceSearch

https://www.sushilovervinelandnj.com/locationinfo

html sushilovervinelandnj.com collected 2026-09-24 14:53:33 UTC 127,484 bytes, 2,601 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>Sushi Lover - Vineland in NJ | Location and Hours | Japanese</title>
13							<meta name="keywords" content="sushi lover, sushi lover vineland, sushi lover menu, vineland japanese takeout, vineland japanese food, vineland japanese restaurants, japanese takeout, best japanese food in vineland, japanese restaurants in vineland, japanese restaurants near me, japanese food near me, vineland sushi takeout, vineland sushi, best sushi in vineland, sushi restaurants in vineland, vineland sushi restaurants, sushi restaurants near me, sushi near me, hibachi restaurant in vineland, vineland hibachi restaurants" />
14										<meta name="description" content="Learn what hours Sushi Lover - Vineland is open for takeout, and our Vineland, NJ address.">
15			
16						<meta property="og:type" content="website">
17							<meta property="og:title" content="Sushi Lover - Vineland in NJ | Location and Hours | Japanese">
18										<meta property="og:description" content="Learn what hours Sushi Lover - Vineland is open for takeout, and our Vineland, NJ address.">
19										<meta property="og:image" content="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/d8011838-d164-4458-abe7-18345c27be00/public" />
20			
21						<meta name="twitter:card" content="summary_large_image">
22							<meta name="twitter:title" content="Sushi Lover - Vineland in NJ | Location and Hours | Japanese">
23										<meta name="twitter:description" content="Learn what hours Sushi Lover - Vineland is open for takeout, and our Vineland, NJ address.">
24										<meta name="twitter:image" content="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/d8011838-d164-4458-abe7-18345c27be00/public" />
25			
26										<link rel="shortcut icon" href="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/e9bddeab-ab58-4532-9c11-b8fe08bd9400/public" type="image/x-icon" />
27					
28							<link rel="canonical" href="https://www.sushilovervinelandnj.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/dfaad019-4fbf-4238-8122-a97e6de4f600/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/6bc9202e-fcff-41c1-b26f-3273e72dc400/public); }
43					}
44															/*body{  } */
45
46					
47		</style>
48
49		
50		
50<script type="text/javascript">
51			var UrlTag = "sushilovervineland";
52			var template = 'defaultv4';
53			var formname = 'locationinfo';
54			var menulink = 'https://www.sushilovervinelandnj.com/order/main';
55			var checkoutlink = 'https://www.sushilovervinelandnj.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.sushilovervinelandnj.com/#restaurant","name":"Sushi Lover - Vineland","url":"https://www.sushilovervinelandnj.com/","telephone":"+18568250888","address":{"@type":"PostalAddress","streetAddress":"3849 S Delsea Dr #0012","addressLocality":"Vineland","addressRegion":"NJ","postalCode":"08360","addressCountry":"US"},"hasMap":"https://maps.google.com/?q=Sushi Lover - Vineland, 3849 S Delsea Dr #0012, Vineland, NJ, 08360","priceRange":"$$","potentialAction":{"@type":"OrderAction","target":"https://www.sushilovervinelandnj.com"},"servesCuisine":"Japanese","amenityFeature":[{"@type":"LocationFeatureSpecification","name":"Pick up","value":true}],"image":{"@type":"ImageObject","contentLocation":"Vineland, NJ","url":"https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/d8011838-d164-4458-abe7-18345c27be00/public"},"geo":{"@type":"GeoCoordinates","name":"Sushi Lover - Vineland","latitude":39.4324115,"longitude":-75.0387771},"hasMenu":[{"@id":"https://www.sushilovervinelandnj.com/order/main#menu"}],"sameAs":["https://www.yelp.com/biz/sushi-lover-vineland","https://www.tripadvisor.com/Restaurant_Review-g46890-d7254231-Reviews-Sushi_Lover-Vineland_New_Jersey.html"],"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","opens":"11:00","closes":"20:30","dayOfWeek":["https://schema.org/Monday","https://schema.org/Tuesday","https://schema.org/Wednesday","https://schema.org/Thursday","https://schema.org/Saturday"]},{"@type":"OpeningHoursSpecification","opens":"11:00","closes":"21:45","dayOfWeek":["https://schema.org/Friday"]},{"@type":"OpeningHoursSpecification","opens":"12:00","closes":"20:30","dayOfWeek":["https://schema.org/Sunday"]}]},{"@type":"Menu","@id":"https://www.sushilovervinelandnj.com/order/main#menu","url":"https://www.sushilovervinelandnj.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: 'sushilovervineland',
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-DDCMHSWWV0
vendor: 15 bytes, lines 84-86
84"></script>
85
86		
86<script>
87			
88							gtag('config', "G-DDCMHSWWV0");
89					</script>
89
90	
91
92
93					<meta name="smartbanner:title" content="Sushi Lover - Vineland">
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.chinesemenuonline.sushilovervineland">
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/sushilovervineland/">
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.sushilovervinelandnj.com"
157									aria-current="false"
158								>
159									Sushi Lover - Vineland								</a>
160
161																	<span class="eds-copy-text-s-regular text-center text-md-start address-container" title="3849 S Delsea Dr #0012 Cumberland Mall Vineland, NJ 08360">
162										3849 S Delsea Dr #0012 Cumberland Mall Vineland, NJ 08360									</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="6ab5396d8b16b"
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;6ab5396d8b16b&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.sushilovervinelandnj.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.sushilovervinelandnj.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.sushilovervinelandnj.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.sushilovervinelandnj.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="9719"
227									data-event-on:document_ready="this.open = localStorage.getItem('menu-open-9719') !== 'false'"
228										onclick="localStorage.setItem('menu-open-9719', !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 === '118255';
242							$(this).toggleClass('active', isCurrent);
243							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
244						}"
245						href="https://www.sushilovervinelandnj.com/order/main/appetizers-from-the-kitchen"
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: '118255' });
251							} else {
252								app.event.emit('menu_selected', { menu_id: '9719', 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: '118255' });
253							}
254													}"
255					>
256						Appetizers from the Kitchen<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 === '118256';
263							$(this).toggleClass('active', isCurrent);
264							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
265						}"
266						href="https://www.sushilovervinelandnj.com/order/main/appetizer-from-the-sushi-bar"
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: '118256' });
272							} else {
273								app.event.emit('menu_selected', { menu_id: '9719', 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: '118256' });
274							}
275													}"
276					>
277						Appetizer From The Sushi Bar<span class="sr-only"> menu category</span>
278													<span class="ms-auto">13<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 === '118257';
284							$(this).toggleClass('active', isCurrent);
285							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
286						}"
287						href="https://www.sushilovervinelandnj.com/order/main/soups"
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: '118257' });
293							} else {
294								app.event.emit('menu_selected', { menu_id: '9719', 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: '118257' });
295							}
296													}"
297					>
298						Soups<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 === '118258';
305							$(this).toggleClass('active', isCurrent);
306							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
307						}"
308						href="https://www.sushilovervinelandnj.com/order/main/salads"
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: '118258' });
314							} else {
315								app.event.emit('menu_selected', { menu_id: '9719', 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: '118258' });
316							}
317													}"
318					>
319						Salads<span class="sr-only"> menu category</span>
320													<span class="ms-auto">7<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 === '118264';
326							$(this).toggleClass('active', isCurrent);
327							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
328						}"
329						href="https://www.sushilovervinelandnj.com/order/main/vegetable-rolls"
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: '118264' });
335							} else {
336								app.event.emit('menu_selected', { menu_id: '9719', 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: '118264' });
337							}
338													}"
339					>
340						Vegetable Rolls<span class="sr-only"> menu category</span>
341													<span class="ms-auto">7<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 === '118266';
347							$(this).toggleClass('active', isCurrent);
348							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
349						}"
350						href="https://www.sushilovervinelandnj.com/order/main/sushi-bar-entres"
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: '118266' });
356							} else {
357								app.event.emit('menu_selected', { menu_id: '9719', 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: '118266' });
358							}
359													}"
360					>
361						Sushi Bar Entrées<span class="sr-only"> menu category</span>
362													<span class="ms-auto">14<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 === '118262';
368							$(this).toggleClass('active', isCurrent);
369							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
370						}"
371						href="https://www.sushilovervinelandnj.com/order/main/sushi-or-sashimi-a-la-carte"
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: '118262' });
377							} else {
378								app.event.emit('menu_selected', { menu_id: '9719', 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: '118262' });
379							}
380													}"
381					>
382						Sushi or Sashimi A La Carte<span class="sr-only"> menu category</span>
383													<span class="ms-auto">19<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 === '118263';
389							$(this).toggleClass('active', isCurrent);
390							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
391						}"
392						href="https://www.sushilovervinelandnj.com/order/main/regular-rolls"
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: '118263' });
398							} else {
399								app.event.emit('menu_selected', { menu_id: '9719', 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: '118263' });
400							}
401													}"
402					>
403						Regular Rolls<span class="sr-only"> menu category</span>
404													<span class="ms-auto">26<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 === '118265';
410							$(this).toggleClass('active', isCurrent);
411							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
412						}"
413						href="https://www.sushilovervinelandnj.com/order/main/sushi-lover-special-roll"
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: '118265' });
419							} else {
420								app.event.emit('menu_selected', { menu_id: '9719', 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: '118265' });
421							}
422													}"
423					>
424						Sushi Lover Special Roll<span class="sr-only"> menu category</span>
425													<span class="ms-auto">25<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 === '118259';
431							$(this).toggleClass('active', isCurrent);
432							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
433						}"
434						href="https://www.sushilovervinelandnj.com/order/main/teriyaki-entres"
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: '118259' });
440							} else {
441								app.event.emit('menu_selected', { menu_id: '9719', 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: '118259' });
442							}
443													}"
444					>
445						Teriyaki Entrées<span class="sr-only"> menu category</span>
446													<span class="ms-auto">7<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 === '222865';
452							$(this).toggleClass('active', isCurrent);
453							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
454						}"
455						href="https://www.sushilovervinelandnj.com/order/main/tempura-katsu-entres"
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: '222865' });
461							} else {
462								app.event.emit('menu_selected', { menu_id: '9719', 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: '222865' });
463							}
464													}"
465					>
466						Tempura / Katsu Entrées<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 === '222866';
473							$(this).toggleClass('active', isCurrent);
474							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
475						}"
476						href="https://www.sushilovervinelandnj.com/order/main/noodles"
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: '222866' });
482							} else {
483								app.event.emit('menu_selected', { menu_id: '9719', 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: '222866' });
484							}
485													}"
486					>
487						Noodles<span class="sr-only"> menu category</span>
488													<span class="ms-auto">12<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 === '158719';
494							$(this).toggleClass('active', isCurrent);
495							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
496						}"
497						href="https://www.sushilovervinelandnj.com/order/main/ramen"
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: '158719' });
503							} else {
504								app.event.emit('menu_selected', { menu_id: '9719', 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: '158719' });
505							}
506													}"
507					>
508						Ramen<span class="sr-only"> menu category</span>
509													<span class="ms-auto">5<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 === '118270';
515							$(this).toggleClass('active', isCurrent);
516							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
517						}"
518						href="https://www.sushilovervinelandnj.com/order/main/party"
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: '118270' });
524							} else {
525								app.event.emit('menu_selected', { menu_id: '9719', 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: '118270' });
526							}
527													}"
528					>
529						Party<span class="sr-only"> menu category</span>
530													<span class="ms-auto">3<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 === '222859';
536							$(this).toggleClass('active', isCurrent);
537							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
538						}"
539						href="https://www.sushilovervinelandnj.com/order/main/japanese-fried-rice"
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: '222859' });
545							} else {
546								app.event.emit('menu_selected', { menu_id: '9719', menu_description: &quot;Please note: requests for additional 
546items or special preparation may incur an &lt;b&gt;extra charge&lt;\/b&gt; not calculated on your online order.&quot;, category_id: '222859' });
547							}
548													}"
549					>
550						Japanese Fried Rice<span class="sr-only"> menu category</span>
551													<span class="ms-auto">7<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 === '118261';
557							$(this).toggleClass('active', isCurrent);
558							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
559						}"
560						href="https://www.sushilovervinelandnj.com/order/main/hibachi-dinners"
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: '118261' });
566							} else {
567								app.event.emit('menu_selected', { menu_id: '9719', 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: '118261' });
568							}
569													}"
570					>
571						Hibachi Dinners<span class="sr-only"> menu category</span>
572													<span class="ms-auto">6<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 === '118260';
578							$(this).toggleClass('active', isCurrent);
579							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
580						}"
581						href="https://www.sushilovervinelandnj.com/order/main/combination-dinners"
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: '118260' });
587							} else {
588								app.event.emit('menu_selected', { menu_id: '9719', 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: '118260' });
589							}
590													}"
591					>
592						Combination Dinners<span class="sr-only"> menu category</span>
593													<span class="ms-auto">10<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 === '118267';
599							$(this).toggleClass('active', isCurrent);
600							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
601						}"
602						href="https://www.sushilovervinelandnj.com/order/main/sushi-lover-lunch-box"
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: '118267' });
608							} else {
609								app.event.emit('menu_selected', { menu_id: '9719', 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: '118267' });
610							}
611													}"
612					>
613						Sushi Lover Lunch Box<span class="sr-only"> menu category</span>
614													<span class="ms-auto">9<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 === '118268';
620							$(this).toggleClass('active', isCurrent);
621							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
622						}"
623						href="https://www.sushilovervinelandnj.com/order/main/hibachi-lunch"
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: '118268' });
629							} else {
630								app.event.emit('menu_selected', { menu_id: '9719', 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: '118268' });
631							}
632													}"
633					>
634						Hibachi Lunch<span class="sr-only"> menu category</span>
635													<span class="ms-auto">6<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 === '118269';
641							$(this).toggleClass('active', isCurrent);
642							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
643						}"
644						href="https://www.sushilovervinelandnj.com/order/main/lunch-from-the-sushi-bar"
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: '118269' });
650							} else {
651								app.event.emit('menu_selected', { menu_id: '9719', 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: '118269' });
652							}
653													}"
654					>
655						Lunch From The Sushi Bar<span class="sr-only"> menu category</span>
656													<span class="ms-auto">3<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 === '222862';
662							$(this).toggleClass('active', isCurrent);
663							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
664						}"
665						href="https://www.sushilovervinelandnj.com/order/main/sushi-rolls-lunch"
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: '222862' });
671							} else {
672								app.event.emit('menu_selected', { menu_id: '9719', 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: '222862' });
673							}
674													}"
675					>
676						Sushi Rolls Lunch<span class="sr-only"> menu category</span>
677													<span class="ms-auto">2<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 === '118271';
683							$(this).toggleClass('active', isCurrent);
684							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
685						}"
686						href="https://www.sushilovervinelandnj.com/order/main/others"
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: '118271' });
692							} else {
693								app.event.emit('menu_selected', { menu_id: '9719', 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: '118271' });
694							}
695													}"
696					>
697						Others<span class="sr-only"> menu category</span>
698													<span class="ms-auto">4<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 === '118273';
704							$(this).toggleClass('active', isCurrent);
705							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
706						}"
707						href="https://www.sushilovervinelandnj.com/order/main/drinks"
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: '118273' });
713							} else {
714								app.event.emit('menu_selected', { menu_id: '9719', 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: '118273' });
715							}
716													}"
717					>
718						Drinks<span class="sr-only"> menu category</span>
719													<span class="ms-auto">10<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 === '118272';
725							$(this).toggleClass('active', isCurrent);
726							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
727						}"
728						href="https://www.sushilovervinelandnj.com/order/main/desserts"
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: '118272' });
734							} else {
735								app.event.emit('menu_selected', { menu_id: '9719', 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: '118272' });
736							}
737													}"
738					>
739						Desserts<span class="sr-only"> menu category</span>
740													<span class="ms-auto">3<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 === '256233';
746							$(this).toggleClass('active', isCurrent);
747							this.setAttribute('aria-current', isCurrent ? 'page' : 'false');
748						}"
749						href="https://www.sushilovervinelandnj.com/order/main/gift-card"
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: '256233' });
755							} else {
756								app.event.emit('menu_selected', { menu_id: '9719', 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: '256233' });
757							}
758													}"
759					>
760						Gift Card<span class="sr-only"> menu category</span>
761													<span class="ms-auto">2<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>Sushi Lover - Vineland</h2>
770
771			<address class="eds-copy-text-s-regular mb-0">
772			3849 S Delsea Dr #0012 Cumberland Mall Vineland, NJ 08360		</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.chinesemenuonline.sushilovervineland"><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.yelp.com/biz/sushi-lover-vineland" target="new"  title="Opens in new tab" class="icon" title="Yelp"><i class="fab fa-yelp"></i><span class="sr-only">Yelp</span></a></li>
783							<li><a href="https://www.tripadvisor.com/Restaurant_Review-g46890-d7254231-Reviews-Sushi_Lover-Vineland_New_Jersey.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>
784				</ul>
785	
786<div>&copy; 2026 Online Ordering by <a href="http://chinesemenuonline.com">Chinese Menu Online</a></div>
787	<div>Discover the best Japanese restaurants with <a href="https://www.springroll.com" target="_blank" title="Opens in new tab" >Springroll</a></div>
788
789<ul class="list-unstyled mb-0 pt-3" aria-label="Legal and support">
790	<li><a href="https://www.sushilovervinelandnj.com/reportbug">Technical Support</a></li>
791	<li><a href="https://www.sushilovervinelandnj.com/privacy">Privacy Policy</a></li>
792	<li><a href="https://www.sushilovervinelandnj.com/tos">Terms of Service</a></li>
793	<li><a href="https://www.sushilovervinelandnj.com/accessibility">Accessibility</a></li>
794</ul>
795
796This 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.
797						</div>		</div>
798
799		
799<script>
800		{
801			const container = document.querySelector('[data-eds-id="6ab5396d8b16b"]');
802
803						['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => {
804				container.addEventListener(`eds.${eventName}`, (e) => {
805					bootstrap.Offcanvas.getOrCreateInstance(container)[eventName](
806						...(Array.isArray(e.detail) ? e.detail : [e.detail])
807					);
808				});
809			});
810		}
811		</script>
811
812	</div>
813
814					</header>
815			</div>
816
817										<aside class="container p-0" style="grid-area: hero" aria-labelledby="hero-section-title">
818					<section class="hero">
819												<div class="menu_hero backbgbox position-relative">
820									<div class="logo">
821		<a class="logo-image" href="https://www.sushilovervinelandnj.com" aria-current="false" >
822			<img
823				src="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/d8011838-d164-4458-abe7-18345c27be00/public"
824				srcset="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/d8011838-d164-4458-abe7-18345c27be00/public 1x, https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/d8011838-d164-4458-abe7-18345c27be00/public 2x"				alt="Go to Home"
825								onerror="this.closest('.logo').style.setProperty('display', 'none', 'important')"
826			/>
827		</a>
828	</div>
829						</div>
830
831													<div class="p-3">
832								<div class="pb-1">
833									<h1 id="hero-section-title" class="eds-display-text-title-s m-0 p-0">Sushi Lover - Vineland</h1>
834																	</div>
835
836								<div class="d-sm-flex align-items-baseline">
837																			<div class="mt-2">
838											
839	<span
840		class="eds_label eds_label--variant-error eds-interface-text-m-bold me-1 text-nowrap"
841			>
842		Closed	</span>
843
844	Opens at 11:00AM										</div>
845									
846									<div class="d-flex gap-2 ms-sm-auto mt-2">
847																					
848					<a
849				class="eds_button btn btn-outline-secondary btn-sm col text-nowrap"
850				href="https://www.sushilovervinelandnj.com/locationinfo?lid=7616"
851							>
852				<i class="eds_icon fa fa-info-circle" style="" aria-hidden="true"></i> Store info			</a>
853		
854												
855																					
856		<a
857			class="eds_button btn btn-outline-secondary btn-sm col d-lg-none text-nowrap"
858			href="tel:(856) 825-0888"
859					>
860			<i class="eds_icon fa fa-phone" style="" aria-hidden="true"></i> Call us		</a>
861
862												
863									</div>
864								</div>
865							</div>
866											</section>
867				</aside>
868			
869						
870						
871										<div class="container" style="grid-area: messages">
872									</div>
873						<!-- Header ends -->
874
875<main class="main_content" id="main">
876	<div class="container menu_page locationinfo">
877		<div class="row menu_wrapper">
878			<div class="col-md-12">
879								<h1 class="eds-display-text-title-m">Location and Hours</h1>
880
881														<style>
882						.location-info-box.image-failed .location-info-logo { display: none !important; }
883						.location-info-box.image-failed .location-info-map { display: block !important; }
884						.location-info-box.image-failed .location-info-map .account_logo,
885						.location-info-box.image-failed .location-info-map .restaurant_img,
886						.location-info-box.image-failed .location-info-map img { display: none !important; }
887					</style>
888					<div class="location-info-boxes">
889													<div class="location-info-box">
890																	<div class="location-info-image location-info-logo hidden-sm-down">
891										<div class="account_logo" role="presentation"><img src="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/d8011838-d164-4458-abe7-18345c27be00/public" alt="Sushi Lover - Vineland Logo" onerror="this.closest('.location-info-box').classList.add('image-failed')" /></div>									</div>
892
893									<a
894										class="location-info-image location-info-map hidden-md-up"
895										style="background-image: url('https://maps.googleapis.com/maps/api/staticmap?key=AIzaSyBmllVcXZm3D1OIEXKJ5RA39qYpXx_jWvw&center=39.4324115%2C-75.0387771&zoom=15&size=740x178&scale=2&language=en&markers=anchor%3Acenter%7C39.4324115%2C-75.0387771&signature=UvedBkLp_VZBS3kSFv2X4Cm_Qek='); background-position: center; background-size: cover"
896										target="_blank"
897										title="Sushi Lover - Vineland"
898										href="https://www.google.com/maps/search/Sushi+Lover+-+Vineland/@39.432412,-75.038777,20z"
899									>
900										<div class="account_logo" role="presentation"><img src="https://imagedelivery.net/9lr8zq_Jvl7h6OFWqEi9IA/d8011838-d164-4458-abe7-18345c27be00/public" alt="Sushi Lover - Vineland Logo" onerror="this.closest('.location-info-box').classList.add('image-failed')" /></div>									</a>
901								
902								<div class="location-info-box-header">
903									<h2>Sushi Lover - Vineland</h2>
904
905									<span>
906										3849 S Delsea Dr #0012<br/>Cumberland Mall<br/>Vineland, NJ 08360										<span class="hidden-sm-down">(<a href="?form=map&lid=7616">see on map</a>)</span>
907										<span class="hidden-md-up">(<a href="https://www.google.com/maps/search/Sushi+Lover+-+Vineland/@39.432412,-75.038777,20z">see on map</a>)</span>
908									</span>
909
910									<span>Phone: (856) 825-0888</span>
911
912									<div class="todays-hours">
913																				<h3>Today's Hours (Thursday, September 24th)</h3>
914
915																					<span class="hours">
916																								<span>		<strong>11:00 AM - 8:30 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-7616">View All Hours</a>
922
923										<span class="current_time">Current local time: 10:53 AM 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-7616" tabindex="-1" role="dialog" aria-labelledby="locationModalTitle-7616" 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-7616">Hours</h5>
942				</div>
943				<div class="modal-body">
944											<table class="section">
945																<tr class="row-day ">
946			<td class="label-day">Monday</td>
947			<td class="day-hours">
948						<strong>11:00 AM - 8:30 PM</strong>
949				</td>
950		</tr>
951			<tr class="row-day ">
952			<td class="label-day">Tuesday</td>
953			<td class="day-hours">
954						<strong>11:00 AM - 8:30 PM</strong>
955				</td>
956		</tr>
957			<tr class="row-day ">
958			<td class="label-day">Wednesday</td>
959			<td class="day-hours">
960						<strong>11:00 AM - 8:30 PM</strong>
961				</td>
962		</tr>
963			<tr class="row-day active">
964			<td class="label-day">Thursday</td>
965			<td class="day-hours">
966						<strong>11:00 AM - 8:30 PM</strong>
967				</td>
968		</tr>
969			<tr class="row-day ">
970			<td class="label-day">Friday</td>
971			<td class="day-hours">
972						<strong>11:00 AM - 9:45 PM</strong>
973				</td>
974		</tr>
975			<tr class="row-day ">
976			<td class="label-day">Saturday</td>
977			<td class="day-hours">
978						<strong>11:00 AM - 8:30 PM</strong>
979				</td>
980		</tr>
981			<tr class="row-day ">
982			<td class="label-day">Sunday</td>
983			<td class="day-hours">
984						<strong>12:00 PM - 8:30 PM</strong>
985				</td>
986		</tr>
987							</table>
988									</div>
989			</div>
990		</div>
991	</div>
992								</div>
993
994								<div class="location-info-box-footer">
995									<a href="?form=ordering&lid=7616" class="btn btn-primary w-100" role="button">
996										Order from here									</a>
997								</div>
998							</div>
999											</div>
1000							</div>
1001		</div>
1002	</div>
1003</main>
1004
1005<footer class="footer bg-white" style="grid-area: footer">
1006	<div class="container">
1007					<div class="social_wrapper">
1008				<div class="social_links">
1009												<ul class="d-flex align-items-start">
1010																																																		<li>
1011											<a class="icon" href="https://www.yelp.com/biz/sushi-lover-vineland" target="_blank" title="Yelp (opens in new tab)">
1012												<span class="sr-only">Yelp</span>
1013												<i class="eds_icon fab fa-yelp" style="" aria-hidden="true"></i>											</a>
1014										</li>
1015																											<li>
1016											<a class="icon" href="https://www.tripadvisor.com/Restaurant_Review-g46890-d7254231-Reviews-Sushi_Lover-Vineland_New_Jersey.html" target="_blank" title="TripAdvisor (opens in new tab)">
1017												<span class="sr-only">TripAdvisor</span>
1018												<img class="eds_icon fab fa-tripadvisor" style="" aria-hidden="true" src="/web/website/assets/svg/icons/social/tripadvisor.svg" alt="Tripadvisor" />											</a>
1019										</li>
1020																																								</ul>
1021															</div>
1022				<div class="d_app">
1023											<ul>
1024															<li><a href="https://play.google.com/store/apps/details?id=com.chinesemenuonline.sushilovervineland"><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>
1025														</ul>
1026										</div>
1027			</div>
1028
1029			<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)">
1030				<ul class="list-unstyled d-flex gap-3 mb-0 eds-interface-text-l-regular">
1031					<li><a class="text-decoration-none" href="https://www.sushilovervinelandnj.com" aria-current="false">Home</a></li>
1032					<li><a class="text-decoration-none" href="https://www.sushilovervinelandnj.com/order/main" aria-current="false">Menu</a></li>
1033																					<li><a class="text-decoration-none" href="https://www.sushilovervinelandnj.com/locationinfo" aria-current="page">Location &amp; Hours</a></li>
1034															<li><a class="text-decoration-none" href="https://www.sushilovervinelandnj.com/contact" aria-current="false">Contact</a></li>
1035				</ul>
1036
1037				<ul class="list-unstyled d-flex mb-0 eds-interface-text-m-regular">
1038					<li class="bullet-separated"><a href="https://www.sushilovervinelandnj.com/reportbug" class="errorLink">Technical Support</a></li>
1039					<li class="bullet-separated"><a href="https://www.sushilovervinelandnj.com/privacy">Privacy Policy</a></li>
1040					<li class="bullet-separated"><a href="https://www.sushilovervinelandnj.com/tos">Terms of Service</a></li>
1041					<li class="bullet-separated"><a href="https://www.sushilovervinelandnj.com/accessibility">Accessibility</a></li>
1042				</ul>
1043			</div>
1044
1045			<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)">
1046				<p class="eds-copy-text-m-regular">
1047					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.
1048				</p>
1049
1050				<p class="eds-copy-text-m-regular text-end">
1051					&copy; 2026 Online Ordering by <a href="http://chinesemenuonline.com">Chinese Menu Online</a>											<br>Discover the best Japanese restaurants with <a href="https://www.springroll.com" target="_blank" title="Opens in new tab" >Springroll</a>									</p>
1052			</div>
1053			</div>
1054</footer>
1055<!-- footer ends -->
1056
1057
1058</div>
1059<!-- wrapper ends -->
1060
1061
1062
1063	<div
1064		data-eds-id="6ab5396d8d034"
1065		class="eds_dialog modal fade  "
1066		tabindex="-1"
1067		aria-labelledby="eds-dialog-title-6ab5396d8d034"
1068		aria-hidden="true"
1069		id="forgot-password-modal"	>
1070		<div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down modal-md">
1071			<div class="modal-content ">
1072									
1073	<div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m ">
1074		<h2 id="eds-dialog-title-6ab5396d8d034" class="eds_dialog-title modal-title eds-display-text-title-m  pe-5" style="max-width: 100%">
1075			Forgot Password		</h2>
1076
1077		<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>
1078
1079	<div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular ">
1080		<form
1081			id="forgot-password-form"
1082			name="forgot-password"
1083			data-async-on-submit
1084			method="post"
1085			action="https://www.sushilovervinelandnj.com/auth/forgotpassword"
1086			data-async-block="#forgot-password-modal .modal-content"
1087			data-async-target="#forgot-password-modal .eds_dialog-body"
1088			data-async-recaptcha
1089			novalidate
1090		>
1091			
1092			
1093	<label
1094		data-eds-id="6ab5396d8cff1"
1095		class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-3"
1096			>
1097					<div class="eds_formfield-label">
1098				Your email				<span aria-hidden="true">*</span>							</div>
1099		
1100		<div class="position-relative d-flex flex-column">
1101							<div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div>
1102			
1103										<input
1104					type="email"
1105					class="eds-copy-text-l-regular  "
1106										placeholder=" " name="email" autocomplete="email" required value=""				/>
1107
1108				
1109							
1110			<i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i>
1111					</div>
1112
1113		
1114		
1114<script>
1115		{
1116			const container = document.querySelector('[data-eds-id="6ab5396d8cff1"]');
1117			const input = container.querySelector('input, textarea, select');
1118			const error = container.querySelector('.eds_formfield-error');
1119
1120			
1121						input.addEventListener('eds.validation.reset', () => {
1122				input.removeAttribute('data-validation');
1123				input.setCustomValidity('');
1124				error.innerHTML = '';
1125			});
1126
1127						input.addEventListener('eds.validation.hide', () => {
1128				input.removeAttribute('data-validation');
1129			});
1130
1131						input.addEventListener('eds.validation.success', (e) => {
1132				input.setCustomValidity('');
1133				input.setAttribute('data-validation', '');
1134				error.innerHTML = '';
1135			});
1136
1137						input.addEventListener('eds.validation.warning', (e) => {
1138				input.setCustomValidity('');
1139				input.setAttribute('data-validation', '');
1140				error.innerHTML = e.detail;
1141			});
1142
1143						input.addEventListener('eds.validation.error', (e) => {
1144				input.setCustomValidity(e.detail);
1145				input.checkValidity(); 				input.setAttribute('data-validation', '');
1146			});
1147
1148			input.addEventListener('invalid', (e) => {
1149				error.innerHTML = input.validationMessage;
1150			});
1151
1152								}
1153		</script>
1153
1154	</label>
1155
1156	
1157			<button class="eds_button btn btn-primary w-100 mb-3" type="submit" form="forgot-password-form">Reset password</button>
1158							<div class="text-center">
1159					<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>
1160					</form>	</div>
1161
1162	
1163								</div>
1164		</div>
1165
1166		
1166<script>
1167		{
1168			const container = document.querySelector('[data-eds-id="6ab5396d8d034"]');
1169			let edsMethodsDisabled = false;
1170
1171						['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => {
1172				container.addEventListener(`eds.${eventName}`, (e) => {
1173					if (edsMethodsDisabled) return;
1174
1175					bootstrap.Modal.getOrCreateInstance(container)[eventName](
1176						...(Array.isArray(e.detail) ? e.detail : [e.detail])
1177					);
1178				});
1179			});
1180
1181						['show', 'shown', 'hide', 'hidden'].forEach((eventName) => {
1182				container.addEventListener(`${eventName}.bs.modal`, (e) => {
1183					if (edsMethodsDisabled) return;
1184
1185					edsMethodsDisabled = true; // Prevent infinite loop of triggering events
1186					container.dispatchEvent(new CustomEvent(`eds.${eventName}`));
1187					edsMethodsDisabled = false;
1188				});
1189			});
1190
1191			
1192						['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => {
1193				container.addEventListener(eventName, () => {
1194					const autofocusInput = container.querySelector('[autofocus]');
1195					if (autofocusInput) {
1196						container.style.display = 'block';
1197						autofocusInput.focus();
1198					}
1199				});
1200			});
1201
1202					}
1203		</script>
1203
1204	</div>
1205
1206	
1207	<div
1208		data-eds-id="6ab5396d8d268"
1209		class="eds_dialog modal fade  "
1210		tabindex="-1"
1211		aria-labelledby="eds-dialog-title-6ab5396d8d268"
1212		aria-hidden="true"
1213		id="login-modal"	>
1214		<div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down modal-md">
1215			<div class="modal-content ">
1216									
1217	<div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m ">
1218		<h2 id="eds-dialog-title-6ab5396d8d268" class="eds_dialog-title modal-title eds-display-text-title-m  pe-5" style="max-width: 100%">
1219			Log in		</h2>
1220
1221		<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>
1222
1223	<div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular ">
1224		<form
1225			id="login-form"
1226			name="login"
1227			data-async-on-submit
1228			method="post"
1229			action="https://www.sushilovervinelandnj.com/auth"
1230			data-async-block="#login-modal .modal-content"
1231			data-async-target="#login-modal .eds_dialog-body"
1232			data-async-then="document.querySelector('#login-modal').dispatchEvent(new CustomEvent('eds.hide'))"
1233			data-async-recaptcha
1234			novalidate
1235		>
1236						
1237						
1238	<label
1239		data-eds-id="6ab5396d8d16e"
1240		class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-3"
1241			>
1242					<div class="eds_formfield-label">
1243				Your email				<span aria-hidden="true">*</span>							</div>
1244		
1245		<div class="position-relative d-flex flex-column">
1246							<div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div>
1247			
1248										<input
1249					type="email"
1250					class="eds-copy-text-l-regular  "
1251										placeholder=" " name="email" autocomplete="username" required value=""				/>
1252
1253				
1254							
1255			<i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i>
1256					</div>
1257
1258		
1259		
1259<script>
1260		{
1261			const container = document.querySelector('[data-eds-id="6ab5396d8d16e"]');
1262			const input = container.querySelector('input, textarea, select');
1263			const error = container.querySelector('.eds_formfield-error');
1264
1265			
1266						input.addEventListener('eds.validation.reset', () => {
1267				input.removeAttribute('data-validation');
1268				input.setCustomValidity('');
1269				error.innerHTML = '';
1270			});
1271
1272						input.addEventListener('eds.validation.hide', () => {
1273				input.removeAttribute('data-validation');
1274			});
1275
1276						input.addEventListener('eds.validation.success', (e) => {
1277				input.setCustomValidity('');
1278				input.setAttribute('data-validation', '');
1279				error.innerHTML = '';
1280			});
1281
1282						input.addEventListener('eds.validation.warning', (e) => {
1283				input.setCustomValidity('');
1284				input.setAttribute('data-validation', '');
1285				error.innerHTML = e.detail;
1286			});
1287
1288						input.addEventListener('eds.validation.error', (e) => {
1289				input.setCustomValidity(e.detail);
1290				input.checkValidity(); 				input.setAttribute('data-validation', '');
1291			});
1292
1293			input.addEventListener('invalid', (e) => {
1294				error.innerHTML = input.validationMessage;
1295			});
1296
1297								}
1298		</script>
1298
1299	</label>
1300
1301	
1302						
1303	<label
1304		data-eds-id="6ab5396d8d189"
1305		class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2"
1306			>
1307					<div class="eds_formfield-label">
1308				Your password				<span aria-hidden="true">*</span>							</div>
1309		
1310		<div class="position-relative d-flex flex-column">
1311							<div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div>
1312			
1313										<input
1314					type="password"
1315					class="eds-copy-text-l-regular  pe-6"
1316					data-event-on:toggle_password_6ab5396d8d189="(shown) => $(this).attr('type', shown ? 'text' : 'password')"					placeholder=" " name="password" autocomplete="current-password" required value=""				/>
1317
1318				
1319									<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_6ab5396d8d189', !$(this).data('password-shown'))" data-event-on:toggle_password_6ab5396d8d189="(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_6ab5396d8d189="(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_6ab5396d8d189="(shown) =&gt; this.hidden = !shown" hidden></i></button>							
1320			<i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i>
1321					</div>
1322
1323		
1324		
1324<script>
1325		{
1326			const container = document.querySelector('[data-eds-id="6ab5396d8d189"]');
1327			const input = container.querySelector('input, textarea, select');
1328			const error = container.querySelector('.eds_formfield-error');
1329
1330			
1331						input.addEventListener('eds.validation.reset', () => {
1332				input.removeAttribute('data-validation');
1333				input.setCustomValidity('');
1334				error.innerHTML = '';
1335			});
1336
1337						input.addEventListener('eds.validation.hide', () => {
1338				input.removeAttribute('data-validation');
1339			});
1340
1341						input.addEventListener('eds.validation.success', (e) => {
1342				input.setCustomValidity('');
1343				input.setAttribute('data-validation', '');
1344				error.innerHTML = '';
1345			});
1346
1347						input.addEventListener('eds.validation.warning', (e) => {
1348				input.setCustomValidity('');
1349				input.setAttribute('data-validation', '');
1350				error.innerHTML = e.detail;
1351			});
1352
1353						input.addEventListener('eds.validation.error', (e) => {
1354				input.setCustomValidity(e.detail);
1355				input.checkValidity(); 				input.setAttribute('data-validation', '');
1356			});
1357
1358			input.addEventListener('invalid', (e) => {
1359				error.innerHTML = input.validationMessage;
1360			});
1361
1362								}
1363		</script>
1363
1364	</label>
1365
1366	
1367						<div class="text-end mb-3">
1368				<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>
1369
1370																
1371						<button class="eds_button btn btn-primary w-100 mb-3" type="submit">Log in</button>
1372						<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">
1373		<a href="https://sso.onlineorderingsecure.com/auth/google/redirect?return_to=https%3A%2F%2Fwww.sushilovervinelandnj.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();">
1374			<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>
1375			Continue with Google
1376		</a>
1377	</div>
1378					<div class="apple-signin-container text-center mb-2">
1379		<a href="https://sso.onlineorderingsecure.com/auth/apple/redirect?return_to=https%3A%2F%2Fwww.sushilovervinelandnj.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();">
1380			<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>
1381			Continue with Apple
1382		</a>
1383	</div>
1384					<small class="d-block mt-2 eds-interface-text-s-regular">
1385		By continuing, you agree to our <a href="https://www.sushilovervinelandnj.com/tos" target="_blank" rel="noopener" title="Opens in new tab">Terms of Service</a> &amp; <a href="https://www.sushilovervinelandnj.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.sushilovervinelandnj.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.
1386	</small>
1387	
1388						<div class="text-center mt-3">
1389				Don't have an account?
1390				<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>
1391		</form>	</div>
1392
1393	
1394								</div>
1395		</div>
1396
1397		
1397<script>
1398		{
1399			const container = document.querySelector('[data-eds-id="6ab5396d8d268"]');
1400			let edsMethodsDisabled = false;
1401
1402						['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => {
1403				container.addEventListener(`eds.${eventName}`, (e) => {
1404					if (edsMethodsDisabled) return;
1405
1406					bootstrap.Modal.getOrCreateInstance(container)[eventName](
1407						...(Array.isArray(e.detail) ? e.detail : [e.detail])
1408					);
1409				});
1410			});
1411
1412						['show', 'shown', 'hide', 'hidden'].forEach((eventName) => {
1413				container.addEventListener(`${eventName}.bs.modal`, (e) => {
1414					if (edsMethodsDisabled) return;
1415
1416					edsMethodsDisabled = true; // Prevent infinite loop of triggering events
1417					container.dispatchEvent(new CustomEvent(`eds.${eventName}`));
1418					edsMethodsDisabled = false;
1419				});
1420			});
1421
1422			
1423						['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => {
1424				container.addEventListener(eventName, () => {
1425					const autofocusInput = container.querySelector('[autofocus]');
1426					if (autofocusInput) {
1427						container.style.display = 'block';
1428						autofocusInput.focus();
1429					}
1430				});
1431			});
1432
1433					}
1434		</script>
1434
1435	</div>
1436
1437	
1438	<div
1439		data-eds-id="6ab5396d8d51e"
1440		class="eds_dialog modal fade  "
1441		tabindex="-1"
1442		aria-labelledby="eds-dialog-title-6ab5396d8d51e"
1443		aria-hidden="true"
1444		id="register-modal"	>
1445		<div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down modal-md">
1446			<div class="modal-content ">
1447									
1448	<div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m ">
1449		<h2 id="eds-dialog-title-6ab5396d8d51e" class="eds_dialog-title modal-title eds-display-text-title-m  pe-5" style="max-width: 100%">
1450			Sign up		</h2>
1451
1452		<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>
1453
1454	<div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular p-0">
1455		<form
1456			id="register-form"
1457			name="register"
1458			data-async-on-submit
1459			method="post"
1460			action="https://www.sushilovervinelandnj.com/auth/register"
1461			data-async-block="#register-modal .modal-content"
1462			data-async-target="#register-modal .eds_dialog-body"
1463			data-async-then="document.querySelector('#register-modal').dispatchEvent(new CustomEvent('eds.hide'))"
1464			data-async-recaptcha
1465			novalidate
1466		>
1467			
1468			<div class="p-3 pt-0">
1469								
1470	<label
1471		data-eds-id="6ab5396d8d401"
1472		class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5"
1473			>
1474					<div class="eds_formfield-label">
1475				First name				<span aria-hidden="true">*</span>							</div>
1476		
1477		<div class="position-relative d-flex flex-column">
1478							<div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div>
1479			
1480										<input
1481					type="text"
1482					class="eds-copy-text-l-regular  "
1483										placeholder=" " name="firstname" autocomplete="given-name" required value=""				/>
1484
1485				
1486							
1487			<i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i>
1488					</div>
1489
1490		
1491		
1491<script>
1492		{
1493			const container = document.querySelector('[data-eds-id="6ab5396d8d401"]');
1494			const input = container.querySelector('input, textarea, select');
1495			const error = container.querySelector('.eds_formfield-error');
1496
1497			
1498						input.addEventListener('eds.validation.reset', () => {
1499				input.removeAttribute('data-validation');
1500				input.setCustomValidity('');
1501				error.innerHTML = '';
1502			});
1503
1504						input.addEventListener('eds.validation.hide', () => {
1505				input.removeAttribute('data-validation');
1506			});
1507
1508						input.addEventListener('eds.validation.success', (e) => {
1509				input.setCustomValidity('');
1510				input.setAttribute('data-validation', '');
1511				error.innerHTML = '';
1512			});
1513
1514						input.addEventListener('eds.validation.warning', (e) => {
1515				input.setCustomValidity('');
1516				input.setAttribute('data-validation', '');
1517				error.innerHTML = e.detail;
1518			});
1519
1520						input.addEventListener('eds.validation.error', (e) => {
1521				input.setCustomValidity(e.detail);
1522				input.checkValidity(); 				input.setAttribute('data-validation', '');
1523			});
1524
1525			input.addEventListener('invalid', (e) => {
1526				error.innerHTML = input.validationMessage;
1527			});
1528
1529								}
1530		</script>
1530
1531	</label>
1532
1533	
1534								
1535	<label
1536		data-eds-id="6ab5396d8d41c"
1537		class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5"
1538			>
1539					<div class="eds_formfield-label">
1540				Last name				<span aria-hidden="true">*</span>							</div>
1541		
1542		<div class="position-relative d-flex flex-column">
1543							<div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div>
1544			
1545										<input
1546					type="text"
1547					class="eds-copy-text-l-regular  "
1548										placeholder=" " name="lastname" autocomplete="family-name" required value=""				/>
1549
1550				
1551							
1552			<i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i>
1553					</div>
1554
1555		
1556		
1556<script>
1557		{
1558			const container = document.querySelector('[data-eds-id="6ab5396d8d41c"]');
1559			const input = container.querySelector('input, textarea, select');
1560			const error = container.querySelector('.eds_formfield-error');
1561
1562			
1563						input.addEventListener('eds.validation.reset', () => {
1564				input.removeAttribute('data-validation');
1565				input.setCustomValidity('');
1566				error.innerHTML = '';
1567			});
1568
1569						input.addEventListener('eds.validation.hide', () => {
1570				input.removeAttribute('data-validation');
1571			});
1572
1573						input.addEventListener('eds.validation.success', (e) => {
1574				input.setCustomValidity('');
1575				input.setAttribute('data-validation', '');
1576				error.innerHTML = '';
1577			});
1578
1579						input.addEventListener('eds.validation.warning', (e) => {
1580				input.setCustomValidity('');
1581				input.setAttribute('data-validation', '');
1582				error.innerHTML = e.detail;
1583			});
1584
1585						input.addEventListener('eds.validation.error', (e) => {
1586				input.setCustomValidity(e.detail);
1587				input.checkValidity(); 				input.setAttribute('data-validation', '');
1588			});
1589
1590			input.addEventListener('invalid', (e) => {
1591				error.innerHTML = input.validationMessage;
1592			});
1593
1594								}
1595		</script>
1595
1596	</label>
1597
1598	
1599								
1600	<label
1601		data-eds-id="6ab5396d8d432"
1602		class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5"
1603			>
1604					<div class="eds_formfield-label">
1605				Email				<span aria-hidden="true">*</span>							</div>
1606		
1607		<div class="position-relative d-flex flex-column">
1608							<div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div>
1609			
1610										<input
1611					type="email"
1612					class="eds-copy-text-l-regular  "
1613										placeholder=" " name="email" autocomplete="username" required value=""				/>
1614
1615				
1616							
1617			<i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i>
1618					</div>
1619
1620		
1621		
1621<script>
1622		{
1623			const container = document.querySelector('[data-eds-id="6ab5396d8d432"]');
1624			const input = container.querySelector('input, textarea, select');
1625			const error = container.querySelector('.eds_formfield-error');
1626
1627			
1628						input.addEventListener('eds.validation.reset', () => {
1629				input.removeAttribute('data-validation');
1630				input.setCustomValidity('');
1631				error.innerHTML = '';
1632			});
1633
1634						input.addEventListener('eds.validation.hide', () => {
1635				input.removeAttribute('data-validation');
1636			});
1637
1638						input.addEventListener('eds.validation.success', (e) => {
1639				input.setCustomValidity('');
1640				input.setAttribute('data-validation', '');
1641				error.innerHTML = '';
1642			});
1643
1644						input.addEventListener('eds.validation.warning', (e) => {
1645				input.setCustomValidity('');
1646				input.setAttribute('data-validation', '');
1647				error.innerHTML = e.detail;
1648			});
1649
1650						input.addEventListener('eds.validation.error', (e) => {
1651				input.setCustomValidity(e.detail);
1652				input.checkValidity(); 				input.setAttribute('data-validation', '');
1653			});
1654
1655			input.addEventListener('invalid', (e) => {
1656				error.innerHTML = input.validationMessage;
1657			});
1658
1659								}
1660		</script>
1660
1661	</label>
1662
1663	
1664								
1665	<label
1666		data-eds-id="6ab5396d8d441"
1667		class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-2p5"
1668			>
1669					<div class="eds_formfield-label">
1670				Password				<span aria-hidden="true">*</span>							</div>
1671		
1672		<div class="position-relative d-flex flex-column">
1673							<div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div>
1674			
1675										<input
1676					type="password"
1677					class="eds-copy-text-l-regular  pe-6"
1678					data-event-on:toggle_password_6ab5396d8d441="(shown) => $(this).attr('type', shown ? 'text' : 'password')"					placeholder=" " name="password" autocomplete="current-password" required value=""				/>
1679
1680				
1681									<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_6ab5396d8d441', !$(this).data('password-shown'))" data-event-on:toggle_password_6ab5396d8d441="(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_6ab5396d8d441="(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_6ab5396d8d441="(shown) =&gt; this.hidden = !shown" hidden></i></button>							
1682			<i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i>
1683					</div>
1684
1685		
1686		
1686<script>
1687		{
1688			const container = document.querySelector('[data-eds-id="6ab5396d8d441"]');
1689			const input = container.querySelector('input, textarea, select');
1690			const error = container.querySelector('.eds_formfield-error');
1691
1692			
1693						input.addEventListener('eds.validation.reset', () => {
1694				input.removeAttribute('data-validation');
1695				input.setCustomValidity('');
1696				error.innerHTML = '';
1697			});
1698
1699						input.addEventListener('eds.validation.hide', () => {
1700				input.removeAttribute('data-validation');
1701			});
1702
1703						input.addEventListener('eds.validation.success', (e) => {
1704				input.setCustomValidity('');
1705				input.setAttribute('data-validation', '');
1706				error.innerHTML = '';
1707			});
1708
1709						input.addEventListener('eds.validation.warning', (e) => {
1710				input.setCustomValidity('');
1711				input.setAttribute('data-validation', '');
1712				error.innerHTML = e.detail;
1713			});
1714
1715						input.addEventListener('eds.validation.error', (e) => {
1716				input.setCustomValidity(e.detail);
1717				input.checkValidity(); 				input.setAttribute('data-validation', '');
1718			});
1719
1720			input.addEventListener('invalid', (e) => {
1721				error.innerHTML = input.validationMessage;
1722			});
1723
1724								}
1725		</script>
1725
1726	</label>
1727
1728	
1729								
1730	<label
1731		data-eds-id="6ab5396d8d46f"
1732		class="eds_formfield eds_formfield--size-medium eds_formfield--variant-primary eds-copy-text-m-regular w-100 mb-3"
1733			>
1734					<div class="eds_formfield-label">
1735				Phone number				<span aria-hidden="true">*</span>							</div>
1736		
1737		<div class="position-relative d-flex flex-column">
1738							<div class="eds_formfield-error eds-interface-text-m-bold" style="order: 1000"></div>
1739			
1740										<input
1741					type="text"
1742					class="eds-copy-text-l-regular  "
1743										placeholder=" " name="primary_phone" autocomplete="tel-national" required value=""				/>
1744
1745				
1746							
1747			<i class="eds_icon fa eds_formfield-validation" style="" aria-hidden="true"></i>
1748					</div>
1749
1750					<div class="eds-interface-text-s-regular mt-2">
1751				<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>
1752		
1753		
1753<script>
1754		{
1755			const container = document.querySelector('[data-eds-id="6ab5396d8d46f"]');
1756			const input = container.querySelector('input, textarea, select');
1757			const error = container.querySelector('.eds_formfield-error');
1758
1759			
1760						input.addEventListener('eds.validation.reset', () => {
1761				input.removeAttribute('data-validation');
1762				input.setCustomValidity('');
1763				error.innerHTML = '';
1764			});
1765
1766						input.addEventListener('eds.validation.hide', () => {
1767				input.removeAttribute('data-validation');
1768			});
1769
1770						input.addEventListener('eds.validation.success', (e) => {
1771				input.setCustomValidity('');
1772				input.setAttribute('data-validation', '');
1773				error.innerHTML = '';
1774			});
1775
1776						input.addEventListener('eds.validation.warning', (e) => {
1777				input.setCustomValidity('');
1778				input.setAttribute('data-validation', '');
1779				error.innerHTML = e.detail;
1780			});
1781
1782						input.addEventListener('eds.validation.error', (e) => {
1783				input.setCustomValidity(e.detail);
1784				input.checkValidity(); 				input.setAttribute('data-validation', '');
1785			});
1786
1787			input.addEventListener('invalid', (e) => {
1788				error.innerHTML = input.validationMessage;
1789			});
1790
1791								}
1792		</script>
1792
1793	</label>
1794
1795	
1796				
1797	<div class="eds_checkable d-inline-block mb-2" >
1798		<input id="eds-checkable-6ab5396d8d483" name="receive_promotions" value="1" checked type="checkbox" />
1799		<label for="eds-checkable-6ab5396d8d483" class="eds_checkable-text eds-interface-text-l-regular ">
1800			Receive Promotional Offers & Updates		</label>
1801	</div>
1802
1803	
1804								<button class="eds_button btn btn-primary w-100 mt-1 mb-3" type="submit">Sign up</button>
1805								<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">
1806		<a href="https://sso.onlineorderingsecure.com/auth/google/redirect?return_to=https%3A%2F%2Fwww.sushilovervinelandnj.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();">
1807			<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>
1808			Continue with Google
1809		</a>
1810	</div>
1811						<div class="apple-signin-container text-center mb-2">
1812		<a href="https://sso.onlineorderingsecure.com/auth/apple/redirect?return_to=https%3A%2F%2Fwww.sushilovervinelandnj.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();">
1813			<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>
1814			Continue with Apple
1815		</a>
1816	</div>
1817						<small class="d-block mt-2 eds-interface-text-s-regular">
1818		By continuing, you agree to our <a href="https://www.sushilovervinelandnj.com/tos" target="_blank" rel="noopener" title="Opens in new tab">Terms of Service</a> &amp; <a href="https://www.sushilovervinelandnj.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.sushilovervinelandnj.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.
1819	</small>
1820	
1821								<div class="text-center mt-3">
1822					Already have an account?
1823					<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>
1824			</div>
1825		</form>	</div>
1826
1827	
1828								</div>
1829		</div>
1830
1831		
1831<script>
1832		{
1833			const container = document.querySelector('[data-eds-id="6ab5396d8d51e"]');
1834			let edsMethodsDisabled = false;
1835
1836						['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => {
1837				container.addEventListener(`eds.${eventName}`, (e) => {
1838					if (edsMethodsDisabled) return;
1839
1840					bootstrap.Modal.getOrCreateInstance(container)[eventName](
1841						...(Array.isArray(e.detail) ? e.detail : [e.detail])
1842					);
1843				});
1844			});
1845
1846						['show', 'shown', 'hide', 'hidden'].forEach((eventName) => {
1847				container.addEventListener(`${eventName}.bs.modal`, (e) => {
1848					if (edsMethodsDisabled) return;
1849
1850					edsMethodsDisabled = true; // Prevent infinite loop of triggering events
1851					container.dispatchEvent(new CustomEvent(`eds.${eventName}`));
1852					edsMethodsDisabled = false;
1853				});
1854			});
1855
1856			
1857						['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => {
1858				container.addEventListener(eventName, () => {
1859					const autofocusInput = container.querySelector('[autofocus]');
1860					if (autofocusInput) {
1861						container.style.display = 'block';
1862						autofocusInput.focus();
1863					}
1864				});
1865			});
1866
1867					}
1868		</script>
1868
1869	</div>
1870
1871	
1872	
1872<script>
1873	window.__ssoConfig = {
1874		google: {
1875			pendingUrl: "https:\/\/www.sushilovervinelandnj.com\/auth\/google\/pending",
1876			registerModalId: "register-modal",
1877			loginModalId: "login-modal"		},
1878		apple: {
1879			pendingUrl: "https:\/\/www.sushilovervinelandnj.com\/auth\/apple\/pending",
1880			registerModalId: "register-modal",
1881			loginModalId: "login-modal"		}
1882	};
1883	</script>
1883
1884	
1885
1886<div class="modal fade" id="modal-order-time" tabindex="-1" role="dialog"
1887	aria-hidden="true">
1888	<div class="modal-dialog modal-fullscreen-md-down mt-md-6" role="document">
1889		<div class="modal-content">
1890			<button class="d-md-none close" type="button" data-bs-dismiss="modal" aria-label="Close"></button>
1891			<div class="modal-header">
1892				<h2 class="modal-title eds-display-text-title-m">Order time</h2>
1893			</div>
1894			<div class="modal-body">
1895								<div class="btn-group w-100 btn-group-order-time-type mb-3" style="display: none;">
1896					
1897											<input type="radio" name="param_order~time~type_i_n_1" id="order_time_type_1-" value="1" class="btn-check timeswitch orderTimeTypeOption"
1898							checked />
1899						<label for="order_time_type_1-" class="d-flex align-items-center justify-content-center btn btn-outline-secondary  w-50">
1900						<span>
1901							Later
1902							<span class="d-block small fw-normal">Later</span>
1903						</span>
1904						</label>
1905									</div>
1906													<div id="laterContent" class="">
1907						<div class="select-time-container">
1908	<div class="selecttime showcheck_parent ">
1909	<div class="select-time-header clearfix">
1910		<h3 class="bold fl fs-5">Pick a day and time</h3>
1911			</div>
1912	<div class="select-time-content clearfix">
1913		<div class="row select-time-row">
1914						<div class="datepicker col-md-8" style="min-height: 248px;">
1915				<div class="datepicker-days" style="display: block;">
1916					<div data-datetimepicker data-datepicker-min-date="2026-09-24" class="errorable"></div>
1917				</div>
1918							</div>
1919							<div class="timepicker col-md-4">
1920					<div class="timepicker-picker">
1921												<ul class="ready-at-time css-scroll">
1922																														<li class="time-button ">
1923									<input id="timeValue0" type="radio" value="11:30 AM" name="param_ready~at~time_s_n_15"
1924									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1925									 data-required-field data-ready-attime/>
1926									<label for="timeValue0" class="btn btn-outline-secondary btn-sm" for="">11:30 AM</label>
1927								</li>
1928																								<li class="time-button ">
1929									<input id="timeValue1" type="radio" value="11:45 AM" name="param_ready~at~time_s_n_15"
1930									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1931									 data-required-field data-ready-attime/>
1932									<label for="timeValue1" class="btn btn-outline-secondary btn-sm" for="">11:45 AM</label>
1933								</li>
1934																								<li class="time-button ">
1935									<input id="timeValue2" type="radio" value="12:00 PM" name="param_ready~at~time_s_n_15"
1936									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1937									 data-required-field data-ready-attime/>
1938									<label for="timeValue2" class="btn btn-outline-secondary btn-sm" for="">12:00 PM</label>
1939								</li>
1940																								<li class="time-button ">
1941									<input id="timeValue3" type="radio" value="12:15 PM" name="param_ready~at~time_s_n_15"
1942									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1943									 data-required-field data-ready-attime/>
1944									<label for="timeValue3" class="btn btn-outline-secondary btn-sm" for="">12:15 PM</label>
1945								</li>
1946																								<li class="time-button ">
1947									<input id="timeValue4" type="radio" value="12:30 PM" name="param_ready~at~time_s_n_15"
1948									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1949									 data-required-field data-ready-attime/>
1950									<label for="timeValue4" class="btn btn-outline-secondary btn-sm" for="">12:30 PM</label>
1951								</li>
1952																								<li class="time-button ">
1953									<input id="timeValue5" type="radio" value="12:45 PM" name="param_ready~at~time_s_n_15"
1954									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1955									 data-required-field data-ready-attime/>
1956									<label for="timeValue5" class="btn btn-outline-secondary btn-sm" for="">12:45 PM</label>
1957								</li>
1958																								<li class="time-button ">
1959									<input id="timeValue6" type="radio" value="1:00 PM" name="param_ready~at~time_s_n_15"
1960									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1961									 data-required-field data-ready-attime/>
1962									<label for="timeValue6" class="btn btn-outline-secondary btn-sm" for="">1:00 PM</label>
1963								</li>
1964																								<li class="time-button ">
1965									<input id="timeValue7" type="radio" value="1:15 PM" name="param_ready~at~time_s_n_15"
1966									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1967									 data-required-field data-ready-attime/>
1968									<label for="timeValue7" class="btn btn-outline-secondary btn-sm" for="">1:15 PM</label>
1969								</li>
1970																								<li class="time-button ">
1971									<input id="timeValue8" type="radio" value="1:30 PM" name="param_ready~at~time_s_n_15"
1972									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1973									 data-required-field data-ready-attime/>
1974									<label for="timeValue8" class="btn btn-outline-secondary btn-sm" for="">1:30 PM</label>
1975								</li>
1976																								<li class="time-button ">
1977									<input id="timeValue9" type="radio" value="1:45 PM" name="param_ready~at~time_s_n_15"
1978									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1979									 data-required-field data-ready-attime/>
1980									<label for="timeValue9" class="btn btn-outline-secondary btn-sm" for="">1:45 PM</label>
1981								</li>
1982																								<li class="time-button ">
1983									<input id="timeValue10" type="radio" value="2:00 PM" name="param_ready~at~time_s_n_15"
1984									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1985									 data-required-field data-ready-attime/>
1986									<label for="timeValue10" class="btn btn-outline-secondary btn-sm" for="">2:00 PM</label>
1987								</li>
1988																								<li class="time-button ">
1989									<input id="timeValue11" type="radio" value="2:15 PM" name="param_ready~at~time_s_n_15"
1990									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1991									 data-required-field data-ready-attime/>
1992									<label for="timeValue11" class="btn btn-outline-secondary btn-sm" for="">2:15 PM</label>
1993								</li>
1994																								<li class="time-button ">
1995									<input id="timeValue12" type="radio" value="2:30 PM" name="param_ready~at~time_s_n_15"
1996									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
1997									 data-required-field data-ready-attime/>
1998									<label for="timeValue12" class="btn btn-outline-secondary btn-sm" for="">2:30 PM</label>
1999								</li>
2000																								<li class="time-button ">
2001									<input id="timeValue13" type="radio" value="2:45 PM" name="param_ready~at~time_s_n_15"
2002									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2003									 data-required-field data-ready-attime/>
2004									<label for="timeValue13" class="btn btn-outline-secondary btn-sm" for="">2:45 PM</label>
2005								</li>
2006																								<li class="time-button ">
2007									<input id="timeValue14" type="radio" value="3:00 PM" name="param_ready~at~time_s_n_15"
2008									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2009									 data-required-field data-ready-attime/>
2010									<label for="timeValue14" class="btn btn-outline-secondary btn-sm" for="">3:00 PM</label>
2011								</li>
2012																								<li class="time-button ">
2013									<input id="timeValue15" type="radio" value="3:15 PM" name="param_ready~at~time_s_n_15"
2014									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2015									 data-required-field data-ready-attime/>
2016									<label for="timeValue15" class="btn btn-outline-secondary btn-sm" for="">3:15 PM</label>
2017								</li>
2018																								<li class="time-button ">
2019									<input id="timeValue16" type="radio" value="3:30 PM" name="param_ready~at~time_s_n_15"
2020									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2021									 data-required-field data-ready-attime/>
2022									<label for="timeValue16" class="btn btn-outline-secondary btn-sm" for="">3:30 PM</label>
2023								</li>
2024																								<li class="time-button ">
2025									<input id="timeValue17" type="radio" value="3:45 PM" name="param_ready~at~time_s_n_15"
2026									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2027									 data-required-field data-ready-attime/>
2028									<label for="timeValue17" class="btn btn-outline-secondary btn-sm" for="">3:45 PM</label>
2029								</li>
2030																								<li class="time-button ">
2031									<input id="timeValue18" type="radio" value="4:00 PM" name="param_ready~at~time_s_n_15"
2032									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2033									 data-required-field data-ready-attime/>
2034									<label for="timeValue18" class="btn btn-outline-secondary btn-sm" for="">4:00 PM</label>
2035								</li>
2036																								<li class="time-button ">
2037									<input id="timeValue19" type="radio" value="4:15 PM" name="param_ready~at~time_s_n_15"
2038									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2039									 data-required-field data-ready-attime/>
2040									<label for="timeValue19" class="btn btn-outline-secondary btn-sm" for="">4:15 PM</label>
2041								</li>
2042																								<li class="time-button ">
2043									<input id="timeValue20" type="radio" value="4:30 PM" name="param_ready~at~time_s_n_15"
2044									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2045									 data-required-field data-ready-attime/>
2046									<label for="timeValue20" class="btn btn-outline-secondary btn-sm" for="">4:30 PM</label>
2047								</li>
2048																								<li class="time-button ">
2049									<input id="timeValue21" type="radio" value="4:45 PM" name="param_ready~at~time_s_n_15"
2050									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2051									 data-required-field data-ready-attime/>
2052									<label for="timeValue21" class="btn btn-outline-secondary btn-sm" for="">4:45 PM</label>
2053								</li>
2054																								<li class="time-button ">
2055									<input id="timeValue22" type="radio" value="5:00 PM" name="param_ready~at~time_s_n_15"
2056									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2057									 data-required-field data-ready-attime/>
2058									<label for="timeValue22" class="btn btn-outline-secondary btn-sm" for="">5:00 PM</label>
2059								</li>
2060																								<li class="time-button ">
2061									<input id="timeValue23" type="radio" value="5:15 PM" name="param_ready~at~time_s_n_15"
2062									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2063									 data-required-field data-ready-attime/>
2064									<label for="timeValue23" class="btn btn-outline-secondary btn-sm" for="">5:15 PM</label>
2065								</li>
2066																								<li class="time-button ">
2067									<input id="timeValue24" type="radio" value="5:30 PM" name="param_ready~at~time_s_n_15"
2068									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2069									 data-required-field data-ready-attime/>
2070									<label for="timeValue24" class="btn btn-outline-secondary btn-sm" for="">5:30 PM</label>
2071								</li>
2072																								<li class="time-button ">
2073									<input id="timeValue25" type="radio" value="5:45 PM" name="param_ready~at~time_s_n_15"
2074									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2075									 data-required-field data-ready-attime/>
2076									<label for="timeValue25" class="btn btn-outline-secondary btn-sm" for="">5:45 PM</label>
2077								</li>
2078																								<li class="time-button ">
2079									<input id="timeValue26" type="radio" value="6:00 PM" name="param_ready~at~time_s_n_15"
2080									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2081									 data-required-field data-ready-attime/>
2082									<label for="timeValue26" class="btn btn-outline-secondary btn-sm" for="">6:00 PM</label>
2083								</li>
2084																								<li class="time-button ">
2085									<input id="timeValue27" type="radio" value="6:15 PM" name="param_ready~at~time_s_n_15"
2086									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2087									 data-required-field data-ready-attime/>
2088									<label for="timeValue27" class="btn btn-outline-secondary btn-sm" for="">6:15 PM</label>
2089								</li>
2090																								<li class="time-button ">
2091									<input id="timeValue28" type="radio" value="6:30 PM" name="param_ready~at~time_s_n_15"
2092									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2093									 data-required-field data-ready-attime/>
2094									<label for="timeValue28" class="btn btn-outline-secondary btn-sm" for="">6:30 PM</label>
2095								</li>
2096																								<li class="time-button ">
2097									<input id="timeValue29" type="radio" value="6:45 PM" name="param_ready~at~time_s_n_15"
2098									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2099									 data-required-field data-ready-attime/>
2100									<label for="timeValue29" class="btn btn-outline-secondary btn-sm" for="">6:45 PM</label>
2101								</li>
2102																								<li class="time-button ">
2103									<input id="timeValue30" type="radio" value="7:00 PM" name="param_ready~at~time_s_n_15"
2104									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2105									 data-required-field data-ready-attime/>
2106									<label for="timeValue30" class="btn btn-outline-secondary btn-sm" for="">7:00 PM</label>
2107								</li>
2108																								<li class="time-button ">
2109									<input id="timeValue31" type="radio" value="7:15 PM" name="param_ready~at~time_s_n_15"
2110									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2111									 data-required-field data-ready-attime/>
2112									<label for="timeValue31" class="btn btn-outline-secondary btn-sm" for="">7:15 PM</label>
2113								</li>
2114																								<li class="time-button ">
2115									<input id="timeValue32" type="radio" value="7:30 PM" name="param_ready~at~time_s_n_15"
2116									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2117									 data-required-field data-ready-attime/>
2118									<label for="timeValue32" class="btn btn-outline-secondary btn-sm" for="">7:30 PM</label>
2119								</li>
2120																								<li class="time-button ">
2121									<input id="timeValue33" type="radio" value="7:45 PM" name="param_ready~at~time_s_n_15"
2122									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2123									 data-required-field data-ready-attime/>
2124									<label for="timeValue33" class="btn btn-outline-secondary btn-sm" for="">7:45 PM</label>
2125								</li>
2126																								<li class="time-button ">
2127									<input id="timeValue34" type="radio" value="8:00 PM" name="param_ready~at~time_s_n_15"
2128									class="btn-check rad-ready_at_time" onchange="saveFormStat
2128e('param_ready~at~time_s_n_15', this.value, true);"
2129									 data-required-field data-ready-attime/>
2130									<label for="timeValue34" class="btn btn-outline-secondary btn-sm" for="">8:00 PM</label>
2131								</li>
2132																								<li class="time-button ">
2133									<input id="timeValue35" type="radio" value="8:15 PM" name="param_ready~at~time_s_n_15"
2134									class="btn-check rad-ready_at_time" onchange="saveFormState('param_ready~at~time_s_n_15', this.value, true);"
2135									 data-required-field data-ready-attime/>
2136									<label for="timeValue35" class="btn btn-outline-secondary btn-sm" for="">8:15 PM</label>
2137								</li>
2138														</ul>
2139					</div>
2140				</div>
2141					</div>
2142	</div>
2143</div>
2144</div>
2145<input type="hidden" name="param_ready~at_s_n_100" class="hid-ready-at" value="" />
2146<input type="hidden" class="hid-ready-at-date" value="2026-09-24" />
2147<input type="hidden" class="hid-eot" value="1969-12-31 16:00:00" />					</div>
2148							</div>
2149			<div class="modal-footer">
2150								<input type="hidden" id="hid-order-time-type" value="1" />
2151				<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Cancel</button>
2152				<button type="button" class="btn btn-primary" data-save-time-modal>Save</button>
2153			</div>
2154		</div>
2155	</div>
2156</div>
2157
2158<!-- www modal start -->
2159<div class="modal fade mob_full_modal www_modal order-options" id="modal-order-options" tabindex="-1" role="dialog"
2160	 aria-hidden="true" data-update-otype-on-modal-close>
2161	<div class="modal-dialog modal-fullscreen-sm-down mt-sm-6" role="document">
2162		<div class="modal-content">
2163			<button class="d-md-none close" type="button" data-bs-dismiss="modal" aria-label="Close"></button>
2164			<div class="modal-header">
2165				<h2 class="modal-title eds-display-text-title-m">Order details</h2>
2166			</div>
2167			<div class="modal-body">
2168				<div class="www_moda_content">
2169					<div class="cs_box order_type" onchange="app.event.emit('order_type_changed', { order_type: event.target.value })">
2170						<div class="h5">What:</div>
2171												<div class="position-relative">
2172	<div class="mdropbtn" data-toggle-mdrop role="button">
2173		<span class="visually-hidden">Order type:</span>
2174		<span data-order-type-label>
2175			Pick up		</span>
2176	</div>
2177	<ul data-mdrop-ul>
2178							<li class="selected ">
2179						<input data-order-type-on-change type="radio" name="param_order~type_s_n_10" id="order-type-pickup-1"
2180							class="orderTypeOption css-checkbox " data-name="Pick up"							checked value="PICKUP"
2181							data-constant="1" data-base="PICKUP" >
2182						<label for="order-type-pickup-1" class="css-label" data-update-mdrop-on-click>
2183							Pick up						</label>
2184					</li>
2185					</ul>
2186</div>
2187					</div>
2188					<form class="">
2189																				<div class="cs_box guest_checkout_address checkout_address deliveryAddressContainer" style="display:none;">
2190								<label for="street-address-bar" class="h5">Enter your address:</label>
2191								<div class="form-group street-address-container">
2192									<input name="param_full~address_s_n_255" id="street-address-bar" placeholder="Enter your address"
2193										   data-autocomplete-address data-autocomplete-success="autoCompleteSuccess"
2194										   onkeyup="scheduleFormStateSave(this.name, this.value)" onchange="validateAddress($('#modal-order-options .deliveryAddressContainer'))"
2195										   type="search" class="form-control input-search input-validate-address input-street-address user-address-field"
2196										   value="" data-required-field />
2197								</div>
2198																<input type="hidden" name="param_street~address_s_n_255" data-autocompleted-street-address />
2199								<input type="hidden" name="param_city_s_n_90" data-autocompleted-city />
2200								<input type="hidden" name="param_state_s_n_2" data-autocompleted-state />
2201								<input type="hidden" name="param_zip~code_z_n_10" data-autocompleted-zip />
2202															</div>
2203											</form>
2204					<!-- <div class="form-submit-wrapper">
2205						<input type="submit" class="form-submit btn btn-primary" value="Save" data-close-modal data-select-later-date data-saveotype-modal>
2206					</div> -->
2207				</div>
2208			</div>
2209			<div
2210				data-async-on-event="order_type_changed"
2211				data-async-action="https://www.sushilovervinelandnj.com/ajax/?form=minimum_order_value_warning&component=order_type"
2212				data-async-method="get"
2213			>
2214							</div>
2215			<div class="modal-footer">
2216				<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Close</button>
2217				<button type="button" class="btn btn-primary" data-close-modal data-saveotype-modal>Save</button>
2218			</div>
2219		</div>
2220	</div>
2221</div>
2222<!-- www modal end -->
2223
2224<!-- menu item modal -->
2225<div class="modal fade add_menu" id="add_menu_item" tabindex="-1" role="dialog" aria-hidden="true" aria-labelledby="item_name">
2226	<div class="modal-dialog modal-dialog-centered modal-fullscreen-md-down" role="document">
2227		<div class="modal-content menu-item-container-wrapper">
2228			<div class="modal-body menu-item-container ">
2229				<p id="item_name">Menu item dialog</p>
2230							</div>
2231		</div>
2232	</div>
2233</div>
2234<!-- menu item modal end -->
2235
2236
2237	<div
2238		data-eds-id="6ab5396d9133e"
2239		class="eds_dialog modal fade  "
2240		tabindex="-1"
2241		aria-labelledby="eds-dialog-title-6ab5396d9133e"
2242		aria-hidden="true"
2243		data-event-on:coupon_modal_shown="(shown) =&gt; $(this).data(`coupon_modal_shown`, shown)" data-event-on:show_coupon_restrictions="({ coupon, errors }) =&gt; {
2244				if ($(this).data(`coupon_modal_shown`)) return;
2245
2246				$(this).find(`.eds_dialog-title`).html(`&lt;div class=&quot;text-truncate&quot;&gt;${coupon}&lt;/div&gt;`);
2247				$(this).find(`.eds_dialog-body`).html(errors);
2248				this.dispatchEvent(new CustomEvent(`eds.show`));
2249			}" data-event-on:restore_coupon_modal="this.dispatchEvent(new CustomEvent(`eds.hide`))"	>
2250		<div class="modal-dialog modal-dialog-scrollable modal-dialog-centered modal-fullscreen-sm-down modal-md">
2251			<div class="modal-content ">
2252									
2253	<div class="modal-header d-flex justify-content-between gap-3 eds-display-text-title-m ">
2254		<h2 id="eds-dialog-title-6ab5396d9133e" class="eds_dialog-title modal-title eds-display-text-title-m  pe-5" style="max-width: 100%">
2255			Coupon restrictions		</h2>
2256
2257		<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>
2258
2259	<div class="eds_dialog-body modal-body css-scroll eds-copy-text-l-regular vh-100">
2260			</div>
2261
2262	
2263								</div>
2264		</div>
2265
2266		
2266<script>
2267		{
2268			const container = document.querySelector('[data-eds-id="6ab5396d9133e"]');
2269			let edsMethodsDisabled = false;
2270
2271						['show', 'hide', 'toggle', 'dispose'].forEach((eventName) => {
2272				container.addEventListener(`eds.${eventName}`, (e) => {
2273					if (edsMethodsDisabled) return;
2274
2275					bootstrap.Modal.getOrCreateInstance(container)[eventName](
2276						...(Array.isArray(e.detail) ? e.detail : [e.detail])
2277					);
2278				});
2279			});
2280
2281						['show', 'shown', 'hide', 'hidden'].forEach((eventName) => {
2282				container.addEventListener(`${eventName}.bs.modal`, (e) => {
2283					if (edsMethodsDisabled) return;
2284
2285					edsMethodsDisabled = true; // Prevent infinite loop of triggering events
2286					container.dispatchEvent(new CustomEvent(`eds.${eventName}`));
2287					edsMethodsDisabled = false;
2288				});
2289			});
2290
2291			
2292						['show.bs.modal', 'shown.bs.modal'].forEach((eventName) => {
2293				container.addEventListener(eventName, () => {
2294					const autofocusInput = container.querySelector('[autofocus]');
2295					if (autofocusInput) {
2296						container.style.display = 'block';
2297						autofocusInput.focus();
2298					}
2299				});
2300			});
2301
2302					}
2303		</script>
2303
2304	</div>
2305
2306	
2307<!-- location modal mobile start-->
2308<div class="modal fade location-picker" id="locationModal" tabindex="-1" role="dialog" aria-hidden="true">
2309	<div class="backdrop" data-bs-dismiss="modal"></div>
2310	<div class="modal-dialog modal-sm modal-dialog-centered" role="document">
2311		<div class="modal-content">
2312			<div class="modal-header">
2313				<h2 class="modal-title eds-display-text-title-m">Change Location</h2>
2314			</div>
2315
2316			<div class="modal-body">
2317				
2318<div class="change_location-locations">
2319			<input
2320			type="radio"
2321			class="css-checkbox"
2322			id="locations-1-location-7616"
2323			name="locations-1"
2324			value="https://www.sushilovervinelandnj.com/order"
2325						checked		/>
2326		<label class="css-label" for="locations-1-location-7616">
2327			<div style="line-height: normal">
2328				<strong>Sushi Lover - Vineland</strong>
2329				<br />
2330				3849 S Delsea Dr #0012 Cumberland Mall Vineland, NJ 08360			</div>
2331		</label>
2332	</div>
2333
2334			</div>
2335
2336			<div class="modal-footer">
2337				<button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">Close</button>
2338				<button type="button" class="btn btn-warning" data-go-to-url-on-click="[name='locations-1']:checked">
2339					Change location				</button>
2340			</div>
2341		</div>
2342	</div>
2343</div>
2344<!-- location modal mobile end -->
2345
2346<div class="modal fade add_new_card_modal" id="modal-add-new-card" tabindex="-1" role="dialog" aria-modal="true">
2347	<div class="modal-dialog modal-dialog-centered modal-fullscreen-sm-down" role="document">
2348		<div class="modal-content">
2349			<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"></button>
2350			<div class="modal-header">
2351				<h2 class="modal-title eds-display-text-title-m">Add new card</h2>
2352			</div>
2353			<div class="modal-body pb-6">
2354				<div class="ajax-creditcards">
2355					<div class="fa fa-spinner fa-spin fa-4x">
2356					</div>
2357				</div>
2358			</div>
2359		</div>
2360	</div>
2361</div>
2362
2363<div class="modal fade" id="modal-payment-change" tabindex="-1" role="dialog" aria-modal="true">
2364	<div class="modal-dialog modal-dialog-centered" role="document">
2365		<div class="modal-content">
2366			<div class="modal-header">
2367				<h2 class="modal-title modal-title-accent eds-display-text-title-m">Confirm <span data-confirm-payment-name>Pay with cash</span></h2>
2368			</div>
2369			<div class="modal-body">
2370				<p>You've just changed your payment type to <strong data-confirm-payment-name>Pay with cash</strong>. Please confirm that to proceed.</p>
2371				<button class="btn btn-primary w-100" data-bs-dismiss="modal" data-confirm-payment-switch>Confirm and proceed</button>
2372				<button class="btn eh-btn-silent w-100 mt-2" data-bs-dismiss="modal" data-cancel-payment-switch>Cancel</button>
2373			</div>
2374		</div>
2375	</div>
2376</div>
2377
2378<div class="modal fade modal_over_modal" id="modal-confirm-no-number-address" tabindex="-1" role="dialog" aria-modal="true" style="z-index: 2000;">
2379	<div class="modal-dialog modal-dialog-centered" role="document">
2380		<div class="modal-content">
2381			<div class="modal-header">
2382				<h2 class="modal-title modal-title-accent eds-display-text-title-m">Confirm Address</h2>
2383			</div>
2384			<div class="modal-body">
2385				<p>This address doesn't start with a street number. Please confirm the address is correct.</p>
2386				<button class="btn btn-warning w-100" data-bs-dismiss="modal" data-confirm-no-number-address>Yes, it's correct</button>
2387				<button class="btn btn-secondary w-100 mt-2" data-bs-dismiss="modal" data-cancel-no-number-address>No, let me edit it</button>
2388			</div>
2389		</div>
2390	</div>
2391</div>
2392
2393<div class="modal fade mob_full_modal" id="modal-invalid-address" tabindex="-1" role="dialog" aria-modal="true">
2394	<div class="modal-dialog modal-dialog-centered" role="document">
2395		<div class="modal-content">
2396			<button class="close" type="button" data-bs-dismiss="modal" aria-label="Close"></button>
2397			<div class="modal-header">
2398				<h2 class="modal-title eds-display-text-title-m">Sorry we do not deliver to your address!</h2>
2399			</div>
2400			<div class="modal-body">
2401				<div class="www_moda_content">
2402									<div class="cs_box pickup_when showcheck_parent">
2403						<div>You can Pick up your order at this location</div>
2404						<div class="pickup_locbox">
2405		<div class="rest_loc">
2406		<p>
2407			Sushi Lover - Vineland<br/>
2408			3849 S Delsea Dr #0012<br/>Cumberland Mall<br/>Vineland, NJ 08360		</p>
2409	</div>
2410</div>					</div>
2411					<div class="form-submit-wrapper">
2412						<input type="submit" class="form-submit" value="Switch to pickup" data-bs-dismiss="modal" data-switch-to-pickup>
2413					</div>
2414								</div>
2415			</div>
2416		</div>
2417	</div>
2418</div>
2419
2420<div class="modal fade mob_full_modal" id="modal-view-delivery-zone" tabindex="-1" role="dialog" aria-modal="true">
2421	<div class="modal-dialog modal-dialog-centered" role="document">
2422		<div class="modal-content">
2423			<div class="modal-body modal-body-view-delivery-zone" style="min-height: 75px;">
2424				<div id="loading-view-delivery-area" class="loading-ajax-spinner"><i class="fa fa-spin fa-spinner fa-3x "></i></div>
2425				<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"></button>
2426				<div id="modal-view-delivery-zone-content" style="display:none;">
2427					<div class="h4 mt15">View our delivery area</div>
2428					<div class="mb15"></div>
2429					<style>
2430						#iframe-view-delivery-area {
2431							width:100%;
2432							height:100%;
2433							min-height:556px;
2434						}
2435						@media screen and (max-width: 768px) {
2436							#iframe-view-delivery-area {
2437								height: calc(100vh - 90px);
2438							}
2439						}
2440					</style>
2441					<iframe id="iframe-view-delivery-area" name="iframe-deliveryzone" frameborder="0" hspace="0" scrolling="auto"
2442						data-src="https://www.sushilovervinelandnj.com/viewdeliveryzone/altdoc/1/vdz/1" title="Map of delivery areas"></iframe>
2443				</div>
2444			</div>
2445		</div>
2446	</div>
2447</div>
2448
2449<!-- Alert modal -->
2450<div class="modal fade" id="modal-alert" tabindex="-1" aria-labelledby="modal-alert" aria-hidden="true">
2451	<div class="modal-dialog">
2452		<div class="modal-content">
2453			<div class="modal-header">
2454				<h2 class="modal-title fs-5 eds-display-text-title-m">Error</h2>
2455				<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
2456			</div>
2457			<div class="modal-body">
2458				Description
2459			</div>
2460			<div class="modal-footer">
2461				<button type="button" class="btn btn-primary btn-close-modal" data-bs-dismiss="modal">Close</button>
2462				<button type="button" class="btn btn-primary hidden">Save changes</button>
2463			</div>
2464		</div>
2465	</div>
2466</div>
2467
2468
2469
2470
2471
2472	<div
2473		id="toasts"
2474		class="toast-container position-fixed start-50 translate-middle-x"
2475		style="bottom: calc(var(--eds-fixed-cta-height, 0) * 1px); max-width: calc(100% - 2rem)"
2476	>
2477			</div>
2478
2479		
2479<script>
2480	$(() => {
2481		const ctas = document.querySelectorAll('[data-fixed-cta]');
2482		if (!ctas.length) {
2483			return;
2484		}
2485
2486		function updateFixedCTAHeight() {
2487			document.documentElement.style.setProperty(
2488				'--eds-fixed-cta-height',
2489				Math.max(0, ...Array.from(ctas, (element) => {
2490										const rect = element.getBoundingClientRect();
2491					return rect.height > 0 && getComputedStyle(element).position === 'fixed'
2492						? Math.max(0, window.innerHeight - rect.top)
2493						: 0;
2494				}))
2495			);
2496		}
2497
2498				if ('ResizeObserver' in window) {
2499			ctas.forEach((cta) => new ResizeObserver(updateFixedCTAHeight).observe(cta));
2500		} else {
2501			updateFixedCTAHeight();
2502		}
2503
2504		window.addEventListener('resize', app.throttle(updateFixedCTAHeight));
2505	});
2506	</script>
2506
2507
2508		<div class="visually-hidden">
2509		<div id="announcements-polite" aria-live="polite" aria-atomic="true">
2510			<div id="announcement-polite"></div>
2511		</div>
2512
2513				<div id="announcements-assertive" aria-live="assertive" aria-atomic="true">
2514			<div id="announcement-assertive"></div>
2515		</div>
2516	</div>
2517
2518	
2519<script type="text/javascript" src="/share42/share42.js"></script>
2519
2520
2521<!-- SET: SCRIPTS -->
2522<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2522
2522
2523<script>window.jQuery || document.write('
2523<script src="/web/default3.0/js/vendor/jquery-3.6.0.min.js"><\/script>')</script>
vendor: 1 bytes, line 2523
2523
2524<script src="https://code.jquery.com/jquery-migrate-3.3.2.js" integrity="sha384-KwAndHbPSueZ9+pG1mDjru/Q6KT6cliBs+/SCGpcOO6XvhrkbF0cBzkSs3+Pl2Zz" crossorigin="anonymous"></script>
2524
2525<!-- 
2525<script src="https://code.jquery.com/jquery-migrate-3.3.2.min.js" integrity="sha256-Ap4KLoCf1rXb52q+i3p0k2vjBsmownyBTE1EqlRiMwA=" crossorigin="anonymous"></script>
2525-->
2526<script>
2527	/* http://writing.colin-gourlay.com/safely-using-ready-before-including-jquery/ */
2528	(function($,d){$.each(readyQ,function(i,f){$(f)});$.each(bindReadyQ,function(i,f){$(d).bind("ready",f)})})(jQuery,document)
2529</script>
vendor: 1 bytes, line 2529
2529
2530<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 2530
2530
2531<script type="text/javascript" src="/min/g=js4.0&amp;1788675044"></script>
2531
2532<!-- END: SCRIPTS -->
2533
2534
2535<script>
2536	function closeAnnouncementModal(){
2537		$("#announcementBox").hide();
2538		setAnnouncementSession("<p><strong><span style=\"font-size:14px;\"><span style=\"color:#0000FF;\">GIFT CARD<\/span> available,<\/span><\/strong><br><br><span style=\"color:#0000FF;\">$50 Gift Card worth $55<br>\n$100 Gift Card worth $110<\/span><\/p>\n\n<p>please check with restaurant directly for purchase.\u00a0<\/p>");
2539	}
2540
2541	$('body').on('click', '#closeAnnouncement', function(e) {
2542		e.preventDefault();
2543		setAnnouncementSession("<p><strong><span style=\"font-size:14px;\"><span style=\"color:#0000FF;\">GIFT CARD<\/span> available,<\/span><\/strong><br><br><span style=\"color:#0000FF;\">$50 Gift Card worth $55<br>\n$100 Gift Card worth $110<\/span><\/p>\n\n<p>please check with restaurant directly for purchase.\u00a0<\/p>");
2544	});
2545</script>
vendor: 1 bytes, line 2545
2545
2546<script>
2547$(() => {
2548	const stickyHeader = document.querySelector('.headerAndWtype');
2549	if (!stickyHeader) {
2550		return;
2551	}
2552
2553	function updateHeaderHeight() {
2554		const gap = parseFloat(getComputedStyle(document.documentElement).fontSize) || 16;
2555		const offset = stickyHeader.offsetHeight + gap;
2556		document.documentElement.style.scrollPaddingTop = offset + 'px';
2557
2558				document.documentElement.style.setProperty('--sticky-header-offset', offset + 'px');
2559	}
2560
2561	updateHeaderHeight();
2562		if ('ResizeObserver' in window) {
2563		new ResizeObserver(updateHeaderHeight).observe(stickyHeader);
2564	} else {
2565		window.addEventListener('resize', app.throttle(updateHeaderHeight));
2566	}
2567});
2568</script>
2568
2569
2570		<div id="recaptcha" class="g-recaptcha" data-callback="submitAjaxForm" data-size="invisible"></div>
2571					<div id="async-recaptcha" class="g-recaptcha" data-callback="recaptchaAsyncCallback" data-size="invisible"></div>
2572				
2573		
2573<script>
2574			var ajaxRecaptcha;
2575			var asyncRecaptcha;
2576			var checkoutRecaptcha;
2577
2578			function initRecaptchas() {
2579				const options = {
2580					sitekey: "6LeS6lMUAAAAADOPnBKluMb49PS1NyzPT1kR87Re",
2581					size: 'invisible',
2582				};
2583
2584				$('[data-recaptcha]').not('[data-ajax-form]').each(function (k, v) {
2585					const submit = $(v).find('[type="submit"]');
2586					grecaptcha.render(submit[0], {
2587						...options, 
2588						callback(token) {
2589							$(v).submit();
2590						},
2591					});
2592				});
2593
2594				ajaxRecaptcha = grecaptcha.render('recaptcha', options);
2595									asyncRecaptcha = grecaptcha.render('async-recaptcha', options);
2596											}
2597		</script>
vendor: 119 bytes, lines 2597-2599
2597
2598		<script src="https://www.google.com/recaptcha/api.js?render=explicit&onload=initRecaptchas" async defer></script>
2599	
2600</body>
2601</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.