PageSourceSearch

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

html cafeveloce.com collected 2026-09-30 17:31:01 UTC 72,808 bytes, 1,601 lines download raw bytes

1<!DOCTYPE html>
2�<html lang="en"><head><link rel="canonical" href="https://cafeveloce.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-YWZVRWFQNG');
8    gtag('config', 'G-VG24VK2VKT');
9  </script>
9<!-- wcache 2026-09-30 08:24:24.795284Z --><!--
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 Cafe Veloce, we're committed to web accessibility for all users. Read our accessibility statement or contact us for help."/><meta content="" name="author"/><meta content="Cafe Veloce -" property="og:title"/><meta content="website" property="og:type"/><meta content="http://cafeveloce.com/a-article" property="og:url"/><meta content="Café Veloce was established in Kirkland Washington, in 1992. Beyond offering great Italian food, Café Veloce presents the public with a passage into vintage Italian racing. Whether losing ..." property="og:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/95662_website/reservations_left.jpg" property="og:image"/><meta content="Shrimp and Shroom Salad" property="og:image:alt"/><meta content="image/png" property="og:image:type"/><meta content="320622034905" property="fb:app_id"/><meta content="summary_large_image" name="twitter:card"/><meta content="Cafe Veloce -" name="twitter:title"/><meta content="Café Veloce was established in Kirkland Washington, in 1992. Beyond offering great Italian food, Café Veloce presents the public with a passage into vintage Italian racing. Whether losing ..." name="twitter:description"/><meta content="https://static.spotapps.co/website_images/ab_websites/95662_website/reservations_left.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/95662_website/favicons/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/><link href="https://static.spotapps.co/website_images/ab_websites/95662_website/favicons/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/><link href="https://static.spotapps.co/website_images/ab_websites/95662_website/favicons/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/><link href="https://static.spotapps.co/website_images/ab_websites/95662_website/favicons/site.webmanifest" rel="manifest"/><link color="#5bbad5" href="https://static.spotapps.co/website_images/ab_websites/95662_website/favicons/safari-pinned-tab.svg" rel="mask-icon"/><link href="https://static.spotapps.co/website_images/ab_websites/95662_website/favicons/favicon.ico" rel="shortcut icon"/><meta content="#da532c" name="msapplication-TileColor"/><meta content="https://static.spotapps.co/website_images/ab_websites/95662_website/favicons/browserconfig.xml" name="msapplication-config"/><meta content="#ffffff" name="theme-color"/><link href="https://static.spotapps.co/web/cafeveloce--com/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/cafeveloce--com/lib/custom-scrollbar/jquery.mCustomScrollbar.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/cafeveloce--com/lib/font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/cafeveloce--com/lib/hover_css/css/hover-min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/cafeveloce--com/lib/owlcarousel/owl.carousel.min.css" rel="stylesheet"/><link href="https://static.spotapps.co/web/cafeveloce--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/cafeveloce--com/css/style.css?version2" id="mainCSS" rel="stylesheet"/><link href="https://static.spotapps.co/web/cafeveloce--com/css/bottom_navigation_v1.css?v1775221295" rel="stylesheet"/><link href="css/custom.css?v1775221295&domain=cafeveloce.com" rel="stylesheet"/><link href="https://static.spotapps.co/web/cafeveloce--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/cafeveloce--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+8) {
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: #F0EEDF;
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: #F0EEDF;
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: #F0EEDF;
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: #F0EEDF;
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: #F0EEDF;
268  color: #1D1D1D;
269  }
270.nav-scroll li.drop-down-link .sub-menu {
271  background-color: #F0EEDF;
272  color: #1D1D1D;
273}
274.drink-menu li.drop-down-link .sub-menu {
275  background-color: #F0EEDF;
276  color: #1D1D1D;
277}
278.drink-menu .nav-scroll li.drop-down-link .sub-menu {
279  background-color: #F0EEDF;
280  color: #1D1D1D;
281}
282li.drop-down-link .sub-menu a,
283li.drop-down-link div.drop-down {
284  color: #1D1D1D;
285}
286.nav-scroll li.drop-down-link .sub-menu a,
287.nav-scroll li.drop-down-link div.drop-down {
288  color: #1D1D1D;
289}
290.drink-menu li.drop-down-link .sub-menu a,
291.drink-menu li.drop-down-link div.drop-down {
292  color: #1D1D1D;
293}
294.drink-menu .nav-scroll li.drop-down-link .sub-menu a,
295.drink-menu .nav-scroll li.drop-down-link div.drop-down {
296  color: #1D1D1D;
297}
298
299.navbar-regular.nav-v6 .navbar-nav>li>a,
300.navbar-regular.nav-v6 .navbar-nav>li>a:hover,
301.navbar-regular.nav-v6 .navbar-nav>.active>a,
302.navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
303.navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
304  border: none;
305  background-color: transparent;
306  color: #750002;
307}
308.navbar-regular.nav-v6 .navbar-nav>li>a {
309  color: #1D1D1D;
310}
311.drink-menu .navbar.nav-v6 .navbar-nav>li>a {
312  color: #1D1D1D;
313}
314.drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
315.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
316.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
317.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover {
318  color: #750002;
319}
320
321li.drop-down-link .sub-menu a:hover,
322li.drop-down-link .sub-menu a:focus {
323  color: #750002;
324}
325.drink-menu li.drop-down-link .sub-menu a:hover,
326.drink-menu li.drop-down-link .sub-menu a:focus {
327  color: #750002;
328}
329
330.drink-menu .navbar.nav-v7 .navbar-nav>li>a {
331  color: #1D1D1D;
332}
333
334.navbar-regular.nav-v6 .navbar-toggle .icon-bar {
335  background-color: #1D1D1D;
336}
337.drink-menu .navbar-regular.nav-v6 .navbar-toggle .icon-bar {
338  background-color: #1D1D1D;
339}
340.navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
341  background-color: #750002;
342}
343.drink-menu .navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
344  background-color: #750002;
345}
346.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a,
347.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
348.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
349.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
350.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover {
351  border: none;
352  color: #750002;
353}
354.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a {
355  color: #1D1D1D;
356}
357.drink-menu .navbar.nav-v6.nav-scroll .navbar-nav>li>a {
358  border: none;
359  color: #1D1D1D;
360}
361.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
362.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
363.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
364.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover {
365  color: #750002;
366}
367
368.nav-scroll li.drop-down-link .sub-menu a:hover,
369.nav-scroll li.drop-down-link .sub-menu a:focus {
370  color: #750002;
371}
372.drink-menu .nav-scroll li.drop-down-link .sub-menu a:hover,
373.drink-menu .nav-scroll li.drop-down-link .sub-menu a:focus {
374  color: #750002;
375}
376
377.navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
378  background-color: #1D1D1D;
379}
380.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
381  background-color: #1D1D1D;
382}
383.navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar {
384  background-color: #750002;
385}
386.drink-menu .navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar {
387  background-color: #750002;
388}
389.navbar.nav-v6 .header-logo-text{
390  color: #1D1D1D;
391}
392.navbar.nav-v6.nav-scroll .header-logo-text{
393  color: #1D1D1D;
394}
395.navbar.nav-v6 .social-icon{
396  color: #1D1D1D;
397}
398.navbar.nav-v6.nav-scroll .social-icon{
399  color: #1D1D1D;
400}
401.navbar.nav-v6 .social-square .contact-icon:hover {
402  color: #1D1D1D;
403  background-color: #750002;
404}
405.navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
406  color: #1D1D1D;
407  background-color: #750002;
408}
409
410.drink-menu .navbar.nav-v6 .header-logo-text{
411  color: #1D1D1D;
412}
413.drink-menu .navbar.nav-v6.nav-scroll .header-logo-text{
414  color: #1D1D1D;
415}
416.drink-menu .navbar.nav-v6 .social-icon{
417  color: #1D1D1D;
418}
419.drink-menu .navbar.nav-v6.nav-scroll .social-icon{
420  color: #1D1D1D;
421}
422.drink-menu .navbar.nav-v6 .social-square .contact-icon:hover {
423  color: #1D1D1D;
424  background-color: #750002;
425}
426.drink-menu .navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
427  color: #1D1D1D;
428  background-color: #750002;
429}
430.navbar.nav-v6 .navbar-tabs {
431  border-bottom: 1px solid transparent;
432}
433.navbar.nav-v6.nav-scroll .navbar-tabs {
434  border-bottom: 1px solid transparent;
435}
436.drink-menu .navbar.nav-v6 .navbar-tabs {
437  border-bottom: 1px solid transparent;
438}
439.drink-menu .navbar.nav-v6.nav-scroll .navbar-tabs {
440  border-bottom: 1px solid transparent;
441}
442@media (max-width: 767px) {
443  .navbar.nav-v6 {
444      background-color: #F0EEDF;
445      -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
446      -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
447      box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
448  }
449  .navbar.nav-v6.nav-scroll {
450      background-color: #F0EEDF;
451      -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
452      -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
453      box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
454  }
455  .drink-menu .navbar.nav-v6 {
456    background-color: #F0EEDF;
457    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
458    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
459    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0);
460  }
461  .drink-menu .navbar.nav-v6.nav-scroll {
462    background-color: #F0EEDF;
463    -webkit-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
464    -moz-box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
465    box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.2);
466  }
467  .navbar.nav-v6 .container,
468  .navbar.nav-v6.nav-scroll .container,
469  .drink-menu .navbar.nav-v6 .container,
470  .drink-menu .navbar.nav-v6.nav-scroll .container {
471    border-bottom: none;
472  }
473  .navbar.nav-v6 .navbar-header {
474    border-bottom: 1px solid transparent;
475  }
476  .navbar.nav-v6.nav-scroll .navbar-header {
477    border-bottom: 1px solid transparent;
478  }
479  .drink-menu .navbar.nav-v6 .navbar-header {
480    border-bottom: 1px solid transparent;
481  }
482  .drink-menu .navbar.nav-v6.nav-scroll .navbar-header {
483    border-bottom: 1spx solid transparent;
484  }
485  li.drop-down-link .sub-menu,
486  .drink-menu li.drop-down-link .sub-menu {
487    background-color: transparent;
488  }
489  .nav-scroll li.drop-down-link .sub-menu,
490  .drink-menu .nav-scroll li.drop-down-link .sub-menu {
491    background-color: transparent;
492  }
493    .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
494  .navbar-regular.nav-v6 .navbar-nav>.active>a,
495  .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
496  .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
497    background-color: #750002;
498    color: #1D1D1D;
499  }
500  .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
501  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
502  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
503  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
504    background-color: #750002;
505    color: #1D1D1D;
506  }
507  .drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
508  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
509  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
510  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover{
511    background-color: #750002;
512    color: #1D1D1D;
513  }
514  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
515  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
516  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
517  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover{
518    background-color: #750002;
519    color: #1D1D1D;
520  }
521
522  .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
523    color: #750002;
524  }
525  .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
526    color: #750002;
527  }
528  .drink-menu .navbar-regular.nav-v6 li.drop-down-link.active .drop-down .fa.fa-angle-up {
529    color: #750002;
530  }
531  .drink-menu .navbar-regular.nav-v6.nav-scroll li.drop-down-link.active .drop-down .fa.fa-angle-up {
532    color: #750002;
533  }
534}
535</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="Cafe Veloce logo top" class="img-responsive logo-top logo-image" src="https://static.spotapps.co/website_images/ab_websites/95662_website/logo_new.png"/></div><div class="header-logo logo-scroll"><img alt="Cafe Veloce logo scroll" class="img-responsive logo-scroll logo-image" src="https://static.spotapps.co/website_images/ab_websites/95662_website/logo_new.png"/></div></li><li class="nav-tab nav-order-link"><a class="link-order-sh" href="https://cafeveloce.hrpos.heartland.us/menu#" id="https://cafeveloce.hrpos.heartland.us/menu#_link" target="_blank">
536                      Order Online
537                                          </a></li><li class="nav-tab nav-menu-page"><a class="" href="/kirkland-cafe-veloce-food-menu" id="/Kirkland-Cafe-Veloce-food-menu_link" target="_self">
538                      Menu
539                                          </a></li><li class="nav-tab"><a class="" href="/kirkland-cafe-veloce-drink-menu" id="/Kirkland-Cafe-Veloce-drink-menu_link" target="_self">
540                      Drinks
541                                          </a></li><li class="nav-tab"><a class="" href="/kirkland-cafe-veloce-catering-menu" id="/Kirkland-Cafe-Veloce-catering-menu_link" target="_self">
542                      Catering
543                                          </a></li><li class="nav-tab additional-tab outside-link"><a class="additional-link" href="https://cafeveloce.hrpos.heartland.us/item" id="additional-link_link" target="_blank">
544                      Gift Cards
545                                          </a></li><li class="nav-tab"><a class="" href="/kirkland-cafe-veloce-events" id="/Kirkland-Cafe-Veloce-events_link" target="_self">
546                      Events
547                                          </a></li><li class="nav-tab"><a class="" href="/kirkland-cafe-veloce-about" id="/Kirkland-Cafe-Veloce-about_link" target="_self">
548                      About
549                                          </a></li><li class="nav-tab nav-hal-page">
549<a class="" href="/#contact_v3" id="/#contact_v3_link" target="_self">
550                      Hours &amp; Locations
551                                          </a></li><li class="nav-tab nav-jobs-link"><a class="link-jobs-sh" href="https://tmt.spotapps.co/job-listings?spot_id=95662&callback_url=http://cafeveloce.com/a-article#" id="https://tmt.spotapps.co/job-listings?spot_id=95662&callback_url=http://cafeveloce.com/a-article#_link" target="_self">
552                      Jobs
553                                          </a></li><li class="nav-tab nav-parties-link"><a class="link-parties-sh" href="/kirkland-cafe-veloce-party#" id="/Kirkland-Cafe-Veloce-party#_link" target="_self">
554                      Parties
555                                          </a></li><li class="nav-tab nav-menus-page"><a class="" href="/kirkland-cafe-veloce-specials-menu" id="/Kirkland-Cafe-Veloce-specials-menu_link" target="_self">
556                      Specials
557                                          </a></li><li class="nav-tab nav-reservations-link"><a class="link-reservations-sh" href="https://resy.com/cities/sea/cafe-veloce?seats=2#" id="https://resy.com/cities/sea/cafe-veloce?seats=2#_link" target="_blank">
558                      Reserve
559                                          </a></li></ul><ul class="socialnav"><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="/#contact_v3" target=""><i aria-hidden="true" class="social-icon fa fa-phone"></i><span>Phone</span></a><a class="pull-left contact-icon" href="https://www.facebook.com/320622034905" 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/cafe_veloce" target="_blank"><i class="social-icon fa fa-instagram"></i><span>Instagram page</span></a><a class="pull-left contact-icon" href="https://www.google.com/search?sca_esv=587611622&q=Cafe+Veloce&ludocid=17036523467981623485&lsig=AB86z5WpEYqe3YbhapbgYbn1OKX-&sa=X&ved=2ahUKEwiV2cSiv_WCAxX-QfEDHZZOD6IQoAJ6BAgfEAQ&biw=2560&bih=1283&dpr=1#ip=1&lrd=0x54900d83f806bb47:0xec6de3d4aca690bd,1,,,," target="_blank"><i aria-hidden="true" class="social-icon fa fa-google"></i><span>Google 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="Cafe Veloce logo top" class="img-responsive logo-top" src="https://static.spotapps.co/website_images/ab_websites/95662_website/logo_new.png"/></a><a class="header-logo logo-scroll" href="/"><img alt="Cafe Veloce logo scroll" class="img-responsive logo-scroll" src="https://static.spotapps.co/website_images/ab_websites/95662_website/logo_new.png"/></a><ul class="socialnav"><li class="social-links social-icons-holder social-square"><a class="pull-left contact-icon" href="https://www.facebook.com/320622034905" 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/cafe_veloce" target="_blank"><i class="social-icon fa fa-instagram"></i><span>Instagram page</span></a><a class="pull-left contact-icon" href="https://www.google.com/search?sca_esv=587611622&q=Cafe+Veloce&ludocid=17036523467981623485&lsig=AB86z5WpEYqe3YbhapbgYbn1OKX-&sa=X&ved=2ahUKEwiV2cSiv_WCAxX-QfEDHZZOD6IQoAJ6BAgfEAQ&biw=2560&bih=1283&dpr=1#ip=1&lrd=0x54900d83f806bb47:0xec6de3d4aca690bd,1,,,," target="_blank"><i aria-hidden="true" class="social-icon fa fa-google"></i><span>Google page</span></a></li></ul><div class="collapse navbar-collapse" id="navbar-collapse-1"><ul class="nav navbar-nav navbar-right"><li class=" nav-order-link"><a class="link-order-sh" href="https://cafeveloce.hrpos.heartland.us/menu#" id="mobile_https://cafeveloce.hrpos.heartland.us/menu#_link" target="_blank">
560                      Order Online
561                      
562                  </a></li><li class=" nav-menu-page"><a class="" href="/kirkland-cafe-veloce-food-menu" id="mobile_/Kirkland-Cafe-Veloce-food-menu_link" target="_self">
563                      Menu
564                      
565                  </a></li><li class=" "><a class="" href="/kirkland-cafe-veloce-drink-menu" id="mobile_/Kirkland-Cafe-Veloce-drink-menu_link" target="_self">
566                      Drinks
567                      
568                  </a></li><li class=" "><a class="" href="/kirkland-cafe-veloce-catering-menu" id="mobile_/Kirkland-Cafe-Veloce-catering-menu_link" target="_self">
569                      Catering
570                      
571                  </a></li><li class=" additional-tab outside-link"><a class="additional-link" href="https://cafeveloce.hrpos.heartland.us/item" id="mobile_additional-link_link" target="_blank">
572                      Gift Cards
573                      
574                  </a></li><li class=" "><a class="" href="/kirkland-cafe-veloce-events" id="mobile_/Kirkland-Cafe-Veloce-events_link" target="_self">
575                      Events
576                      
577                  </a></li><li class=" "><a class="" href="/kirkland-cafe-veloce-about" id="mobile_/Kirkland-Cafe-Veloce-about_link" target="_self">
578                      About
579                      
580                  </a></li><li class=" nav-hal-page"><a class="" href="/#contact_v3" id="mobile_/#contact_v3_link" target="_self">
581                      Hours &amp; Locations
582                      
583                  </a></li><li class=" nav-jobs-link"><a class="link-jobs-sh" href="https://tmt.spotapps.co/job-listings?spot_id=95662&callback_url=http://cafeveloce.com/a-article#" id="mobile_https://tmt.spotapps.co/job-listings?spot_id=95662&callback_url=http://cafeveloce.com/a-article#_link" target="_self">
584                      Jobs
585                      
586                  </a></li><li class=" nav-parties-link"><a class="link-parties-sh" href="/kirkland-cafe-veloce-party#" id="mobile_/Kirkland-Cafe-Veloce-party#_link" target="_self">
587                      Parties
588                      
589                  </a></li><li class=" nav-menus-page"><a class="" href="/kirkland-cafe-veloce-specials-menu" id="mobile_/Kirkland-Cafe-Veloce-specials-menu_link" target="_self">
590                      Specials
591                      
592                  </a></li><li class=" nav-reservations-link"><a class="link-reservations-sh" href="https://resy.com/cities/sea/cafe-veloce?seats=2#" id="mobile_https://resy.com/cities/sea/cafe-veloce?seats=2#_link" target="_blank">
593                      Reserve
594                      
595                  </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>
596
597.drink-menu .article-background, .drink-menu.article-background .pagecontent {
598  background-color: #000;
599  color: #fff;
600}
601.drink-menu.article-background .pagecontent {
602  border: none;
603}
604.drink-menu.article-background .pagecontent * {
605  text-align: left !important;
606  color: #fff;
607}
608.drink-menu.article-background .tabs-container {
609  text-shadow: none;
610}
611.drink-menu.article-background,
612.drink-menu.article-background:before {
613  background-image: none;
614}
615
616.drink-menu.article-background .pagecontent a,
617.drink-menu.article-background .pagecontent a:hover {
618  color: #fff;
619}
620
621.drink-menu.article-background {
622  background-color: #000;
623}
624
625.ada-page-content.container {
626  padding-top: 40px;
627}
628
629</style><div class="scrolling"><div class="container ada-page-content"><h1>Accessibility Statement for Cafe Veloce</h1><p>Cafe Veloce is committed to making our site accessible to people with disabilities. We are continuously gathering feedback and improving the user experience for everyone.
630    </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). Cafe Veloce 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.
631    </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.
632    </p><h2>Feedback</h2><p>How are we doing? We welcome your feedback on how to improve accessibility and usability of Cafe Veloce website. Please let us know using this email address: E-mail: <a href="mailto:[email protected]">[email protected]</a></p><p>
633We try to respond to feedback within 2 business days.
634</p><h2>Assistance</h2><p>If you need any assistance please call us at <a href="tel:+1(425) 814-2972">(425) 814-2972</a> during our regular business hours and we&apos;d be happy to help you with anything on our site.
635</p></div></div></div></div></article></main></div><style type="text/css">
636    .navbar-fixed-bottom.nav-v1 {
637        bottom: -100px;
638    }
639    .navbar-fixed-bottom.nav-v1 .nav.navbar-nav.navbar-right {
640        background-color: #F0EEDF;
641    }
642    .navbar-fixed-bottom.nav-v1 .bottom-svg-border path,
643    .navbar-fixed-bottom.nav-v1 .bottom-svg-border polygon {
644      fill: #000;
645    }
646    .navbar-fixed-bottom.nav-v1 .bottom-list-item a {
647        color: #1D1D1D;
648    }
649    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:hover,
650    .navbar-fixed-bottom.nav-v1 .bottom-list-item a:focus {
651        color: #750002;
652    }
653</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://cafeveloce.hrpos.heartland.us/menu" id="bottom_link_4" target="_self">
654                        Order                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="https://resy.com/cities/sea/cafe-veloce?seats=2" id="bottom_link_3" target="_self">
655                        Reserve                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="/kirkland-cafe-veloce-party" id="bottom_link_5" target="_self">
656                        Parties                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="/kirkland-cafe-veloce-catering" id="bottom_link_6" target="_self">
657                        Catering                    </a></li><li class="bottom-list-item "><a class="bottom-link " href="https://tmt.spotapps.co/job-listings?spot_id=95662&callback_url=http://cafeveloce.com/a-article" id="bottom_link_7" target="_self">
658                        Jobs                    </a></li></ul></div></nav>
658<script src="https://static.spotapps.co/web/cafeveloce--com/lib/jquery/jquery.min.js"></script>
658<script src="https://static.spotapps.co/web/cafeveloce--com/lib/bootstrap/js/bootstrap.min.js"></script>
658<script src="https://static.spotapps.co/web/cafeveloce--com/lib/angular/angular.min.js"></script>
658<script src="https://static.spotapps.co/web/cafeveloce--com/lib/underscorejs/underscore-min.js"></script>
658<script>
659
660	$("#bottom_link_4").on("click", function(){
661		if (ga_check())
662			universal_ga('send', 'event', 'Button', 'Click', 'Order Online');
663	});
664	$("#bottom_link_3").on("click", function(){
665		if (ga_check())
666			universal_ga('send', 'event', 'Button', 'Click', 'Reserve');
667	});
668	$("#bottom_link_5").on("click", function(){
669		if (ga_check())
670			universal_ga('send', 'event', 'Button', 'Click', 'Private Party');
671	});
672	$("#bottom_link_6").on("click", function(){
673		if (ga_check())
674			universal_ga('send', 'event', 'Button', 'Click', 'Catering');
675	});
676	$("#bottom_link_7").on("click", function(){
677		if (ga_check())
678			universal_ga('send', 'event', 'Button', 'Click', 'Jobs');
679	});
680  $('.header-logo, .nav-v2-home-btn').click(function(event) {
681    if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
682      event.preventDefault();
683      var windowScrollTop = $(window).scrollTop();
684      if(windowScrollTop > 150) {
685        $('html, body').animate({scrollTop: 0}, 750);
686      }
687    }
688  });
689
690$(".banner-section a.banner-pin").click(function(e) {
691    // target element id
692    var id = $(this).attr('href');
693
694    // target element
695    var section = $(id);
696    if (section.length === 0) {
697        return;
698    }
699
700    // prevent standard hash navigation (avoid blinking in IE)
701    e.preventDefault();
702
703    // top position relative to the document
704    var pos = section.offset().top - 100 + 10;
705
706    // animated top scrolling
707    $('body, html').animate({scrollTop: pos}, 750);
708});
709
710$(document).ready(function() {
711  var navHeight = $('nav.navbar').height();
712  $('html').css("scroll-padding-top", navHeight);
713});
714
715var called_v8_scroll = false;
716
717$(document).on('scroll', function (e) {
718    if($(document).scrollTop() > 0) {
719      $('.navbar.nav-v7').addClass('nav-scroll');
720      $('.navbar.nav-v7').removeClass('nav-top');
721      if (2 !=2 && 2 == 2) {
722        if(!called_v8_scroll) {
723          setTimeout(function(){
724            setHelperTabWidth();
725            called_v8_scroll = true;
726          }, 300);
727        }
728      }
729    }else {
730      $('.navbar.nav-v7').removeClass('nav-scroll');
731      $('.navbar.nav-v7').addClass('nav-top');
732      if (2 != 2 && 2 == 2) {
733        $('#hidden_tab_r').width(0);
734        $('#hidden_tab_l').width(0);
735        $('.navbar-nav li.nav-tab').first().css('margin-left', '0px');
736        $('.navbar-nav li.nav-tab').last().css('margin-right', '0px');
737        called_v8_scroll = false;
738      }
739    }
740});
741
742$(function() {
743  setDropDownMenuWidth();
744
745  function setDropDownMenuWidth() {
746    var tabs_list = $('.navbar-tabs .navbar-nav');
747
748    $(tabs_list).find('li.drop-down-link').each(function() {
749      var sub_menu_width = $(this).outerWidth(true);
750      if (sub_menu_width < 100) {
751        sub_menu_width = 100;
752      }
753      $(this).find('.sub-menu').css('width', sub_menu_width+'px');
754    });
755  }
756
757  $( window ).resize(function() {
758    setDropDownMenuWidth();
759  });
760  $( window ).load(function() {
761    setDropDownMenuWidth();
762  });
763
764});
765
766
767
768$( '.drop-down-link .drop-down' ).click(function(event) {
769  event.preventDefault();
770  event.stopPropagation();
771
772  var drop_down = $(this).closest('.drop-down-link');
773  var sub_menu = $(this).closest('.drop-down-link').find( '.sub-menu' );
774
775  if ( $(sub_menu).is( ':hidden' ) ) {
776    $(sub_menu).slideDown();
777    $(drop_down).addClass('active');
778  } else {
779    $(sub_menu).slideUp();
780    $(drop_down).removeClass('active');
781  }
782});
783
784//// Set width for corresponding helper tab or margin for first or last nav tab depending on calculeted width sum of left and right tabs
785function setHelperTabWidth() {
786  var nav_tab_width;
787  var tabs_left_width = 0;
788  var tabs_right_width = 0;
789
790  var full_nav_tab_width;
791  var full_tabs_left_width = 0;
792  var full_tabs_right_width = 0;
793
794  $('li.nav-tab').each(function( index, element ) {
795
796    nav_tab_width = $(element).find('a').width();
797    full_nav_tab_width = $(element).outerWidth(true);
798
799    if (!($(element).hasClass('helper-tab'))) {
800      if (index<6) {
801        tabs_left_width += nav_tab_width;
802        full_tabs_left_width += full_nav_tab_width;
803      } else {
804        tabs_right_width += nav_tab_width;
805        full_tabs_right_width += full_nav_tab_width;
806      }
807    } else {
808      if(index == 0) {
809        full_tabs_left_width += full_nav_tab_width;
810      } else {
811        full_tabs_right_width += full_nav_tab_width;
812      }
813    }
814
815  });
816
817  var tabs_width_differance = tabs_left_width - tabs_right_width;
818  var helper_value = Math.abs(tabs_width_differance);
819  var full_tabs_width_differance = full_tabs_left_width - full_tabs_right_width;
820
821  // if sum of left tabs width is smaller than rigth tabs width tabs_width_differance is negative set margin left for first tab
822  if (full_tabs_width_differance != 0) {
823    if (tabs_width_differance < 0) {
824      $('.navbar-nav li.nav-tab').first().css('margin-left', helper_value+'px');
825    } else {
826      $('.navbar-nav li.nav-tab').last().css('margin-right', helper_value+'px');
827    }
828  }
829  
830}
831
832$(function() {
833  setNavTabsWidth();
834
835  function setNavTabsWidth() {
836    var container_width = $('.navbar-tabs .container').outerWidth();
837    var social_icons_width = $('.navbar-tabs .socialnav').outerWidth(true);
838    var reduced_tabs_width = container_width - (2 * social_icons_width) -10;
839
840    $('.navbar-tabs .navbar-content').width(reduced_tabs_width);
841
842    // helper value set in case logo is centered and tabs width sum on the left and on the right are not the same
843    if (2 == 2) {
844      setTimeout(function(){
845        setHelperTabWidth();
846        $('.navbar.nav-v8 .desktop-navigation .navbar-nav').css('opacity', '1');
847      }, 300);
848
849    }
850  }
851
852  $( window ).resize(function() {
853      setNavTabsWidth();
854  }); 
855
856});
857
858$('.logo-holder .logo-image').click(function(event) {
859  if ( window.location.pathname == '/' || window.location.pathname == '/index.php') {
860    var windowScrollToTop = $(window).scrollTop();
861    if(windowScrollToTop > 150) {
862      $('html, body').animate({scrollTop: 0}, 750);
863    }
864  } else {
865      window.location = "/";
866  }
867});
868    setTimeout(function(){
869        $('.navbar-fixed-bottom.nav-v1').addClass('show-bottom-nav'); triggerShowFooterEvents();
870    }, 3000);</script>
870<script>
871(function() {
872  var name = "Cafe Veloce";
873  var pid = "ChIJR7sG-IMNkFQRvZCmrNTjbew";
874  function build_url() {
875    var q = encodeURIComponent(name).replace(/'/g, "%27");
876    return "https://www.google.com/maps/search/?api=1"
877         + "&query=" + q
878         + "&query_place_id=" + encodeURIComponent(pid);
879  }
880  window.google_map_url = build_url();
881  window.open_google_map = function() {
882    window.open(build_url(), "_blank");
883  };
884})();
885</script>
885<script>
886
887  var spot_id = 95662;
888  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://cafeveloce.com/-party","cta_catering":"https://cafeveloce.com/-catering","cta_reservations":null,"cta_jobs":"https://tmt.spotapps.co/job-listings?spot_id=95662"},"spot_name":"Cafe Veloce","label_for_texting_permission":"I’d like to get texts about specials, events, and other exclusive offers and announcements not available to general public"}');
889
890  if (false){
891    console.log("Check SpotHopper configuration. Probably there is no 'WEBSITE::DOMAIN_NAME' key for your website");
892  }
893
894  if (navigator.userAgent.match(/iPhone/i)
895       || navigator.userAgent.match(/iPad/i)
896       || navigator.userAgent.match(/iPod/i)){
897      $(document).ready(function(){
898            document.body.className += " " + "webkit-mobile-body";
899      });
900    }
901
902  var promotion_url_param_domain = getPromotionUrlParams()['domain'];
903  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')){
904    $("a[href^='/']").each(function(){
905      if (this.href.indexOf('domain=') == -1){
906        var sh_internal_url = new URL(this.href);
907        sh_internal_url.searchParams.set("domain", promotion_url_param_domain);
908        this.href = sh_internal_url.toString();
909      }
910    })
911  }
912
913
914  function cta_link_matches_href(href, url){
915    var domain = 'cafeveloce.com';
916    if(typeof url === 'undefined'){
917      return false;
918    }
919    var partsOfURL = url.split(domain);
920    if (partsOfURL.length != 2){
921      return href == url;
922    }else{
923      var urlPath = partsOfURL[1];
924      if (urlPath.substring(0,1) == "/"){
925        urlPath = urlPath.substring(1,urlPath.length);
926      }
927      return href.indexOf(urlPath, domain.length + href.indexOf(domain)-1) !== -1;
928    }
929  }
930
931  var all_cta_links = [{"id":878955,"spot_id":95662,"url":"https://cafeveloce.com/-specials","cta_link_type":"specials","created_at":"2024-02-07T09:53:24+00:00","updated_at":"2024-03-28T20:11:08+00:00","made_of_food":false,"link_name":"","position":null},{"id":823051,"spot_id":95662,"url":"https://cafeveloce.com/-catering","cta_link_type":"catering","created_at":"2023-11-02T20:59:53+00:00","updated_at":"2024-03-28T20:11:09+00:00","made_of_food":false,"link_name":"Catering","target":null,"website_footer_label":"Catering","position":4},{"id":862815,"spot_id":95662,"url":"https://cafeveloce.com/-food-menu","cta_link_type":"food_menu","created_at":"2024-01-11T15:14:50+00:00","updated_at":"2024-03-28T20:11:09+00:00","made_of_food":false,"link_name":"","position":null},{"id":862814,"spot_id":95662,"url":"https://cafeveloce.com/-drink-menu","cta_link_type":"drink_menu","created_at":"2024-01-11T15:14:50+00:00","updated_at":"2024-03-28T20:11:08+00:00","made_of_food":false,"link_name":"","position":null},{"id":823018,"spot_id":95662,"url":"https://cafeveloce.com/-party","cta_link_type":"private_parties","created_at":"2023-11-02T20:49:25+00:00","updated_at":"2024-03-28T20:11:08+00:00","made_of_food":false,"link_name":"Private Parties","target":null,"website_footer_label":"Parties","position":3},{"id":823052,"spot_id":95662,"url":"https://tmt.spotapps.co/job-listings?spot_id=95662","cta_link_type":"job_listing","created_at":"2023-11-02T21:00:41+00:00","updated_at":"2024-03-28T20:11:09+00:00","made_of_food":false,"link_name":"Job Listing","target":null,"website_footer_label":"Jobs","position":2},{"id":866531,"spot_id":95662,"url":"https://cafeveloce.com/-events","cta_link_type":"events","created_at":"2024-01-18T11:03:29+00:00","updated_at":"2024-03-28T20:11:08+00:00","made_of_food":false,"link_name":"","position":null},{"id":840815,"spot_id":95662,"url":"https://resy.com/cities/sea/cafe-veloce?seats=2","cta_link_type":"reservations","created_at":"2023-12-01T11:40:56+00:00","updated_at":"2024-03-28T20:11:09+00:00","made_of_food":false,"link_name":"","target":null,"website_footer_label":"Reserve","position":1},{"id":865702,"spot_id":95662,"url":"https://cafeveloce.hrpos.heartland.us/item","cta_link_type":"gift_cards","created_at":"2024-01-17T06:57:54+00:00","updated_at":"2024-03-28T20:11:09+00:00","made_of_food":false,"link_name":"","target":null,"website_footer_label":"Gift Cards","position":null},{"id":826279,"spot_id":95662,"url":"https://cafeveloce.hrpos.heartland.us/menu","cta_link_type":"order","created_at":"2023-11-09T11:30:30+00:00","updated_at":"2024-03-28T20:11:09+00:00","made_of_food":false,"link_name":"Order","target":null,"website_footer_label":"Order","position":0}];
932
933  function find_cta_link(href) {
934    for (var i=0; i< all_cta_links.length; i++){
935      var cta_link = all_cta_links[i];
936      if ( cta_link_matches_href(href, cta_link.url)){
937        return cta_link;
938      }
939    }
940  }
941
942  function find_cta_links(href) {
943    var cta_links = []
944    for (var i=0; i< all_cta_links.length; i++){
945      var cta_link = all_cta_links[i];
946      if ( cta_link_matches_href(href, cta_link.url)){
947        cta_links.push(cta_link);
948      }
949    }
950    return cta_links;
951  }
952
953
954  function get_current_page_cta_link_types(){
955    var types = [];
956    var cta_links = find_cta_links(document.location.href);
957    for (var i=0; i<cta_links.length; i++){
958      types.push(cta_links[i].cta_link_type);
959    }
960    return types;
961  }
962
963
964  function is_food_menu_page(){
965    var cta_link_types = get_current_page_cta_link_types();
966    for (var i=0; i<cta_link_types.length; i++){
967      if ('food_menu' == cta_link_types[i])
968        return true;
969    }
970    return false;
971  }
972
973
974  function get_form_cat_from_cta(){
975    var cta_link = find_cta_link(document.location.href);
976    if (cta_link == null) {
977        return null;
978    }
979    if (cta_link.cta_link_type == 'private_parties'){
980        return 'private_party';
981    }else if (cta_link.cta_link_type == 'reservations'){
982        return 'reservation';
983    }else if (cta_link.cta_link_type == 'catering'){
984        return 'catering';
985    }else if (cta_link.cta_link_type == 'job_listing'){
986        return 'job_listings';
987    }else if (cta_link.cta_link_type == 'gift_cards'){
988          return 'gift_cards';
989    }
990    return null;
991  }
992
993  function element_has_events_defined(elem){
994    if ($._data(elem, "events") === undefined){
995      return false;
996    }
997    return true;
998  }
999
1000  function create_ga_events_for_cta_clicks(){
1001    if (typeof $ === 'function'){
1002
1003      var cta_link_of_the_page = find_cta_link(location.href);
1004
1005
1006      $("a").each(function(index, elem){
1007        var href = $(elem).attr('href');
1008
1009        if (href  === undefined ){
1010           return;
1011        }
1012
1013        if (href.substring(0,4) == 'tel:'){
1014          if (!element_has_events_defined(elem)){  // not footer links
1015            $(elem).on("click", function(){
1016                universal_ga('send', 'event', {
1017                  eventCategory: 'Button',
1018                  eventAction: 'Click',
1019                  eventLabel: 'Phone',
1020                  transport: 'beacon'
1021                });
1022             });
1023
1024             if (cta_link_of_the_page){
1025                $(elem).on("click", function(){
1026                    universal_ga('send', 'event', {
1027                      eventCategory: 'Button',
1028                      eventAction: 'Click',
1029                      eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone',
1030                      transport: 'beacon'
1031                    });
1032                 });
1033             }
1034          } else {
1035             if (cta_link_of_the_page){
1036               $(elem).on("click", function(){
1037                   universal_ga('send', 'event', {
1038                        eventCategory: 'Button',
1039                        eventAction: 'Click',
1040                        eventLabel: cta_link_of_the_page.cta_link_type +  ' page phone footer',
1041                        transport: 'beacon'
1042                   });
1043               });
1044             }
1045          }
1046
1047
1048        }else{
1049          var cta_link = find_cta_link(href);
1050          if (elem.className != null && elem.className.indexOf("bottom-link") > -1){
1051            // console.log("bottom link detected");
1052          }else{
1053            if (cta_link != null){
1054              $(elem).on("click", function(){
1055                universal_ga('send', 'event', {
1056                        eventCategory: 'Website Link',
1057                        eventAction: 'Click',
1058                        eventLabel: cta_link.cta_link_type,
1059                        transport: 'beacon'
1060                  });
1061              });
1062            }
1063          }
1064        }
1065
1066
1067      });
1068    }
1069  }
1070
1071  if (typeof angular === "undefined") {
1072    create_ga_events_for_cta_clicks();
1073  } else {
1074    angular.element(document).ready(function () {
1075      create_ga_events_for_cta_clicks();
1076    });
1077  }
1078
1079
1080  function triggerShowFooterEvents(){
1081    if (window.screen.availWidth < 768){
1082        universal_ga('send', 'event', {
1083                eventCategory: 'Mobile Footer',
1084                eventAction: 'View',
1085                eventLabel: '',
1086                transport: 'beacon'
1087          });
1088    }
1089  }
1090
1091
1092
1093
1094  ////////////
1095  function smartFooterV2()
1096  {
1097    var list= document.getElementsByClassName("bottom-list-item");
1098    if (!list) return;
1099
1100    if (document.getElementById("bottom-navbar") == null){
1101      return;
1102    }
1103
1104    var bottomNav = document.querySelector('#bottom-navbar .navbar-nav');
1105    var footerLinkPaddingLeft = $('#bottom-navbar .navbar-nav li a').css('padding-left');
1106    var footerLinkPaddingRight = $('#bottom-navbar .navbar-nav li a').css('padding-right');
1107
1108    bottomNav.innerHTML = '';
1109    var linksWithPosition = all_cta_links.filter(e => e.position != null && e.position >= 0);
1110    linksWithPosition.sort(function(a,b) {
1111      return a.position - b.position;
1112    });
1113
1114    var footerLinkStyle = (footerLinkPaddingLeft == '0px' || footerLinkPaddingRight == '0px' ? 'style="padding-left: 8px; padding-right: 8px;"' : '');
1115
1116    linksWithPosition.forEach((e, i) => {
1117        var target = e.target || getUrlTarget(e.url);
1118        bottomNav.insertAdjacentHTML('beforeend',
1119        `<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>`);
1120    })
1121
1122    var intervalCount = 0
1123    var interval = setInterval(() => {
1124      if(intervalCount == 50){
1125        clearInterval(interval);
1126      }
1127      removeOverflowingFooterLinks();
1128      intervalCount ++;
1129    }, 200);
1130
1131    $('.smart-footer-link').on("click", function(){
1132          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
1133                    shUrlParams['source'] = 'footer';
1134                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
1135          }
1136
1137          var visibleLinks = $('.smart-footer-link').map(function (e) {
1138              return $(this).data('type');
1139          }).toArray().join(',');
1140
1141          universal_ga('send', 'event', {
1142                  eventCategory: 'Button',
1143                  eventAction: 'Click_footer_2',
1144                  eventLabel: "type:" + $(this).data('type') + "|position:" + $(this).data('position') + "|visible:" + visibleLinks,
1145                  transport: 'beacon'
1146            });
1147    });
1148  }
1149
1150  function removeOverflowingFooterLinks(){
1151    var bottomNavLinks = document.querySelectorAll('#bottom-navbar .navbar-nav li');
1152    var width_sum = 0;
1153
1154    bottomNavLinks.forEach(e => {
1155      width_sum += e.getBoundingClientRect().width;
1156      if ((width_sum) > window.innerWidth) {
1157        console.log(`%cLink %c${e.textContent} %cdeleted couldn't fit screen`,"color: #fff;background: #202124;", "background: red;color: #fff", "color: #fff;background: #202124;");
1158        e.remove();
1159      }
1160    });
1161  }
1162
1163  function getUrlTarget(url){
1164    if(url.startsWith('tel')){
1165      return '_self';
1166    }
1167    if(url.startsWith('/') || url.includes('tmt.spotapps.co') || url.includes(window.location.host)){
1168      return '_self';
1169    }
1170    return '_blank';
1171  }
1172
1173  function npb()
1174    {
1175    	var list= document.getElementsByClassName("bottom-list-item");
1176    	if (!list) return;
1177
1178      if (document.getElementById("bottom-navbar") == null){
1179        return;
1180      }
1181
1182      var url = ""
1183    	for (var i=0; i < all_cta_links.length; i++)
1184    	{
1185    		if (all_cta_links[i].cta_link_type == "order"){
1186          url = all_cta_links[i].url;
1187        }
1188    	}
1189
1190    	if ( url == ""){
1191        return;
1192      }
1193
1194    	for (i=0; i < list.length; i++)
1195    	{
1196    		console.log(cta_link_matches_href(list[i].firstChild.href, url));
1197    		if (cta_link_matches_href(list[i].firstChild.href,url))  return;
1198
1199    	};
1200
1201    	var item = list[list.length-1]
1202    	document.getElementById("bottom-navbar").getElementsByClassName("nav navbar-nav")[0].appendChild(item.cloneNode(true));
1203    	var width_sum = 0;
1204    	for (i=0; i < list.length; i++) {
1205    		width_sum += list[i].getBoundingClientRect().width;
1206    	}
1207
1208    	var item = list[list.length-1]
1209    	if ((width_sum - 10) > window.innerWidth) { item.parentNode.removeChild(item); console.log("link deleted couldn't fit screen"); return; }
1210
1211    	item.firstChild.text = "Order";
1212    	item.firstChild.href = url;
1213    	item.firstChild.id = "bottom_link_" + list.length;
1214
1215      $(item.firstChild).on("click", function(){
1216
1217          if (typeof shUrlParams !== "undefined" && shUrlParams['source'] === undefined){
1218                    shUrlParams['source'] = 'footer';
1219                    sessionStorage.setItem('shUrlParams', JSON.stringify(shUrlParams));
1220                  }
1221
1222          universal_ga('send', 'event', {
1223                  eventCategory: 'Button',
1224                  eventAction: 'Click',
1225                  eventLabel: 'Plan B-2 Order',
1226                  transport: 'beacon'
1227            });
1228      });
1229
1230
1231    }
1232
1233function activateSmartFooter(){
1234    var smart_footer_active = true;
1235    var smart_footer_version = 2;
1236    var man_bottom_active = false;
1237    if(window.location.hash == '#smartFooterV2=enabled'){
1238      smartFooterV2();
1239      return;
1240    }
1241    if (smart_footer_active && !man_bottom_active){
1242      if(smart_footer_version == 2 ){
1243          smartFooterV2();
1244       }else {
1245          npb();
1246       }
1247    }
1248  }
1249
1250  activateSmartFooter();
1251
1252  var corona_config_str = '';
1253  var corona_config =  corona_config_str != '' ?  JSON.parse('') : null;
1254
1255
1256  //corona instuctions
1257  function show_corona_instructions(text, phone, btnText){
1258    //format to US number
1259    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
1260
1261    if(corona_config.shopping_cart_type == "TMT" && corona_config.shopping_cart_active == true) {
1262        var linkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
1263        var btnLinkLocation = "https://tmt.spotapps.co/ordering-menu/?spot_id="+corona_config.spot_id+"&images=yes&accordion=true";
1264    }else {
1265        var linkLocation = 'tel:+1'+phone+'';
1266        var btnLinkLocation = 'tel:+1'+ match[1] + '-' + match[2] + '-' + match[3] +''
1267    }
1268    var appendPhone = 'tel:+1'+phone+'';
1269    //inject html content
1270    if ($('.food-menu-nav').length) {
1271      //new template
1272      var pageEl =  $('.food-menu-nav').css('margin','20px auto 10px auto');
1273      var textColor = rgb2hex($('.section-header').css('color'));
1274      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
1275      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
1276      fontSize = fontSize + Math.round(fontSize  * 0.25);
1277
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="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>';
1279      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>';
1280
1281    }else {
1282      //old template
1283      var pageEl = $('.tabnav');
1284      var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
1285      var linkColor = rgb2hex($('.style-traditional .tabnav .nav>li.active>a').css('color'));
1286
1287      var linkTextColor = getContrast50(linkColor);
1288      var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
1289      fontSize = fontSize + Math.round(fontSize  * 0.25);
1290      var textTransform = $('.style-traditional .tabnav .nav>li>a').css('text-transform');
1291
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="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>';
1293      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>';
1294
1295    }
1296     //html content
1297    pageEl.prepend(html);
1298  }
1299
1300  function rgb2hex(rgb) {
1301    if(typeof rgb !== "undefined"){
1302      rgbColor = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
1303      if (!rgbColor) {
1304        rgba = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(,\s*\d+\.*\d+)?\)$/);
1305        return "#" + hex(rgba[1]) + hex(rgba[2]) + hex(rgba[3]);
1306      }
1307      function hex(x) {
1308          return ("0" + parseInt(x).toString(16)).slice(-2);
1309      }
1310      return "#" + hex(rgbColor[1]) + hex(rgbColor[2]) + hex(rgbColor[3]);
1311    }
1312    return rgb;
1313  }
1314
1315  function getContrast50(hexcolor){
1316    return (parseInt(hexcolor, 16) > 0xffffff/2) ? '#000':'#fff';
1317  }
1318
1319  function show_corona_sidebar_instructions(text, phone){
1320    //format to US number
1321    var match = phone.match(/^(\d{3})(\d{3})(\d{4})$/);
1322    var divWidth = 230;
1323    var top = 50;
1324    var linkSize = '1.6em';
1325    var pSize = $('p').css('font-size');
1326    var appendPhone = 'tel:+1'+phone+'';
1327
1328    if ($(window).width() < 1600)
1329      var top = 30;
1330    if ($(window).width() < 1200){
1331      var divWidth = 180;
1332      var linkSize = '1.4em';
1333      var pSize ='1.1em';
1334    }
1335
1336    if($('.food-menu-nav').length){ //new template
1337      var textColor = $('.food-menu-nav-item.active').css('color');
1338      var linkColor = $('.food-menu-nav-item.active').css('background-color');
1339
1340      var linkTextColor = $('.food-menu-nav-item.active').css('color');
1341      var parent = $('.food-menu-page');
1342    }
1343    else { //old template
1344      var textColor = $('.menu-item-name-traditional').css('color');
1345      var linkColor = $('.style-traditional .tabnav .nav>li.active>a').css('color');
1346      var parent = $('.food-menu').length ? $('.food-menu') : $('.drink-menu');
1347      var linkTextColor = getContrast50(linkColor);
1348    }
1349
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:'+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>');
1351    $(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>');
1352
1353    //check if resolution is bigger than tablet resolution
1354/*  if ($(window).width() > 991) {
1355      //detect scroll
1356      window.onscroll = function (e) {
1357      if ($(window).scrollTop() == 0) {
1358          $('#corona-instructions-sidebar').hide();
1359        }else {
1360          $('#corona-instructions-sidebar').show();
1361        }
1362      }
1363    } */
1364  }
1365
1366  function check_corona_config(config){
1367    console.log(config)
1368    if (config) {
1369      if (config.instructions_on_food_page && config.food_page_instruction_text && config.food_page_instruction_phone) {
1370        if (!config.promote_deliveries && config.promote_pick_up) {
1371          var btnText = 'Call For Pick Up';
1372        }
1373        if (config.promote_deliveries && !config.promote_pick_up) {
1374          var btnText = 'Call For Delivery';
1375        }
1376        if (config.promote_deliveries && config.promote_pick_up) {
1377          var btnText = 'Call For Pick Up Or Delivery';
1378        }
1379
1380        if(typeof btnText !== "undefined"){ // check if pick up or delivery are true
1381          if(config.shopping_cart_type == "TMT" && config.shopping_cart_active == true) {
1382                var btnText = 'ORDER NOW';
1383                    if($('.food-menu-nav').length){ //new template
1384                      var textColor = rgb2hex($('.section-header').css('color'));
1385                      var linkColor = rgb2hex($('.food-menu-nav-item.active').css('background-color'));
1386                      var fontSize = parseInt($('.food-menu-nav-item').css('font-size'));
1387                      fontSize = fontSize + Math.round(fontSize  * 0.25);
1388                    }
1389                    else { //old template
1390                        var textColor = rgb2hex($('.menu-item-name-traditional').css('color'));
1391                        var linkColor = rgb2hex($('.style-traditional .tabnav .nav>
1391li.active>a').css('color'));
1392
1393                        var linkTextColor = getContrast50(linkColor);
1394                        var fontSize = parseInt($('.menu-item-name-traditional').css('font-size'));
1395                        fontSize = fontSize + Math.round(fontSize  * 0.25);
1396                    }
1397                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);
1398                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
1399            } else {
1400                show_corona_instructions(config.food_page_instruction_text, config.food_page_instruction_phone, btnText);
1401                show_corona_sidebar_instructions(btnText, config.food_page_instruction_phone);
1402            }
1403
1404        }
1405      }
1406    }
1407  }
1408
1409
1410  if (is_food_menu_page() && !window.location.search.includes("contactless=true")){
1411    $( document ).ready(function() {
1412       setTimeout(function(){
1413        check_corona_config(corona_config);
1414       }, 300);
1415    });
1416  }
1417
1418
1419
1420  function isPhone(phone){
1421      var regex = /^(\+\d{1,2}\s?)?\(?\d{3}\)?[\s.-]?\d{3}[\s.-]?\d{4}$/;
1422      return regex.test(phone);
1423  }
1424
1425  function sendEmail_MT (input_id) {
1426    const $loader = $("[data-id=newsletter-widget-2] .sph-loading-img");
1427
1428    const $step = {
1429      form: $("[data-id=newsletter-widget-2] .sph-email-form"),
1430      message: $("[data-id=newsletter-widget-2] .sph-response-message"),
1431    }
1432
1433    const $field = {
1434      email: $("[data-id=newsletter-widget-2] #sph-newsletter-input-" + input_id),
1435      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-" + input_id),
1436      consent: $("[data-id=newsletter-widget-2] #sph-newsletter-checkbox-phone-" + input_id),
1437    };
1438
1439    const $error = {
1440      email: $("[data-id=newsletter-widget-2] #sph-newsletter-email-error-" + input_id),
1441      phone: $("[data-id=newsletter-widget-2] #sph-newsletter-phone-error-" + input_id),
1442    };
1443
1444    if ($field.email.val().trim() === "") {
1445        $error.email
1446          .html("This field is required")
1447          .show();
1448    }
1449    else if (!isEmail($field.email.val().trim())) {
1450      $error.email
1451        .html("Please use the format “[email protected]”")
1452        .show();
1453    } else {
1454      $error.email
1455        .html("")
1456        .hide();
1457    }
1458
1459    if ($field.consent.is(':checked') && $field.phone.val().trim() === "") {
1460      $error.phone
1461        .html("This field is required")
1462        .show();
1463    } else if ($field.phone.val().trim().length > 0 && !isPhone($field.phone.val().trim())) {
1464      $error.phone
1465        .html("The phone number must contain 10 digits")
1466        .show();
1467    } else {
1468      $error.phone
1469        .html("")
1470        .hide();
1471    }
1472
1473    const errorField = $step.form.find('.sh-form-error:visible');
1474
1475    if (errorField.length > 0) {
1476      const input = errorField.first().next();
1477
1478      document.activeElement.blur();
1479
1480      setTimeout(() => {
1481        input.focus();
1482      }, 160)
1483
1484      return;
1485    }
1486
1487    $loader
1488      .show()
1489      .prev()
1490      .hide();
1491
1492    $.ajax({
1493      method: "POST",
1494      url: "https://www.spothopperapp.com/api/spots/95662/contacts/add_with_texting_permission",
1495      crossDomain: true,
1496      dataType: 'json',
1497      data: {
1498        email: $field.email.val().trim(),
1499        phone: $field.phone.val().trim(),
1500        texting_permission: $field.consent.is(':checked'),
1501      },
1502      success: function (data) {
1503        afterRequestSubmission(data);
1504      },
1505      error: function () {
1506        afterRequestSubmission("Something went wrong. Please try again later.");
1507      }
1508    });
1509
1510    function afterRequestSubmission (data) {
1511      $step.form.hide();
1512
1513      $step.message
1514        .html(data)
1515        .show()
1516        .trigger('focus');
1517    }
1518  }
1519</script>
1519<script>function addPromotionParamsToTMTLinks()
1520{
1521    if (sessionStorage.getItem('shUrlParams')) {
1522        let shParams = JSON.parse(sessionStorage.getItem('shUrlParams'));
1523        if (!Object.keys(shParams).length)
1524            return;
1525        if(!shParams.source)
1526            return;
1527        $('a').each(function () {
1528            if (this.href.includes('tmt.spotapps.co')) {
1529                if(this.href.includes('&source=') || this.href.includes('&destination=') || this.href.includes('&promotion='))
1530                    return;
1531
1532                this.href = this.href + '&source=' + shParams.source;
1533                if(shParams.destination)
1534                    this.href = this.href + '&destination=' + shParams.destination;
1535                if(shParams.promotion)
1536                    this.href = this.href + '&promotion=' + shParams.promotion;
1537                if(shParams.fb_post_id)
1538                    this.href = this.href + '&fb_post_id=' + shParams.fb_post_id;
1539                if(shParams.email_post_id)
1540                    this.href = this.href + '&email_post_id=' + shParams.email_post_id;
1541            }
1542        })
1543    }
1544}
1545setTimeout(function() {
1546  addPromotionParamsToTMTLinks();
1547  addFooterToSourceParam();
1548},600)
1549
1550function addFooterToSourceParam()
1551{
1552    $('.bottom-link').each(function (){
1553        if(shouldAddSourceParam(this.href))
1554          this.href = this.href + '&source=footer';
1555    })
1556    $('#sh-multiple-links-content-holder a').each(function (){
1557       if(shouldAddSourceParam(this.href))
1558          this.href = this.href + '&source=footer';
1559    })
1560}
1561function shouldAddSourceParam(link){
1562  if (link.includes('tmt.spotapps.co') && !link.includes('&source=')){
1563    return true;
1564  }
1565  return false;
1566}
1567</script>
1567<script>
1568;(async () => {
1569if (typeof window.focusTrap === 'undefined') {
1570    await getScript('https://unpkg.com/tabbable/dist/index.umd.js');
1571    await getScript('https://unpkg.com/focus-trap/dist/focus-trap.umd.js');
1572}
1573
1574document.querySelectorAll('.modal').forEach((element) => {
1575    const trap = window.focusTrap?.createFocusTrap(element, {
1576        allowOutsideClick: true,
1577    });
1578
1579    $(element).on('shown.bs.modal', () => {
1580	    trap?.activate();
1581	});
1582
1583	$(element).on('hidden.bs.modal', () => {
1584        trap?.deactivate();
1585    });
1586});
1587
1588async function getScript (source) {
1589    return new Promise((resolve, reject) => {
1590        const script = document.createElement('script');
1591        script.src = source;
1592        script.async = true;
1593
1594        script.onload = resolve;
1595        script.onerror = reject;
1596
1597        document.head.appendChild(script);
1598    });
1599}
1600})();
1601</script>
1601<script src="https://wcache-plugins.spotapps.co/production/wcpl_bootstrap_ada_fix/wcpl_bootstrap_ada_fix.js"></script>
1601<link href="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.css" rel="stylesheet" media="screen"/>
1601<script src="https://wcache-plugins.spotapps.co/production/wcpl_bday_club/wcpl_bday_club.js"></script>
1601<script src="https://wcache-plugins.spotapps.co/production/wcpl_ga_tracking/wcpl_ga_tracking.js"></script>
1601<script src="https://wcache-plugins.spotapps.co/production/wcpl_media_controls/script.js"></script>
1601<link href="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter_helper_style.css" rel="stylesheet" media="screen"/>
1601<script>var changes_log_array = {};</script>
1601<script src="https://wcache-plugins.spotapps.co/production/wcpl_website_editor_interpreter/website_interpreter.js"></script>
1601</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.