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