PageSourceSearch

https://rochesterbistro.com/accessibility-page-01

html rochesterbistro.com collected 2026-09-30 16:02:13 UTC 76,711 bytes, 1,600 lines download raw bytes

1<!DOCTYPE html>
2�<html lang="en"><head><link rel="canonical" href="https://rochesterbistro.com/accessibility-page-01"/><!-- 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-0R2Z0KB93S');
8    gtag('config', 'G-VG24VK2VKT');
9  </script>
9<!-- wcache 2026-09-29 15:39:33.746776Z --><!--
10smart_footer: true,
11smart_footer_version: 2,
12scripting_active: false
13--><meta charset="utf-8"/><meta content="IE=edge" http-equiv="X-UA-Compatible"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta name="description" content="At Rochester Bistro, we're committed to web accessibility for all users. Read our accessibility statement or contact us for help."/><meta content="" name="author"/><meta content="Rochester Bistro -" property="og:title"/><meta content="website" property="og:type"/><meta content="http://rochesterbistro.com/a-article" property="og:url"/><meta content="..." property="og:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/specials_page.jpg" property="og:image"/><meta content="Firey Pasta on a set table side view" property="og:image:alt"/><meta content="image/png" property="og:image:type"/><meta content="1600885733507029" property="fb:app_id"/><meta content="summary_large_image" name="twitter:card"/><meta content="@RochesterBistro" name="twitter:site"/><meta content="Rochester Bistro -" name="twitter:title"/><meta content="..." name="twitter:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/specials_page.jpg" name="twitter:image"/><title>Accessibility Statement</title>
13<script>document.cookie='resolution='+Math.max(screen.width,screen.height)+("devicePixelRatio" in window ? ","+devicePixelRatio : ",1")+'; path=/';</script>
13<link href="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/favicons/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/><link href="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/favicons/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/><link href="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/favicons/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/><link href="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/favicons/site.webmanifest" rel="manifest"/><link color="#5bbad5" href="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/favicons/safari-pinned-tab.svg" rel="mask-icon"/><link href="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/favicons/favicon.ico" rel="shortcut icon"/><meta content="#da532c" name="msapplication-TileColor"/><meta content="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/favicons/browserconfig.xml" name="msapplication-config"/><meta content="#ffffff" name="theme-color"/><link href="https://static.spotapps.co/web/rochesterbistro--com/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/rochesterbistro--com/lib/custom-scrollbar/jquery.mCustomScrollbar.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/rochesterbistro--com/lib/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/rochesterbistro--com/lib/hover_css/css/hover-min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/rochesterbistro--com/lib/owlcarousel/owl.carousel.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/rochesterbistro--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/rochesterbistro--com/css/style.css?version2" id="mainCSS" rel="stylesheet"/><link href="https://static.spotapps.co/web/rochesterbistro--com/css/bottom_navigation_v1.css?v1780915503" rel="stylesheet"/><link href="css/custom.css?v1780915503&domain=rochesterbistro.com" rel="stylesheet"/><link href="https://static.spotapps.co/web/rochesterbistro--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/rochesterbistro--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]--><style>
14
15        html{
16            height: 100%;
17        }
18
19        .webkit-mobile-body{
20            height: 100%;
21            overflow: hidden;
22        }
23
24        .webkit-mobile-body>div:first-child{
25            height:100%;
26            overflow: auto;
27            -webkit-overflow-scrolling: touch;
28        }
29
30    </style>
30<script src="https://static.spotapps.co/websites/lib/lazysizes/lazysizes.min.js" async=""></script>
30<script>
31function ga_check(){
32  return true;
33}
34</script>
34<script>
35function universal_ga(action, type, category, ev_action, label){
36  if(typeof ga === 'function')
37  {
38    if(!(action && label))
39      ga(action, type, category)
40    else
41      ga(action, type, category, ev_action, label)
42  }
43
44  if(typeof gtag === 'function')
45  {
46    if(!(action && label))
47    {
48      hash = category
49      ev_label = hash["eventLabel"]
50      var splits = ev_label.match(/.{1,100}/g) ?? [];
51      delete(hash["eventLabel"])
52
53      if(splits.length <= 1)
54        hash["eventLabel"] = ev_label
55      else
56      {
57        for (let i = 0; i < splits.length; i++) {
58          var key = "eventLabel_"+i
59          hash[key] = splits[i]
60        }
61      }
62      console.log(hash)
63      gtag("event", hash["eventCategory"], hash);
64    }
65    else
66    {
67      var hash = {
68        eventCategory: category,
69        eventAction: ev_action
70      }
71
72      var splits = label.match(/.{1,100}/g) ?? [];
73      if(splits.length <= 1)
74        hash["eventLabel"] = label
75      else
76      {
77        for (let i = 0; i < splits.length; i++) {
78          var key = "eventLabel_"+i
79          hash[key] = splits[i]
80        }
81      }
82      gtag("event", hash["eventCategory"], hash);
83    }
84  }
85}
86</script>
86<script>    function getPromotionUrlParams(){
87      var params_str = sessionStorage.getItem('shUrlParams');
88      if (params_str != null){
89        return JSON.parse(params_str);
90      }else{
91        return {};
92      }
93    }
94
95    function getPromotionSourceDetails(){
96        var params_str = localStorage.getItem('promotionSourceDetails');
97        if (params_str != null){
98          return JSON.parse(params_str);
99        }else{
100          return {};
101        }
102    }
103
104    function getLastEmailVisitInDays(){
105      var promotionSourceDetails = getPromotionSourceDetails();
106      if (!promotionSourceDetails['last_visit_email'] ){
107        return null;
108      }
109      return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_email'])) / (1000 * 60 * 60 * 24));
110    }
111
112    function getLastSocialVisitInDays(){
113      var promotionSourceDetails = getPromotionSourceDetails();
114      if (!promotionSourceDetails['last_visit_social'] ){
115        return null;
116      }
117      return Math.floor((new Date() - new Date(promotionSourceDetails['last_visit_social'])) / (1000 * 60 * 60 * 24));
118    }
119
120    var shUrlParams = getPromotionUrlParams();
121    var promotionSourceDetails = getPromotionSourceDetails();
122
123    new URL(document.location).searchParams.forEach(function(value, paramName){
124
125     shUrlParams[paramName] = value;
126
127     if (paramName == 'source' && value =='social' ){
128       promotionSourceDetails['last_visit_social'] = new Date();
129       localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails));
130     }
131
132     if (paramName == 'source' && value =='email' ){
133       promotionSourceDetails['last_visit_email'] = new Date();
134       localStorage.setItem('promotionSourceDetails', JSON.stringify(promotionSourceDetails));
135     }
136
137    });
138
139    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams))
140</script>
140<style>a:focus:not(:focus-visible){outline:none;box-shadow:none;}
141a.get-directions-footer-link{display:inline-block;transform-origin:left center;transition:transform .2s ease;}
142a.get-directions-footer-link:hover{transform:scale(1.08);}
143@media (prefers-reduced-motion:reduce){a.get-directions-footer-link{transition:none;transform:none;}}
144a.get-directions-footer-link,a.get-directions-footer-link:hover{color:inherit!important;}</style></head><body class="drink-menu article-background   "><div><header style="background-color:#000000;"><style>
145
146.nav-v8 .nav-tab:nth-child(n+6) {
147  -webkit-box-ordinal-group: 3;
148  order: 3;
149}
150
151.navbar.nav-v6.nav-v8 .desktop-navigation .header-logo {
152  top: 0px;
153}
154
155
156.navbar.nav-v6.nav-v8.nav-scroll .desktop-navigation .header-logo {
157  top: 0px;
158}
159
160.navbar.nav-v6 .container {
161  padding-top: 10px;
162  padding-bottom: 10px;
163}
164.navbar.nav-v6.nav-scroll .container {
165  padding-top: 0px;
166  padding-bottom: 0px;
167}
168.navbar.nav-v6 .header-logo img {
169  max-width: 100%;
170}
171
172@media (max-width: 767px) {
173  /* DO NOT change mobile nav height on page scroll */
174  .navbar.nav-v6 .navbar-header,
175  .navbar.nav-v6.nav-scroll .navbar-header {
176    padding-top: 10px;
177    padding-bottom: 10px;
178  }
179  .navbar.nav-v6.nav-v8 .socialnav,
180  .navbar.nav-v6.nav-v8.nav-scroll .socialnav {
181    margin-top: 10px;
182  }
183  .navbar.nav-v6 .container,
184  .navbar.nav-v6.nav-scroll .container {
185    padding-top: 0;
186    padding-bottom: 0;
187  }
188  .navbar.nav-v6 .header-logo,
189  .navbar.nav-v6.nav-scroll .header-logo {
190    height: 70px;
191  }
192  .navbar.nav-v6 .header-logo img {
193    max-height: 100%;
194  }
195  .navbar.nav-v6.nav-scroll .header-logo img {
196    max-width: 100%;
197  }
198  /* HOME page CHANGE mobile nav height on page scroll */
199  /* Remove body.home-page from below code if there should be mobile nav height change on ALL pages */
200  body.home-page .navbar.nav-v6 .navbar-header {
201    padding-top: 10px;
202    padding-bottom: 10px;
203  }
204  body.home-page .navbar.nav-v6.nav-scroll .navbar-header{
205    padding-top: 0px;
206    padding-bottom: 0px;
207  }
208  body.home-page .navbar.nav-v6.nav-v8 .socialnav {
209    margin-top: 10px;
210  }
211  body.home-page .navbar.nav-v6.nav-v8.nav-scroll .socialnav {
212    margin-top: 0px;
213  }
214  body.home-page .navbar.nav-v6 .container{
215    padding-top: 0;
216    padding-bottom: 0;
217  }
218  body.home-page .navbar.nav-v6.nav-scroll .container {
219    padding-top: 0;
220    padding-bottom: 0;
221  }
222  body.home-page .navbar.nav-v6 .header-logo {
223    height: 70px;
224  }
225  body.home-page .navbar.nav-v6.nav-scroll .header-logo {
226    height: 50px;
227  }
228  body.home-page .navbar.nav-v6 .header-logo img {
229    max-height: 100%;
230    max-width: 100%;
231  }
232  body.home-page .navbar.nav-v6.nav-scroll .header-logo img {
233    max-width: 80%;
234  }
235}
236
237
238.navbar-regular .navbar-collapse.collapse.in {
239  background-color: transparent;
240  width: 100%;
241}
242.navbar.nav-v6 .navbar-tabs {
243    background-color: transparent;
244    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
245    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
246    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
247}
248.navbar.nav-v6.nav-scroll .navbar-tabs {
249    background-color: #fff;
250    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
251    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
252    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
253}
254.drink-menu .navbar.nav-v6 .navbar-tabs {
255  background-color: #fff;
256  -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
257  -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
258  box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
259}
260.drink-menu .navbar.nav-v6.nav-scroll .navbar-tabs {
261  background-color: #fff;
262  -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
263  -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
264  box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
265}
266li.drop-down-link .sub-menu {
267  background-color: transparent;
268  color: #fff;
269      background-color: rgba(0, 0, 0, 0.6);
270    color: #fff;
271  }
272.nav-scroll li.drop-down-link .sub-menu {
273  background-color: #fff;
274  color: #000;
275}
276.drink-menu li.drop-down-link .sub-menu {
277  background-color: #fff;
278  color: #000;
279}
280.drink-menu .nav-scroll li.drop-down-link .sub-menu {
281  background-color: #fff;
282  color: #000;
283}
284li.drop-down-link .sub-menu a,
285li.drop-down-link div.drop-down {
286  color: #fff;
287}
288.nav-scroll li.drop-down-link .sub-menu a,
289.nav-scroll li.drop-down-link div.drop-down {
290  color: #000;
291}
292.drink-menu li.drop-down-link .sub-menu a,
293.drink-menu li.drop-down-link div.drop-down {
294  color: #000;
295}
296.drink-menu .nav-scroll li.drop-down-link .sub-menu a,
297.drink-menu .nav-scroll li.drop-down-link div.drop-down {
298  color: #000;
299}
300
301.navbar-regular.nav-v6 .navbar-nav>li>a,
302.navbar-regular.nav-v6 .navbar-nav>li>a:hover,
303.navbar-regular.nav-v6 .navbar-nav>.active>a,
304.navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
305.navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
306  border: none;
307  background-color: transparent;
308  color: #F6D1C8;
309}
310.navbar-regular.nav-v6 .navbar-nav>li>a {
311  color: #fff;
312}
313.drink-menu .navbar.nav-v6 .navbar-nav>li>a {
314  color: #000;
315}
316.drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
317.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
318.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
319.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover {
320  color: #581D21;
321}
322
323li.drop-down-link .sub-menu a:hover,
324li.drop-down-link .sub-menu a:focus {
325  color: #F6D1C8;
326}
327.drink-menu li.drop-down-link .sub-menu a:hover,
328.drink-menu li.drop-down-link .sub-menu a:focus {
329  color: #581D21;
330}
331
332.drink-menu .navbar.nav-v7 .navbar-nav>li>a {
333  color: #000;
334}
335
336.navbar-regular.nav-v6 .navbar-toggle .icon-bar {
337  background-color: #fff;
338}
339.drink-menu .navbar-regular.nav-v6 .navbar-toggle .icon-bar {
340  background-color: #000;
341}
342.navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
343  background-color: #F6D1C8;
344}
345.drink-menu .navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
346  background-color: #581D21;
347}
348.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a,
349.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
350.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
351.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
352.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover {
353  border: none;
354  color: #581D21;
355}
356.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a {
357  color: #000;
358}
359.drink-menu .navbar.nav-v6.nav-scroll .navbar-nav>li>a {
360  border: none;
361  color: #000;
362}
363.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
364.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
365.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
366.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover {
367  color: #581D21;
368}
369
370.nav-scroll li.drop-down-link .sub-menu a:hover,
371.nav-scroll li.drop-down-link .sub-menu a:focus {
372  color: #581D21;
373}
374.drink-menu .nav-scroll li.drop-down-link .sub-menu a:hover,
375.drink-menu .nav-scroll li.drop-down-link .sub-menu a:focus {
376  color: #581D21;
377}
378
379.navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
380  background-color: #000;
381}
382.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
383  background-color: #000;
384}
385.navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar {
386  background-color: #581D21;
387}
388.drink-menu .navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar {
389  background-color: #581D21;
390}
391.navbar.nav-v6 .header-logo-text{
392  color: #fff;
393}
394.navbar.nav-v6.nav-scroll .header-logo-text{
395  color: #000;
396}
397.navbar.nav-v6 .social-icon{
398  color: #fff;
399}
400.navbar.nav-v6.nav-scroll .social-icon{
401  color: #000;
402}
403.navbar.nav-v6 .social-square .contact-icon:hover {
404  color: #fff;
405  background-color: #F6D1C8;
406}
407.navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
408  color: #000;
409  background-color: #581D21;
410}
411
412.drink-menu .navbar.nav-v6 .header-logo-text{
413  color: #000;
414}
415.drink-menu .navbar.nav-v6.nav-scroll .header-logo-text{
416  color: #000;
417}
418.drink-menu .navbar.nav-v6 .social-icon{
419  color: #000;
420}
421.drink-menu .navbar.nav-v6.nav-scroll .social-icon{
422  color: #000;
423}
424.drink-menu .navbar.nav-v6 .social-square .contact-icon:hover {
425  color: #000;
426  background-color: #581D21;
427}
428.drink-menu .navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
429  color: #000;
430  background-color: #581D21;
431}
432.navbar.nav-v6 .navbar-tabs {
433  border-bottom: 1px solid transparent;
434}
435.navbar.nav-v6.nav-scroll .navbar-tabs {
436  border-bottom: 1px solid transparent;
437}
438.drink-menu .navbar.nav-v6 .navbar-tabs {
439  border-bottom: 1px solid transparent;
440}
441.drink-menu .navbar.nav-v6.nav-scroll .navbar-tabs {
442  border-bottom: 1px solid transparent;
443}
444@media (max-width: 767px) {
445  .navbar.nav-v6 {
446      background-color: transparent;
447      -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
448      -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
449      box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
450  }
451  .navbar.nav-v6.nav-scroll {
452      background-color: #fff;
453      -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
454      -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
455      box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
456  }
457  .drink-menu .navbar.nav-v6 {
458    background-color: #fff;
459    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
460    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
461    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
462  }
463  .drink-menu .navbar.nav-v6.nav-scroll {
464    background-color: #fff;
465    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
466    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
467    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
468  }
469  .navbar.nav-v6 .container,
470  .navbar.nav-v6.nav-scroll .container,
471  .drink-menu .navbar.nav-v6 .container,
472  .drink-menu .navbar.nav-v6.nav-scroll .container {
473    border-bottom: none;
474  }
475  .navbar.nav-v6 .navbar-header {
476    border-bottom: 1px solid transparent;
477  }
478  .navbar.nav-v6.nav-scroll .navbar-header {
479    border-bottom: 1px solid transparent;
480  }
481  .drink-menu .navbar.nav-v6 .navbar-header {
482    border-bottom: 1px solid transparent;
483  }
484  .drink-menu .navbar.nav-v6.nav-scroll .navbar-header {
485    border-bottom: 1spx solid transparent;
486  }
487  li.drop-down-link .sub-menu,
488  .drink-menu li.drop-down-link .sub-menu {
489    background-color: transparent;
490  }
491  .nav-scroll li.drop-down-link .sub-menu,
492  .drink-menu .nav-scroll li.drop-down-link .sub-menu {
493    background-color: transparent;
494  }
495      .navbar-regular.nav-v6 .navbar-nav>li>a {
496      background-color: rgba(0, 0, 0, 0.6);
497    }
498    .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a {
499      background-color: transparent;
500    }
501
502    li.drop-down-link .sub-menu,
503    .navbar-regular.nav-v6 li.drop-down-link div.drop-down,
504    .drink-menu li.drop-down-link .sub-menu {
505      background-color: rgba(0, 0, 0, 0.6);
506    }
507    .nav-scroll li.drop-down-link .sub-menu,
508    .navbar-regular.nav-v6.nav-scroll li.drop-down-link div.drop-down,
509    .drink-menu .nav-scroll li.drop-down-link .sub-menu {
510      background-color: transparent;
511    }
512    .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
513  .navbar-regular.nav-v6 .navbar-nav>.active>a,
514  .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
515  .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
516    background-color: #F6D1C8;
517    color: #fff;
518  }
519  .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
520  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
521  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
522  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
523    background-color: #581D21;
524    color: #000;
525  }
526  .drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
527  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
528  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
529  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
530    background-color: #581D21;
531    color: #000;
532  }
533  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
534  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
535  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
536  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
537    background-color: #581D21;
538    color: #000;
539  }
540
541  .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
542    color: #F6D1C8;
543  }
544  .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
545    color: #581D21;
546  }
547  .drink-menu .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
548    color: #581D21;
549  }
550  .drink-menu .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
551    color: #581D21;
552  }
553}
554</style><!-- nav --><nav class="navbar nav-v4 nav-v6 nav-v7 nav-v8 nav-top navbar-regular navbar-fixed-top" id="navbar" role="navigation"><div class="visuallyhidden" id="skip"><a href="#content">Skip to Main Content</a></div><div class="desktop-navigation"><div class="navbar-tabs"><div class="container"><div class="navbar-content"><ul class="nav navbar-nav"><li class="logo-holder"><div class="header-logo logo-top"><img alt="Rochester Bistro logo top" class="img-responsive logo-top logo-image" src="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/logo.png"/></div><div class="header-logo logo-scroll"><img alt="Rochester Bistro logo scroll" class="img-responsive logo-scroll logo-image" src="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/logo.png"/></div></li><li class="nav-tab nav-menu-page"><a class="" href="/rochester-rochester-bistro-food-menu" id="/Rochester-Rochester-Bistro-food-menu_link" target="_self">
555                      Menu
556                                          </a></li><li class="nav-tab"><a class="" href="/rochester-rochester-bistro-drink-menu" id="/Rochester-Rochester-Bistro-drink-menu_link" target="_self">
557                      Drinks
558                                          </a></li><li class="nav-tab"><a class="" href="/rochester-rochester-bistro-happy-hours-specials" id="/Rochester-Rochester-Bistro-happy-hours-specials_link" target="_self">
559                      Specials
560                                          </a></li><li class="nav-tab nav-order-link"><a class="link-order-sh" href="https://food.google.com/chooseprovider?restaurantId=/g/11bw1y17gx&g2lbs=ANTchaNKdh8f-dYfHabiA-LOR6rPMploRXCgIUabwTZMQ6rNpnlUZIeo2afC9w5PQPuE1xXB3tfkPdUTWxJUAbVxo9nhxo_3C_Vyn0Hmj7leDlUlar6tO0YZmzZ6zvcamklOvPrbVsV5&hl=en-US&gl=us&ssta=1&fo_m=MfohQo559jFvMUOzJ
560VpjPL1YMfZ3bInYwBDuMfaXTPp5KXh-&gei=805JZffCEa2nptQPjoKimAM&ei=805JZffCEa2nptQPjoKimAM&fo_s=OA&opi=89978449&sei=CVWOaeELlEC0EeGSR29Db93y&utm_campaign&utm_source=search#" id="https://food.google.com/chooseprovider?restaurantId=/g/11bw1y17gx&g2lbs=ANTchaNKdh8f-dYfHabiA-LOR6rPMploRXCgIUabwTZMQ6rNpnlUZIeo2afC9w5PQPuE1xXB3tfkPdUTWxJUAbVxo9nhxo_3C_Vyn0Hmj7leDlUlar6tO0YZmzZ6zvcamklOvPrbVsV5&hl=en-US&gl=us&ssta=1&fo_m=MfohQo559jFvMUOzJVpjPL1YMfZ3bInYwBDuMfaXTPp5KXh-&gei=805JZffCEa2nptQPjoKimAM&ei=805JZffCEa2nptQPjoKimAM&fo_s=OA&opi=89978449&sei=CVWOaeELlEC0EeGSR29Db93y&utm_campaign&utm_source=search#_link" target="_self">
561                      Order
562                                          </a></li><li class="nav-tab nav-reservations-link"><a class="link-reservations-sh" href="https://resy.com/cities/rochester-mi/venues/rochester-bistro?date=2026-06-04&seats=2.#" id="https://resy.com/cities/rochester-mi/venues/rochester-bistro?date=2026-06-04&seats=2.#_link" target="_self">
563                      Reserve
564                                          </a></li><li class="nav-tab nav-parties-link"><a class="link-parties-sh" href="/rochester-rochester-bistro-party#" id="/Rochester-Rochester-Bistro-party#_link" target="_self">
565                      Parties
566                                          </a></li><li class="nav-tab nav-catering-link"><a class="link-catering-sh" href="/rochester-rochester-bistro-catering#" id="/Rochester-Rochester-Bistro-catering#_link" target="_self">
567                      Catering
568                                          </a></li><li class="nav-tab nav-jobs-link"><a class="link-jobs-sh" href="https://tmt.spotapps.co/job-listings?spot_id=119755&callback_url=http://rochesterbistro.com/a-article#" id="https://tmt.spotapps.co/job-listings?spot_id=119755&callback_url=http://rochesterbistro.com/a-article#_link" target="_self">
569                      Jobs
570                                          </a></li></ul><ul class="socialnav"><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.twitter.com/RochesterBistro" target="_blank"><i class="social-icon fa icon-twitter-x"></i><span>Twitter page</span></a><a class="pull-left contact-icon" href="https://www.facebook.com/1600885733507029" target="_blank"><i class="social-icon fa fa-facebook"></i><span>Facebook page</span></a><a class="pull-left contact-icon" href="https://www.instagram.com/rochesterbistro" target="_blank"><i class="social-icon fa fa-instagram"></i><span>Instagram page</span></a><a class="pull-left contact-icon" href="https://www.yelp.com/biz/rochester-bistro-rochester" target="_blank"><i aria-hidden="true" class="social-icon fa fa-yelp"></i><span>Yelp page</span></a></li></ul></div></div></div></div><div class="mobile-navigation"><div class="container"><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><a class="header-logo logo-top" href="/#"><img alt="Rochester Bistro logo top" class="img-responsive logo-top" src="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/logo.png"/></a><a class="header-logo logo-scroll" href="/"><img alt="Rochester Bistro logo scroll" class="img-responsive logo-scroll" src="https://static.spotapps.co/website_images/ab_websites/119755_website_v1/logo.png"/></a><ul class="socialnav"><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.twitter.com/RochesterBistro" target="_blank"><i class="social-icon fa icon-twitter-x"></i><span>Twitter / X page</span></a><a class="pull-left contact-icon" href="https://www.facebook.com/1600885733507029" target="_blank"><i class="social-icon fa fa-facebook"></i><span>Facebook page</span></a><a class="pull-left contact-icon" href="https://www.instagram.com/rochesterbistro" target="_blank"><i class="social-icon fa fa-instagram"></i><span>Instagram page</span></a><a class="pull-left contact-icon" href="https://www.yelp.com/biz/rochester-bistro-rochester" target="_blank"><i aria-hidden="true" class="social-icon fa fa-yelp"></i><span>Yelp page</span></a></li></ul><div class="collapse navbar-collapse" id="navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li class=" nav-menu-page"><a class="" href="/rochester-rochester-bistro-food-menu" id="mobile_/Rochester-Rochester-Bistro-food-menu_link" target="_self">
571                      Menu
572                      
573                  </a></li><li class=" "><a class="" href="/rochester-rochester-bistro-drink-menu" id="mobile_/Rochester-Rochester-Bistro-drink-menu_link" target="_self">
574                      Drinks
575                      
576                  </a></li><li class=" "><a class="" href="/rochester-rochester-bistro-happy-hours-specials" id="mobile_/Rochester-Rochester-Bistro-happy-hours-specials_link" target="_self">
577                      Specials
578                      
579                  </a></li><li class=" nav-order-link"><a class="link-order-sh" href="https://food.google.com/chooseprovider?restaurantId=/g/11bw1y17gx&g2lbs=ANTchaNKdh8f-dYfHabiA-LOR6rPMploRXCgIUabwTZMQ6rNpnlUZIeo2afC9w5PQPuE1xXB3tfkPdUTWxJUAbVxo9nhxo_3C_Vyn0Hmj7leDlUlar6tO0YZmzZ6zvcamklOvPrbVsV5&hl=en-US&gl=us&ssta=1&fo_m=MfohQo559jFvMUOzJ
579VpjPL1YMfZ3bInYwBDuMfaXTPp5KXh-&gei=805JZffCEa2nptQPjoKimAM&ei=805JZffCEa2nptQPjoKimAM&fo_s=OA&opi=89978449&sei=CVWOaeELlEC0EeGSR29Db93y&utm_campaign&utm_source=search#" id="mobile_https://food.google.com/chooseprovider?restaurantId=/g/11bw1y17gx&g2lbs=ANTchaNKdh8f-dYfHabiA-LOR6rPMploRXCgIUabwTZMQ6rNpnlUZIeo2afC9w5PQPuE1xXB3tfkPdUTWxJUAbVxo9nhxo_3C_Vyn0Hmj7leDlUlar6tO0YZmzZ6zvcamklOvPrbVsV5&hl=en-US&gl=us&ssta=1&fo_m=MfohQo559jFvMUOzJVpjPL1YMfZ3bInYwBDuMfaXTPp5KXh-&gei=805JZffCEa2nptQPjoKimAM&ei=805JZffCEa2nptQPjoKimAM&fo_s=OA&opi=89978449&sei=CVWOaeELlEC0EeGSR29Db93y&utm_campaign&utm_source=search#_link" target="_self">
580                      Order
581                      
582                  </a></li><li class=" nav-reservations-link"><a class="link-reservations-sh" href="https://resy.com/cities/rochester-mi/venues/rochester-bistro?date=2026-06-04&seats=2.#" id="mobile_https://resy.com/cities/rochester-mi/venues/rochester-bistro?date=2026-06-04&seats=2.#_link" target="_self">
583                      Reserve
584                      
585                  </a></li><li class=" nav-parties-link"><a class="link-parties-sh" href="/rochester-rochester-bistro-party#" id="mobile_/Rochester-Rochester-Bistro-party#_link" target="_self">
586                      Parties
587                      
588                  </a></li><li class=" nav-catering-link"><a class="link-catering-sh" href="/rochester-rochester-bistro-catering#" id="mobile_/Rochester-Rochester-Bistro-catering#_link" target="_self">
589                      Catering
590                      
591                  </a></li><li class=" nav-jobs-link"><a class="link-jobs-sh" href="https://tmt.spotapps.co/job-listings?spot_id=119755&callback_url=http://rochesterbistro.com/a-article#" id="mobile_https://tmt.spotapps.co/job-listings?spot_id=119755&callback_url=http://rochesterbistro.com/a-article#_link" target="_self">
592                      Jobs
593                      
594                  </a></li></ul></div></div></div></nav></header><main id="content" role="main"><article><div class="pagecontent"><div class="tabnav"></div><div class="tabs-container"><style>
595
596.drink-menu .article-background, .drink-menu.article-background .pagecontent {
597  background-color: #000;
598  color: #fff;
599}
600.drink-menu.article-background .pagecontent {
601  border: none;
602}
603.drink-menu.article-background .pagecontent * {
604  text-align: left !important;
605  color: #fff;
606}
607.drink-menu.article-background .tabs-container {
608  text-shadow: none;
609}
610.drink-menu.article-background,
611.drink-menu.article-background:before {
612  background-image: none;
613}
614
615.drink-menu.article-background .pagecontent a,
616.drink-menu.article-background .pagecontent a:hover {
617  color: #fff;
618}
619
620.drink-menu.article-background {
621  background-color: #000;
622}
623
624.ada-page-content.container {
625  padding-top: 40px;
626}
627
628</style><div class="scrolling"><div class="container ada-page-content"><h1>Accessibility Statement for Rochester Bistro</h1><p>Rochester Bistro is committed to making our site accessible to people with disabilities. We are continuously gathering feedback and improving the user experience for everyone.
629    </p><h2>Conformance</h2><p>To provide great experience to everyone we are using The Web Content Accessibility Guidelines (WCAG). The guidelines have three levels of accessibility (A, Level AA, and Level AAA). Rochester Bistro has chosen level AA as a target for our website and we are fully committed to monitoring our site to maintain this level of compliance.
630    </p><h2>Third-Party Vendors</h2><p>We encourage our third party vendors (online order and delivery providers, reservations and event management, social media, review sites, travel recommendation sites, etc.) to provide content that is accessible and user friendly, even though we cannot control their content that appears on our website.
631    </p><h2>Feedback</h2><p>How are we doing? We welcome your feedback on how to improve accessibility and usability of Rochester Bistro website. Please let us know using this email address: E-mail: <a href="mailto:[email protected]">[email protected]</a></p><p>
632We try to respond to feedback within 2 business days.
633</p><h2>Assistance</h2><p>If you need any assistance please call us at <a href="tel:+1(248) 923-2724">(248) 923-2724</a> during our regular business hours and we&apos;d be happy to help you with anything on our site.
634</p></div></div></div></div></article></main></div><style type="text/css">
635    .navbar-fixed-bottom.nav-v1 {
636        bottom: -100px;
637    }
638    .navbar-fixed-bottom.nav-v1 .nav.navbar-nav.navbar-right {
639        background-color: #581D21;
640    }
641    .navbar-fixed-bottom.nav-v1 .bottom-svg-border path,
642    .navbar-fixed-bottom.nav-v1 .bottom-svg-border polygon {
643      fill: #000;
644    }
645    .navbar-fixed-bottom.nav-v1 .bottom-list-item a {
646        color: #fff;
647    }
648    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:hover,
649    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:focus {
650        color: #F6D1C8;
651    }
652</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://food.google.com/chooseprovider?restaurantId=/g/11bw1y17gx&g2lbs=ANTchaNKdh8f-dYfHabiA-LOR6rPMploRXCgIUabwTZMQ6rNpnlUZIeo2afC9w5PQPuE1xXB3tfkPdUTWxJUAbVxo9nhxo_3C_Vyn0Hmj7leDlUlar6tO0YZmzZ6zvcamklOvPrbVsV5&hl=en-US&gl=us&ssta=1&fo_m=MfohQo559jFvMUOzJVpjPL1YMfZ3bInYwBDuMfaXTPp5KXh-&gei=805JZffCEa2nptQPjoKimAM&ei=805JZffCEa2nptQPjoKimAM&fo_s=OA&opi=89978449&sei=CVWOaeELlEC0EeGSR29Db93y&utm_campaign&utm_source=search" id="bottom_link_4" target="_self">
653                        Order                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="https://resy.com/cities/rochester-mi/venues/rochester-bistro?date=2026-06-04&seats=2." id="bottom_link_3" target="_self">
654                        Reserve                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="/rochester-rochester-bistro-party" id="bottom_link_5" target="_self">
655                        Parties                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="/rochester-rochester-bistro-catering" id="bottom_link_6" target="_self">
656                        Catering                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="https://tmt.spotapps.co/job-listings?spot_id=119755&callback_url=http://rochesterbistro.com/a-article" id="bottom_link_7" target="_self">
657                        Jobs                    </a></li></ul></div></nav>
657<script src="https://static.spotapps.co/web/rochesterbistro--com/lib/jquery/jquery.min.js"></script>
657<script src="https://static.spotapps.co/web/rochesterbistro--com/lib/bootstrap/js/bootstrap.min.js"></script>
657<script src="https://static.spotapps.co/web/rochesterbistro--com/lib/angular/angular.min.js"></script>
657<script src="https://static.spotapps.co/web/rochesterbistro--com/lib/underscorejs/underscore-min.js"></script>
657<script>
658
659	$("#bottom_link_4").on("click", function(){
660		if (ga_check())
661			universal_ga('send', 'event', 'Button', 'Click', 'Order Online');
662	});
663	$("#bottom_link_3").on("click", function(){
664		if (ga_check())
665			universal_ga('send', 'event', 'Button', 'Click', 'Reserve');
666	});
667	$("#bottom_link_5").on("click", function(){
668		if (ga_check())
669			universal_ga('send', 'event', 'Button', 'Click', 'Private Party');
670	});
671	$("#bottom_link_6").on("click", function(){
672		if (ga_check())
673			universal_ga('send', 'event', 'Button', 'Click', 'Catering');
674	});
675	$("#bottom_link_7").on("click", function(){
676		if (ga_check())
677			universal_ga('send', 'event', 'Button', 'Click', 'Jobs');
678	});
679  $('.header-logo, .nav-v2-home-btn').click(function(event) {
680    if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
681      event.preventDefault();
682      var windowScrollTop = $(window).scrollTop();
683      if(windowScrollTop > 150) {
684        $('html, body').animate({scrollTop: 0}, 750);
685      }
686    }
687  });
688
689$(".banner-section a.banner-pin").click(function(e) {
690    // target element id
691    var id = $(this).attr('href');
692
693    // target element
694    var section = $(id);
695    if (section.length === 0) {
696        return;
697    }
698
699    // prevent standard hash navigation (avoid blinking in IE)
700    e.preventDefault();
701
702    // top position relative to the document
703    var pos = section.offset().top - 100 + 10;
704
705    // animated top scrolling
706    $('body, html').animate({scrollTop: pos}, 750);
707});
708
709$(document).ready(function() {
710  var navHeight = $('nav.navbar').height();
711  $('html').css("scroll-padding-top", navHeight);
712});
713
714var called_v8_scroll = false;
715
716$(document).on('scroll', function (e) {
717    if($(document).scrollTop() > 0) {
718      $('.navbar.nav-v7').addClass('nav-scroll');
719      $('.navbar.nav-v7').removeClass('nav-top');
720      if (2 !=2 && 2 == 2) {
721        if(!called_v8_scroll) {
722          setTimeout(function(){
723            setHelperTabWidth();
724            called_v8_scroll = true;
725          }, 300);
726        }
727      }
728    }else {
729      $('.navbar.nav-v7').removeClass('nav-scroll');
730      $('.navbar.nav-v7').addClass('nav-top');
731      if (2 != 2 && 2 == 2) {
732        $('#hidden_tab_r').width(0);
733        $('#hidden_tab_l').width(0);
734        $('.navbar-nav li.nav-tab').first().css('margin-left', '0px');
735        $('.navbar-nav li.nav-tab').last().css('margin-right', '0px');
736        called_v8_scroll = false;
737      }
738    }
739});
740
741$(function() {
742  setDropDownMenuWidth();
743
744  function setDropDownMenuWidth() {
745    var tabs_list = $('.navbar-tabs .navbar-nav');
746
747    $(tabs_list).find('li.drop-down-link').each(function() {
748      var sub_menu_width = $(this).outerWidth(true);
749      if (sub_menu_width < 100) {
750        sub_menu_width = 100;
751      }
752      $(this).find('.sub-menu').css('width', sub_menu_width+'px');
753    });
754  }
755
756  $( window ).resize(function() {
757    setDropDownMenuWidth();
758  });
759  $( window ).load(function() {
760    setDropDownMenuWidth();
761  });
762
763});
764
765
766
767$( '.drop-down-link .drop-down' ).click(function(event) {
768  event.preventDefault();
769  event.stopPropagation();
770
771  var drop_down = $(this).closest('.drop-down-link');
772  var sub_menu = $(this).closest('.drop-down-link').find( '.sub-menu' );
773
774  if ( $(sub_menu).is( ':hidden' ) ) {
775    $(sub_menu).slideDown();
776    $(drop_down).addClass('active');
777  } else {
778    $(sub_menu).slideUp();
779    $(drop_down).removeClass('active');
780  }
781});
782
783//// Set width for corresponding helper tab or margin for first or last nav tab depending on calculeted width sum of left and right tabs
784function setHelperTabWidth() {
785  var nav_tab_width;
786  var tabs_left_width = 0;
787  var tabs_right_width = 0;
788
789  var full_nav_tab_width;
790  var full_tabs_left_width = 0;
791  var full_tabs_right_width = 0;
792
793  $('li.nav-tab').each(function( index, element ) {
794
795    nav_tab_width = $(element).find('a').width();
796    full_nav_tab_width = $(element).outerWidth(true);
797
798    if (!($(element).hasClass('helper-tab'))) {
799      if (index<4) {
800        tabs_left_width += nav_tab_width;
801        full_tabs_left_width += full_nav_tab_width;
802      } else {
803        tabs_right_width += nav_tab_width;
804        full_tabs_right_width += full_nav_tab_width;
805      }
806    } else {
807      if(index == 0) {
808        full_tabs_left_width += full_nav_tab_width;
809      } else {
810        full_tabs_right_width += full_nav_tab_width;
811      }
812    }
813
814  });
815
816  var tabs_width_differance = tabs_left_width - tabs_right_width;
817  var helper_value = Math.abs(tabs_width_differance);
818  var full_tabs_width_differance = full_tabs_left_width - full_tabs_right_width;
819
820  // if sum of left tabs width is smaller than rigth tabs width tabs_width_differance is negative set margin left for first tab
821  if (full_tabs_width_differance != 0) {
822    if (tabs_width_differance < 0) {
823      $('.navbar-nav li.nav-tab').first().css('margin-left', helper_value+'px');
824    } else {
825      $('.navbar-nav li.nav-tab').last().css('margin-right', helper_value+'px');
826    }
827  }
828  
829}
830
831$(function() {
832  setNavTabsWidth();
833
834  function setNavTabsWidth() {
835    var container_width = $('.navbar-tabs .container').outerWidth();
836    var social_icons_width = $('.navbar-tabs .socialnav').outerWidth(true);
837    var reduced_tabs_width = container_width - (2 * social_icons_width) -10;
838
839    $('.navbar-tabs .navbar-content').width(reduced_tabs_width);
840
841    // helper value set in case logo is centered and tabs width sum on the left and on the right are not the same
842    if (2 == 2) {
843      setTimeout(function(){
844        setHelperTabWidth();
845        $('.navbar.nav-v8 .desktop-navigation .navbar-nav').css('opacity', '1');
846      }, 300);
847
848    }
849  }
850
851  $( window ).resize(function() {
852      setNavTabsWidth();
853  }); 
854
855});
856
857$('.logo-holder .logo-image').click(function(event) {
858  if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
859    var windowScrollToTop = $(window).scrollTop();
860    if(windowScrollToTop > 150) {
861      $('html, body').animate({scrollTop: 0}, 750);
862    }
863  } else {
864      window.location = "/";
865  }
866});
867    setTimeout(function(){
868        $('.navbar-fixed-bottom.nav-v1').addClass('show-bottom-nav'); triggerShowFooterEvents();
869    }, 4000);</script>
869<script>
870(function() {
871  var name = "Rochester Bistro";
872  var pid = "ChIJ0XHcP7jpJIgR7foublvB0AA";
873  function build_url() {
874    var q = encodeURIComponent(name).replace(/'/g, "%27");
875    return "https://www.google.com/maps/search/?api=1"
876         + "&query=" + q
877         + "&query_place_id=" + encodeURIComponent(pid);
878  }
879  window.google_map_url = build_url();
880  window.open_google_map = function() {
881    window.open(build_url(), "_blank");
882  };
883})();
884</script>
884<script>
885
886  var spot_id = 119755;
887  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 apply for a job","Other Questions"],"custom_hours":"","hours":"","active_tmt_cta_links":{"cta_private_party":"https://rochesterbistro.com/-party","cta_catering":"https://rochesterbistro.com/-catering","cta_reservations":null,"cta_jobs":"https://tmt.spotapps.co/job-listings?spot_id=119755"},"spot_name":"Rochester Bistro","label_for_texting_permission":"I’d like to get texts about specials, events, and other exclusive offers and announcements not available to general public"}');
888
889  if (false){
890    console.log("Check SpotHopper configuration. Probably there is no 'WEBSITE::DOMAIN_NAME' key for your website");
891  }
892
893  if (navigator.userAgent.match(/iPhone/i)
894       || navigator.userAgent.match(/iPad/i)
895       || navigator.userAgent.match(/iPod/i)){
896      $(document).ready(function(){
897            document.body.className += " " + "webkit-mobile-body";
898      });
899    }
900
901  var promotion_url_param_domain = getPromotionUrlParams()['domain'];
902  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')){
903    $("a[href^='/']").each(function(){
904      if (this.href.indexOf('domain=') == -1){
905        var sh_internal_url = new URL(this.href);
906        sh_internal_url.searchParams.set("domain", promotion_url_param_domain);
907        this.href = sh_internal_url.toString();
908      }
909    })
910  }
911
912
913  function cta_link_matches_href(href, url){
914    var domain = 'rochesterbistro.com';
915    if(typeof url === 'undefined'){
916      return false;
917    }
918    var partsOfURL = url.split(domain);
919    if (partsOfURL.length != 2){
920      return href == url;
921    }else{
922      var urlPath = partsOfURL[1];
923      if (urlPath.substring(0,1) == "/"){
924        urlPath = urlPath.substring(1,urlPath.length);
925      }
926      return href.indexOf(urlPath, domain.length + href.indexOf(domain)-1) !== -1;
927    }
928  }
929
930  var all_cta_links = [{"id":811603,"spot_id":119755,"url":"https://tmt.spotapps.co/job-listings?spot_id=119755","cta_link_type":"job_listing","created_at":"2023-10-09T18:22:43.899+00:00","updated_at":"2026-06-04T22:16:01.723+00:00","made_of_food":false,"link_name":"Job Listing","target":null,"website_footer_label":"Jobs","position":2},{"id":839328,"spot_id":119755,"url":"https://rochesterbistro.com/-catering","cta_link_type":"catering","created_at":"2023-11-29T10:59:32.916+00:00","updated_at":"2026-06-04T22:16:01.674+00:00","made_of_food":false,"link_name":"Catering","target":null,"website_footer_label":"Catering","position":4},{"id":858630,"spot_id":119755,"url":"https://rochesterbistro.com/-food-menu","cta_link_type":"food_menu","created_at":"2024-01-04T11:39:29.877+00:00","updated_at":"2026-06-04T22:16:01.589+00:00","made_of_food":false,"link_name":"","position":null},{"id":811602,"spot_id":119755,"url":"https://rochesterbistro.com/-party","cta_link_type":"private_parties","created_at":"2023-10-09T18:20:52.360+00:00","updated_at":"2026-06-04T22:16:01.505+00:00","made_of_food":false,"link_name":"Private Parties","target":null,"website_footer_label":"Parties","position":3},{"id":1933271,"spot_id":119755,"url":"https://resy.com/cities/rochester-mi/venues/rochester-bistro?date=2026-06-04\u0026seats=2.","cta_link_type":"reservations","created_at":"2026-05-11T23:01:56.756+00:00","updated_at":"2026-06-04T22:16:01.629+00:00","made_of_food":false,"link_name":"Reservations","target":null,"website_footer_label":"Reserve","position":1},{"id":858628,"spot_id":119755,"url":"https://rochesterbistro.com/-specials","cta_link_type":"specials","created_at":"2024-01-04T11:39:29.789+00:00","updated_at":"2026-06-04T22:16:01.431+00:00","made_of_food":false,"link_name":"","position":null},{"id":858629,"spot_id":119755,"url":"https://rochesterbistro.com/-drink-menu","cta_link_type":"drink_menu","created_at":"2024-01-04T11:39:29.851+00:00","updated_at":"2026-06-04T22:16:01.550+00:00","made_of_food":false,"link_name":"","position":null},{"id":850064,"spot_id":119755,"url":"https://food.google.com/chooseprovider?restaurantId=/g/11bw1y17gx\u0026g2lbs=ANTchaNKdh8f-dYfHabiA-LOR6rPMploRXCgIUabwTZMQ6rNpnlUZIeo2afC9w5PQPuE1xXB3tfkPdUTWxJUAbVxo9nhxo_3C_Vyn0Hmj7leDlUlar6tO0YZmzZ6zvcamklOvPrbVsV5\u0026hl=en-US\u0026gl=us\u0026ssta=1\u0026fo_m=MfohQo559jFvMUOzJ
930VpjPL1YMfZ3bInYwBDuMfaXTPp5KXh-\u0026gei=805JZffCEa2nptQPjoKimAM\u0026ei=805JZffCEa2nptQPjoKimAM\u0026fo_s=OA\u0026opi=89978449\u0026sei=CVWOaeELlEC0EeGSR29Db93y\u0026utm_campaign\u0026utm_source=search","cta_link_type":"order","created_at":"2023-12-18T13:06:23.557+00:00","updated_at":"2026-06-04T22:16:01.765+00:00","made_of_food":false,"link_name":"Order","target":null,"website_footer_label":"Order","position":0}];
931
932  function find_cta_link(href) {
933    for (var i=0; i< all_cta_links.length; i++){
934      var cta_link = all_cta_links[i];
935      if ( cta_link_matches_href(href, cta_link.url)){
936        return cta_link;
937      }
938    }
939  }
940
941  function find_cta_links(href) {
942    var cta_links = []
943    for (var i=0; i< all_cta_links.length; i++){
944      var cta_link = all_cta_links[i];
945      if ( cta_link_matches_href(href, cta_link.url)){
946        cta_links.push(cta_link);
947      }
948    }
949    return cta_links;
950  }
951
952
953  function get_current_page_cta_link_types(){
954    var types = [];
955    var cta_links = find_cta_links(document.location.href);
956    for (var i=0; i<cta_links.length; i++){
957      types.push(cta_links[i].cta_link_type);
958    }
959    return types;
960  }
961
962
963  function is_food_menu_page(){
964    var cta_link_types = get_current_page_cta_link_types();
965    for (var i=0; i<cta_link_types.length; i++){
966      if ('food_menu' == cta_link_types[i])
967        return true;
968    }
969    return false;
970  }
971
972
973  function get_form_cat_from_cta(){
974    var cta_link = find_cta_link(document.location.href);
975    if (cta_link == null) {
976        return null;
977    }
978    if (cta_link.cta_link_type == 'private_parties'){
979        return 'private_party';
980    }else if (cta_link.cta_link_type == 'reservations'){
981        return 'reservation';
982    }else if (cta_link.cta_link_type == 'catering'){
983        return 'catering';
984    }else if (cta_link.cta_link_type == 'job_listing'){
985        return 'job_listings';
986    }else if (cta_link.cta_link_type == 'gift_cards'){
987          return 'gift_cards';
988    }
989    return null;
990  }
991
992  function element_has_events_defined(elem){
993    if ($._data(elem, "events") === undefined){
994      return false;
995    }
996    return true;
997  }
998
999  function create_ga_events_for_cta_clicks(){
1000    if (typeof $ === 'function'){
1001
1002      var cta_link_of_the_page = find_cta_link(location.href);
1003
1004
1005      $("a").each(function(index, elem){
1006        var href = $(elem).attr('href');
1007
1008        if (href  === undefined ){
1009           return;
1010        }
1011
1012        if (href.substring(0,4) == 'tel:'){
1013          if (!element_has_events_defined(elem)){  // not footer links
1014            $(elem).on("click", function(){
1015                universal_ga('send', 'event', {
1016                  eventCategory: 'Button',
1017                  eventAction: 'Click',
1018                  eventLabel: 'Phone',
1019                  transport: 'beacon'
1020                });
1021             });
1022
1023             if (cta_link_of_the_page){
1024                $(elem).on("click", function(){
1025                    universal_ga('send', 'event', {
1026                      eventCategory: 'Button',
1027                      eventAction: 'Click',
1028                      eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone',
1029                      transport: 'beacon'
1030                    });
1031                 });
1032             }
1033          } else {
1034             if (cta_link_of_the_page){
1035               $(elem).on("click", function(){
1036                   universal_ga('send', 'event', {
1037                        eventCategory: 'Button',
1038                        eventAction: 'Click',
1039                        eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone footer',
1040                        transport: 'beacon'
1041                   });
1042               });
1043             }
1044          }
1045
1046
1047        }else{
1048          var cta_link = find_cta_link(href);
1049          if (elem.className != null && elem.className.indexOf("bottom-link") > -1){
1050            // console.log("bottom link detected");
1051          }else{
1052            if (cta_link != null){
1053              $(elem).on("click", function(){
1054                universal_ga('send', 'event', {
1055                        eventCategory: 'Website Link',
1056                        eventAction: 'Click',
1057                        eventLabel: cta_link.cta_link_type,
1058                        transport: 'beacon'
1059                  });
1060              });
1061            }
1062          }
1063        }
1064
1065
1066      });
1067    }
1068  }
1069
1070  if (typeof angular === "undefined") {
1071    create_ga_events_for_cta_clicks();
1072  } else {
1073    angular.element(document).ready(function () {
1074      create_ga_events_for_cta_clicks();
1075    });
1076  }
1077
1078
1079  function triggerShowFooterEvents(){
1080    if (window.screen.availWidth < 768){
1081        universal_ga('send', 'event', {
1082                eventCategory: 'Mobile Footer',
1083                eventAction: 'View',
1084                eventLabel: '',
1085                transport: 'beacon'
1086          });
1087    }
1088  }
1089
1090
1091
1092
1093  ////////////
1094  function smartFooterV2()
1095  {
1096    var list= document.getElementsByClassName("bottom-list-item");
1097    if (!list) return;
1098
1099    if (document.getElementById("bottom-navbar") == null){
1100      return;
1101    }
1102
1103    var bottomNav = document.querySelector('#bottom-navbar .navbar-nav');
1104    var footerLinkPaddingLeft = $('#bottom-navbar .navbar-nav li a').css('padding-left');
1105    var footerLinkPaddingRight = $('#bottom-navbar .navbar-nav li a').css('padding-right');
1106
1107    bottomNav.innerHTML = '';
1108    var linksWithPosition = all_cta_links.filter(e => e.position != null && e.position >= 0);
1109    linksWithPosition.sort(function(a,b) {
1110      return a.position - b.position;
1111    });
1112
1113    var footerLinkStyle = (footerLinkPaddingLeft == '0px' || footerLinkPaddingRight == '0px' ? 'style="padding-left: 8px; padding-right: 8px;"' : '');
1114
1115    linksWithPosition.forEach((e, i) => {
1116        var target = e.target || getUrlTarget(e.url);
1117        bottomNav.insertAdjacentHTML('beforeend',
1118        `<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>`);
1119    })
1120
1121    var intervalCount = 0
1122    var interval = setInterval(() => {
1123      if(intervalCount == 50){
1124        clearInterval(interval);
1125      }
1126      removeOverflowingFooterLinks();
1127      intervalCount ++;
1128    }, 200);
1129
1130    $('.smart-footer-link').on("click", function(){
1131          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
1132                    shUrlParams['source'] = 'footer';
1133                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
1134          }
1135
1136          var visibleLinks = $('.smart-footer-link').map(function (e) {
1137              return $(this).data('type');
1138          }).toArray().join(',');
1139
1140          universal_ga('send', 'event', {
1141                  eventCategory: 'Button',
1142                  eventAction: 'Click_footer_2',
1143                  eventLabel: "type:" + $(this).data('type') + "|position:" + $(this).data('position') + "|visible:" + visibleLinks,
1144                  transport: 'beacon'
1145            });
1146    });
1147  }
1148
1149  function removeOverflowingFooterLinks(){
1150    var bottomNavLinks = document.querySelectorAll('#bottom-navbar .navbar-nav li');
1151    var width_sum = 0;
1152
1153    bottomNavLinks.forEach(e => {
1154      width_sum += e.getBoundingClientRect().width;
1155      if ((width_sum) > window.innerWidth) {
1156        console.log(`%cLink %c${e.textContent} %cdeleted couldn't fit screen`,"color: #fff;background: #202124;", "background: red;color: #fff", "color: #fff;background: #202124;");
1157        e.remove();
1158      }
1159    });
1160  }
1161
1162  function getUrlTarget(url){
1163    if(url.startsWith('tel')){
1164      return '_self';
1165    }
1166    if(url.startsWith('/') || url.includes('tmt.spotapps.co') || url.includes(window.location.host)){
1167      return '_self';
1168    }
1169    return '_blank';
1170  }
1171
1172  function npb()
1173    {
1174    	var list= document.getElementsByClassName("bottom-list-item");
1175    	if (!list) return;
1176
1177      if (document.getElementById("bottom-navbar") == null){
1178        return;
1179      }
1180
1181      var url = ""
1182    	for (var i=0; i < all_cta_links.length; i++)
1183    	{
1184    		if (all_cta_links[i].cta_link_type == "order"){
1185          url = all_cta_links[i].url;
1186        }
1187    	}
1188
1189    	if ( url == ""){
1190        return;
1191      }
1192
1193    	for (i=0; i < list.length; i++)
1194    	{
1195    		console.log(cta_link_matches_href(list[i].firstChild.href, url));
1196    		if (cta_link_matches_href(list[i].firstChild.href,url))  return;
1197
1198    	};
1199
1200    	var item = list[list.length-1]
1201    	document.getElementById("bottom-navbar").getElementsByClassName("nav navbar-nav")[0].appendChild(item.cloneNode(true));
1202    	var width_sum = 0;
1203    	for (i=0; i < list.length; i++) {
1204    		width_sum += list[i].getBoundingClientRect().width;
1205    	}
1206
1207    	var item = list[list.length-1]
1208    	if ((width_sum - 10) > window.innerWidth) { item.parentNode.removeChild(item); console.log("link deleted couldn't fit screen"); return; }
1209
1210    	item.firstChild.text = "Order";
1211    	item.firstChild.href = url;
1212    	item.firstChild.id = "bottom_link_" + list.length;
1213
1214      $(item.firstChild).on("click", function(){
1215
1216          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
1217                    shUrlParams['source'] = 'footer';
1218                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
1219                  }
1220
1221          universal_ga('send', 'event', {
1222                  eventCategory: 'Button',
1223                  eventAction: 'Click',
1224                  eventLabel: 'Plan B-2 Order',
1225                  transport: 'beacon'
1226            });
1227      });
1228
1229
1230    }
1231
1232function activateSmartFooter(){
1233    var smart_footer_active = true;
1234    var smart_footer_version = 2;
1235    var man_bottom_active = false;
1236    if(window.location.hash == '#smartFooterV2=enabled'){
1237      smartFooterV2();
1238      return;
1239    }
1240    if (smart_footer_active && !man_bottom_active){
1241      if(smart_footer_version == 2 ){
1242          smartFooterV2();
1243       }else {
1244          npb();
1245       }
1246    }
1247  }
1248
1249  activateSmartFooter();
1250
1251  var corona_config_str = '{"id":65725,"spot_id":119755,"promote_pick_up":true,"promote_gift_cards":true,"promote_happy_hour":true,"promote_events":true,"instructions_on_food_page":false,"food_page_instruction_text":"To place a delivery or curbside pick-up order, please call:","food_page_instruction_phone":"2489232724","created_at":"2023-09-29T14:20:48.798+00:00","updated_at":"2025-04-16T14:07:36.857+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":5,"jobs_priority_value":3,"food_and_drinks_priority_value":5,"specials_priority_value":3,"national_days_priority_value":3,"holidays_priority_value":3,"sports_priority_value":3,"walk_ins_priority_value":5,"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}';
1252  var corona_config =  corona_config_str != '' ?  JSON.parse('{"id":65725,"spot_id":119755,"promote_pick_up":true,"promote_gift_cards":true,"promote_happy_hour":true,"promote_events":true,"instructions_on_food_page":false,"food_page_instruction_text":"To place a delivery or curbside pick-up order, please call:","food_page_instruction_phone":"2489232724","created_at":"2023-09-29T14:20:48.798+00:00","updated_at":"2025-04-16T14:07:36.857+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":5,"jobs_priority_value":3,"food_and_drinks_priority_value":5,"specials_priority_value":3,"national_days_priority_value":3,"holidays_priority_value":3,"sports_priority_value":3,"walk_ins_priority_value":5,"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;
1253
1254
1255  //corona instuctions
1256  function show_corona_instructions(text, phone, btnText){
1257    //format to US number
1258    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
1259
1260    if(corona_config.shopping_cart_type == "TMT" && corona_config.shopping_cart_active == true) {
1261        var linkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
1262        var btnLinkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
1263    }else {
1264        var linkLocation = 'tel:+1'+phone+'';
1265        var btnLinkLocation = 'tel:+1'+ match[1] + '-' + match[2] + '-' + match[3] +''
1266    }
1267    var appendPhone = 'tel:+1'+phone+'';
1268    //inject html content
1269    if ($('.food-menu-nav').length) {
1270      //new template
1271      var pageEl =  $('.food-menu-nav').css('margin','20px auto 10px auto');
1272      var textColor = rgb2hex($('.section-header').css('color'));
1273      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
1274      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
1275      fontSize = fontSize + Math.round(fontSize  * 0.25);
1276
1277      // 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>';
1278      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>';
1279
1280    }else {
1281      //old template
1282      var pageEl = $('.tabnav');
1283      var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
1284      var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
1285
1286      var linkTextColor = getContrast50(linkColor);
1287      var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
1288      fontSize = fontSize + Math.round(fontSize  * 0.25);
1289      var textTransform = $('.style-traditional .tabnav .nav>li>a').css('text-transform');
1290
1291      // 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>';
1292      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>';
1293
1294    }
1295     //html content
1296    pageEl.prepend(html);
1297  }
1298
1299  function rgb2hex(rgb) {
1300    if(typeof rgb !== "undefined"){
1301      rgbColor = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
1302      if (!rgbColor) {
1303        rgba = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(,\s*\d+\.*\d+)?\)$/);
1304        return "#" + hex(rgba[1]) + hex(rgba[2]) + hex(rgba[3]);
1305      }
1306      function hex(x) {
1307          return ("0" + parseInt(x).toString(16)).slice(-2);
1308      }
1309      return "#" + hex(rgbColor[1]) + hex(rgbColor[2]) + hex(rgbColor[3]);
1310    }
1311    return rgb;
1312  }
1313
1314  function getContrast50(hexcolor){
1315    return (parseInt(hexcolor, 16) > 0xffffff/2) ? '#000':'#fff';
1316  }
1317
1318  function show_corona_sidebar_instructions(text, phone){
1319    //format to US number
1320    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
1321    var divWidth = 230;
1322    var top = 50;
1323    var linkSize = '1.6em';
1324    var pSize = $('p').css('font-size');
1325    var appendPhone = 'tel:+1'+phone+'';
1326
1327    if ($(window).width() < 1600)
1328      var top = 30;
1329    if ($(window).width() < 1200){
1330      var divWidth = 180;
1331      var linkSize = '1.4em';
1332      var pSize ='1.1em';
1333    }
1334
1335    if($('.food-menu-nav').length){ //new template
1336      var textColor = $('.food-menu-nav-item.active').css('color');
1337      var linkColor = $('.food-menu-nav-item.active').css('background-color');
1338
1339      var linkTextColor = $('.food-menu-nav-item.active').css('color');
1340      var parent = $('.food-menu-page');
1341    }
1342    else { //old template
1343      var textColor = $('.menu-item-name-traditional').css('color');
1344      var linkColor = $('.style-traditional .tabnav .nav>
1344li.active>a').css('color');
1345      var parent = $('.food-menu').length ? $('.food-menu') : $('.drink-menu');
1346      var linkTextColor = getContrast50(linkColor);
1347    }
1348
1349    // $(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>');
1350    $(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>');
1351
1352    //check if resolution is bigger than tablet resolution
1353/*  if ($(window).width() > 991) {
1354      //detect scroll
1355      window.onscroll = function (e) {
1356      if ($(window).scrollTop() == 0) {
1357          $('#corona-instructions-sidebar').hide();
1358        }else {
1359          $('#corona-instructions-sidebar').show();
1360        }
1361      }
1362    } */
1363  }
1364
1365  function check_corona_config(config){
1366    console.log(config)
1367    if (config) {
1368      if (config.instructions_on_food_page && config.food_page_instruction_text && config.food_page_instruction_phone) {
1369        if (!config.promote_deliveries && config.promote_pick_up) {
1370          var btnText = 'Call For Pick Up';
1371        }
1372        if (config.promote_deliveries && !config.promote_pick_up) {
1373          var btnText = 'Call For Delivery';
1374        }
1375        if (config.promote_deliveries && config.promote_pick_up) {
1376          var btnText = 'Call For Pick Up Or Delivery';
1377        }
1378
1379        if(typeof btnText !== "undefined"){ // check if pick up or delivery are true
1380          if(config.shopping_cart_type == "TMT" && config.shopping_cart_active == true) {
1381                var btnText = 'ORDER NOW';
1382                    if($('.food-menu-nav').length){ //new template
1383                      var textColor = rgb2hex($('.section-header').css('color'));
1384                      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
1385                      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
1386                      fontSize = fontSize + Math.round(fontSize  * 0.25);
1387                    }
1388                    else { //old template
1389                        var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
1390                        var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
1391
1392                        var linkTextColor = getContrast50(linkColor);
1393                        var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
1394                        fontSize = fontSize + Math.round(fontSize  * 0.25);
1395                    }
1396                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);
1397                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
1398            } else {
1399                show_corona_instructions(config.food_page_instruction_text, config.food_page_instruction_phone, btnText);
1400                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
1401            }
1402
1403        }
1404      }
1405    }
1406  }
1407
1408
1409  if (is_food_menu_page() && !window.location.search.includes("contactless=true")){
1410    $( document ).ready(function() {
1411       setTimeout(function(){
1412        check_corona_config(corona_config);
1413       }, 300);
1414    });
1415  }
1416
1417
1418
1419  function isPhone(phone){
1420      var regex = /^(\+\d{1,2}\s?)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/;
1421      return regex.test(phone);
1422  }
1423
1424  function sendEmail_MT (input_id) {
1425    const $loader = $("[data-id=newsletter-widget-2] .sph-loading-img");
1426
1427    const $step = {
1428      form: $("[data-id=newsletter-widget-2] .sph-email-form"),
1429      message: $("[data-id=newsletter-widget-2] .sph-response-message"),
1430    }
1431
1432    const $field = {
1433      email: $("[data-id=newsletter-widget-2] #sph-newsletter-input-" + input_id),
1434      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-" + input_id),
1435      consent: $("[data-id=newsletter-widget-2] #sph-newsletter-checkbox-phone-" + input_id),
1436    };
1437
1438    const $error = {
1439      email: $("[data-id=newsletter-widget-2] #sph-newsletter-email-error-" + input_id),
1440      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-error-" + input_id),
1441    };
1442
1443    if ($field.email.val().trim() === "") {
1444        $error.email
1445          .html("This field is required")
1446          .show();
1447    }
1448    else if (!isEmail($field.email.val().trim())) {
1449      $error.email
1450        .html("Please use the format “[email protected]”")
1451        .show();
1452    } else {
1453      $error.email
1454        .html("")
1455        .hide();
1456    }
1457
1458    if ($field.consent.is(':checked') && $field.phone.val().trim() === "") {
1459      $error.phone
1460        .html("This field is required")
1461        .show();
1462    } else if ($field.phone.val().trim().length > 0 && !isPhone($field.phone.val().trim())) {
1463      $error.phone
1464        .html("The phone number must contain 10 digits")
1465        .show();
1466    } else {
1467      $error.phone
1468        .html("")
1469        .hide();
1470    }
1471
1472    const errorField = $step.form.find('.sh-form-error:visible');
1473
1474    if (errorField.length > 0) {
1475      const input = errorField.first().next();
1476
1477      document.activeElement.blur();
1478
1479      setTimeout(() => {
1480        input.focus();
1481      }, 160)
1482
1483      return;
1484    }
1485
1486    $loader
1487      .show()
1488      .prev()
1489      .hide();
1490
1491    $.ajax({
1492      method: "POST",
1493      url: "https://www.spothopperapp.com/api/spots/119755/contacts/add_with_texting_permission",
1494      crossDomain: true,
1495      dataType: 'json',
1496      data: {
1497        email: $field.email.val().trim(),
1498        phone: $field.phone.val().trim(),
1499        texting_permission: $field.consent.is(':checked'),
1500      },
1501      success: function (data) {
1502        afterRequestSubmission(data);
1503      },
1504      error: function () {
1505        afterRequestSubmission("Something went wrong. Please try again later.");
1506      }
1507    });
1508
1509    function afterRequestSubmission (data) {
1510      $step.form.hide();
1511
1512      $step.message
1513        .html(data)
1514        .show()
1515        .trigger('focus');
1516    }
1517  }
1518</script>
1518<script>function addPromotionParamsToTMTLinks()
1519{
1520    if (sessionStorage.getItem('shUrlParams')) {
1521        let shParams = JSON.parse(sessionStorage.getItem('shUrlParams'));
1522        if (!Object.keys(shParams).length)
1523            return;
1524        if(!shParams.source)
1525            return;
1526        $('a').each(function () {
1527            if (this.href.includes('tmt.spotapps.co')) {
1528                if(this.href.includes('&source=') || this.href.includes('&destination=') || this.href.includes('&promotion='))
1529                    return;
1530
1531                this.href = this.href + '&source=' + shParams.source;
1532                if(shParams.destination)
1533                    this.href = this.href + '&destination=' + shParams.destination;
1534                if(shParams.promotion)
1535                    this.href = this.href + '&promotion=' + shParams.promotion;
1536                if(shParams.fb_post_id)
1537                    this.href = this.href + '&fb_post_id=' + shParams.fb_post_id;
1538                if(shParams.email_post_id)
1539                    this.href = this.href + '&email_post_id=' + shParams.email_post_id;
1540            }
1541        })
1542    }
1543}
1544setTimeout(function() {
1545  addPromotionParamsToTMTLinks();
1546  addFooterToSourceParam();
1547},600)
1548
1549function addFooterToSourceParam()
1550{
1551    $('.bottom-link').each(function (){
1552        if(shouldAddSourceParam(this.href))
1553          this.href = this.href + '&source=footer';
1554    })
1555    $('#sh-multiple-links-content-holder a').each(function (){
1556       if(shouldAddSourceParam(this.href))
1557          this.href = this.href + '&source=footer';
1558    })
1559}
1560function shouldAddSourceParam(link){
1561  if (link.includes('tmt.spotapps.co') && !link.includes('&source=')){
1562    return true;
1563  }
1564  return false;
1565}
1566</script>
1566<script>
1567;(async () => {
1568if (typeof window.focusTrap === 'undefined') {
1569    await getScript('https://unpkg.com/tabbable/dist/index.umd.js');
1570    await getScript('https://unpkg.com/focus-trap/dist/focus-trap.umd.js');
1571}
1572
1573document.querySelectorAll('.modal').forEach((element) => {
1574    const trap = window.focusTrap?.createFocusTrap(element, {
1575        allowOutsideClick: true,
1576    });
1577
1578    $(element).on('shown.bs.modal', () => {
1579	    trap?.activate();
1580	});
1581
1582	$(element).on('hidden.bs.modal', () => {
1583        trap?.deactivate();
1584    });
1585});
1586
1587async function getScript (source) {
1588    return new Promise((resolve, reject) => {
1589        const script = document.createElement('script');
1590        script.src = source;
1591        script.async = true;
1592
1593        script.onload = resolve;
1594        script.onerror = reject;
1595
1596        document.head.appendChild(script);
1597    });
1598}
1599})();
1600</script>
1600<script src="https://wcache-plugins.spotapps.co/production/wcpl_bootstrap_ada_fix/wcpl_bootstrap_ada_fix.js"></script>
1600<link href="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.css" rel="stylesheet" media="screen"/>
1600<script src="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.js"></script>
1600<script src="https://wcache-plugins.spotapps.co/production/wcpl_ga_tracking/wcpl_ga_tracking.js"></script>
1600<script src="https://wcache-plugins.spotapps.co/production/wcpl_media_controls/script.js"></script>
1600<link href="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter_helper_style.css" rel="stylesheet" media="screen"/>
1600<script>var changes_log_array = {};</script>
1600<script src="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter.js"></script>
1600</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.