PageSourceSearch

https://salspizzabville.com/

html salspizzabville.com collected 2026-09-30 19:48:42 UTC 162,991 bytes, 3,271 lines download raw bytes

1<!DOCTYPE html>
2�<html lang="en"><head><!-- Google tag (gtag.js) -->
vendor: 71 bytes, line 2
2<script async="async" src="https://www.googletagmanager.com/gtag/js?id=
2G-VG24VK2VKT
vendor: 11 bytes, line 2
2"></script>
2<script>
3    window.dataLayer = window.dataLayer || [];
4    function gtag(){dataLayer.push(arguments);}
5    gtag('set', 'linker', {'domains': ['tmt.spotapps.co','spothopperapp.com']});
6    gtag('js', new Date());
7    gtag('config', 'G-6JMDJKGLES');
8    gtag('config', 'G-VG24VK2VKT');
9  </script>
9<!-- wcache 2026-09-30 19:12:36.471759Z --><!--
10smart_footer: true,
11smart_footer_version: 2,
12scripting_active: false
13--><link href="https://salspizzabville.com/" rel="canonical"/><meta charset="utf-8"/><meta content="IE=edge" http-equiv="X-UA-Compatible"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="From the beginning of their relationship, Sal and Meow LoMedico quickly discovered they had the same dreams: To have a family and a full service restaurant they could call their own. After two kids and a decade of hard work and dedication, they realized that dreams do come true! Sal’s Pizza & Restaurant opened its doors to Baldwinsville, NY in February 2015." name="description"/><meta content="" name="author"/><meta content="Sal's Pizza & Restaurant - Baldwinsville, NY" property="og:title"/><meta content="website" property="og:type"/><meta content="http://salspizzabville.com/" property="og:url"/><meta content="From the beginning of their relationship, Sal and Meow LoMedico quickly discovered they had the same dreams: To have a family and a full service restaurant they could call their own. After t..." property="og:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/504321_website_v1/social.jpg" property="og:image"/><meta content="Sal's Pizza & Restaurant image" property="og:image:alt"/><meta content="image/png" property="og:image:type"/><meta content="190472807642416" property="fb:app_id"/><meta content="summary_large_image" name="twitter:card"/><meta content="Sal's Pizza & Restaurant - Baldwinsville, NY" name="twitter:title"/><meta content="From the beginning of their relationship, Sal and Meow LoMedico quickly discovered they had the same dreams: To have a family and a full service restaurant they could call their own. After t..." name="twitter:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/504321_website_v1/social.jpg" name="twitter:image"/><title>Sal&apos;s Pizza &amp; Restaurant - Baldwinsville, NY</title>
13<script>document.cookie='resolution='+Math.max(screen.width,screen.height)+("devicePixelRatio" in window ? ","+devicePixelRatio : ",1")+'; path=/';</script>
13<script type="application/ld+json">
14{"@context":"https://schema.org","@type":"Restaurant","image":"https://static.spotapps.co/website_images/ab_websites/504321_website_v1/social.jpg","name":"Sal&#039;s Pizza &amp; Restaurant","address":{"@type":"PostalAddress","streetAddress":"41 East Genesee Street","addressLocality":"Baldwinsville","addressRegion":"NY","postalCode":"13027","addressCountry":"US"},"geo":{"@type":"GeoCoordinates","latitude":43.1592611,"longitude":-76.3279867},"url":"salspizzabville.com","telephone":"(315) 638-8505","servesCuisine":"Pizza"}</script>
14<link href="https://static.spotapps.co/website_images/ab_websites/504321_website_v1/favicons/favicon-96x96.png" rel="icon" sizes="96x96" type="image/png"/><link href="https://static.spotapps.co/website_images/ab_websites/504321_website_v1/favicons/favicon.svg" rel="icon" type="image/svg+xml"/><link href="https://static.spotapps.co/website_images/ab_websites/504321_website_v1/favicons/favicon.ico" rel="shortcut icon"/><link href="https://static.spotapps.co/website_images/ab_websites/504321_website_v1/favicons/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/><meta content="Sal's Pizza & Restaurant" name="apple-mobile-web-app-title"/><link href="https://static.spotapps.co/website_images/ab_websites/504321_website_v1/favicons/site.webmanifest" rel="manifest"/><link href="https://static.spotapps.co/web/salspizzabville--com/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/salspizzabville--com/lib/gallery/gallery.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/salspizzabville--com/lib/fancybox/source/jquery.fancybox.css" media="screen" rel="stylesheet" type="text/css"/><link href="https://static.spotapps.co/web/salspizzabville--com/lib/fancybox/source/helpers/jquery.fancybox-thumbs.css" rel="stylesheet" type="text/css"/><link href="//static.spotapps.co/web-lib/leaflet/[email protected]/dist/leaflet-gesture-handling.min.css" rel="stylesheet" type="text/css"/><link href="https://static.spotapps.co/web/salspizzabville--com/lib/uikit/css/uikit.docs.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/salspizzabville--com/lib/uikit/css/slidenav.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/salspizzabville--com/lib/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/salspizzabville--com/lib/hover_css/css/hover-min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/salspizzabville--com/lib/owlcarousel/owl.carousel.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/salspizzabville--com/lib/owlcarousel/owl.theme.default.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web-lib/leaflet/[email protected]/dist/leaflet.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/salspizzabville--com/css/style.css?version2" id="mainCSS" rel="stylesheet"/><link href="https://static.spotapps.co/web/salspizzabville--com/css/bottom_navigation_v1.css?v1783421966" rel="stylesheet"/><link href="css/custom.css?v1783421966&domain=salspizzabville.com" rel="stylesheet"/><link href="https://static.spotapps.co/web/salspizzabville--com/lib/icons_font/css/social_icons.css" rel="stylesheet"/><!--[if IE 7]><link rel="stylesheet" href="lib/icons_font/css/social_icons-ie7.css"><![endif]--><link href="https://static.spotapps.co/web/salspizzabville--com/lib/twitter_x_font_icon/css/twitter_x.css" rel="stylesheet"/><!--[if IE 7]><link rel="stylesheet" href="lib/twitter_x_font_icon/css/twitter_x-ie7.css"><![endif]--><!--[if lt IE 9]>
15    
15<script src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
15
16    
16<script src="//oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
16
17    <![endif]--><style>
18
19#accessibility-footer {
20  padding: 20px 5px;
21  background-color: #353638;
22  color: #fff;
23  text-align: center;
24}
25#accessibility-footer p {
26  margin: 0;
27  padding: 0;
28  font-family: inherit;
29  font-size: initial;
30  color: #fff;
31}
32#accessibility-footer .accessibility-link {
33  display: inline-block;
34  color: inherit;
35  text-decoration: underline;
36  font-weight: 600;
37}
38
39@media (max-width: 767px) {
40  #accessibility-footer .accessibility-link {
41    display: block;
42  }
43
44  /* additionl css in case that there is a CTA mobile bar (id="bottom-navbar") on the website */
45  #accessibility-footer {
46    position: relative;
47    top: -60px;
48    padding-bottom: 70px;
49  }
50}
51
52</style>
52<script src="https://static.spotapps.co/websites/lib/lazysizes/lazysizes.min.js" async=""></script>
52<script>
53function ga_check(){
54  return true;
55}
56</script>
56<script>
57function universal_ga(action, type, category, ev_action, label){
58  if(typeof ga === 'function')
59  {
60    if(!(action && label))
61      ga(action, type, category)
62    else
63      ga(action, type, category, ev_action, label)
64  }
65
66  if(typeof gtag === 'function')
67  {
68    if(!(action && label))
69    {
70      hash = category
71      ev_label = hash["eventLabel"]
72      var splits = ev_label.match(/.{1,100}/g) ?? [];
73      delete(hash["eventLabel"])
74
75      if(splits.length <= 1)
76        hash["eventLabel"] = ev_label
77      else
78      {
79        for (let i = 0; i < splits.length; i++) {
80          var key = "eventLabel_"+i
81          hash[key] = splits[i]
82        }
83      }
84      console.log(hash)
85      gtag("event", hash["eventCategory"], hash);
86    }
87    else
88    {
89      var hash = {
90        eventCategory: category,
91        eventAction: ev_action
92      }
93
94      var splits = label.match(/.{1,100}/g) ?? [];
95      if(splits.length <= 1)
96        hash["eventLabel"] = label
97      else
98      {
99        for (let i = 0; i < splits.length; i++) {
100          var key = "eventLabel_"+i
101          hash[key] = splits[i]
102        }
103      }
104      gtag("event", hash["eventCategory"], hash);
105    }
106  }
107}
108</script>
108<script>    function getPromotionUrlParams(){
109      var params_str = sessionStorage.getItem('shUrlParams');
110      if (params_str != null){
111        return JSON.parse(params_str);
112      }else{
113        return {};
114      }
115    }
116
117    function getPromotionSourceDetails(){
118        var params_str = localStorage.getItem('promotionSourceDetails');
119        if (params_str != null){
120          return JSON.parse(params_str);
121        }else{
122          return {};
123        }
124    }
125
126    function getLastEmailVisitInDays(){
127      var promotionSourceDetails = getPromotionSourceDetails();
128      if (!promotionSourceDetails['last_visit_email'] ){
129        return null;
130      }
131      return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_email'])) / (1000 * 60 * 60 * 24));
132    }
133
134    function getLastSocialVisitInDays(){
135      var promotionSourceDetails = getPromotionSourceDetails();
136      if (!promotionSourceDetails['last_visit_social'] ){
137        return null;
138      }
139      return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_social'])) / (1000 * 60 * 60 * 24));
140    }
141
142    var shUrlParams = getPromotionUrlParams();
143    var promotionSourceDetails = getPromotionSourceDetails();
144
145    new URL(document.location).searchParams.forEach(function(value, paramName){
146
147     shUrlParams[paramName] = value;
148
149     if (paramName == 'source' && value =='social' ){
150       promotionSourceDetails['last_visit_social'] = new Date();
151       localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails));
152     }
153
154     if (paramName == 'source' && value =='email' ){
155       promotionSourceDetails['last_visit_email'] = new Date();
156       localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails));
157     }
158
159    });
160
161    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams))
162</script>
162<style>a:focus:not(:focus-visible){outline:none;box-shadow:none;}
163a.get-directions-footer-link{display:inline-block;transform-origin:left center;transition:transform .2s ease;}
164a.get-directions-footer-link:hover{transform:scale(1.08);}
165@media (prefers-reduced-motion:reduce){a.get-directions-footer-link{transition:none;transform:none;}}
166a.get-directions-footer-link,a.get-directions-footer-link:hover{color:inherit!important;}</style></head><body class="home-page" data-spot-id="504321"><style>.promotion-pop-up .modal-dialog {
167  margin: 0 auto;
168  top: 0;
169  transition: none;
170}
171.promotion-pop-up.fade .modal-dialog {
172  transform: none !important;
173}
174
175.promotion-pop-up .modal-content {
176  display: none;
177  border-radius: 6px;
178  background-color: #fff;
179  background-image: none;
180}
181.promotion-pop-up .modal-header {
182  border: none;
183  margin-bottom: 8px;
184}
185.promotion-pop-up .close {
186  position: absolute;
187  top: 15px;
188  right: 15px;
189  font-size: 3em;
190  font-weight: normal;
191  line-height: 0.8em;
192  color: #000;
193  opacity: 0.8;
194}
195.promotion-pop-up .modal-body {
196  margin: 20px 20px 10px 20px;
197  padding-top: 5px;
198  text-align: center;
199  color: initial;
200}
201.promotion-pop-up .modal-footer {
202  padding-bottom: 40px;
203  border-top: none;
204  text-align: center;
205}
206
207.promotion-pop-up .btn {
208  display: inline-block;
209  max-width: 90%;
210  padding: 10px 50px;
211  font-size: 1.2em;
212  background-color: #000000;
213  color: #fff;
214  transform: scale(1);
215  -webkit-transition: all 0.3s ease;
216  -moz-transition: all 0.3s ease;
217  -o-transition: all 0.3s ease;
218  transition: all 0.3s ease;
219}
220.promotion-pop-up .btn:hover {
221  background-color: #1a1a1a;
222  color: #e0e0e0;
223  box-shadow: 1px 3px 6px rgba(0, 0, 0, 0.3);
224  transform: scale(0.98);
225}
226
227.promotion-pop-up .btn:active {
228  background-color: #0f0f0f;
229  color: #cccccc;
230  box-shadow:
231    inset 0 2px 4px rgba(255, 255, 255, 0.08),
232    inset 0 -2px 2px rgba(0, 0, 0, 0.4);
233  transform: scale(0.94);
234}
235
236.promotion-pop-up h2 {
237  margin: 5px 5px 10px 5px;
238  font-size: 2.1em;
239  line-height: 1.3;
240  color: inherit;
241  /*font-family: unset;*/
242}
243.promotion-pop-up h3 {
244  font-size: 1.5em;
245  margin: 5px 5px 15px 5px;
246  font-family: unset;
247  text-transform: inherit;
248}
249.promotion-pop-up p {
250  margin-top: 30px;
251}
252.promotion-pop-up .modal-body a {
253  color: initial;
254}
255
256.promotion-pop-up .modal-plain-text h3 {
257  padding-top: 10px;
258}
259
260.promotion-pop-up .modal-body.modal-image-and-button {
261  overflow: auto;
262  margin: 20px;
263  padding-top: 0;
264  padding-bottom: 0;
265}
266.promotion-pop-up .modal-body.modal-image-and-button img {
267  max-height: 60vh;
268  max-width: 100%;
269}
270.promotion-pop-up .modal-body.modal-image-and-button p {
271  margin-top: 15px;
272  margin-bottom: 10px;
273}
274
275@media only screen and (max-width: 1024px) {
276  .promotion-pop-up .modal-body.modal-image-and-button {
277    margin-bottom: 10px;
278  }
279  .promotion-pop-up h2 {
280    font-size: 1.9em;
281  }
282  .promotion-pop-up h3 {
283    font-size: 1.4em;
284  }
285  .promotion-pop-up .modal-body.modal-image-and-button img {
286    max-height: 65vh;
287  }
288}
289
290@media only screen and (max-width: 767px) {
291  .promotion-pop-up .modal-dialog {
292    margin: 0 10px;
293  }
294  .promotion-pop-up .modal-body {
295    margin-top: 18px;
296  }
297  .promotion-pop-up .modal-body.modal-image-and-button img {
298    max-height: 55vh;
299  }
300  .promotion-pop-up h2 {
301    font-size: 1.8em;
302  }
303  .promotion-pop-up h3 {
304    font-size: 1.3em;
305  }
306  .promotion-pop-up .modal-body.modal-image-and-button p {
307    font-size: 1.1em;
308  }
309}
310@media only screen and (max-width: 500px) {
311  .promotion-pop-up .modal-footer {
312    padding-top: 10px;
313    padding-bottom: 35px;
314  }
315  .promotion-pop-up .modal-body {
316    margin: 17px 15px 5px 15px;
317  }
318  .promotion-pop-up .btn {
319    padding: 9px 40px;
320    font-size: 1.1em;
321  }
322  .promotion-pop-up .modal-body.modal-image-and-button img {
323    max-height: 50vh;
324  }
325}
326@media only screen and (max-width: 400px) {
327  .promotion-pop-up h2 {
328    font-size: 1.7em;
329  }
330  .promotion-pop-up h3 {
331    font-size: 1.2em;
332  }
333  .promotion-pop-up .btn {
334    padding: 8px 35px;
335    font-size: 1.1em;
336  }
337}</style><div aria-label="Promotion" class="modal fade promotion-pop-up" id="promotion-pop-up" role="dialog" tabindex="-1"><div class="modal-dialog" role="document"><div class="modal-content promotion_pop_up_content" data-has-image="" data-internalname="catering" data-is-custom-link="false" data-is-template-image-and-button="false" data-link-url="https://salspizzabville.com/-catering?source=pop_up&spot_id=504321&destination=catering&promotion=catering" id="6217133"><!-- Modal Header --><div class="modal-header"><button aria-label="Close" class="close" data-dismiss="modal" type="button"><span aria-hidden="true">×</span></button></div><!-- Modal body -->
337<div class="modal-body modal-plain-text"><h2 class="section-header">Did you know we do catering?</h2><h3>Whatever your occasion, however big or small, we have the perfect options to choose from.</h3><p>Cater your birthday party, holiday party, corporate events, wedding festivities and more!</p></div><div class="modal-footer"><a class="btn btn-modal" data-href="https://salspizzabville.com/-catering?source=pop_up&spot_id=504321&destination=catering&promotion=catering" href="https://salspizzabville.com/-catering?source=pop_up&spot_id=504321&destination=catering&promotion=catering">Catering Packages</a></div></div><div class="modal-content promotion_pop_up_content" data-has-image="" data-internalname="order_online" data-is-custom-link="false" data-is-template-image-and-button="false" data-link-url="https://order.toasttab.com/online/sals-pizza-and-restaurant-41-e-genesee-st?source=pop_up&spot_id=504321&destination=order&promotion=order_online" id="6217141"><!-- Modal Header --><div class="modal-header"><button aria-label="Close" class="close" data-dismiss="modal" type="button"><span aria-hidden="true">×</span></button></div><!-- Modal body --><div class="modal-body modal-plain-text"><p>Order your favorite dishes in seconds!</p></div><div class="modal-footer"><a class="btn btn-modal" data-href="https://order.toasttab.com/online/sals-pizza-and-restaurant-41-e-genesee-st?source=pop_up&spot_id=504321&destination=order&promotion=order_online" href="https://order.toasttab.com/online/sals-pizza-and-restaurant-41-e-genesee-st?source=pop_up&spot_id=504321&destination=order&promotion=order_online">Order Online</a></div></div><div class="modal-content promotion_pop_up_content" data-has-image="" data-internalname="private_parties" data-is-custom-link="false" data-is-template-image-and-button="false" data-link-url="https://salspizzabville.com/-party?source=pop_up&spot_id=504321&destination=private_parties&promotion=private_parties" id="6217121"><!-- Modal Header --><div class="modal-header"><button aria-label="Close" class="close" data-dismiss="modal" type="button"><span aria-hidden="true">×</span></button></div><!-- Modal body --><div class="modal-body modal-plain-text"><h2 class="section-header">Turn moments into memories!</h2><h3>Choose us for your next special occasion or get-together.</h3><p>Got a birthday party, rehearsal dinner, corporate or other event coming up? We&apos;re a great option for your gathering! Inquire today and let us know how we can make your special occasion perfect!</p></div><div class="modal-footer"><a class="btn btn-modal" data-href="https://salspizzabville.com/-party?source=pop_up&spot_id=504321&destination=private_parties&promotion=private_parties" href="https://salspizzabville.com/-party?source=pop_up&spot_id=504321&destination=private_parties&promotion=private_parties">Book your party</a></div></div><div class="modal-content promotion_pop_up_content" data-has-image="" data-internalname="reservations" data-is-custom-link="false" data-is-template-image-and-button="false" data-link-url="https://salspizzabville.com/-reservations?source=pop_up&spot_id=504321&destination=reservations&promotion=reservations" id="6217137"><!-- Modal Header --><div class="modal-header"><button aria-label="Close" class="close" data-dismiss="modal" type="button"><span aria-hidden="true">×</span></button></div><!-- Modal body --><div class="modal-body modal-plain-text"><h2 class="section-header">We are taking online reservations!</h2><h3>Let’s ensure you get a great table: Book today!</h3><p>We recommend making a reservation ahead of time. Book your table today!</p></div><div class="modal-footer"><a class="btn btn-modal" data-href="https://salspizzabville.com/-reservations?source=pop_up&spot_id=504321&destination=reservations&promotion=reservations" href="https://salspizzabville.com/-reservations?source=pop_up&spot_id=504321&destination=reservations&promotion=reservations">Book Table</a></div></div></div></div><style>
338
339
340.navbar.nav-v6 .container {
341  padding-top: 10px;
342  padding-bottom: 10px;
343}
344.navbar.nav-v6.nav-scroll .container {
345  padding-top: 0px;
346  padding-bottom: 0px;
347}
348.navbar.nav-v6 .header-logo img {
349  max-width: 100%;
350}
351.navbar.nav-v6.nav-scroll .header-logo img {
352  max-width: 80%;
353}
354
355@media (max-width: 767px) {
356  /* DO NOT change mobile nav height on page scroll */
357  .navbar.nav-v6 .navbar-header,
358  .navbar.nav-v6.nav-scroll .navbar-header {
359    padding-top: 10px;
360    padding-bottom: 10px;
361  }
362  .navbar.nav-v6 .socialnav,
363  .navbar.nav-v6.nav-scroll .socialnav {
364    margin-top: 10px;
365  }
366  .navbar.nav-v6 .container,
367  .navbar.nav-v6.nav-scroll .container {
368    padding-top: 0;
369    padding-bottom: 0;
370  }
371  .navbar.nav-v6 .header-logo,
372  .navbar.nav-v6.nav-scroll .header-logo {
373    height: 70px;
374  }
375  .navbar.nav-v6 .header-logo img {
376    max-height: 100%;
377  }
378  .navbar.nav-v6.nav-scroll .header-logo img {
379    max-width: 100%;
380  }
381  /* HOME page CHANGE mobile nav height on page scroll */
382  /* Remove body.home-page from below code if there should be mobile nav height change on ALL pages */
383  body.home-page .navbar.nav-v6 .navbar-header {
384    padding-top: 10px;
385    padding-bottom: 10px;
386  }
387  body.home-page .navbar.nav-v6.nav-scroll .navbar-header{
388    padding-top: 0px;
389    padding-bottom: 0px;
390  }
391  body.home-page .navbar.nav-v6 .socialnav {
392    margin-top: 10px;
393  }
394  body.home-page .navbar.nav-v6.nav-scroll .socialnav {
395    margin-top: 0px;
396  }
397  body.home-page .navbar.nav-v6 .container{
398    padding-top: 0;
399    padding-bottom: 0;
400  }
401  body.home-page .navbar.nav-v6.nav-scroll .container {
402    padding-top: 0;
403    padding-bottom: 0;
404  }
405  body.home-page .navbar.nav-v6 .header-logo {
406    height: 70px;
407  }
408  body.home-page .navbar.nav-v6.nav-scroll .header-logo {
409    height: 50px;
410  }
411  body.home-page .navbar.nav-v6 .header-logo img {
412    max-height: 100%;
413    max-width: 100%;
414  }
415  body.home-page .navbar.nav-v6.nav-scroll .header-logo img {
416    max-width: 80%;
417  }
418}
419
420
421.navbar-regular .navbar-collapse.collapse.in {
422  background-color: transparent;
423  width: 100%;
424}
425.navbar.nav-v6{
426    background-color: #0B1315;
427    -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0);
428    -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0);
429    box-shadow: 0px 2px 5px 0px rgba(0,0,0,0);
430    -moz-transition: all 0.3s ease-in-out;
431    -webkit-transition: all 0.3s ease-in-out;
432    -o-transition: all 0.3s ease-in-out;
433    transition: all 0.3s ease-in-out;
434}
435.navbar.nav-v6.nav-scroll{
436    background-color: #0B1315;
437    -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.2);
438    -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.2);
439    box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.2);
440}
441.drink-menu .navbar.nav-v6{
442  background-color: #0B1315;
443  -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0);
444  -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0);
445  box-shadow: 0px 2px 5px 0px rgba(0,0,0,0);
446  -moz-transition: all 0.3s ease-in-out;
447  -webkit-transition: all 0.3s ease-in-out;
448  -o-transition: all 0.3s ease-in-out;
449  transition: all 0.3s ease-in-out;
450}
451.drink-menu .navbar.nav-v6.nav-scroll{
452  background-color: #0B1315;
453  -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.2);
454  -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.2);
455  box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.2);
456}
457.navbar-regular.nav-v6 .navbar-nav>li>a,
458.navbar-regular.nav-v6 .navbar-nav>li>a:hover,
459.navbar-regular.nav-v6 .navbar-nav>.active>a,
460.navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
461.navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
462  border: none;
463  border-right: 1px solid #fff;
464  background-color: transparent;
465  color: #fff;
466  -moz-transition: all 0.3s ease-in-out;
467  -webkit-transition: all 0.3s ease-in-out;
468  -o-transition: all 0.3s ease-in-out;
469  transition: all 0.3s ease-in-out;
470}
471.navbar-regular.nav-v6 .navbar-nav>li>a {
472  color: #fff;
473}
474.drink-menu .navbar.nav-v6 .navbar-nav>li>a {
475  color: #fff;
476  border-right: 1px solid #fff;
477}
478.drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
479.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
480.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
481.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
482  color: #fff;
483}
484li.drop-down-link .sub-menu {
485  background-color: #0B1315;
486  color: #fff;
487  }
488.nav-scroll li.drop-down-link .sub-menu {
489  background-color: #0B1315;
490  color: #fff;
491}
492.drink-menu li.drop-down-link .sub-menu {
493  background-color: #0B1315;
494  color: #fff;
495  }
496.drink-menu .nav-scroll li.drop-down-link .sub-menu {
497  background-color: #0B1315;
498  color: #fff;
499}
500li.drop-down-link .sub-menu a,
501li.drop-down-link div.drop-down {
502  color: #fff;
503}
504.nav-scroll li.drop-down-link .sub-menu a,
505.nav-scroll li.drop-down-link li.drop-down-link div.drop-down {
506  color: #fff;
507}
508.drink-menu li.drop-down-link .sub-menu a,
509.drink-menu li.drop-down-link div.drop-down {
510  color: #fff;
511}
512.drink-menu .nav-scroll li.drop-down-link .sub-menu a,
513.drink-menu .nav-scroll li.drop-down-link div.drop-down {
514  color: #fff;
515}
516
517li.drop-down-link .sub-menu a:hover,
518li.drop-down-link .sub-menu a:focus {
519  color: #fff;
520}
521.drink-menu li.drop-down-link .sub-menu a:hover,
522.drink-menu li.drop-down-link .sub-menu a:focus {
523  color: #fff;
524}
525
526.navbar-regular.nav-v6 .navbar-toggle .icon-bar {
527  background-color: #fff;
528  -moz-transition: all 0.3s ease-in-out;
529  -webkit-transition: all 0.3s ease-in-out;
530  -o-transition: all 0.3s ease-in-out;
531  transition: all 0.3s ease-in-out;
532}
533.drink-menu .navbar-regular.nav-v6 .navbar-toggle .icon-bar {
534  background-color: #fff;
535}
536.navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
537  background-color: #fff;
538}
539.drink-menu .navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar{
540  background-color: #fff;
541}
542.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a,
543.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
544.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
545.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
546.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
547  border: none;
548  border-right: 1px solid #fff;
549  color: #fff;
550}
551.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a {
552  color: #fff;
553}
554.drink-menu .navbar.nav-v6.nav-scroll .navbar-nav>li>a {
555  color: #fff;
556  border-right: 1px solid #fff;
557}
558.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
559.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
560.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
561.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
562  color: #fff;
563}
564
565.nav-scroll li.drop-down-link .sub-menu a:hover,
566.nav-scroll li.drop-down-link .sub-menu a:focus {
567  color: #fff;
568}
569.drink-menu .nav-scroll li.drop-down-link .sub-menu a:hover,
570.drink-menu .nav-scroll li.drop-down-link .sub-menu a:focus {
571  color: #fff;
572}
573
574.navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
575  background-color: #fff;
576}
577.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
578  background-color: #fff;
579}
580.navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar {
581  background-color: #fff;
582}
583.drink-menu .navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar{
584  background-color: #fff;
585}
586.navbar.nav-v6 .header-logo-text{
587  color: #fff;
588  -moz-transition: all 0.3s ease-in-out;
589  -webkit-transition: all 0.3s ease-in-out;
590  -o-transition: all 0.3s ease-in-out;
591  transition: all 0.3s ease-in-out;
592}
593.navbar.nav-v6.nav-scroll .header-logo-text{
594  color: #fff;
595}
596.navbar.nav-v6 .social-icon{
597  color: #fff;
598  -moz-transition: all 0.3s ease-in-out;
599  -webkit-transition: all 0.3s ease-in-out;
600  -o-transition: all 0.3s ease-in-out;
601  transition: all 0.3s ease-in-out;
602}
603.navbar.nav-v6.nav-scroll .social-icon{
604  color: #fff;
605}
606.navbar.nav-v6 .social-square .contact-icon:hover {
607  color: #fff;
608  background-color: #fff;
609}
610.navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
611  color: #fff;
612  background-color: #fff;
613}
614
615.drink-menu .navbar.nav-v6 .header-logo-text{
616  color: #fff;
617}
618.drink-menu .navbar.nav-v6.nav-scroll .header-logo-text{
619  color: #fff;
620}
621.drink-menu .navbar.nav-v6 .social-icon{
622  color: #fff;
623}
624.drink-menu  .navbar.nav-v6.nav-scroll .social-icon{
625  color: #fff;
626}
627.drink-menu .navbar.nav-v6 .social-square .contact-icon:hover {
628  color: #fff;
629  background-color: #fff;
630}
631.drink-menu .navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
632  color: #fff;
633  background-color: #fff;
634}
635.navbar.nav-v6 .container {
636  border-bottom: 1px solid transparent;
637  -moz-transition: all 0.3s ease-in-out;
638  -webkit-transition: all 0.3s ease-in-out;
639  -o-transition: all 0.3s ease-in-out;
640  transition: all 0.3s ease-in-out;
641}
642.navbar.nav-v6.nav-scroll .container {
643  border-bottom: 1px solid transparent;
644}
645.drink-menu .navbar.nav-v6 .container {
646  border-bottom: 1px solid transparent;
647}
648.drink-menu .navbar.nav-v6.nav-scroll .container {
649  border-bottom: 1px solid transparent;
650}
651@media(min-width: 768px) {
652  .nav-v6 .navbar-collapse {
653    display: flex !important;
654    justify-content: end;
655  }
656  .nav-v6 .navbar-nav,
657  .nav-v6 .socialnav.hidden-xs {
658    float: none !important;
659  }
660}
661@media (max-width: 767px) {
662  .navbar.nav-v6 .container,
663  .navbar.nav-v6.nav-scroll .container,
664  .drink-menu .navbar.nav-v6 .container,
665  .drink-menu .navbar.nav-v6.nav-scroll .container {
666    border-bottom: none;
667  }
668  .navbar.nav-v6 .navbar-header {
669    border-bottom: 2px solid transparent;
670  }
671  .navbar.nav-v6.nav-scroll .navbar-header {
672    border-bottom: 2px solid transparent;
673  }
674  .drink-menu .navbar.nav-v6 .navbar-header {
675    border-bottom: 2px solid transparent;
676  }
677  .drink-menu .navbar.nav-v6.nav-scroll .navbar-header {
678    border-bottom: 2px solid transparent;
679  }
680  li.drop-down-link .sub-menu,
681  .drink-menu li.drop-down-link .sub-menu {
682    width: 100% !important;
683    background-color: transparent;
684  }
685  .nav-scroll li.drop-down-link .sub-menu,
686  .drink-menu .nav-scroll li.drop-down-link .sub-menu {
687    background-color: transparent;
688  }
689    .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
690  .navbar-regular.nav-v6 .navbar-nav>.active>a,
691  .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
692  .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
693    background-color: #fff;
694    color: #fff;
695  }
696  .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
697  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
698  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
699  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
700    background-color: #fff;
701    color: #fff;
702  }
703  .drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
704  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
705  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
706  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
707    background-color: #fff;
708    color: #fff;
709  }
710  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
711  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
712  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
713  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
714    background-color: #fff;
715    color: #fff;
716  }
717
718  .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
719    color: #fff;
720  }
721  .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
722    color: #fff;
723  }
724
725  .drink-menu .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
726    color: #fff;
727  }
728  .drink-menu .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
729    color: #fff;
730  }
731
732}
733</style><!-- nav --><nav class="navbar nav-v4 nav-v6 nav-v6-drop navbar-regular navbar-fixed-top" id="navbar" role="navigation"><div id="skip"><a class="visuallyhidden skip-content" href="#content">Skip to main content</a></div><div class="container"><a class="header-logo logo-top" href="/#"><img alt="Sal's Pizza & Restaurant logo top - Homepage" aria-label="Homepage" class="img-responsive logo-top" src="https://static.spotapps.co/website_images/ab_websites/504321_website_v1/logo.png"/></a><a class="header-logo logo-scroll" href="/"><img alt="Sal's Pizza & Restaurant logo scroll - Homepage" aria-label="Homepage" class="img-responsive logo-scroll" src="https://static.spotapps.co/website_images/ab_websites/504321_website_v1/logo.png"/></a><ul class="socialnav visible-xs">
733<li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.facebook.com/190472807642416" target="_blank"><i class="social-icon fa fa-facebook"></i><span>Facebook page</span></a></li><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.google.com/search?q=Sal%27s+Pizza+%26+Restaurant+41+East+Genesee+Street&sca_esv=d1b4d337ee6528a3&hl=en&ei=1m7vaLL3O9mH9u8PyLaB2AY&ved=0ahUKEwiyup-o96WQAxXZg_0HHUhbAGsQ4dUDCBA&uact=5&oq=Sal%27s+Pizza+%26+Restaurant+41+East+Genesee+Street&gs_lp=Egxnd3Mtd2l6LXNlcnAiL1NhbCdzIFBpenphICYgUmVzdGF1cmFudCA0MSBFYXN0IEdlbmVzZWUgU3RyZWV0MgUQIRifBUjwCVApWM8FcAF4AZABAJgBuwGgAeMCqgEDMC4yuAEDyAEA-AEB-AECmAIDoAL7AsICChAAGLADGNYEGEfCAgUQABiABMICBhAAGBYYHpgDAIgGAZAGCJIHAzEuMqAHzgyyBwMwLjK4B_MCwgcFMC4xLjLIBw0&sclient=gws-wiz-serp#lrd=0x89d9e4f7f1f831e5:0x9160e2c6716dcd02,1,,,," target="_blank"><i aria-hidden="true" class="social-icon fa fa-google"></i><span>Google page</span></a></li></ul><div class="navbar-header"><button class="navbar-toggle" data-target="#navbar-collapse-1" data-toggle="collapse" type="button"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button></div><div class="collapse navbar-collapse" id="navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li class=" nav-menu-page"><a class="" href="/food-menu" id="nav_tab_1_link" target="_self">
734
735                    Menu
736                    
737                </a></li><li class=" "><a class="" href="/drink-menu" id="nav_tab_2_link" target="_self">
738
739                    Drinks
740                    
741                </a></li><li class=" nav-order-link"><a class="link-order-sh" href="https://order.toasttab.com/online/sals-pizza-and-restaurant-41-e-genesee-st#" id="nav_tab_3_link" target="_self">
742
743                    Order
744                    
745                </a></li><li class=" nav-reservations-link"><a class="link-reservations-sh" href="/reservations#" id="nav_tab_4_link" target="_self">
746
747                    Reserve
748                    
749                </a></li><li class=" nav-parties-link"><a class="link-parties-sh" href="/party#" id="nav_tab_5_link" target="_self">
750
751                    Parties
752                    
753                </a></li><li class=" nav-catering-link"><a class="link-catering-sh" href="/catering#" id="nav_tab_6_link" target="_self">
754
755                    Catering
756                    
757                </a></li><li class=" nav-jobs-link"><a class="link-jobs-sh" href="https://tmt.spotapps.co/job-listings?spot_id=504321&callback_url=http://salspizzabville.com/#" id="nav_tab_7_link" target="_self">
758
759                    Jobs
760                    
761                </a></li><li class=" "><a class="" href="/about" id="nav_tab_8_link" target="_self">
762
763                    About
764                    
765                </a></li></ul><ul class="socialnav hidden-xs"><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.facebook.com/190472807642416" target="_blank"><i class="social-icon fa fa-facebook"></i><span>Facebook page</span></a></li><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.google.com/search?q=Sal%27s+Pizza+%26+Restaurant+41+East+Genesee+Street&sca_esv=d1b4d337ee6528a3&hl=en&ei=1m7vaLL3O9mH9u8PyLaB2AY&ved=0ahUKEwiyup-o96WQAxXZg_0HHUhbAGsQ4dUDCBA&uact=5&oq=Sal%27s+Pizza+%26+Restaurant+41+East+Genesee+Street&gs_lp=Egxnd3Mtd2l6LXNlcnAiL1NhbCdzIFBpenphICYgUmVzdGF1cmFudCA0MSBFYXN0IEdlbmVzZWUgU3RyZWV0MgUQIRifBUjwCVApWM8FcAF4AZABAJgBuwGgAeMCqgEDMC4yuAEDyAEA-AEB-AECmAIDoAL7AsICChAAGLADGNYEGEfCAgUQABiABMICBhAAGBYYHpgDAIgGAZAGCJIHAzEuMqAHzgyyBwMwLjK4B_MCwgcFMC4xLjLIBw0&sclient=gws-wiz-serp#lrd=0x89d9e4f7f1f831e5:0x9160e2c6716dcd02,1,,,," target="_blank"><i aria-hidden="true" class="social-icon fa fa-google"></i><span>Google page</span></a></li></ul></div></div></nav><header class="header cover-type-video" style="
766    background-image: url(https://static.spotapps.co/website_images/ab_websites/504321_website_v1/video_poster_v1.jpg);
767          background-image: linear-gradient( rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6) ), url(https://static.spotapps.co/website_images/ab_websites/504321_website_v1/video_poster_v1.jpg);
768      background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url(https://static.spotapps.co/website_images/ab_websites/504321_website_v1/video_poster_v1.jpg);
769       
770    background-repeat: no-repeat;
771    background-position: center center fixed;
772    -webkit-background-size: cover;
773    -moz-background-size: cover;
774    -o-background-size: cover;
775    background-size: cover;
776        z-index: 98; position: relative; overflow: hidden;
777        "><div id="home_page_cover" style="height:100%;"><style>
778
779video#coverVideo {
780  z-index: 99;
781  background: url(https://static.spotapps.co/website_images/ab_websites/504321_website_v1/video_poster_v1.jpg) no-repeat;
782  background-size: cover;
783}
784
785@media (min-width: 768px) {
786
787  
788    @media (min-width: 1025px) {
789
790      video#coverVideo {
791  position: absolute;
792  top: 50%;
793  left: 50%;
794  min-width: 100%;
795  min-height: 100%;
796  width: auto;
797  height: auto;
798  -ms-transform: translateX(-50%) translateY(-50%);
799  -moz-transform: translateX(-50%) translateY(-50%);
800  -webkit-transform: translateX(-50%) translateY(-50%);
801  transform: translateX(-50%) translateY(-50%);
802  max-width: none;
803  vertical-align: baseline;
804}
805    }
806
807    @media (max-width: 1024px) {
808
809      video#coverVideo {
810  width: 100%;
811}
812.header {
813  max-height: 100vh;
814  background-image: none !important;
815  width: initial;
816  height: initial;
817}
818body.home-page {
819  background-color: transparent;
820}
821    }
822
823  
824}
825
826@media (max-width: 767px) {
827  video#coverVideo {
828  width: 100%;
829}
830.header {
831  max-height: 100vh;
832  background-image: none !important;
833  width: initial;
834  height: initial;
835}
836body.home-page {
837  background-color: transparent;
838}}
839
840  .video-volume-btn, .video-controls-btn {
841    color: rgba(255, 255, 255, 0.9);
842  }
843
844</style>
844<video autoplay="autoplay" id="coverVideo" loop="loop" muted="muted" playsinline="playsinline" poster="https://static.spotapps.co/website_images/ab_websites/504321_website_v1/video_poster_v1.jpg"><source src="https://static.spotapps.co/website_videos/Sals_EditV1_Vimeo720p30.m4v" type="video/mp4"/></video><button aria-label="The decorative video is currently playing, pause the video" class="video-controls-btn" id="cover_video_controls_btn" type="button"><span class="off-screen">The decorative video is currently playing</span><i aria-hidden="true" class="fa fa-play"></i><i aria-hidden="true" class="fa fa-pause"></i></button></div></header><main id="content" role="main"><h1 class="visuallyhidden">Sal&apos;s Pizza &amp; Restaurant - Baldwinsville, NY</h1><article class="hide-show-section" data-hidden="no"><style>
845.custom_html_1-section .top-svg-border path,
846.custom_html_1-section .top-svg-border polygon,
847.custom_html_1-section .top-svg-border rect {
848  fill: #272E3E;
849}
850.custom_html_1-section .bottom-svg-border path,
851.custom_html_1-section .bottom-svg-border polygon,
852.custom_html_1-section .bottom-svg-border rect {
853  fill: #000;
854}
855.custom_html_1-section .top-line-border:before {
856  background: #272E3E;
857}
858.custom_html_1-section .bottom-line-border:before {
859  background: #000;
860}
861</style><div class="custom_html_1-section section-wrapper" id="custom_html_1"><div class="plain-line-border top-line-border"></div><div class="container"><h2 class="section-header">Where Family Meets Flavor</h2></div></div></article><article class="hide-show-section" data-hidden="no"><style>
862.about-us-v8-wrapper {
863  padding: 5%;
864}
865.about-us-v8-wrapper:before {
866  background-color: #272E3E;
867      background-image: url('https://static.spotapps.co/website_images/ab_websites/504321_website_v1/aboutus.jpg');
868    }
869
870.about-us-v8-wrapper .top-svg-border path,
871.about-us-v8-wrapper .top-svg-border polygon,
872.about-us-v8-wrapper .top-svg-border rect {
873  fill: #272E3E;
874}
875.about-us-v8-wrapper .bottom-svg-border path,
876.about-us-v8-wrapper .bottom-svg-border polygon,
877.about-us-v8-wrapper .bottom-svg-border rect {
878  fill: #272E3E;
879}
880.about-us-v8-wrapper .top-line-border:before {
881  background: #272E3E;
882}
883.about-us-v8-wrapper .bottom-line-border:before {
884  background: #272E3E;
885}
886
887.about-us-v8-wrapper .container {
888  padding: 0;
889  width: 100%;
890}
891
892
893  
894  
895  
896  #aboutus_v8 .about-us-v8-item-0 .text-wrapper {
897    padding: 60px 20%;
898  }
899
900      #aboutus_v8 .about-us-v8-item-0 .about-us-v8-content .text-content.title-image h2.about-title::after,
901    #aboutus_v8 .about-us-v8-item-0 .about-us-v8-content .text-content.title-image h2.about-title::before {
902      background-image: url('https://static.spotapps.co/website_images/ab_websites/504321_website_v1/title_decoration.png');
903      height: 300px;
904    }
905    #aboutus_v8 .about-us-v8-item-0 .about-us-v8-content .text-content.title-image h2.about-title::before {
906      display: block;
907    }
908  
909  
910      #aboutus_v8 .about-us-v8-item-0 .about-us-v8-content .text-content h3,
911    #aboutus_v8 .about-us-v8-item-0 .about-us-v8-content .text-content h2:not(.about-title) {
912      color: #fff;
913    }
914  
915  
916  @media (max-width: 1024px) {
917    #aboutus_v8 .about-us-v8-item-0 .text-wrapper {
918      padding: 60px 20%;
919    } 
920  }
921
922  @media (max-width: 767px) {
923      #aboutus_v8 .about-us-v8-item-0 .about-us-v8-image {
924        margin: 0;
925                  height: 300px;
926              } 
927  }
928
929@-webkit-keyframes grow {
930  from {
931    opacity: 0;
932    width: 0px;
933  }
934  to {
935    opacity: 1;
936    width: 80%;
937  }
938}
939@-moz-keyframes grow {
940  from {
941    opacity: 0;
942    width: 0px;
943  }
944  to {
945    opacity: 1;
946    width: 80%;
947  }
948}
949@keyframes grow {
950  from {
951    opacity: 0;
952    width: 0px;
953  }
954  to {
955    opacity: 1;
956    width: 80%;
957  }
958}
959
960.safari-mac .about-us-v8-item .about-us-v8-image-bar {
961  width: 80%;
962}
963
964
965@media (max-width: 767px) {
966  .about-us-v8-wrapper {
967    padding: 0;
968  }
969  .about-us-v8-wrapper .container {
970    padding: 0;
971    width: 100%;
972  }
973  .about-us-v8-item {
974    padding: 0 !important;
975  }
976}
977
978</style><div class="about-us-v8-wrapper section-wrapper" id="aboutus_v8"><div class="plain-line-border top-line-border"></div><div class="container about-us-v8"><section><div class="about-us-v8-item about-us-v8-item-0 about-us-v8-item-left" style="padding: 0;"><!-- start About us item --><div class="about-us-v8-image about-no-image image-size-cover image-size-mobile-cover" style="width: 0%;"><!-- start Left About us image --></div><!-- end Left About us image --><div class="about-us-v8-content  " style="width: 100%; 
979            color: #fff;
980            background: rgba(250, 250, 250, 0);                        text-align: center;"><div class="text-wrapper"><div class="text-content title-image"><h2 class="about-title" style="color: #fff;"><span>How it all started</span></h2><div class="text-holder"><h3>A Family Tradition</h3><p style="text-align: center;">
980From the beginning of their relationship, Sal and Meow LoMedico quickly discovered they had the same dreams: To have a family and a full service restaurant they could call their own. After two kids and a decade of hard work and dedication, they realized that dreams do come true! Sal’s Pizza &amp; Restaurant opened its doors to Baldwinsville, NY in February 2015. </p></div><div class="buttons-holder buttons-row-parent "><div class="buttons-row"><a class="custom-temp-btn hvr-fade" href="/about" target="_self">
981                          Learn more                                                      <span class="visuallyhidden"> about us</span></a></div></div></div></div></div><!-- end Right About us image --></div><!-- end About us item --></section></div><div class="plain-line-border bottom-line-border"></div></div><!-- For mobile devices animate the about_v8 section on page load if the video is on the cover and this section is 1st or 2nd below the cover. --></article><article class="hide-show-section" data-hidden="no"><div class="reservations-tmt-section tmt-section section-wrapper" id="reservations_tmt"><div class="container"><h2 class="section-header">Reservations</h2><h3>Join us today</h3><p>Click the button below to make a reservation.</p><a class="custom-temp-btn hvr-fade" href="/reservations" target="_self">Reserve<span class="visuallyhidden"> a table</span></a></div></div></article><article class="hide-show-section" data-hidden="no"><style>
982.slideshow-v2-wrapper .slideshow-controls-btn {
983  color: rgba(255, 255, 255, 0.8);
984}
985
986</style><div class="slideshow-v2-wrapper" id="slideshow_v2"><div aria-label="slideshow carousel" class="uk-slidenav-position" data-uk-slideshow="data-uk-slideshow" role="region" style="height:650px"><button aria-label="The slideshow is currently playing, pause the slideshow" class="slideshow-controls-btn playing" type="button"><span class="off-screen">slideshow start stop playing</span><i aria-hidden="true" class="fa fa-play"></i><i aria-hidden="true" class="fa fa-pause"></i></button><ul class="uk-dotnav uk-dotnav-contrast uk-position-bottom uk-flex-center"><li data-uk-slideshow-item="0"><a href="" role="button"><span class="off-screen">Slide 1 content</span></a></li><li data-uk-slideshow-item="1"><a href="" role="button"><span class="off-screen">Slide 2 content</span></a></li><li data-uk-slideshow-item="2"><a href="" role="button"><span class="off-screen">Slide 3 content</span></a></li></ul><a class="uk-slidenav uk-slidenav-contrast uk-slidenav-previous" data-uk-slideshow-item="previous" href=""><span class="off-screen">previous slide</span></a><a class="uk-slidenav uk-slidenav-contrast uk-slidenav-next" data-uk-slideshow-item="next" href=""><span class="off-screen">next slide</span></a><ul class="uk-slideshow "><li><img alt="slideshow photo number 1" src="//cdn.spotapps.co/spothopper/image/fetch/f_auto,q_auto:best,c_fit,h_1200/http://static.spotapps.co/spots/cd/6d0b2a61844baf94d13f67568d5765/:original"/><div class="uk-overlay-panel uk-overlay-background uk-overlay-fade uk-flex uk-flex-center uk-flex-middle uk-text-center"><div class="container"><h2>yes, we cater!</h2><div class="buttons-group-holder"><a class="custom-temp-btn hvr-fade" href="/catering" target="_self">catering</a></div></div></div></li><li><img alt="slideshow photo number 2" src="//cdn.spotapps.co/spothopper/image/fetch/f_auto,q_auto:best,c_fit,h_1200/http://static.spotapps.co/spots/63/5259cdf6e8479bb00018a225ae9f91/:original"/><div class="uk-overlay-panel uk-overlay-background uk-overlay-fade uk-flex uk-flex-center uk-flex-middle uk-text-center"><div class="container"><h2>Book your next party with us!</h2><div class="buttons-group-holder"><a class="custom-temp-btn hvr-fade" href="/party" target="_self">book now<span class="visuallyhidden"> a party</span></a></div></div></div></li><li><img alt="slideshow photo number 3" src="//cdn.spotapps.co/spothopper/image/fetch/f_auto,q_auto:best,c_fit,h_1200/http://static.spotapps.co/spots/25/90b3e321094e2b82c30681a80451de/:original"/><div class="uk-overlay-panel uk-overlay-background uk-overlay-fade uk-flex uk-flex-center uk-flex-middle uk-text-center"><div class="container"><h2>How it all started</h2><div class="buttons-group-holder"><a class="custom-temp-btn hvr-fade" href="/about" target="_self">learn more<span class="visuallyhidden">about us</span></a></div></div></div></li></ul></div></div></article><article class="hide-show-section" data-hidden="no"><style>
987.about-us-v8-wrapper.custom-about-us-v8-wrapper {
988  padding: 0;
989}
990.about-us-v8-wrapper.custom-about-us-v8-wrapper:before {
991  background-color: #212838;
992      background-image: url('https://static.spotapps.co/website_images/ab_websites/504321_website_v1/v8_bg.jpg');
993  
994      -webkit-filter: none;
995    -moz-filter: none;
996    -o-filter: none;
997    -ms-filter: none;
998    filter: none;
999  }
1000
1001
1002.about-us-v8-wrapper.custom-about-us-v8-wrapper .container {
1003  padding: 0;
1004  width: 100%;
1005}
1006
1007
1008  
1009  
1010  
1011  #aboutus_v8_custom .about-us-v8-item-0 .text-wrapper {
1012    padding: 15% 8%;
1013  }
1014
1015      #aboutus_v8_custom .about-us-v8-item-0 .about-us-v8-content .text-content.title-image h2.about-title::after,
1016    #aboutus_v8_custom .about-us-v8-item-0 .about-us-v8-content .text-content.title-image h2.about-title::before {
1017      background-image: url('https://static.spotapps.co/website_images/ab_websites/504321_website_v1/title_decoration1.png');
1018      height: 50px;
1019    }
1020    #aboutus_v8_custom .about-us-v8-item-0 .about-us-v8-content .text-content.title-image h2.about-title::before {
1021      display: block;
1022    }
1023  
1024  
1025      #aboutus_v8_custom .about-us-v8-item-0 .about-us-v8-content .text-content h3, 
1026    #aboutus_v8_custom .about-us-v8-item-0 .about-us-v8-content .text-content h2:not(.about-title) {
1027      color: #E2CAA9;
1028    }
1029  
1030  
1031  @media (max-width: 1024px) {
1032    #aboutus_v8_custom .about-us-v8-item-0 .text-wrapper {
1033      padding: 15% 8%;
1034    } 
1035  }
1036
1037  @media (max-width: 767px) {
1038      #aboutus_v8_custom .about-us-v8-item-0 .about-us-v8-image {
1039        margin: 0;
1040                  height: 300px;
1041              } 
1042  }
1043
1044
1045      #aboutus_v8_custom .about-us-v8-item-1 {
1046      background-color: #fff;
1047    }
1048  
1049  
1050  
1051  #aboutus_v8_custom .about-us-v8-item-1 .text-wrapper {
1052    padding: 12% 8%;
1053  }
1054
1055      #aboutus_v8_custom .about-us-v8-item-1 .about-us-v8-content .text-content.title-image h2.about-title::after,
1056    #aboutus_v8_custom .about-us-v8-item-1 .about-us-v8-content .text-content.title-image h2.about-title::before {
1057      background-image: url('https://static.spotapps.co/website_images/ab_websites/504321_website_v1/title_decoration2.png');
1058      height: 50px;
1059    }
1060    #aboutus_v8_custom .about-us-v8-item-1 .about-us-v8-content .text-content.title-image h2.about-title::before {
1061      display: block;
1062    }
1063  
1064  
1065      #aboutus_v8_custom .about-us-v8-item-1 .about-us-v8-content .text-content h3, 
1066    #aboutus_v8_custom .about-us-v8-item-1 .about-us-v8-content .text-content h2:not(.about-title) {
1067      color: #000;
1068    }
1069  
1070      #aboutus_v8_custom .about-us-v8-item-1 .about-us-v8-image {
1071              border-width: 24px;
1072        border-style: solid;
1073        border-color: #fff;
1074                      }
1075  
1076  @media (max-width: 1024px) {
1077    #aboutus_v8_custom .about-us-v8-item-1 .text-wrapper {
1078      padding: 12% 8%;
1079    } 
1080  }
1081
1082  @media (max-width: 767px) {
1083      #aboutus_v8_custom .about-us-v8-item-1 .about-us-v8-image {
1084        margin: 0;
1085                  height: 300px;
1086              } 
1087  }
1088
1089
1090  
1091  
1092  
1093  #aboutus_v8_custom .about-us-v8-item-2 .text-wrapper {
1094    padding: 20% 8%;
1095  }
1096
1097      #aboutus_v8_custom .about-us-v8-item-2 .about-us-v8-content .text-content.title-image h2.about-title::after,
1098    #aboutus_v8_custom .about-us-v8-item-2 .about-us-v8-content .text-content.title-image h2.about-title::before {
1099      background-image: url('https://static.spotapps.co/website_images/ab_websites/504321_website_v1/title_decoration1.png');
1100      height: 50px;
1101    }
1102    #aboutus_v8_custom .about-us-v8-item-2 .about-us-v8-content .text-content.title-image h2.about-title::before {
1103      display: block;
1104    }
1105  
1106  
1107      #aboutus_v8_custom .about-us-v8-item-2 .about-us-v8-content .text-content h3, 
1108    #aboutus_v8_custom .about-us-v8-item-2 .about-us-v8-content .text-content h2:not(.about-title) {
1109      color: #E2CAA9;
1110    }
1111  
1112  
1113  @media (max-width: 1024px) {
1114    #aboutus_v8_custom .about-us-v8-item-2 .text-wrapper {
1115      padding: 20% 8%;
1116    } 
1117  }
1118
1119  @media (max-width: 767px) {
1120      #aboutus_v8_custom .about-us-v8-item-2 .about-us-v8-image {
1121        margin: 0;
1122                  height: 300px;
1123              } 
1124  }
1125
1126
1127@-webkit-keyframes grow {
1128  from {
1129    opacity: 0;
1130    width: 0px;
1131  }
1132  to {
1133    opacity: 1;
1134    width: 80%;
1135  }
1136}
1137@-moz-keyframes grow {
1138  from {
1139    opacity: 0;
1140    width: 0px;
1141  }
1142  to {
1143    opacity: 1;
1144    width: 80%;
1145  }
1146}
1147@keyframes grow {
1148  from {
1149    opacity: 0;
1150    width: 0px;
1151  }
1152  to {
1153    opacity: 1;
1154    width: 80%;
1155  }
1156}
1157
1158.safari-mac .custom-about-us-v8-wrapper .about-us-v8-item .about-us-v8-image-bar {
1159  width: 80%;
1160}
1161
1162
1163@media (max-width: 767px) {
1164  .about-us-v8-wrapper.custom-about-us-v8-wrapper {
1165    padding: 0;
1166  }
1167  .about-us-v8-wrapper.custom-about-us-v8-wrapper .container {
1168    padding: 0;
1169    width: 100%;
1170  }
1171  .custom-about-us-v8-wrapper .about-us-v8-item {
1172    padding: 0 !important;
1173  }
1174}
1175
1176</style><div class="about-us-v8-wrapper custom-about-us-v8-wrapper section-wrapper" id="aboutus_v8_custom"><div class="container about-us-v8"><section><div class="about-us-v8-item about-us-v8-item-0 about-us-v8-item-left " style="padding: 5%;"><!-- start About us item --><div class="about-us-v8-image image-size-contain image-size-mobile-contain" style="background-image: url('https://static.spotapps.co/website_images/ab_websites/504321_website_v1/catering.png'); width: 50%;
1177                              "><!-- start Left About us image --></div><!-- end Left About us image --><div class="about-us-v8-content  " style="width: 50%; 
1178            color: #fff;
1179            background: rgba(250, 250, 250, 0);                        text-align: center;"><div class="text-wrapper"><div class="text-content title-image"><h2 class="about-title" style="color: #fff;"><span>yes, we cater!</span></h2><div class="text-holder"><h3>Let us cater your next event</h3><p>We would be honored to provide our services for your next event.  Each event is bespoke to your tastes and needs, to provide the best experience possible for you and your guests.</p></div><div class="buttons-holder buttons-row-parent "><div class="buttons-row"><a class="custom-temp-btn hvr-fade" href="/catering" target="_self">
1180                            catering                                                      </a></div></div></div></div></div><!-- end Right About us image --></div><!-- end About us item --></section><section><div class="about-us-v8-item about-us-v8-item-1 about-us-v8-item-spec-color about-us-v8-item-right " style="padding: 0;"><!-- start About us item --><div class="about-us-v8-image visible-xs image-size-cover image-size-mobile-cover" style="background-image: url('https://static.spotapps.co/website_images/ab_websites/504321_website_v1/parties.jpg'); width: 50%;
1181                              "><!-- start Left About us image --></div><!-- end Left About us image --><div class="about-us-v8-content  " style="width: 50%; 
1182            color: #000;
1183            background: rgba(250, 250, 250, 0);                        text-align: center;"><div class="text-wrapper"><div class="text-content title-image"><h2 class="about-title" style="color: #272E3E;"><span>PRIVATE Parties</span></h2><div class="text-holder"><h3>Book your next party with us!</h3><p>Need the space for your event? Search no more we have a perfect place for you!</p></div><div class="buttons-holder buttons-row-parent "><div class="buttons-row"><a class="custom-temp-btn hvr-fade" href="/party" target="_self">
1184                            book now                                                          <sp
1184an class="visuallyhidden"> a party</span></a></div></div></div></div></div><!-- start Right About us image --><div class="about-us-v8-image hidden-xs image-size-cover image-size-mobile-cover" style="background-image: url('https://static.spotapps.co/website_images/ab_websites/504321_website_v1/parties.jpg'); width: 50%;
1185                                  "></div><!-- end Right About us image --></div><!-- end About us item --></section><section><div class="about-us-v8-item about-us-v8-item-2 about-us-v8-item-left third-section" style="padding: 5% 0;"><!-- start About us item --><div class="about-us-v8-image image-size-contain image-size-mobile-contain" style="background-image: url('https://static.spotapps.co/website_images/ab_websites/504321_website_v1/order.png'); width: 50%;
1186                              "><!-- start Left About us image --></div><!-- end Left About us image --><div class="about-us-v8-content  " style="width: 50%; 
1187            color: #fff;
1188            background: rgba(250, 250, 250, 0);                        text-align: center;"><div class="text-wrapper"><div class="text-content title-image"><h2 class="about-title" style="color: #fff;"><span>order online</span></h2><div class="text-holder"><h3>Pick Up Your Favorite Food</h3><p>We would be honored to provide our services for your next event.  Each event is bespoke to your tastes and needs, to provide the best experience possible for you and your guests.</p></div><div class="buttons-holder buttons-row-parent "><div class="buttons-row"><a class="custom-temp-btn hvr-fade" href="https://order.toasttab.com/online/sals-pizza-and-restaurant-41-e-genesee-st" target="_self">
1189                            order now                                                      </a></div></div></div></div></div><!-- end Right About us image --></div><!-- end About us item --></section></div></div><!-- For mobile devices animate the about_v8 section on page load if the video is on the cover and this section is 1st or 2nd below the cover. --></article><article class="hide-show-section" data-hidden="no"><div class="jobs-tmt-section tmt-section section-wrapper" id="jobs_tmt"><div class="container"><h2 class="section-header">We are hiring!</h2><h3>Join our family</h3><p>We are looking for great people to join our amazing team! Check out our current job openings and apply with just a few clicks!</p><a class="custom-temp-btn hvr-fade" href="https://tmt.spotapps.co/job-listings?spot_id=504321&callback_url=http://salspizzabville.com/" target="_self">Learn More &amp; Apply<span class="visuallyhidden"> for a job</span></a></div></div></article><article class="hide-show-section" data-hidden="no"><style></style><div class="gallery-v4-wrapper section-wrapper" id="gallery_v4"><button class="visuallyhidden skip-content gallery-toggle gt-off">Skip Photo Gallery</button><div class="container"><div class="gallery-v4-grid"><div class="gallery-v4-grid-sizer"></div><div class="gallery-v4-grid-item gallery-v4-grid-item--width2 gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/78/bc45e1d78d40edacbe7113a24de7f6/full"><div class="img"><img alt="Broccoli mushroom cavatelli pasta served with chicken wings and espresso martini." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/78/bc45e1d78d40edacbe7113a24de7f6/full" data-sizes="auto" data-src="//static.spotapps.co/spots/78/bc45e1d78d40edacbe7113a24de7f6/full" data-srcset="//static.spotapps.co/spots/78/bc45e1d78d40edacbe7113a24de7f6/small 200w, //static.spotapps.co/spots/78/bc45e1d78d40edacbe7113a24de7f6/medium 400w, //static.spotapps.co/spots/78/bc45e1d78d40edacbe7113a24de7f6/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/76/be92ff61b7436c86556b70ba6c6e5f/full"><div class="img"><img alt="Assorted dinner dishes with pasta, chicken wings, and green beans." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/76/be92ff61b7436c86556b70ba6c6e5f/full" data-sizes="auto" data-src="//static.spotapps.co/spots/76/be92ff61b7436c86556b70ba6c6e5f/full" data-srcset="//static.spotapps.co/spots/76/be92ff61b7436c86556b70ba6c6e5f/small 200w, //static.spotapps.co/spots/76/be92ff61b7436c86556b70ba6c6e5f/medium 400w, //static.spotapps.co/spots/76/be92ff61b7436c86556b70ba6c6e5f/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/05/244ed737e8448fa49d5e56c30be28f/full"><div class="img"><img alt="Tortellini simmered in vodka sauce served with red wine." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/05/244ed737e8448fa49d5e56c30be28f/full" data-sizes="auto" data-src="//static.spotapps.co/spots/05/244ed737e8448fa49d5e56c30be28f/full" data-srcset="//static.spotapps.co/spots/05/244ed737e8448fa49d5e56c30be28f/small 200w, //static.spotapps.co/spots/05/244ed737e8448fa49d5e56c30be28f/medium 400w, //static.spotapps.co/spots/05/244ed737e8448fa49d5e56c30be28f/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/cd/43d52eed4e4980ad1008c748a03d7c/full"><div class="img"><img alt="Pinwheels served on a table against a brick wall." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/cd/43d52eed4e4980ad1008c748a03d7c/full" data-sizes="auto" data-src="//static.spotapps.co/spots/cd/43d52eed4e4980ad1008c748a03d7c/full" data-srcset="//static.spotapps.co/spots/cd/43d52eed4e4980ad1008c748a03d7c/small 200w, //static.spotapps.co/spots/cd/43d52eed4e4980ad1008c748a03d7c/medium 400w, //static.spotapps.co/spots/cd/43d52eed4e4980ad1008c748a03d7c/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/11/0151a15ac04b218dc3686f97008424/full"><div class="img"><img alt="Cheese pizza." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/11/0151a15ac04b218dc3686f97008424/full" data-sizes="auto" data-src="//static.spotapps.co/spots/11/0151a15ac04b218dc3686f97008424/full" data-srcset="//static.spotapps.co/spots/11/0151a15ac04b218dc3686f97008424/small 200w, //static.spotapps.co/spots/11/0151a15ac04b218dc3686f97008424/medium 400w, //static.spotapps.co/spots/11/0151a15ac04b218dc3686f97008424/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/29/0d635c338d4bf5a993da3abde7dc50/full"><div class="img"><img alt="Fried chicken breast with green beans and white wine butter sauce." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/29/0d635c338d4bf5a993da3abde7dc50/full" data-sizes="auto" data-src="//static.spotapps.co/spots/29/0d635c338d4bf5a993da3abde7dc50/full" data-srcset="//static.spotapps.co/spots/29/0d635c338d4bf5a993da3abde7dc50/small 200w, //static.spotapps.co/spots/29/0d635c338d4bf5a993da3abde7dc50/medium 400w, //static.spotapps.co/spots/29/0d635c338d4bf5a993da3abde7dc50/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/46/16aaa01e8b4bb499f7f9990f18a2da/full"><div class="img"><img alt="Buffalo wings served on a black plate placed on a restaurant menu with a hot sauce bottle nearby." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/46/16aaa01e8b4bb499f7f9990f18a2da/full" data-sizes="auto" data-src="//static.spotapps.co/spots/46/16aaa01e8b4bb499f7f9990f18a2da/full" data-srcset="//static.spotapps.co/spots/46/16aaa01e8b4bb499f7f9990f18a2da/small 200w, //static.spotapps.co/spots/46/16aaa01e8b4bb499f7f9990f18a2da/medium 400w, //static.spotapps.co/spots/46/16aaa01e8b4bb499f7f9990f18a2da/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-v4-grid-item--width2 gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/a9/2cf590d048428b9bda0661cc46fcac/full"><div class="img"><img alt="Creamy tomato pasta with chicken and herbs." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/a9/2cf590d048428b9bda0661cc46fcac/full" data-sizes="auto" data-src="//static.spotapps.co/spots/a9/2cf590d048428b9bda0661cc46fcac/full" data-srcset="//static.spotapps.co/spots/a9/2cf590d048428b9bda0661cc46fcac/small 200w, //static.spotapps.co/spots/a9/2cf590d048428b9bda0661cc46fcac/medium 400w, //static.spotapps.co/spots/a9/2cf590d048428b9bda0661cc46fcac/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/40/814a81d3ce42b7987517e4e33266f3/full"><div class="img"><img alt="Grilled chicken sandwich with arugula, tomatoes, and cheese." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/40/814a81d3ce42b7987517e4e33266f3/full" data-sizes="auto" data-src="//static.spotapps.co/spots/40/814a81d3ce42b7987517e4e33266f3/full" data-srcset="//static.spotapps.co/spots/40/814a81d3ce42b7987517e4e33266f3/small 200w, //static.spotapps.co/spots/40/814a81d3ce42b7987517e4e33266f3/medium 400w, //static.spotapps.co/spots/40/814a81d3ce42b7987517e4e33266f3/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/50/fab31cceba47a58f83936514eeb6d5/full"><div class="img"><img alt="Large pepperoni pizza on a restaurant table." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/50/fab31cceba47a58f83936514eeb6d5/full" data-sizes="auto" data-src="//static.spotapps.co/spots/50/fab31cceba47a58f83936514eeb6d5/full" data-srcset="//static.spotapps.co/spots/50/fab31cceba47a58f83936514eeb6d5/small 200w, //static.spotapps.co/spots/50/fab31cceba47a58f83936514eeb6d5/medium 400w, //static.spotapps.co/spots/50/fab31cceba47a58f83936514eeb6d5/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/25/90b3e321094e2b82c30681a80451de/full"><div class="img"><img alt="Broccoli mushroom chicken served with espresso martini and other dishes." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/25/90b3e321094e2b82c30681a80451de/full" data-sizes="auto" data-src="//static.spotapps.co/spots/25/90b3e321094e2b82c30681a80451de/full" data-srcset="//static.spotapps.co/spots/25/90b3e321094e2b82c30681a80451de/small 200w, //static.spotapps.co/spots/25/90b3e321094e2b82c30681a80451de/medium 400w, //static.spotapps.co/spots/25/90b3e321094e2b82c30681a80451de/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/1b/0f1353af664cb391b953978b7e37cf/full"><div class="img"><img alt="Wooden bar with a long counter, stools, liquor shelves, and TVs." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/1b/0f1353af664cb391b953978b7e37cf/full" data-sizes="auto" data-src="//static.spotapps.co/spots/1b/0f1353af664cb391b953978b7e37cf/full" data-srcset="//static.spotapps.co/spots/1b/0f1353af664cb391b953978b7e37cf/small 200w, //static.spotapps.co/spots/1b/0f1353af664cb391b953978b7e37cf/medium 400w, //static.spotapps.co/spots/1b/0f1353af664cb391b953978b7e37cf/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/4b/86b300f5554d5da935968e1f0a172b/full"><div class="img"><img alt="Bartender serving an espresso martini cocktail at a bar." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/4b/86b300f5554d5da935968e1f0a172b/full" data-sizes="auto" data-src="//static.spotapps.co/spots/4b/86b300f5554d5da935968e1f0a172b/full" data-srcset="//static.spotapps.co/spots/4b/86b300f5554d5da935968e1f0a172b/small 200w, //static.spotapps.co/spots/4b/86b300f5554d5da935968e1f0a172b/medium 400w, //static.spotapps.co/spots/4b/86b300f5554d5da935968e1f0a172b/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div><div class="gallery-v4-grid-item gallery-hover animation_0"><a class="fancybox fancybox.image" href="//static.spotapps.co/spots/cd/6d0b2a61844baf94d13f67568d5765/full"><div class="img"><img alt="Dinner table with pasta dishes, buffalo wings, green beans, and espresso martini." class="img-responsive lazyload" data-original="//static.spotapps.co/spots/cd/6d0b2a61844baf94d13f67568d5765/full" data-sizes="auto" data-src="//static.spotapps.co/spots/cd/6d0b2a61844baf94d13f67568d5765/full" data-srcset="//static.spotapps.co/spots/cd/6d0b2a61844baf94d13f67568d5765/small 200w, //static.spotapps.co/spots/cd/6d0b2a61844baf94d13f67568d5765/medium 400w, //static.spotapps.co/spots/cd/6d0b2a61844baf94d13f67568d5765/full 800w" src="https://static.spotapps.co/web/placeholder.png"/></div></a></div></div></div></div></article><article class="hide-show-section" data-hidden="no"><style>
1190
1191
1192.reviews-v2-wrapper .carousel-controls .carousel-control-btn {
1193  color: #fff;
1194}
1195</style><div class="carousel-wrapper reviews-v2-wrapper section-wrapper" id="reviews_v2"><h2 class="section-header">Reviews</h2><div class="container"><div aria-label="reviews carousel" class="row" role="region"><div class="carousel-controls" id="ReviewesCarouselControls"><button aria-label="The Reviews carousel is currently playing, pause the Reviews carousel" class="carousel-control-btn stop-carousel" type="button"><i aria-hidden="true" class="fa fa-pause"></i><i aria-hidden="true" class="fa fa-play"></i><span class="visuallyhidden"> Start stop reviews carousel</span></button></div><ul class="owl-dots"><li class="owl-dot"></li><li class="owl-dot"></li><li class="owl-dot"></li><li class="owl-dot"></li><li class="owl-dot"></li></ul><div class="col-md-12 col-xs-12"><div class="owl-carousel owl-theme"><section><div class="item"><h3 class="review-by">Review by - Google</h3><h4 class="reviewer"><span class="visuallyhidden">five star review by</span>
1196                  Delightra C:
1197                  <i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i></h4><div class="review-text"><div aria-hidden="true" class="review-quote quote-left"><i class="fa fa-quote-left"></i></div><div aria-hidden="true" class="review-quote quote-right"><i class="fa fa-quote-right"></i></div><blockquote><p>Super casual little place with food that has amazing flavor! I have celiac disease, have eaten hear several times and I never been sick! The riggies, pizza and wings are amazing!! Wish I took a pic of those juicy wings! 🤤</p></blockquote></div></div></section><section><div class="item"><h3 class="review-by">Review by - Google</h3><h4 class="reviewer"><span class="visuallyhidden">five star review by</span>
1198                  Jennifer w:
1199                  <i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i></h4><div class="review-text"><div aria-hidden="true" class="review-quote quote-left"><i class="fa fa-quote-left"></i></div><div aria-hidden="true" class="review-quote quote-right"><i class="fa fa-quote-right"></i></div><blockquote><p>This place is awesome. They have the best gluten free pizza. The wings are delicious. The bar area is always fun.</p></blockquote></div></div></section><section><div class="item"><h3 class="review-by">Review by - Google</h3><h4 class="reviewer"><span class="visuallyhidden">five star review by</span>
1200                  Sean O:
1201                  <i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i></h4><div class="review-text"><div aria-hidden="true" class="review-quote quote-left"><i class="fa fa-quote-left"></i></div><div aria-hidden="true" class="review-quote quote-right"><i class="fa fa-quote-right"></i></div><blockquote><p>My co-worker brought us Sal&apos;s at work tonight. We had the Meatzza pizza &amp; the house sauce on the wings. Both were delicious. The only downfall was the 40 minute ride the food took from Sal&apos;s to work.</p></blockquote></div></div></section><section><div class="item"><h3 class="review-by">Review by - Google</h3><h4 class="reviewer"><span class="visuallyhidden">five star review by</span>
1202                  Alison L:
1203                  <i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i></h4><div class="review-text"><div aria-hidden="true" class="review-quote quote-left"><i class="fa fa-quote-left"></i></div><div aria-hidden="true" class="review-quote quote-right"><i class="fa fa-quote-right"></i></div><blockquote><p>I have been here since they expanded because i moved to NC but to like the new add on and just came for drinks but it was a great night to catch up with an old friend last weekend</p></blockquote></div></div></section><section><div class="item"><h3 class="review-by">Review by - Google</h3><h4 class="reviewer"><span class="visuallyhidden">five star review by</span>
1204                  Nicholas K:
1205                  <i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i><i aria-hidden="true" class="fa fa-star"></i></h4><div class="review-text"><div aria-hidden="true" class="review-quote quote-left"><i class="fa fa-quote-left"></i></div><div aria-hidden="true" class="review-quote quote-right"><i class="fa fa-quote-right"></i></div><blockquote><p>The new bar is awesome! Food was great and the bartenders rocked. It was so busy but they didn&apos;t seem to leave anyone waiting!</p></blockquote></div></div></section></div></div></div></div></div></article><article class="hide-show-section" data-hidden="no"><style>
1206.map-newsletter .text-wrapper:before {
1207      background-image: url('https://static.spotapps.co/website_images/ab_websites/504321_website_v1/newsletter.jpg');
1208    }
1209
1210.googlemap-v3-wrapper .top-svg-border path,
1211.googlemap-v3-wrapper .top-svg-border polygon,
1212.googlemap-v3-wrapper .top-svg-border rect {
1213  fill: #fff;
1214}
1215.googlemap-v3-wrapper .bottom-svg-border path,
1216.googlemap-v3-wrapper .bottom-svg-border polygon,
1217.googlemap-v3-wrapper .bottom-svg-border rect {
1218  fill: #000;
1219}
1220.googlemap-v3-wrapper .top-line-border:before {
1221  background: #fff;
1222}
1223.googlemap-v3-wrapper .bottom-line-border:before {
1224  background: #000;
1225}
1226</style><div class="googlemap-v3-wrapper openstreetmap-v3-wrapper maps-wrapper section-wrapper" id="openstreetmap_v3"><div class="plain-line-border top-line-border"></div><div class="row map-holder"><section><div class="col-md-6 col-sm-12 col-xs-12 map-item map-newsletter"><div class="text-wrapper"><div class="text-content"><h2 class="section-header">Newsletter</h2>
1226<script id="sph-widget-504321" type="text/javascript">
1227                  (function() {
1228                      function async_load(){
1229                          var s = document.createElement('script');
1230                          s.type = 'text/javascript';
1231                          s.async = true;
1232                          s.src = 'https://www.spothopperapp.com/spots/504321/widgets/newsletter.js?template=newsletter_widget1';
1233                          var embedder = document.getElementById('sph-widget-504321');
1234                          embedder.parentNode.insertBefore(s, embedder);
1235
1236                          // Modify widget's html
1237                          setTimeout(function(){
1238                            $( '<span class="bar"></span>' ).insertAfter( '.sph-email-input' );
1239                            $('.sph-submit-button').addClass('custom-temp-btn hvr-fade');
1240
1241                            // Replace <h2> with <p>
1242                            document.querySelectorAll('.section-wrapper .sph-email-subscription h2').forEach(h2 => {
1243                              const p = document.createElement('p');
1244
1245                              // Copy all attributes from h2 to p
1246                              [...h2.attributes].forEach(attr => {
1247                                  p.setAttribute(attr.name, attr.value);
1248                              });
1249
1250                              // Copy inner HTML content
1251                              p.innerHTML = h2.innerHTML;
1252
1253                              // Replace h2 with p
1254                              h2.parentNode.replaceChild(p, h2);
1255                            });
1256                          }, 2000);
1257
1258                      }
1259                      if (window.attachEvent)
1260                          window.attachEvent('onload', async_load);
1261                      else
1262                          window.addEventListener('load', async_load, false);
1263                  })();
1264                  </script>
1264</div></div></div></section><section><div class="col-md-6 col-sm-12 col-xs-12 map-item"><div aria-label="OpenStreet map" id="map-v3-container" role="region"></div></div></section></div><div class="map-footer text-center"><div class="triangle"></div></div></div></article><article class="hide-show-section" data-hidden="no"><style>
1265
1266.contact-v3 .hours-title, .contact-v3 .social-title, .contact-v3 .contact-us-title {
1267  color: #272E3E;
1268}
1269.contact a:hover, .contact a:active, .contact-us a:hover, .contact-us a:active {
1270  color: #000;
1271}
1272.contact-v3 .social-circle .contact-icon {
1273  color: rgba(255, 255, 255, 0.8);
1274}
1275  .contact-v3 .social-square .contact-icon {
1276    color: #000;
1277  }
1278  .contact-v3 .social-square .contact-icon:hover {
1279    color: #fff;
1280    background-color: #000;
1281  }
1282
1283</style><div class="contact-v3 contact-v3-center section-wrapper" id="contact_v3"><div class="container"><div class="row"><div class="col-md-4 col-sm-4 col-xs-12"><section><div class="contact-location"><div class="hours-title"><h2>Location</h2></div><div class="address">41 East Genesee Street</div><div class="city-state">Baldwinsville, NY</div><div class="zip">13027</div></div></section></div><div class="col-md-4 col-sm-4 col-xs-12"><section><div class="hours"><div class="hours-title"><h2>Hours</h2></div><div>Monday-Wednesday 11:00am to 9:00pm</div><div>Thursday 11:00am to 10:00pm</div><div>Friday-Saturday 11:00am to 11:00pm</div><div>Sunday 12:00pm to 9:00pm</div></div></section></div><div class="col-md-4 col-sm-4 col-xs-12"><div class="find-us"><section><div class="social"><div class="social-title"><h2>Find us on...</h2></div><div class="social-links social-icons-holder social-square"><a class="contact-icon" href="https://www.facebook.com/190472807642416" target="_blank"><i class="social-icon fa fa-facebook"></i><span>Facebook page</span></a><a class="contact-icon google-icon" href="https://www.google.com/search?q=Sal%27s+Pizza+%26+Restaurant+41+East+Genesee+Street&sca_esv=d1b4d337ee6528a3&hl=en&ei=1m7vaLL3O9mH9u8PyLaB2AY&ved=0ahUKEwiyup-o96WQAxXZg_0HHUhbAGsQ4dUDCBA&uact=5&oq=Sal%27s+Pizza+%26+Restaurant+41+East+Genesee+Street&gs_lp=Egxnd3Mtd2l6LXNlcnAiL1NhbCdzIFBpenphICYgUmVzdGF1cmFudCA0MSBFYXN0IEdlbmVzZWUgU3RyZWV0MgUQIRifBUjwCVApWM8FcAF4AZABAJgBuwGgAeMCqgEDMC4yuAEDyAEA-AEB-AECmAIDoAL7AsICChAAGLADGNYEGEfCAgUQABiABMICBhAAGBYYHpgDAIgGAZAGCJIHAzEuMqAHzgyyBwMwLjK4B_MCwgcFMC4xLjLIBw0&sclient=gws-wiz-serp#lrd=0x89d9e4f7f1f831e5:0x9160e2c6716dcd02,1,,,," target="_blank"><i aria-hidden="true" class="social-icon fa fa-google"></i><span>Google page</span></a></div></div></section><section><div class="contact-us"><div class="contact-us-title"><h2>Contact us</h2></div><p><a href="tel:+13156388505" id="contact_us_v3_section_phone_link"><span class="visuallyhidden">Call us at </span>(315)-638-8505</a></p><p><a href="mailto:[email protected]"><span class="visuallyhidden">Write us at </span>[email protected]</a></p></div></section></div></div></div></div></div></article><article class="hide-show-section" data-hidden="no"><div class="footer-v2-wrapper" id="footer_v2"><div class="container"><div class="row"><div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"><p>Powered by: <a aria-label="SpotHopper homepage" class="applicationsLink" href="https://www.spothopperapp.com/" target="_blank"><img alt="SpotHopper logo" class="logoimg" src="https://static.spotapps.co/website_images/default_template_images/spothopper_logo.png"/></a></p></div><div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"><a aria-label="Website design, Social Media marketing, and Email marketing provided by SpotHopper. Contact Us form" class="applicationsLink" href="https://www.spothopperapp.com/contact-us?contact_reason=demo" target="_blank">Website design, Social Media marketing and Email marketing provided by SpotHopper.</a></div></div></div></div></article></main><style type="text/css">
1284    .navbar-fixed-bottom.nav-v1 {
1285        bottom: -100px;
1286    }
1287    .navbar-fixed-bottom.nav-v1 .nav.navbar-nav.navbar-right {
1288        background-color: #fff;
1289    }
1290    .navbar-fixed-bottom.nav-v1 .bottom-svg-border path,
1291    .navbar-fixed-bottom.nav-v1 .bottom-svg-border polygon {
1292      fill: #000;
1293    }
1294    .navbar-fixed-bottom.nav-v1 .bottom-list-item a {
1295        color: #000;
1296    }
1297    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:hover,
1298    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:focus {
1299        color: #000;
1300    }
1301</style><nav aria-label="mobile footer" class="navbar-fixed-bottom nav-v1" id="bottom-navbar"><div><ul class="nav navbar-nav navbar-right"><li class="bottom-list-item "><a class="bottom-link " href="https://order.toasttab.com/online/sals-pizza-and-restaurant-41-e-genesee-st" id="bottom_link_4" target="_self">
1302                        Order                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="/reservations" id="bottom_link_3" target="_self">
1303                        Reserve                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="/party" id="bottom_link_5" target="_self">
1304                        Parties                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="/catering" id="bottom_link_6" target="_self">
1305                        Catering                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="https://tmt.spotapps.co/job-listings?spot_id=504321&callback_url=http://salspizzabville.com/" id="bottom_link_7" target="_self">
1306                        Jobs                    </a></li></ul></div></nav><div aria-hidden="true" aria-label="newsletter dialog" class="modal fade custom-modal" id="CustomModal" role="dialog" tabindex="-1"><div class="modal-dialog modal-md" role="document"><div class="modal-content"><div class="custom-modal-close"><button aria-label="Close" class="close" data-dismiss="modal" type="button"><span aria-hidden="true">×</span></button></div><div class="modal-body"><div class="row"><div class="col-md-12"><div class="newsletter-popup"><h2 class="section-header">Newsletter</h2>
1306<script id="sph-widget-2ce08bd156a46491d83342eb4a039092" type="text/javascript">
1307    (function() {
1308        function async_load(){
1309            var s = document.createElement('script');
1310            s.type = 'text/javascript';
1311            s.async = true;
1312            s.src = 'https://www.spothopperapp.com/spots/504321/widgets/newsletter.js?template=newsletter_widget2';
1313            var embedder = document.getElementById('sph-widget-2ce08bd156a46491d83342eb4a039092');
1314            embedder.parentNode.insertBefore(s, embedder);
1315
1316            // Modify widget's html
1317            setTimeout(function(){
1318                document.querySelectorAll('.custom-modal .sph-email-subscription h2').forEach(h2_p => {
1319                    const p_p = document.createElement('p');
1320
1321                    // Copy all attributes from h2 to p
1322                    [...h2_p.attributes].forEach(attr => {
1323                        p_p.setAttribute(attr.name, attr.value);
1324                    });
1325
1326                    // Copy inner HTML content
1327                    p_p.innerHTML = h2_p.innerHTML;
1328
1329                    // Replace h2 with p
1330                    h2_p.parentNode.replaceChild(p_p, h2_p);
1331                });
1332            }, 2000);
1333        }
1334        if (window.attachEvent)
1335            window.attachEvent('onload', async_load);
1336        else
1337            window.addEventListener('load', async_load, false);
1338    })();
1339    </script>
1339</div></div></div></div></div></div></div>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/jquery/jquery.min.js"></script>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/jquery/jquery.browser.min.js"></script>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/bootstrap/js/bootstrap.min.js"></script>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/owlcarousel/owl.carousel.min.js"></script>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/masonry/masonry.pkgd.min.js"></script>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/uikit/js/uikit.min.js" type="text/javascript"></script>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/uikit/js/slideshow.min.js" type="text/javascript"></script>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/uikit/js/slideshow-fx.min.js"></script>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/imagesloaded/imagesloaded.pkgd.min.js"></script>
1339<script src="https://static.spotapps.co/iframeResizer.js" type="text/javascript"></script>
1339<script src="//static.spotapps.co/web-lib/leaflet/[email protected]/dist/leaflet.js"></script>
1339<script src="//static.spotapps.co/web-lib/leaflet/leaflet-providers.js"></script>
1339<script src="//static.spotapps.co/web-lib/leaflet/[email protected]/dist/leaflet-gesture-handling.min.js"></script>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/fancybox/source/jquery.fancybox.js" type="text/javascript"></script>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/fancybox/source/jquery.fancybox.pack.js" type="text/javascript"></script>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/fancybox/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7" type="text/javascript"></script>
1339<script src="https://static.spotapps.co/web/salspizzabville--com/lib/fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.6" type="text/javascript"></script>
1339<script type="text/javascript">
1340
1341
1342
1343	$("#bottom_link_4").on("click", function(){
1344		if (ga_check())
1345			universal_ga('send', 'event', 'Button', 'Click', 'Order Online');
1346	});
1347	$("#bottom_link_3").on("click", function(){
1348		if (ga_check())
1349			universal_ga('send', 'event', 'Button', 'Click', 'Reserve');
1350	});
1351	$("#bottom_link_5").on("click", function(){
1352		if (ga_check())
1353			universal_ga('send', 'event', 'Button', 'Click', 'Private Party');
1354	});
1355	$("#bottom_link_6").on("click", function(){
1356		if (ga_check())
1357			universal_ga('send', 'event', 'Button', 'Click', 'Catering');
1358	});
1359	$("#bottom_link_7").on("click", function(){
1360		if (ga_check())
1361			universal_ga('send', 'event', 'Button', 'Click', 'Jobs');
1362	});
1363  $('.header-logo, .nav-v2-home-btn').click(function(event) {
1364    if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
1365      event.preventDefault();
1366      var windowScrollTop = $(window).scrollTop();
1367      if(windowScrollTop > 150) {
1368        $('html, body').animate({scrollTop: 0}, 750);
1369      }
1370    }
1371  });
1372
1373$(".banner-section a.banner-pin").click(function(e) {
1374    // target element id
1375    var id = $(this).attr('href');
1376
1377    // target element
1378    var section = $(id);
1379    if (section.length === 0) {
1380        return;
1381    }
1382
1383    // prevent standard hash navigation (avoid blinking in IE)
1384    e.preventDefault();
1385
1386    // top position relative to the document
1387    var pos = section.offset().top - 100 + 10;
1388
1389    // animated top scrolling
1390    $('body, html').animate({scrollTop: pos}, 750);
1391});
1392
1393$(document).ready(function() {
1394  var navHeight = $('nav.navbar').height();
1395  $('html').css("scroll-padding-top", navHeight);
1396});
1397$(document).on('scroll', function (e) {
1398    if($(document).scrollTop() > 0) {
1399      $('.navbar.nav-v6').addClass('nav-scroll');
1400    }else {
1401      $('.navbar.nav-v6').removeClass('nav-scroll');
1402    }
1403});
1404
1405function scrollStop (callback, refresh = 66) {
1406
1407	// Make sure a valid callback was provided
1408	if (!callback || typeof callback !== 'function') return;
1409
1410	// Setup scrolling variable
1411	let isScrolling;
1412
1413	// Listen for scroll events
1414	window.addEventListener('scroll', function (event) {
1415
1416		// Clear our timeout throughout the scroll
1417		window.clearTimeout(isScrolling);
1418
1419		// Set a timeout to run after scrolling ends
1420		isScrolling = setTimeout(callback, refresh);
1421
1422	}, false);
1423
1424}
1425
1426$(function() {
1427  setDropDownMenuWidth();
1428
1429  // Function to set drop-down menu position (css top property)
1430  setDropDownMenuTop();
1431
1432  function setDropDownMenuWidth() {
1433    var tabs_list = $('.navbar-collapse .navbar-nav');
1434    $(tabs_list).find('li.drop-down-link').each(function() {
1435      var sub_menu_width = $(this).outerWidth(true);
1436      if (sub_menu_width < 100) {
1437        sub_menu_width = 100;
1438      }
1439      $(this).find('.sub-menu').css('width', sub_menu_width+'px');
1440
1441    });
1442  };
1443
1444  function setDropDownMenuTop() {
1445    var sub_menu_top = ($('.navbar.nav-v6 .container').outerHeight() + $('.drop-down-link').outerHeight())/2;
1446    $('li.drop-down-link .sub-menu').css('top', sub_menu_top-2 +'px');
1447  };
1448
1449  $( window ).resize(function() {
1450    setDropDownMenuWidth();
1451    setDropDownMenuTop();
1452  });
1453
1454  $(window).on('scroll', function (e) {
1455    setDropDownMenuTop();
1456  });
1457
1458  scrollStop(function () {
1459    setDropDownMenuTop();
1460    if($(document).scrollTop() == 0) {
1461      setTimeout(setDropDownMenuTop, 200);
1462    }
1463  });
1464
1465  $('.nav a:not(.drop-down)').on('click', function () {
1466    $('.navbar-collapse').collapse('hide');
1467  });
1468
1469});
1470
1471$( '.drop-down-link .drop-down' ).click(function(event) {
1472  event.preventDefault();
1473  event.stopPropagation();
1474  var drop_down = $(this).closest('.drop-down-link');
1475  var drop_down_a = $(this);
1476
1477  if($(drop_down_a).attr("aria-expanded") == "true") { 
1478    $(drop_down_a).attr("aria-expanded",false)
1479  } else { 
1480    $(drop_down_a).attr("aria-expanded",true)
1481  }
1482
1483  var sub_menu = $(this).closest('.drop-down-link').find( '.sub-menu' );
1484  if ( $(sub_menu).is( ':hidden' ) ) {
1485    $(sub_menu).slideDown();
1486    $(drop_down).addClass('active');
1487  } else {
1488    $(sub_menu).slideUp();
1489    $(drop_down).removeClass('active');
1490  }
1491});
1492$('#navbar-collapse-1').on('hide.bs.collapse', function (e) {
1493  var clickedElement = $(event.target);
1494  if (clickedElement.hasClass('drop-down')) {
1495    return false;
1496  }
1497});
1498$('#navbar-collapse-1').on('hidden.bs.collapse', function () {
1499  closeOpenedDropDownMenus();
1500  function closeOpenedDropDownMenus() {
1501    var tabs_list = $('.navbar-collapse .navbar-nav');
1502    $(tabs_list).find('li.drop-down-link').each(function() {
1503      if( $(this).hasClass('active') ) {
1504        var sub_menu = $(this).find('.sub-menu');
1505        $(sub_menu).slideUp();
1506        $(this).removeClass('active');
1507      }
1508    });
1509  };
1510});
1511  $(document).ready(function() {
1512    var video = $("#coverVideo")[0];
1513
1514    // Cover video Play/pause
1515    $(".video-controls-btn").click(function () {
1516      if (video.paused) {
1517        video.play();
1518        $(".video-controls-btn").focus();
1519        $(".video-controls-btn i.fa-play").hide();
1520        $(".video-controls-btn i.fa-pause").show();
1521        $(".video-controls-btn").attr("aria-label", "The decorative video is currently playing, pause the video");
1522        $(".video-controls-btn .off-screen").text("The decorative video is currently playing");
1523      } else {
1524        video.pause();
1525        $(".video-controls-btn").focus();
1526        $(".video-controls-btn i.fa-play").show();
1527        $(".video-controls-btn i.fa-pause").hide();
1528        $(".video-controls-btn").attr("aria-label", "The decorative video is currently paused, play the video");
1529        $(".video-controls-btn .off-screen").text("The decorative video is currently paused");
1530      }
1531    });
1532    // Cover video sound on/off
1533    if (video.muted) {
1534        $(".video-volume-btn").addClass('off');
1535    }
1536
1537    $(".video-volume-btn").click(function () {
1538      if (video.muted) {
1539        video.muted = false;
1540        $(".video-volume-btn").removeClass('off');
1541        $(".video-volume-btn").addClass('on');
1542        $(".video-volume-btn").attr("aria-label", "The decorative video sound is on, turn it off");
1543        $(".video-volume-btn .off-screen").text("The decorative video sound is on");
1544      } else {
1545        video.muted = true;
1546        $(".video-volume-btn").removeClass('on');
1547        $(".video-volume-btn").addClass('off');
1548        $(".video-volume-btn").attr("aria-label", "The decorative video sound is off, turn it on");
1549        $(".video-volume-btn .off-screen").text("The decorative video sound is off");
1550      }
1551    });
1552  });
1553$(document).ready(function() {
1554
1555  if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Mac') != -1 && navigator.userAgent.indexOf('Chrome') == -1 && $(window).width() > 767) {
1556
1557    // Turn Off animations on Safari browser for Mac desktop
1558    $('html').addClass('safari-mac');
1559
1560  }
1561  else {
1562
1563    var animation_item_elements = $('.about-us-v8-item');
1564    var window_var = $(window);
1565
1566    function check_if_item_in_view() {
1567    var window_var_height = window_var.height();
1568    var window_var_top_position = window_var.scrollTop();
1569    var window_var_bottom_position = (window_var_top_position + window_var_height/2 + 100);
1570
1571    $.each(animation_item_elements, function() {
1572      var element_var = $(this);
1573      var element_var_height = element_var.outerHeight();
1574      var element_var_top_position = element_var.offset().top;
1575      var element_var_bottom_position = (element_var_top_position + element_var_height/2 + 100);
1576
1577      //check to see if this current container is within viewport
1578      if ((element_var_bottom_position >= window_var_top_position) &&
1579          (element_var_top_position <= window_var_bottom_position)) {
1580        element_var.addClass('animate');
1581      } else {
1582        // element_var.removeClass('in-view');
1583      }
1584    });
1585    }
1586
1587    window_var.on('scroll resize', check_if_item_in_view);
1588    window_var.trigger('scroll');
1589
1590  }
1591
1592
1593});
1594  $(document).ready(function() {
1595
1596    if ( $(window).width() < 768 ) {
1597
1598      var home_sections = $('article');
1599      var home_section_id;
1600      var about_v8_section_position;
1601
1602      for (var i = 0; i < home_sections.length; i++) {
1603        home_section_id = $(home_sections[i]).find(".section-wrapper").attr("id");
1604        if (home_section_id == "aboutus_v8") {
1605          about_v8_section_position = i;
1606        }
1607      }
1608
1609      if ( (about_v8_section_position == 0) || (about_v8_section_position == 1) ) {
1610        // Turn Off animations
1611        $('html').addClass('safari-mac');
1612      }
1613    }
1614
1615  });
1616  $(document).ready(function() {
1617    
1618    var slideshow = UIkit.slideshow('[data-uk-slideshow]', {
1619      autoplay: true,
1620      height:	'100%',
1621      animation: 'swipe',
1622      duration:	500,
1623      autoplayInterval:	4000,
1624      pauseOnHover: false
1625    });
1626
1627    //play or pause slideshow functions
1628    $('.slideshow-v2-wrapper .slideshow-controls-btn').click(function () {
1629      if($(this).hasClass('playing')){
1630        slideshow.stop();
1631        $(this).removeClass('playing');
1632        $(this).addClass('paused');
1633        $(this).attr( "aria-label", "The slideshow is currently paused, play the slideshow");
1634      }else {
1635        slideshow.start();
1636        $(this).removeClass('paused');
1637        $(this).addClass('playing');
1638        $(this).attr( "aria-label", "The slideshow is currently playing, pause the slideshow");
1639      }
1640    });
1641
1642    $('.slideshow-v2-wrapper .uk-dotnav a, .slideshow-v2-wrapper a.uk-slidenav').click(function () {
1643      $('.slideshow-v2-wrapper .slideshow-controls-btn').removeClass('playing');
1644      $('.slideshow-v2-wrapper .slideshow-controls-btn').addClass('paused');
1645      $('.slideshow-v2-wrapper .slideshow-controls-btn').attr( "aria-label", "The slideshow is currently paused, play the slideshow");
1646    });
1647
1648    (function( func ) {
1649      $.fn.addClass = function() { // replace the existing function on $.fn
1650          func.apply( this, arguments ); // invoke the original function
1651          this.trigger('classChanged'); // trigger the custom event
1652          return this; // retain jQuery chainability
1653      }
1654    })($.fn.addClass); // pass the original function as an argument
1655    
1656    (function( func ) {
1657        $.fn.removeClass = function() {
1658            func.apply( this, arguments );
1659            this.trigger('classChanged');
1660            return this;
1661        }
1662    })($.fn.removeClass);
1663    $('.uk-slideshow li').each(function(index) {
1664      $(this).find('.custom-temp-btn').attr("tabindex", -1);
1665      $(this).on('classChanged', function(){
1666        if($(this).hasClass('uk-active')){
1667          $(this).find('.custom-temp-btn').attr("tabindex", 0);
1668          $(slideDot[index]).attr('aria-current', 'true');
1669        } else {
1670          $(this).find('.custom-temp-btn').attr("tabindex", -1);
1671          $(slideDot[index]).attr('aria-current', 'false');
1672        }
1673      });
1674    });
1675
1676    var slideDot = $('.slideshow-v2-wrapper .uk-dotnav li a');
1677
1678    slideDot.attr('aria-current', 'false');
1679    $(slideDot[0]).attr('aria-current', 'true');
1680
1681  });
1682
1683$(document).ready(function() {
1684
1685  if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Mac') != -1 && navigator.userAgent.indexOf('Chrome') == -1 && $(window).width() > 767) {
1686
1687    // Turn Off animations on Safari browser for Mac desktop
1688    $('html').addClass('safari-mac');
1689
1690  }
1691  else {
1692
1693    var animation_item_elements_c = $('.custom-about-us-v8-wrapper .about-us-v8-item');
1694    var window_var_c = $(window);
1695
1696    function check_if_item_in_view_c() {
1697    var window_var_c_height = window_var_c.height();
1698    var window_var_c_top_position = window_var_c.scrollTop();
1699    var window_var_c_bottom_position = (window_var_c_top_position + window_var_c_height/2 + 100);
1700
1701    $.each(animation_item_elements_c, function() {
1702      var element_var_c = $(this);
1703      var element_var_c_height = element_var_c.outerHeight();
1704      var element_var_c_top_position = element_var_c.offset().top;
1705      var element_var_c_bottom_position = (element_var_c_top_position + element_var_c_height/2 + 100);
1706
1707      //check to see if this current container is within viewport
1708      if ((element_var_c_bottom_position >= window_var_c_top_position) &&
1709          (element_var_c_top_position <= window_var_c_bottom_position)) {
1710        element_var_c.addClass('animate');
1711      } else {
1712        // element_var_c.removeClass('in-view');
1713      }
1714    });
1715    }
1716
1717    window_var_c.on('scroll resize', check_if_item_in_view_c);
1718    window_var_c.trigger('scroll');
1719
1720  }
1721
1722
1723});
1724  $(document).ready(function() {
1725
1726    if ( $(window).width() < 768 ) {
1727
1728      var home_sections_c = $('article');
1729      var home_section_c_id;
1730      var about_v8_section_c_position;
1731
1732      for (var i = 0; i < home_sections_c.length; i++) {
1733        home_section_c_id = $(home_sections_c[i]).find(".section-wrapper").attr("id");
1734        if (home_section_c_id == "aboutus_v8_custom") {
1735          about_v8_section_c_position = i;
1736        }
1737      }
1738
1739      if ( (about_v8_section_c_position == 0) || (about_v8_section_c_position == 1) ) {
1740        // Turn Off animations
1741        $('html').addClass('safari-mac');
1742      }
1743    }
1744
1745  });
1746  // init Masonry
1747   var gridGallery = $('#gallery_v4 .gallery-v4-grid').masonry({
1748     columnWidth: '.gallery-v4-grid-sizer',
1749     // do not use .grid-sizer in layout
1750     itemSelector: '.gallery-v4-grid-item',
1751     percentPosition: true,
1752     fitWidth: true
1753   });
1754
1755    gridGallery.imagesLoaded(function() {
1756      gridGallery.masonry('layout');
1757    });
1758
1759    // layout Masonry after each image loads
1760    gridGallery.imagesLoaded().progress( function() {
1761      gridGallery.masonry('layout');
1762    });
1763
1764  // Re-set gallery layout
1765    $(window).load(function() {
1766      // trigger Masonry layout
1767      gridGallery.masonry('layout');
1768    });
1769    function discontinuousGG(func){
1770      var timer;
1771      return function(event){
1772        if(timer) clearTimeout(timer);
1773        timer = setTimeout(func,200,event);
1774      };
1775    }
1776    $(window).on("resize", discontinuousGG(function() {
1777      setTimeout(() => gridGallery.masonry('layout'), 300);
1778    }));
1779
1780  $(document).ready(function() {
1781
1782    var fancyboxSlider = $('#gallery_v4 .fancybox');
1783
1784    fancyboxSlider.attr('rel', 'gallery').fancybox({
1785      beforeShow : function() {
1786      var alt = this.element.find('img').attr('alt');
1787      this.inner.find('img').attr('alt', alt);
1788      },
1789      padding : 15,
1790      margin: 20,
1791      arrows    : true,
1792      closeBtn: true,
1793      autoPlay : false,
1794      playSpeed : 3000,
1795      loop : true,
1796      openEffect :  'fade',
1797      closeEffect :  'fade',
1798      nextEffect  : 'elastic',
1799      prevEffect  : 'elastic',
1800      helpers : {
1801        overlay : {
1802          css : {
1803              'background' : 'rgba(0, 0, 0, 0.5)'
1804          },
1805          locked: false
1806        }
1807      }
1808    });
1809
1810    var galleryToggleBtn = $('.gallery-v4-wrapper .gallery-toggle');
1811    var galleryImages = $('.gallery-v4-grid-item a');
1812    var galleryToggleTextOff = 'The Photo Gallery of ' + galleryImages.length + ' images can be accessed, hide the Photo Gallery from the Screen Reader';
1813    var galleryToggleTextOn = 'The Photo Gallery of ' + galleryImages.length + ' images is hidden from the Screen Reader, access the Photo Gallery';
1814    galleryToggleBtn.attr('aria-label', galleryToggleTextOff);
1815
1816    galleryToggleBtn.on('click',function(){
1817      $(this).toggleClass('gt-off');
1818
1819      const parentElement = $(this).closest('article');
1820      const nextElement = $(parentElement).next();
1821
1822      if ($(this).hasClass('gt-off')) {
1823        $(this).attr('aria-label', galleryToggleTextOff);
1824        galleryImages.each(function() {
1825          $(this).attr('aria-hidden', 'false').attr('tabindex', '0');
1826        });
1827      } else {
1828        $(this).attr('aria-label', galleryToggleTextOn);
1829        galleryImages.each(function() {
1830          $(this).attr('aria-hidden', 'true').attr('tabindex', '-1');
1831        });
1832
1833        if (nextElement.length !== 0) {
1834          const scrollTo = $(nextElement).offset().top - 100;
1835          $('html, body').animate({ scrollTop: scrollTo }, 1000);
1836        }
1837      }
1838    });
1839
1840  });
1841    $(document).ready(function() {
1842
1843      var owlReviews = $('#reviews_v2 .owl-carousel');
1844      owlReviews.owlCarousel({
1845        onInitialized: function (property) {
1846          //check if show dots is true in config
1847          if(true){
1848            $('.reviews-v2-wrapper .owl-dot').each(function( index ) {
1849              var i = index + 1;
1850              $(this).html('<button aria-label="Review '+i+'"><span class="visuallyhidden">Review '+i+'</span></button>');
1851            });
1852          }
1853          //check if show arrows is true in config
1854          if(true && !true){
1855            reviewsHandleArrowTabbing(owlReviews);
1856          }
1857          //prevent voiceover from reading hidden content
1858          $('.reviews-v2-wrapper').find('.owl-item').attr('aria-hidden','true');
1859          $(property.target).find(".owl-item").eq(property.item.index).attr('aria-hidden','false');
1860        },
1861        margin: 0,
1862        nav: true,
1863        dots: true,
1864        dotsContainer: '#reviews_v2 .owl-dots',
1865        autoplay: true,
1866        autoplayTimeout: 6000,
1867        autoplayHoverPause: false,
1868        loop: true,
1869        navText: [ '<button aria-label="previous review">&#8249</button>', '<button aria-label="next review">&#8250</button>' ],
1870        responsive: {
1871          0: {
1872            items: 1
1873          },
1874          600: {
1875            items: 1
1876          },
1877          1000: {
1878            items: 1
1879          }
1880        }
1881      });
1882
1883      function discontinuousReviews(func){
1884        var timer;
1885        return function(event){
1886          if(timer) clearTimeout(timer);
1887          timer = setTimeout(func,200,event);
1888        };
1889      }
1890
1891      $('#reviews_v2 .owl-dot button').attr('aria-current', 'false');
1892      $('#reviews_v2 .owl-dot:first button').attr('aria-current', 'true');
1893
1894      function reviewsCarouselStop() {
1895        owlReviews.trigger('stop.owl.autoplay');
1896        owlReviews.data('owl.carousel').settings.autoplay = false;
1897        $('#reviews_v2 .carousel-control-btn').removeClass('stop-carousel');
1898        $('#reviews_v2 .carousel-control-btn').addClass('play-carousel');
1899        $('#reviews_v2 .carousel-control-btn').attr('aria-label', 'The Reviews carousel is currently paused, play the Reviews carousel');
1900      }
1901
1902      function reviewsCarouselPlay() {
1903        owlReviews.trigger('play.owl.autoplay',[1000]);
1904        owlReviews.data('owl.carousel').settings.autoplay = true;
1905        $('#reviews_v2 .carousel-control-btn').removeClass('play-carousel');
1906        $('#reviews_v2 .carousel-control-btn').addClass('stop-carousel');
1907        $('#reviews_v2 .carousel-control-btn').attr('aria-label', 'The Reviews carousel is currently playing, pause the Reviews carousel');
1908      }
1909
1910      $('#reviews_v2 .carousel-control-btn').on('click',function(){
1911        if ($(this).hasClass('stop-carousel')) {
1912          reviewsCarouselStop();
1913        } else if ($(this).hasClass('play-carousel')) {
1914          reviewsCarouselPlay();
1915        }
1916      });
1917
1918      $('#reviews_v2 .owl-dot').click(function () {
1919        owlReviews.trigger('to.owl.carousel', [$(this).index(), 300]);
1920        reviewsCarouselStop();
1921      });
1922
1923      $('#reviews_v2 .owl-nav').click(function () {
1924        reviewsCarouselStop();
1925      });
1926
1927      $(window).on("resize", discontinuousReviews(function() {
1928        if ($('#reviews_v2 .carousel-control-btn').hasClass('play-carousel')) {
1929          setTimeout(() => reviewsCarouselStop(), 500);
1930        }
1931      }));
1932
1933      $(window).on('focus', function() {
1934        if ($('#reviews_v2 .carousel-control-btn').hasClass('stop-carousel')) {
1935          owlReviews.trigger('next.owl.carousel');
1936        }
1937      });
1938
1939      //prevent voiceover from reading hidden content
1940      owlReviews.on('changed.owl.carousel',function(property){
1941        $('.reviews-v2-wrapper').find('.owl-item').attr('aria-hidden','true');
1942        $(property.target).find(".owl-item").eq(property.item.index).attr('aria-hidden','false');
1943        $(property.target).find(".owl-dot").find('button').attr('aria-current', 'false');
1944        $(property.target).find(".owl-dot").filter('.active').find('button').attr('aria-current', 'true');
1945      });
1946
1947      //check if show arrows is true in config
1948      if(true && !true){
1949        reviewsHandleArrowTabbing(owlReviews);
1950      }
1951
1952      function reviewsHandleArrowTabbing(widget){
1953        widget.on('changed.owl.carousel',function(property){
1954          //handle tabbing when previous slider button is hidden
1955          if($(property.target).find(".owl-prev").hasClass('disabled')){
1956              $(property.target).find(".owl-prev").children().attr('tabindex', -1);
1957              $(property.target).find(".owl-prev").attr('aria-hidden','true');
1958          }
1959          else {
1960              $(property.target).find(".owl-prev").children().attr('tabindex', 0);
1961              $(property.target).find(".owl-prev").attr('aria-hidden','false');
1962          }
1963          //handle tabbing when next slider button is hidden
1964          if($(property.target).find(".owl-next").hasClass('disabled')){
1965              $(property.target).find(".owl-next").children().attr('tabindex', -1);
1966              $(property.target).find(".owl-next").attr('aria-hidden','true');
1967          }
1968          else {
1969              $(property.target).find(".owl-next").children().attr('tabindex', 0);
1970              $(property.target).find(".owl-next").attr('aria-hidden','false');
1971          }
1972        });
1973      }
1974
1975      $('.reviews-v2-wrapper .owl-nav').insertBefore($('.reviews-v2-wrapper .owl-stage-outer'));
1976      $('.reviews-v2-wrapper .owl-dots').insertBefore($('.reviews-v2-wrapper .owl-nav'));
1977
1978    });iFrameResize({
1979  enablePublicMethods: true,
1980  enableInPageLinks: true
1981});
1982
1983var marker_icon = "";
1984var additionalPins = '';
1985if (additionalPins) {
1986  var locationsArray = JSON.parse('');
1987}
1988
1989var google_map_url = 'https://www.google.com/maps/place/' + ",41 East Genesee Street,Baldwinsville,NY,13027".split(' ').join('+');
1990function open_google_map() {
1991  window.open(google_map_url, '_blank')
1992}
1993
1994function discontinuous(func){
1995  var timer;
1996  return function(event){
1997    if(timer) clearTimeout(timer);
1998    timer = setTimeout(func,200,event);
1999  };
2000}
2001
2002function init_open_street_map() {
2003  if (additionalPins) {
2004    var map = L.map('map-v3-container', {
2005      minZoom: 3,
2006      zoomControl: false,
2007      zoomSnap: 1,
2008      gestureHandling: true
2009    });
2010    
2011    var allMarkers = [];
2012    
2013    var marker = L.marker([43.1592611, -76.3279867], {title: '41 East Genesee Street, Baldwinsville', alt: 'View 41 East Genesee Street, Baldwinsville on Google maps - opens in a new tab'}).addTo(map);
2014    allMarkers.push(marker);
2015
2016    marker.on('click keypress', open_google_map);
2017
2018    locationsArray.forEach(function(element, index) {
2019      var additionalMarker = L.marker([element.lat_coords, element.lng_coords], {title: element.pin_title, alt: 'View ' + element.pin_title + ' on Google maps - opens in a new tab'}).addTo(map);
2020  
2021      additionalMarker.on('click keypress', function() {
2022        window.open(element.pin_link, '_blank');
2023      });
2024  
2025      allMarkers.push(additionalMarker);
2026  
2027    });
2028    
2029    function fitBoundsToMarkers(osmap, markers) {
2030      osmap.invalidateSize();
2031      var group = new L.featureGroup(markers);
2032      osmap.fitBounds(group.getBounds(), {padding: [50, 50]});
2033    }
2034  
2035    fitBoundsToMarkers(map, allMarkers);
2036  
2037    document.querySelector('.reset-zoom-btn').addEventListener('click', function () {
2038      fitBoundsToMarkers(map, allMarkers);
2039    });
2040
2041    window.addEventListener("resize", discontinuous(function(e) {
2042      fitBoundsToMarkers(map, allMarkers);
2043    }));
2044  } else {
2045    var map = L.map('map-v3-container', {
2046      center: [ 43.1592611, -76.3279867],
2047      zoom: 16,
2048      dragging: false,
2049      minZoom: 3,
2050      zoomControl: false,
2051    });
2052
2053    var marker = L.marker([43.1592611, -76.3279867], {title: '41 East Genesee Street, Baldwinsville', alt: 'View 41 East Genesee Street, Baldwinsville on Google maps - opens in a new tab'}).addTo(map);
2054
2055    marker.on('click keypress', open_google_map);
2056
2057    map.scrollWheelZoom.disable();
2058  }
2059
2060  if (marker_icon.length>0){
2061    var myIcon = L.icon({
2062      iconUrl: marker_icon,
2063      iconSize: [35,35]
2064    });
2065
2066    if(allMarkers) {
2067      allMarkers.forEach(marker => {
2068        marker.setIcon(myIcon);
2069        marker.update();
2070      });
2071    } else {
2072      marker.setIcon(myIcon);
2073      marker.update();
2074    }
2075  }
2076
2077  L.tileLayer.provider('OpenStreetMap.Mapnik').addTo(map);
2078  L.control.zoom({
2079    position:'bottomleft'
2080  }).addTo(map);
2081
2082  $('.openstreetmap-v3-wrapper #map-v3-container').removeAttr('tabindex');
2083  $('.leaflet-touch .leaflet-bar a').attr('tabindex', '-1');
2084  $('.leaflet-container .leaflet-marker-pane img').attr('role', 'link');
2085}
2086
2087$(document).ready(function() {
2088  init_open_street_map();
2089});
2090$("#contact_us_v3_section_phone_link").on("click", function(){
2091    if (ga_check())
2092        universal_ga('send', 'event', 'Button', 'Click', 'Phone');
2093});
2094    setTimeout(function(){
2095        $('.navbar-fixed-bottom.nav-v1').addClass('show-bottom-nav'); triggerShowFooterEvents();
2096    }, 4000);
2097
2098    var navigation_alpha_starts_from = 0;
2099    var navigation_background_color = "rgba(0, 0, 0,";
2100    var navigation_darkens_on_scroll = "1";
2101    var top_nav_new_style = !navigation_darkens_on_scroll && ($(window).width() > 767);
2102    var custom_nav_style = "1";
2103    if(!custom_nav_style){
2104      $('.navbar-regular').css('background-color', 'rgba(255, 255, 255,' + navigation_alpha_starts_from + ')');
2105      $('.navbar-inverse').css('background-color', navigation_background_color + (top_nav_new_style ? 0 : navigation_alpha_starts_from) + ')');
2106    }
2107
2108    if (navigation_darkens_on_scroll && !custom_nav_style) {
2109        $(document).on('scroll', function (e) {
2110            var alpha = navigation_alpha_starts_from + $(document).scrollTop() / 1950;
2111            $('.navbar-inverse').css('background-color', navigation_background_color + alpha + ')');
2112            $('.navbar-regular').css('background-color', 'rgba(255, 255, 255,' + alpha + ')');
2113        });
2114    }
2115
2116    if (!navigation_darkens_on_scroll && !custom_nav_style) {
2117        $(window).resize(function() {
2118            if ($(window).width() > 767)
2119                $('.navbar-inverse').css('background-color', navigation_background_color + 0 + ')');
2120            else
2121                $('.navbar-inverse').css('background-color', navigation_background_color + navigation_alpha_starts_from + ')');
2122        });
2123    }
2124
2125</script>
2125<script type="text/javascript">
2126    function openPopUp() {
2127
2128      document.touchmove = function (e) {
2129        e.preventDefault();
2130      };
2131      $(function () {
2132        $('body').css('overflow', 'hidden');
2133
2134        $('#CustomModal').modal({
2135          show: true
2136        });
2137        
2138        $(document).on('shown.bs.modal', '.modal', function () {
2139          //handle reader focus
2140          focusModal();
2141        });
2142        $(document).on("hidden.bs.modal", ".modal", function (event, ui) {
2143          //handle reader focus
2144          focusNavbar();
2145          $('body').css('overflow', '');
2146          document.touchmove = function () {};
2147        });
2148      });
2149    }
2150
2151    function focusModal() {
2152      $('.modal-dialog')
2153        .css('outline', 'none')
2154        .attr('tabindex', '-1')
2155        .focus();
2156    }
2157
2158    function focusNavbar(){
2159      //handle which header exists
2160      if($(".navbar")){
2161        var element = $(".navbar");
2162      }else{
2163        var element = $(".navbar-normal");
2164      }
2165      element.css('outline', 'none')
2166              .attr('tabindex', '-1')
2167              .focus();
2168    }
2169
2170    var showPopupPerSession = false;
2171    // Check if popup is set to show once per session
2172    if (!showPopupPerSession || (showPopupPerSession && !sessionStorage.getItem("newsletter_popup_shown"))) {
2173      var t = setTimeout(openPopUp, 10000);
2174      sessionStorage.setItem("newsletter_popup_shown", "yes");
2175    }
2176
2177  </script>
2177<script>
2178    var animate_sections = ["banner","aboutus_v2","gallery_v3","aboutus_v7"];
2179
2180    for (var i = 0; i < animate_sections.length; i++) {
2181      $('#'+animate_sections[i]).addClass('animation-element');
2182    }
2183
2184    var $animation_elements = $('.animation-element');
2185    var $window = $(window);
2186
2187    function check_if_in_view() {
2188    var window_height = $window.height();
2189    var window_top_position = $window.scrollTop();
2190    var window_bottom_position = (window_top_position + window_height/2);
2191
2192    $.each($animation_elements, function() {
2193      var $element = $(this);
2194      var element_height = $element.outerHeight();
2195      var element_top_position = $element.offset().top;
2196      var element_bottom_position = (element_top_position + element_height/2);
2197
2198      //check to see if this current container is within viewport
2199      if ((element_bottom_position >= window_top_position) &&
2200          (element_top_position <= window_bottom_position)) {
2201        $element.addClass('animate');
2202      } else {
2203        // $element.removeClass('in-view');
2204      }
2205    });
2206    }
2207
2208    $window.on('scroll resize', check_if_in_view);
2209    $window.trigger('scroll');
2210  </script>
2210<script>
2211$(function () {
2212  //If Newsletter widget (popup or section) is on
2213  if ($('.newsletter-popup').length || $('.map-newsletter').length || $('.newsletter-section').length) {
2214    //Inject html needed for ADA
2215    var waitSPHWidget = setInterval(function(){
2216      if ($('.sph-email-input').length) {
2217        //
2218        $('.sph-loading-img img').attr('alt', 'Newsletter Loader icon');
2219        clearInterval(waitSPHWidget)
2220      }
2221    }, 300);
2222  }
2223});
2224</script>
2224<script>
2225// Functions needed for Newsletter (sh widget) subscription submit (case when texting is Off in SH)
2226function isEmail(email) {
2227  var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
2228  return regex.test(email);
2229}
2230function submitEmail(input_id) {
2231  var shp_email_to_subscribe = $("#sph-newsletter-input-" + input_id);
2232  if (!isEmail(shp_email_to_subscribe.val())) {
2233    alert('Please enter valid email address');
2234    return;
2235  }
2236  var sph_email_form_div = $(".sph-email-form");
2237  var sph_loading_img = $(".sph-loading-img");
2238  var sph_response_message_div = $(".sph-response-message");
2239  var sph_submit_label = $(".sph-submit-label");
2240  sph_submit_label.hide();
2241  sph_loading_img.show();
2242  var request = $.ajax({
2243    method: "POST",
2244    url: "https://www.spothopperapp.com/api/spots/504321/contacts/add",
2245    crossDomain: true,
2246    dataType: 'json',
2247    data: { email: shp_email_to_subscribe.val() },
2248    success: function (data) {
2249      sph_response_message_div.html(data);
2250      sph_email_form_div.hide();
2251      sph_response_message_div.show();
2252    },
2253    error: function (data) {
2254      sph_response_message_div.html("Something went wrong. Please try again later.");
2255      sph_email_form_div.hide();
2256      sph_response_message_div.show();
2257    }
2258  });
2259}
2260</script>
2260<script>(function() {
2261    const MODAL_ID = 'promotion-pop-up';
2262    const SESSION_KEY = 'promotion-pop-up-container-ids';
2263    const PADDING = 70;
2264    const RESIZE_DEBOUNCE_MS = 150;
2265    const INITIAL_DELAY = typeof promotion_pop_up_initial_delay === 'undefined' ?
2266        2000 :
2267        promotion_pop_up_initial_delay;
2268
2269    const POP_UP_PRIORITY = ["holiday_party"];
2270    const _norm = s => (s || "").toString().trim().toLowerCase();
2271    const PRIORITY_RANK = new Map(POP_UP_PRIORITY.map((n, i) => [_norm(n), i]));
2272
2273    function displayPromotionPopUp() {
2274        const items = document.getElementsByClassName('promotion_pop_up_content');
2275
2276        // Track shown IDs as a Set (no dups, fast lookups)
2277        const shownIds = new Set(
2278        (sessionStorage.getItem(SESSION_KEY) || '')
2279            .split(',')
2280            .map(s => s.trim())
2281            .filter(Boolean)
2282        );
2283
2284        // Hide all; collect items not shown this session
2285        const availableItems = [];
2286        Array.prototype.forEach.call(items, item => {
2287            item.style.display = 'none';
2288
2289            // --- Exclusion logic ---
2290            // Block popups whose non-custom CTA link is a phone number (tel:)
2291            const isCustomLink = item.getAttribute("data-is-custom-link") ?? "false";
2292            const linkUrl = item.getAttribute("data-link-url") || "";
2293
2294            const excludeItem =
2295                isCustomLink === "false" &&
2296                linkUrl.trim().toLowerCase().startsWith("tel");
2297
2298            if (excludeItem) {
2299                return; // Skip this popup entirely
2300            }
2301
2302            if (!shownIds.has(item.id)) {
2303                availableItems.push(item);
2304            }
2305        });
2306
2307        if (availableItems.length === 0) return false;
2308
2309        // --- Priority logic ---
2310        const norm = s => (s || '').toString().trim().toLowerCase();
2311        const prioritySource = Array.isArray(POP_UP_PRIORITY)
2312            ? POP_UP_PRIORITY
2313            : Array.isArray(window.pop_up_priority)
2314                ? window.pop_up_priority
2315                : [];
2316        const rank = new Map(prioritySource.map((name, i) => [norm(name), i]));
2317
2318        const records = availableItems.map(el => {
2319            const internal = norm(el.getAttribute('data-internalname'));
2320            const priority = rank.has(internal) ? rank.get(internal) : Infinity;
2321            return { el, priority };
2322        });
2323
2324        let selectedItem;
2325        const minPriority = Math.min(...records.map(r => r.priority));
2326
2327        if (isFinite(minPriority)) {
2328            // Randomize within the highest-priority bucket only
2329            const topBucket = records.filter(r => r.priority === minPriority);
2330            const pick = topBucket[Math.floor(Math.random() * topBucket.length)];
2331            selectedItem = pick.el;
2332        } else {
2333            // Pure random among all available when no priorities match
2334            selectedItem = availableItems[Math.floor(Math.random() * availableItems.length)];
2335        }
2336
2337        // Show popup
2338        selectedItem.style.display = 'block';
2339
2340        // Analytics + persist shown id (unless preview param present)
2341        if (window.location.search.indexOf('spot_promotion_channel_id=') === -1) {
2342            shownIds.add(selectedItem.id);
2343            do_promotion_analytics(
2344                selectedItem.getAttribute('data-internalname'),
2345                selectedItem.id,
2346                selectedItem.getAttribute('data-link-url'),
2347                selectedItem.getAttribute('data-has-image'),
2348                selectedItem.getAttribute('data-is-template-image-and-button')
2349            );
2350        }
2351
2352        sessionStorage.setItem(SESSION_KEY, Array.from(shownIds).join(','));
2353        return true;
2354    }
2355
2356    function preloadImages(container, callback) {
2357        const images = container.querySelectorAll('img');
2358        if (images.length === 0) return callback();
2359
2360        let loaded = 0;
2361        Array.prototype.forEach.call(images, function(img) {
2362            if (img.complete) {
2363                if (++loaded === images.length) callback();
2364            } else {
2365                img.addEventListener('load', check);
2366                img.addEventListener('error', check);
2367            }
2368
2369            function check() {
2370                if (++loaded === images.length) callback();
2371            }
2372        });
2373    }
2374
2375    function centerModal() {
2376        const modal = document.getElementById(MODAL_ID);
2377        const dialog = modal.querySelector('.promotion-pop-up .modal-dialog');
2378        if (!dialog) return;
2379
2380        modal.style.display = 'block';
2381        modal.style.visibility = 'hidden';
2382
2383        const height = dialog.offsetHeight;
2384        const winHeight = window.innerHeight;
2385        const top = Math.max(0, (winHeight - height) / 2);
2386        dialog.style.top = `${top}px`;
2387
2388        modal.style.visibility = '';
2389    }
2390
2391    function centerModalVisible() {
2392        const modal = document.getElementById(MODAL_ID);
2393        const dialog = modal.querySelector('.promotion-pop-up .modal-dialog');
2394        if (!dialog) return;
2395
2396        const height = dialog.offsetHeight;
2397        const winHeight = window.innerHeight;
2398        const top = Math.max(0, (winHeight - height) / 2);
2399        dialog.style.top = `${top}px`;
2400    }
2401
2402    function lockScroll() {
2403        document.body.style.overflow = 'hidden';
2404        document.ontouchmove = function(e) {
2405            e.preventDefault();
2406        };
2407    }
2408
2409    function unlockScroll() {
2410        document.body.style.overflow = '';
2411        document.ontouchmove = null;
2412    }
2413
2414    function setupModalLayout(modalId) {
2415        const modal = document.getElementById(modalId);
2416        const content = modal?.querySelector('.promotion_pop_up_content[style*="display: block"]');
2417        if (!content) return;
2418
2419        const header = content.querySelector('.modal-header');
2420        const footer = content.querySelector('.modal-footer');
2421        const body = content.querySelector('.modal-body');
2422        if (!body) return;
2423
2424        const windowHeight = window.innerHeight;
2425        const headerHeight = header?.offsetHeight || 0;
2426        const footerHeight = footer?.offsetHeight || 0;
2427        const maxBodyHeight = windowHeight - headerHeight - footerHeight - PADDING;
2428
2429        body.style.maxHeight = `${maxBodyHeight}px`;
2430        body.style.overflowY = 'auto';
2431
2432        centerModalVisible();
2433    }
2434
2435    function prepareModalForDisplay(modalId) {
2436        const modal = document.getElementById(modalId);
2437        const visibleContent = modal?.querySelector('.promotion_pop_up_content[style*="display: block"]');
2438        if (!visibleContent) return;
2439
2440        modal.style.display = 'block';
2441        modal.style.visibility = 'hidden';
2442
2443        preloadImages(visibleContent, function() {
2444            const header = visibleContent.querySelector('.modal-header');
2445            const footer = visibleContent.querySelector('.modal-footer');
2446            const body = visibleContent.querySelector('.modal-body');
2447
2448            if (body) {
2449                const windowHeight = window.innerHeight;
2450                const headerHeight = header?.offsetHeight || 0;
2451                const footerHeight = footer?.offsetHeight || 0;
2452                const maxBodyHeight = windowHeight - headerHeight - footerHeight - PADDING;
2453
2454                body.style.maxHeight = `${maxBodyHeight}px`;
2455                body.style.overflowY = 'auto';
2456            }
2457
2458            centerModal();
2459            modal.style.visibility = '';
2460            lockScroll();
2461
2462            $('#' + modalId).modal({
2463                show: true,
2464                focus: true,
2465                backdrop: true
2466            });
2467        });
2468    }
2469
2470    // === Main Timer Logic ===
2471    setTimeout(function() {
2472        if (displayPromotionPopUp()) {
2473            if (typeof t !== 'undefined') {
2474                clearTimeout(t);
2475            }
2476
2477            const timeoutDuration = INITIAL_DELAY > 500 ? INITIAL_DELAY - 500 : 0;
2478
2479            setTimeout(function() {
2480                prepareModalForDisplay(MODAL_ID);
2481            }, timeoutDuration);
2482        }
2483    }, 500);
2484
2485    // === Cleanup on modal close ===
2486    $(document).on('hidden.bs.modal', `#${MODAL_ID}`, function() {
2487        unlockScroll();
2488    });
2489
2490    // === Responsive layout recalculation ===
2491    let resizeTimeout;
2492    window.addEventListener('resize', function() {
2493        clearTimeout(resizeTimeout);
2494        resizeTimeout = setTimeout(function() {
2495            const modal = document.getElementById(MODAL_ID);
2496            if (modal && $(modal).hasClass('in')) {
2497                void modal.offsetHeight;
2498                setupModalLayout(MODAL_ID);
2499            }
2500        }, RESIZE_DEBOUNCE_MS);
2501    });
2502
2503    // === Embedded analytics helpers ===
2504    function obtain_analytics_function() {
2505        if (typeof sph_widgets_ga === 'function') return sph_widgets_ga;
2506        if (typeof ga === 'function') return ga;
2507        if (typeof gtag === 'function') return gtag;
2508        return null;
2509    }
2510
2511    function do_promotion_analytics(eventLabel, spot_promotion_channel_id, data_link_url, hasImage, is_template_image_and_button) {
2512        analytics = obtain_analytics_function();
2513        if (!analytics) return null;
2514
2515        var pop_up_template = (is_template_image_and_button == 'true' ? 'text,image&button' : 'text&button');
2516        var image_enabled_disabled = (hasImage ? 'image_enabled' : 'image_disabled');
2517        var additional_info = (is_template_image_and_button == 'true' ? '|' + image_enabled_disabled : '');
2518
2519        universal_ga('send', 'event', 'Pop Up Promotion', 'View', eventLabel + '|||' + data_link_url + '|' + pop_up_template + additional_info);
2520
2521        // universal_ga('send', 'event', 'Pop Up Promotion', 'View', eventLabel);
2522        if (typeof $ === 'function') {
2523            $(".promotion_pop_up_content a").on("click", function(event) {
2524                universal_ga('send', 'event', {
2525                    eventCategory: 'Pop Up Promotion Button',
2526                    eventAction: 'Click',
2527                    eventLabel: eventLabel + '|||' + event.target.href + '|' + pop_up_template + additional_info,
2528                    transport: 'beacon'
2529                });
2530                $("#promotion-pop-up").modal('hide');
2531                return true;
2532            });
2533        }
2534    }
2535
2536})();</script>
2536<script>// ALL_PAGES_COMPONENT
2537var smart_footer_active = 'true' == 'true';
2538var smart_footer_version = '2';
2539
2540</script>
2540<footer id="accessibility-footer"><p>We strive to make our website accessible to everybody. <a aria-label="Learn More About our website accessibility" class="accessibility-link" href="/accessibility-page-01" target="_self">Learn More.</a></p></footer>
2540<script>
2541(function() {
2542  var name = "Sal's Pizza & Restaurant";
2543  var pid = "ChIJ5TH48ffk2YkRAs1tccbiYJE";
2544  function build_url() {
2545    var q = encodeURIComponent(name).replace(/'/g, "%27");
2546    return "https://www.google.com/maps/search/?api=1"
2547         + "&query=" + q
2548         + "&query_place_id=" + encodeURIComponent(pid);
2549  }
2550  window.google_map_url = build_url();
2551  window.open_google_map = function() {
2552    window.open(build_url(), "_blank");
2553  };
2554})();
2555</script>
2555<script>
2556
2557  var spot_id = 504321;
2558  var sh_generic_form_params=JSON.parse('{"generic_contact_form_active":true,"texting_permissions_active":true,"title":"Contact us","instructions":"Please fill out the form and we will be in touch.","reasons":["To host a special event","To get a special event catered","To reserve a table","To apply for a job","Other Questions"],"custom_hours":"","hours":"","active_tmt_cta_links":{"cta_private_party":"https://salspizzabville.com/-party","cta_catering":"https://salspizzabville.com/-catering","cta_reservations":"https://salspizzabville.com/-reservations","cta_jobs":"https://tmt.spotapps.co/job-listings?spot_id=504321"},"spot_name":"Sal’s Pizza \u0026 Restaurant","label_for_texting_permission":"I’d like to get texts about specials, events, and other exclusive offers and announcements not available to general public"}');
2559
2560  if (false){
2561    console.log("Check SpotHopper configuration. Probably there is no 'WEBSITE::DOMAIN_NAME' key for your website");
2562  }
2563
2564  if (navigator.userAgent.match(/iPhone/i)
2565       || navigator.userAgent.match(/iPad/i)
2566       || navigator.userAgent.match(/iPod/i)){
2567      $(document).ready(function(){
2568            document.body.className += " " + "webkit-mobile-body";
2569      });
2570    }
2571
2572  var promotion_url_param_domain = getPromotionUrlParams()['domain'];
2573  if ( promotion_url_param_domain && ( new URL(document.location).host == 'localhost:4000' || new URL(document.location).host == 'wcache.spotapps.co' ||  new URL(document.location).host == 'website-editor.spotapps.co' || new URL(document.location).host == 'website-editor-staging.spotapps.co' || new URL(document.location).host == 'wcache-staging.spotapps.co')){
2574    $("a[href^='/']").each(function(){
2575      if (this.href.indexOf('domain=') == -1){
2576        var sh_internal_url = new URL(this.href);
2577        sh_internal_url.searchParams.set("domain", promotion_url_param_domain);
2578        this.href = sh_internal_url.toString();
2579      }
2580    })
2581  }
2582
2583
2584  function cta_link_matches_href(href, url){
2585    var domain = 'salspizzabville.com';
2586    if(typeof url === 'undefined'){
2587      return false;
2588    }
2589    var partsOfURL = url.split(domain);
2590    if (partsOfURL.length != 2){
2591      return href == url;
2592    }else{
2593      var urlPath = partsOfURL[1];
2594      if (urlPath.substring(0,1) == "/"){
2595        urlPath = urlPath.substring(1,urlPath.length);
2596      }
2597      return href.indexOf(urlPath, domain.length + href.indexOf(domain)-1) !== -1;
2598    }
2599  }
2600
2601  var all_cta_links = [{"id":1592996,"spot_id":504321,"url":"https://salspizzabville.com/-reservations","cta_link_type":"reservations","created_at":"2025-09-23T17:22:07.122+00:00","updated_at":"2026-07-07T13:43:25.250+00:00","made_of_food":false,"link_name":"Reservations","target":null,"website_footer_label":"Reserve","position":1},{"id":1592995,"spot_id":504321,"url":"https://tmt.spotapps.co/job-listings?spot_id=504321","cta_link_type":"job_listing","created_at":"2025-09-23T17:22:07.036+00:00","updated_at":"2026-07-07T13:43:25.341+00:00","made_of_food":false,"link_name":"Job Listing","target":null,"website_footer_label":"Jobs","position":2},{"id":2016422,"spot_id":504321,"url":"https://salspizzabville.com/food-menu","cta_link_type":"food_menu","created_at":"2026-07-07T13:43:17.727+00:00","updated_at":"2026-07-07T13:43:25.212+00:00","made_of_food":false,"link_name":"","position":null},{"id":1658579,"spot_id":504321,"url":"https://order.toasttab.com/online/sals-pizza-and-restaurant-41-e-genesee-st","cta_link_type":"order","created_at":"2025-11-11T16:06:29.736+00:00","updated_at":"2026-07-07T13:43:25.383+00:00","made_of_food":false,"link_name":"Order","target":null,"website_footer_label":"Order\u003cspan class=\"visuallyhidden\"\u003e, you are leaving the website, opens in a new tab\u003c/span\u003e","position":0},{"id":1592994,"spot_id":504321,"url":"https://salspizzabville.com/-party","cta_link_type":"private_parties","created_at":"2025-09-23T17:22:06.976+00:00","updated_at":"2026-07-07T13:43:25.074+00:00","made_of_food":false,"link_name":"Private Parties","target":null,"website_footer_label":"Parties","position":3},{"id":2016421,"spot_id":504321,"url":"https://salspizzabville.com/drink-menu","cta_link_type":"drink_menu","created_at":"2026-07-07T13:43:17.704+00:00","updated_at":"2026-07-07T13:43:25.175+00:00","made_of_food":false,"link_name":"","position":null},{"id":1592993,"spot_id":504321,"url":"https://salspizzabville.com/-catering","cta_link_type":"catering","created_at":"2025-09-23T17:22:06.890+00:00","updated_at":"2026-07-07T13:43:25.297+00:00","made_of_food":false,"link_name":"Catering","target":null,"website_footer_label":"Catering","position":4}];
2602
2603  function find_cta_link(href) {
2604    for (var i=0; i< all_cta_links.length; i++){
2605      var cta_link = all_cta_links[i];
2606      if ( cta_link_matches_href(href, cta_link.url)){
2607        return cta_link;
2608      }
2609    }
2610  }
2611
2612  function find_cta_links(href) {
2613    var cta_links = []
2614    for (var i=0; i< all_cta_links.length; i++){
2615      var cta_link = all_cta_links[i];
2616      if ( cta_link_matches_href(href, cta_link.url)){
2617        cta_links.push(cta_link);
2618      }
2619    }
2620    return cta_links;
2621  }
2622
2623
2624  function get_current_page_cta_link_types(){
2625    var types = [];
2626    var cta_links = find_cta_links(document.location.href);
2627    for (var i=0; i<cta_links.length; i++){
2628      types.push(cta_links[i].cta_link_type);
2629    }
2630    return types;
2631  }
2632
2633
2634  function is_food_menu_page(){
2635    var cta_link_types = get_current_page_cta_link_types();
2636    for (var i=0; i<cta_link_types.length; i++){
2637      if ('food_menu' == cta_link_types[i])
2638        return true;
2639    }
2640    return false;
2641  }
2642
2643
2644  function get_form_cat_from_cta(){
2645    var cta_link = find_cta_link(document.location.href);
2646    if (cta_link == null) {
2647        return null;
2648    }
2649    if (cta_link.cta_link_type == 'private_parties'){
2650        return 'private_party';
2651    }else if (cta_link.cta_link_type == 'reservations'){
2652        return 'reservation';
2653    }else if (cta_link.cta_link_type == 'catering'){
2654        return 'catering';
2655    }else if (cta_link.cta_link_type == 'job_listing'){
2656        return 'job_listings';
2657    }else if (cta_link.cta_link_type == 'gift_cards'){
2658          return 'gift_cards';
2659    }
2660    return null;
2661  }
2662
2663  function element_has_events_defined(elem){
2664    if ($._data(elem, "events") === undefined){
2665      return false;
2666    }
2667    return true;
2668  }
2669
2670  function create_ga_events_for_cta_clicks(){
2671    if (typeof $ === 'function'){
2672
2673      var cta_link_of_the_page = find_cta_link(location.href);
2674
2675
2676      $("a").each(function(index, elem){
2677        var href = $(elem).attr('href');
2678
2679        if (href  === undefined ){
2680           return;
2681        }
2682
2683        if (href.substring(0,4) == 'tel:'){
2684          if (!element_has_events_defined(elem)){  // not footer links
2685            $(elem).on("click", function(){
2686                universal_ga('send', 'event', {
2687                  eventCategory: 'Button',
2688                  eventAction: 'Click',
2689                  eventLabel: 'Phone',
2690                  transport: 'beacon'
2691                });
2692             });
2693
2694             if (cta_link_of_the_page){
2695                $(elem).on("click", function(){
2696                    universal_ga('send', 'event', {
2697                      eventCategory: 'Button',
2698                      eventAction: 'Click',
2699                      eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone',
2700                      transport: 'beacon'
2701                    });
2702                 });
2703             }
2704          } else {
2705             if (cta_link_of_the_page){
2706               $(elem).on("click", function(){
2707                   universal_ga('send', 'event', {
2708                        eventCategory: 'Button',
2709                        eventAction: 'Click',
2710                        eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone footer',
2711                        transport: 'beacon'
2712                   });
2713               });
2714             }
2715          }
2716
2717
2718        }else{
2719          var cta_link = find_cta_link(href);
2720          if (elem.className != null && elem.className.indexOf("bottom-link") > -1){
2721            // console.log("bottom link detected");
2722          }else{
2723            if (cta_link != null){
2724              $(elem).on("click", function(){
2725                universal_ga('send', 'event', {
2726                        eventCategory: 'Website Link',
2727                        eventAction: 'Click',
2728                        eventLabel: cta_link.cta_link_type,
2729                        transport: 'beacon'
2730                  });
2731              });
2732            }
2733          }
2734        }
2735
2736
2737      });
2738    }
2739  }
2740
2741  if (typeof angular === "undefined") {
2742    create_ga_events_for_cta_clicks();
2743  } else {
2744    angular.element(document).ready(function () {
2745      create_ga_events_for_cta_clicks();
2746    });
2747  }
2748
2749
2750  function triggerShowFooterEvents(){
2751    if (window.screen.availWidth < 768){
2752        universal_ga('send', 'event', {
2753                eventCategory: 'Mobile Footer',
2754                eventAction: 'View',
2755                eventLabel: '',
2756                transport: 'beacon'
2757          });
2758    }
2759  }
2760
2761
2762
2763
2764  ////////////
2765  function smartFooterV2()
2766  {
2767    var list= document.getElementsByClassName("bottom-list-item");
2768    if (!list) return;
2769
2770    if (document.getElementById("bottom-navbar") == null){
2771      return;
2772    }
2773
2774    var bottomNav = document.querySelector('#bottom-navbar .navbar-nav');
2775    var footerLinkPaddingLeft = $('#bottom-navbar .navbar-nav li a').css('padding-left');
2776    var footerLinkPaddingRight = $('#bottom-navbar .navbar-nav li a').css('padding-right');
2777
2778    bottomNav.innerHTML = '';
2779    var linksWithPosition = all_cta_links.filter(e => e.position != null && e.position >= 0);
2780    linksWithPosition.sort(function(a,b) {
2781      return a.position - b.position;
2782    });
2783
2784    var footerLinkStyle = (footerLinkPaddingLeft == '0px' || footerLinkPaddingRight == '0px' ? 'style="padding-left: 8px; padding-right: 8px;"' : '');
2785
2786    linksWithPosition.forEach((e, i) => {
2787        var target = e.target || getUrlTarget(e.url);
2788        bottomNav.insertAdjacentHTML('beforeend',
2789        `<li class="bottom-list-item" style="white-space: nowrap;width: auto;"><a ${footerLinkStyle} class="bottom-link smart-footer-link" data-type="${e.cta_link_type}" data-position="${i}" target="${target}" href="${e.url}">${e.website_footer_label}</a></li>`);
2790    })
2791
2792    var intervalCount = 0
2793    var interval = setInterval(() => {
2794      if(intervalCount == 50){
2795        clearInterval(interval);
2796      }
2797      removeOverflowingFooterLinks();
2798      intervalCount ++;
2799    }, 200);
2800
2801    $('.smart-footer-link').on("click", function(){
2802          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
2803                    shUrlParams['source'] = 'footer';
2804                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
2805          }
2806
2807          var visibleLinks = $('.smart-footer-link').map(function (e) {
2808              return $(this).data('type');
2809          }).toArray().join(',');
2810
2811          universal_ga('send', 'event', {
2812                  eventCategory: 'Button',
2813                  eventAction: 'Click_footer_2',
2814                  eventLabel: "type:" + $(this).data('type') + "|position:" + $(this).data('position') + "|visible:" + visibleLinks,
2815                  transport: 'beacon'
2816            });
2817    });
2818  }
2819
2820  function removeOverflowingFooterLinks(){
2821    var bottomNavLinks = document.querySelectorAll('#bottom-navbar .navbar-nav li');
2822    var width_sum = 0;
2823
2824    bottomNavLinks.forEach(e => {
2825      width_sum += e.getBoundingClientRect().width;
2826      if ((width_sum) > window.innerWidth) {
2827        console.log(`%cLink %c${e.textContent} %cdeleted couldn't fit screen`,"color: #fff;background: #202124;", "background: red;color: #fff", "color: #fff;background: #202124;");
2828        e.remove();
2829      }
2830    });
2831  }
2832
2833  function getUrlTarget(url){
2834    if(url.startsWith('tel')){
2835      return '_self';
2836    }
2837    if(url.startsWith('/') || url.includes('tmt.spotapps.co') || url.includes(window.location.host)){
2838      return '_self';
2839    }
2840    return '_blank';
2841  }
2842
2843  function npb()
2844    {
2845    	var list= document.getElementsByClassName("bottom-list-item");
2846    	if (!list) return;
2847
2848      if (document.getElementById("bottom-navbar") == null){
2849        return;
2850      }
2851
2852      var url = ""
2853    	for (var i=0; i < all_cta_links.length; i++)
2854    	{
2855    		if (all_cta_links[i].cta_link_type == "order"){
2856          url = all_cta_links[i].url;
2857        }
2858    	}
2859
2860    	if ( url == ""){
2861        return;
2862      }
2863
2864    	for (i=0; i < list.length; i++)
2865    	{
2866    		console.log(cta_link_matches_href(list[i].firstChild.href, url));
2867    		if (cta_link_matches_href(list[i].firstChild.href,url))  return;
2868
2869    	};
2870
2871    	var item = list[list.length-1]
2872    	document.getElementById("bottom-navbar").getElementsByClassName("nav navbar-nav")[0].appendChild(item.cloneNode(true));
2873    	var width_sum = 0;
2874    	for (i=0; i < list.length; i++) {
2875    		width_sum += list[i].getBoundingClientRect().width;
2876    	}
2877
2878    	var item = list[list.length-1]
2879    	if ((width_sum - 10) > window.innerWidth) { item.parentNode.removeChild(item); console.log("link deleted couldn't fit screen"); return; }
2880
2881    	item.firstChild.text = "Order";
2882    	item.firstChild.href = url;
2883    	item.firstChild.id = "bottom_link_" + list.length;
2884
2885      $(item.firstChild).on("click", function(){
2886
2887          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
2888                    shUrlParams['source'] = 'footer';
2889                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
2890                  }
2891
2892          universal_ga('send', 'event', {
2893                  eventCategory: 'Button',
2894                  eventAction: 'Click',
2895                  eventLabel: 'Plan B-2 Order',
2896                  transport: 'beacon'
2897            });
2898      });
2899
2900
2901    }
2902
2903function activateSmartFooter(){
2904    var smart_footer_active = true;
2905    var smart_footer_version = 2;
2906    var man_bottom_active = false;
2907    if(window.location.hash == '#smartFooterV2=enabled'){
2908      smartFooterV2();
2909      return;
2910    }
2911    if (smart_footer_active && !man_bottom_active){
2912      if(smart_footer_version == 2 ){
2913          smartFooterV2();
2914       }else {
2915          npb();
2916       }
2917    }
2918  }
2919
2920  activateSmartFooter();
2921
2922  var corona_config_str = '{"id":612712,"spot_id":504321,"promote_pick_up":true,"promote_gift_cards":true,"promote_happy_hour":true,"promote_events":true,"instructions_on_food_page":false,"food_page_instruction_text":null,"food_page_instruction_phone":"3156388505","created_at":"2025-09-23T16:51:51.978+00:00","updated_at":"2025-11-10T18:35:36.496+00:00","food_page_button_color":null,"food_page_button_text_color":null,"food_page_link_color":null,"food_page_text_color":null,"wine_and_beer_to_go_license":false,"all_alcoholic_to_go_lincense":false,"current_operating_status":"Offering To Go and Dine-in with Full Capacity","contact_tracing_active":false,"contact_tracing_text":"In cooperation with health guidelines for contact tracing, please fill out the form below.","contact_tracing_address_required":false,"collapse_all":false,"deliveries_priority_value":5,"pick_ups_priority_value":5,"reservations_priority_value":5,"private_parties_priority_value":5,"catering_priority_value":5,"gift_cards_priority_value":3,"jobs_priority_value":5,"food_and_drinks_priority_value":3,"specials_priority_value":3,"national_days_priority_value":3,"holidays_priority_value":3,"sports_priority_value":3,"walk_ins_priority_value":3,"collecting_emails_priority_value":3,"collecting_phone_numbers_priority_value":3,"growing_social_media_followers_priority_value":3,"increasing_revenue_vs_saving_time_priority_value":3,"events_priority_value":3,"shopping_cart_type":"TMT","shopping_cart_active":false}';
2923  var corona_config =  corona_config_str != '' ?  JSON.parse('{"id":612712,"spot_id":504321,"promote_pick_up":true,"promote_gift_cards":true,"promote_happy_hour":true,"promote_events":true,"instructions_on_food_page":false,"food_page_instruction_text":null,"food_page_instruction_phone":"3156388505","created_at":"2025-09-23T16:51:51.978+00:00","updated_at":"2025-11-10T18:35:36.496+00:00","food_page_button_color":null,"food_page_button_text_color":null,"food_page_link_color":null,"food_page_text_color":null,"wine_and_beer_to_go_license":false,"all_alcoholic_to_go_lincense":false,"current_operating_status":"Offering To Go and Dine-in with Full Capacity","contact_tracing_active":false,"contact_tracing_text":"In cooperation with health guidelines for contact tracing, please fill out the form below.","contact_tracing_address_required":false,"collapse_all":false,"deliveries_priority_value":5,"pick_ups_priority_value":5,"reservations_priority_value":5,"private_parties_priority_value":5,"catering_priority_value":5,"gift_cards_priority_value":3,"jobs_priority_value":5,"food_and_drinks_priority_value":3,"specials_priority_value":3,"national_days_priority_value":3,"holidays_priority_value":3,"sports_priority_value":3,"walk_ins_priority_value":3,"collecting_emails_priority_value":3,"collecting_phone_numbers_priority_value":3,"growing_social_media_followers_priority_value":3,"increasing_revenue_vs_saving_time_priority_value":3,"events_priority_value":3,"shopping_cart_type":"TMT","shopping_cart_active":false}') : null;
2924
2925
2926  //corona instuctions
2927  function show_corona_instructions(text, phone, btnText){
2928    //format to US number
2929    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
2930
2931    if(corona_config.shopping_cart_type == "TMT" && corona_config.shopping_cart_active == true) {
2932        var linkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
2933        var btnLinkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
2934    }else {
2935        var linkLocation = 'tel:+1'+phone+'';
2936        var btnLinkLocation = 'tel:+1'+ match[1] + '-' + match[2] + '-' + match[3] +''
2937    }
2938    var appendPhone = 'tel:+1'+phone+'';
2939    //inject html content
2940    if ($('.food-menu-nav').length) {
2941      //new template
2942      var pageEl =  $('.food-menu-nav').css('margin','20px auto 10px auto');
2943      var textColor = rgb2hex($('.section-header').css('color'));
2944      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
2945      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
2946      fontSize = fontSize + Math.round(fontSize  * 0.25);
2947
2948      // var html = '<div id="show-corona-instructions" style="padding:20px;flex: 0 1 100%;" class="text-center"><p style="color:'+textColor+';">'+text+' <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="color:'+linkColor+';"href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></p><a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="font-size:'+fontSize+'px" class="food-menu-nav-item custom-temp-btn hvr-fade active" href="tel:+1'+phone+'">'+btnText+'</a></div>';
2949      var html = '<div id="show-corona-instructions" style="padding:20px;flex: 0 1 100%;" class="text-center"><p style="color:'+textColor+';">'+text+' <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="text-decoration: underline;color:'+textColor+';" href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></p><a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="display: inline-block !important;font-size:'+fontSize+'px" class="food-menu-nav-item custom-temp-btn hvr-fade active" href="'+btnLinkLocation +'">'+btnText+'</a></div>';
2950
2951    }else {
2952      //old template
2953      var pageEl = $('.tabnav');
2954      var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
2955      var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
2956
2957      var linkTextColor = getContrast50(linkColor);
2958      var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
2959      fontSize = fontSize + Math.round(fontSize  * 0.25);
2960      var textTransform = $('.style-traditional .tabnav .nav>li>a').css('text-transform');
2961
2962      // var html = '<div id="show-corona-instructions" style="padding:20px;flex: 0 1 100%;" class="text-center"><p style="color:'+textColor+';margin-bottom:20px;">'+text+' <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="color:'+linkColor+';"href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></p><a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="margin: 20px auto; padding: 10px 50px 10px 30px; cursor: pointer; background-color: '+linkColor+'; background: '+linkColor+'; text-decoration: none; color: '+textColor+'; border: 2px solid '+linkColor+';font-size:'+fontSize+'px;text-transform: '+textTransform+'" href="tel:+1'+phone+'">'+btnText+'</a></div>';
2963      var html = '<div id="show-corona-instructions" style="padding:20px;flex: 0 1 100%;" class="text-center"><p style="color:'+textColor+';margin-bottom:20px;">'+text+' <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="text-decoration: underline;color:'+textColor+';"href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></p><a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Corona Instructions Phone\');" style="margin: 20px auto; padding: 10px 30px 10px 30px; cursor: pointer; background-color: '+linkColor+'; background: '+linkColor+'; text-decoration: none; color: '+linkTextColor+'; border: 2px solid '+linkColor+';font-size:'+fontSize+'px;text-transform: '+textTransform+'" href="'+btnLinkLocation+'">'+btnText+'</a></div>';
2964
2965    }
2966     //html content
2967    pageEl.prepend(html);
2968  }
2969
2970  function rgb2hex(rgb) {
2971    if(typeof rgb !== "undefined"){
2972      rgbColor = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
2973      if (!rgbColor) {
2974        rgba = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(,\s*\d+\.*\d+)?\)$/);
2975        return "#" + hex(rgba[1]) + hex(rgba[2]) + hex(rgba[3]);
2976      }
2977      function hex(x) {
2978          return ("0" + parseInt(x).toString(16)).slice(-2);
2979      }
2980      return "#" + hex(rgbColor[1]) + hex(rgbColor[2]) + hex(rgbColor[3]);
2981    }
2982    return rgb;
2983  }
2984
2985  function getContrast50(hexcolor){
2986    return (parseInt(hexcolor, 16) > 0xffffff/2) ? '#000':'#fff';
2987  }
2988
2989  function show_corona_sidebar_instructions(text, phone){
2990    //format to US number
2991    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
2992    var divWidth = 230;
2993    var top = 50;
2994    var linkSize = '1.6em';
2995    var pSize = $('p').css('font-size');
2996    var appendPhone = 'tel:+1'+phone+'';
2997
2998    if ($(window).width() < 1600)
2999      var top = 30;
3000    if ($(window).width() < 1200){
3001      var divWidth = 180;
3002      var linkSize = '1.4em';
3003      var pSize ='1.1em';
3004    }
3005
3006    if($('.food-menu-nav').length){ //new template
3007      var textColor = $('.food-menu-nav-item.active').css('color');
3008      var linkColor = $('.food-menu-nav-item.active').css('background-color');
3009
3010      var linkTextColor = $('.food-menu-nav-item.active').css('color');
3011      var parent = $('.food-menu-page');
3012    }
3013    else { //old template
3014      var textColor = $('.menu-item-name-traditional').css('color');
3015      var linkColor = $('.style-traditional .tabnav .nav>
3015li.active>a').css('color');
3016      var parent = $('.food-menu').length ? $('.food-menu') : $('.drink-menu');
3017      var linkTextColor = getContrast50(linkColor);
3018    }
3019
3020    // $(parent).append('<div id="corona-instructions-sidebar" style="display:none;position:fixed;width:'+divWidth+'px;top:'+top+'vh;right:0;background-color:'+linkColor+';padding:15px;text-align:center;color:'+textColor+';text-transform:uppercase;"><p style="margin:0 0 5px;font-size:'+pSize+';">'+text+'</p><i class="fa fa-phone" aria-hidden="true"></i> <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Food Page Side Element Phone\');"  style="font-size:'+linkSize+';color:'+textColor+';" href="tel:+1'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></div>');
3021    $(parent).append('<div id="corona-instructions-sidebar" style="display:none;position:fixed;width:'+divWidth+'px;top:'+top+'vh;right:0;background-color:'+linkColor+';padding:15px;text-align:center;color:'+linkTextColor+';text-transform:uppercase;"><p style="margin:0 0 5px;font-size:'+pSize+';">'+text+'</p><i class="fa fa-phone" aria-hidden="true"></i> <a onclick="ga(\'send\', \'event\', \'Button\', \'Click\', \'Food Page Side Element Phone\');this.href=\'' + appendPhone + '\';"  style="font-size:'+linkSize+';color:'+linkTextColor+';" href="/call-us/'+phone+'">'+ match[1] + '-' + match[2] + '-' + match[3] +'</a></div>');
3022
3023    //check if resolution is bigger than tablet resolution
3024/*  if ($(window).width() > 991) {
3025      //detect scroll
3026      window.onscroll = function (e) {
3027      if ($(window).scrollTop() == 0) {
3028          $('#corona-instructions-sidebar').hide();
3029        }else {
3030          $('#corona-instructions-sidebar').show();
3031        }
3032      }
3033    } */
3034  }
3035
3036  function check_corona_config(config){
3037    console.log(config)
3038    if (config) {
3039      if (config.instructions_on_food_page && config.food_page_instruction_text && config.food_page_instruction_phone) {
3040        if (!config.promote_deliveries && config.promote_pick_up) {
3041          var btnText = 'Call For Pick Up';
3042        }
3043        if (config.promote_deliveries && !config.promote_pick_up) {
3044          var btnText = 'Call For Delivery';
3045        }
3046        if (config.promote_deliveries && config.promote_pick_up) {
3047          var btnText = 'Call For Pick Up Or Delivery';
3048        }
3049
3050        if(typeof btnText !== "undefined"){ // check if pick up or delivery are true
3051          if(config.shopping_cart_type == "TMT" && config.shopping_cart_active == true) {
3052                var btnText = 'ORDER NOW';
3053                    if($('.food-menu-nav').length){ //new template
3054                      var textColor = rgb2hex($('.section-header').css('color'));
3055                      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
3056                      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
3057                      fontSize = fontSize + Math.round(fontSize  * 0.25);
3058                    }
3059                    else { //old template
3060                        var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
3061                        var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
3062
3063                        var linkTextColor = getContrast50(linkColor);
3064                        var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
3065                        fontSize = fontSize + Math.round(fontSize  * 0.25);
3066                    }
3067                show_corona_instructions('For online orders, use our own <a style="text-decoration:underline;color: '+textColor+';" href="https://tmt.spotapps.co/ordering-menu/?spot_id='+config.spot_id+'&images=yes&accordion=true#"> commission free ordering platform! </a> or call:', config.food_page_instruction_phone, btnText);
3068                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
3069            } else {
3070                show_corona_instructions(config.food_page_instruction_text, config.food_page_instruction_phone, btnText);
3071                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
3072            }
3073
3074        }
3075      }
3076    }
3077  }
3078
3079
3080  if (is_food_menu_page() && !window.location.search.includes("contactless=true")){
3081    $( document ).ready(function() {
3082       setTimeout(function(){
3083        check_corona_config(corona_config);
3084       }, 300);
3085    });
3086  }
3087
3088
3089
3090  function isPhone(phone){
3091      var regex = /^(\+\d{1,2}\s?)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/;
3092      return regex.test(phone);
3093  }
3094
3095  function sendEmail_MT (input_id) {
3096    const $loader = $("[data-id=newsletter-widget-2] .sph-loading-img");
3097
3098    const $step = {
3099      form: $("[data-id=newsletter-widget-2] .sph-email-form"),
3100      message: $("[data-id=newsletter-widget-2] .sph-response-message"),
3101    }
3102
3103    const $field = {
3104      email: $("[data-id=newsletter-widget-2] #sph-newsletter-input-" + input_id),
3105      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-" + input_id),
3106      consent: $("[data-id=newsletter-widget-2] #sph-newsletter-checkbox-phone-" + input_id),
3107    };
3108
3109    const $error = {
3110      email: $("[data-id=newsletter-widget-2] #sph-newsletter-email-error-" + input_id),
3111      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-error-" + input_id),
3112    };
3113
3114    if ($field.email.val().trim() === "") {
3115        $error.email
3116          .html("This field is required")
3117          .show();
3118    }
3119    else if (!isEmail($field.email.val().trim())) {
3120      $error.email
3121        .html("Please use the format “[email protected]”")
3122        .show();
3123    } else {
3124      $error.email
3125        .html("")
3126        .hide();
3127    }
3128
3129    if ($field.consent.is(':checked') && $field.phone.val().trim() === "") {
3130      $error.phone
3131        .html("This field is required")
3132        .show();
3133    } else if ($field.phone.val().trim().length > 0 && !isPhone($field.phone.val().trim())) {
3134      $error.phone
3135        .html("The phone number must contain 10 digits")
3136        .show();
3137    } else {
3138      $error.phone
3139        .html("")
3140        .hide();
3141    }
3142
3143    const errorField = $step.form.find('.sh-form-error:visible');
3144
3145    if (errorField.length > 0) {
3146      const input = errorField.first().next();
3147
3148      document.activeElement.blur();
3149
3150      setTimeout(() => {
3151        input.focus();
3152      }, 160)
3153
3154      return;
3155    }
3156
3157    $loader
3158      .show()
3159      .prev()
3160      .hide();
3161
3162    $.ajax({
3163      method: "POST",
3164      url: "https://www.spothopperapp.com/api/spots/504321/contacts/add_with_texting_permission",
3165      crossDomain: true,
3166      dataType: 'json',
3167      data: {
3168        email: $field.email.val().trim(),
3169        phone: $field.phone.val().trim(),
3170        texting_permission: $field.consent.is(':checked'),
3171      },
3172      success: function (data) {
3173        afterRequestSubmission(data);
3174      },
3175      error: function () {
3176        afterRequestSubmission("Something went wrong. Please try again later.");
3177      }
3178    });
3179
3180    function afterRequestSubmission (data) {
3181      $step.form.hide();
3182
3183      $step.message
3184        .html(data)
3185        .show()
3186        .trigger('focus');
3187    }
3188  }
3189</script>
3189<script>function addPromotionParamsToTMTLinks()
3190{
3191    if (sessionStorage.getItem('shUrlParams')) {
3192        let shParams = JSON.parse(sessionStorage.getItem('shUrlParams'));
3193        if (!Object.keys(shParams).length)
3194            return;
3195        if(!shParams.source)
3196            return;
3197        $('a').each(function () {
3198            if (this.href.includes('tmt.spotapps.co')) {
3199                if(this.href.includes('&source=') || this.href.includes('&destination=') || this.href.includes('&promotion='))
3200                    return;
3201
3202                this.href = this.href + '&source=' + shParams.source;
3203                if(shParams.destination)
3204                    this.href = this.href + '&destination=' + shParams.destination;
3205                if(shParams.promotion)
3206                    this.href = this.href + '&promotion=' + shParams.promotion;
3207                if(shParams.fb_post_id)
3208                    this.href = this.href + '&fb_post_id=' + shParams.fb_post_id;
3209                if(shParams.email_post_id)
3210                    this.href = this.href + '&email_post_id=' + shParams.email_post_id;
3211            }
3212        })
3213    }
3214}
3215setTimeout(function() {
3216  addPromotionParamsToTMTLinks();
3217  addFooterToSourceParam();
3218},600)
3219
3220function addFooterToSourceParam()
3221{
3222    $('.bottom-link').each(function (){
3223        if(shouldAddSourceParam(this.href))
3224          this.href = this.href + '&source=footer';
3225    })
3226    $('#sh-multiple-links-content-holder a').each(function (){
3227       if(shouldAddSourceParam(this.href))
3228          this.href = this.href + '&source=footer';
3229    })
3230}
3231function shouldAddSourceParam(link){
3232  if (link.includes('tmt.spotapps.co') && !link.includes('&source=')){
3233    return true;
3234  }
3235  return false;
3236}
3237</script>
3237<link href="https://static.spotapps.co/wcache-website-includes/assets/generic-form-BPJPlCcv.css" rel="stylesheet" media="screen"/>
3237<script type="module" crossorigin="crossorigin" src="https://static.spotapps.co/wcache-website-includes/assets/generic-form-CoiH5Vfl.js"></script>
3237<div id="sh-generic-form-widget"></div>
3237<script>
3238;(async () => {
3239if (typeof window.focusTrap === 'undefined') {
3240    await getScript('https://unpkg.com/tabbable/dist/index.umd.js');
3241    await getScript('https://unpkg.com/focus-trap/dist/focus-trap.umd.js');
3242}
3243
3244document.querySelectorAll('.modal').forEach((element) => {
3245    const trap = window.focusTrap?.createFocusTrap(element, {
3246        allowOutsideClick: true,
3247    });
3248
3249    $(element).on('shown.bs.modal', () => {
3250	    trap?.activate();
3251	});
3252
3253	$(element).on('hidden.bs.modal', () => {
3254        trap?.deactivate();
3255    });
3256});
3257
3258async function getScript (source) {
3259    return new Promise((resolve, reject) => {
3260        const script = document.createElement('script');
3261        script.src = source;
3262        script.async = true;
3263
3264        script.onload = resolve;
3265        script.onerror = reject;
3266
3267        document.head.appendChild(script);
3268    });
3269}
3270})();
3271</script>
3271<script src="https://wcache-plugins.spotapps.co/production/wcpl_bootstrap_ada_fix/wcpl_bootstrap_ada_fix.js"></script>
3271<link href="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.css" rel="stylesheet" media="screen"/>
3271<script src="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.js"></script>
3271<script src="https://wcache-plugins.spotapps.co/production/wcpl_ga_tracking/wcpl_ga_tracking.js"></script>
3271<script src="https://wcache-plugins.spotapps.co/production/wcpl_media_controls/script.js"></script>
3271<link href="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter_helper_style.css" rel="stylesheet" media="screen"/>
3271<script>var changes_log_array = {};</script>
3271<script src="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter.js"></script>
3271</body></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.