1<!DOCTYPE html> 2<html lang="en" id="" class="html_stretched responsive av-preloader-disabled av-default-lightbox html_header_top html_logo_left html_main_nav_header html_menu_right html_slim html_header_sticky html_header_shrinking_disabled html_mobile_menu_tablet html_header_mobile_behavior html_header_searchicon_disabled html_content_align_center html_header_unstick_top_disabled html_header_stretch_disabled html_entry_id_34 av-no-preview booknbook-page-menu-manager booknbook-page-menu-manager-menu booknbook-page-menu-manager-menu-advanced 3"> 4 <head> 5 <meta charset="utf-8" /> 6 <title>Set Dinner Menu - Sartori - Italian Restaurant & Pizzeria</title> 7 <meta name="description" content="View Set Dinner Menu from Sartori - Italian Restaurant & Pizzeria in London." /> 8 <meta name="keywords" content="Set Dinner Menu, Sartori - Italian Restaurant & Pizzeria menu, Italian, restaurant menu London" /> 9 <meta name="robots" content="index, follow" /> 10 11
11<script type="application/ld+json"> 12 {"@context":"https:\/\/schema.org","@type":"Restaurant","@id":"https:\/\/booking.sartorirestaurant.com\/#\/schema\/restaurant\/4","image":["https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/img_0971.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/img_0973.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/img_0978.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/img_0982.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/img_0974.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/IMG_3889.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/img_0967.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/DSC_0135.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/DSC_0144.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/DSC_0187.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/DSC_0192.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/img_0987.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/linguinePost.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/IMG_3662.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/DSC_0115.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/Profiterole.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/img_0979.jpg","https:\/\/booking.sartorirestaurant.com\/storage\/public\/restaurants\/4-sartori-restaurant\/profile\/gallery\/Panuozzo.jpg"],"name":"Sartori - Italian Restaurant \u0026 Pizzeria","address":{"@type":"PostalAddress","streetAddress":"15 Great Newport St","addressLocality":"London","addressRegion":"Greater London","postalCode":"WC2H 7JE","addressCountry":"GB"},"url":"https:\/\/booking.sartorirestaurant.com","priceRange":"$$$","geo":{"@type":"GeoCoordinates","latitude":51.5117775,"longitude":-0.12801690000003418},"telephone":"+4402078366308","servesCuisine":"Italian","acceptsReservations":false,"menu":"https:\/\/booking.sartorirestaurant.com\/menu\/index","hasMenu":{"@type":"Menu","name":"Set Dinner Menu","url":"https:\/\/booking.sartorirestaurant.com\/menu\/menu?menu=955","hasMenuSection":[{"@type":"MenuSection","name":"Starters","hasMenuItem":[{"@type":"MenuItem","name":"Grigliata di vegetali","suitableForDiet":["https:\/\/schema.org\/VeganDiet"],"description":"Mix grilled vegetables"},{"@type":"MenuItem","name":"Tricolore salad","suitableForDiet":["https:\/\/schema.org\/VegetarianDiet"],"description":"Fresh buffalo mozzarella, tomatoes and avocado"},{"@type":"MenuItem","name":"Caesar salad","description":"Lettuce, croutons, Caesar dressing and Parmesan"},{"@type":"MenuItem","name":"Cocktail di gamberi","description":"Prawns cocktail served with Marie Rose sauce"},{"@type":"MenuItem","name":"Soup of the day"}]},{"@type":"MenuSection","name":"Main","hasMenuItem":[{"@type":"MenuItem","name":"Spigola grigliata servita con vegetali","description":"Grilled sea bass served with vegetables"},{"@type":"MenuItem","name":"Risotto ai funghi porcini","suitableForDiet":["https:\/\/schema.org\/VegetarianDiet"],"description":"Risotto with wild mushrooms"},{"@type":"MenuItem","name":"Insalata Di Gamberi","description":"Mixed green salad with grilled prawns and slices of orange"},{"@type":"MenuItem","name":"Petto di pollo Grigliata con vegetali","description":"Grilled chicken breasts with grilled vegetables"}
12,{"@type":"MenuItem","name":"Spaghetti al pesto","suitableForDiet":["https:\/\/schema.org\/VegetarianDiet"],"description":"Spaghetti with pesto sauce"}]}]},"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["https:\/\/schema.org\/Monday","https:\/\/schema.org\/Tuesday"],"opens":"17:00","closes":"22:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":["https:\/\/schema.org\/Wednesday"],"opens":"16:00","closes":"22:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":["https:\/\/schema.org\/Thursday"],"opens":"12:00","closes":"22:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":["https:\/\/schema.org\/Friday","https:\/\/schema.org\/Saturday"],"opens":"12:00","closes":"23:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":["https:\/\/schema.org\/Sunday"],"opens":"12:00","closes":"22:30"}]} </script>
12 13 14 15 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimal-ui" /> 16 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 17 18 <!-- jQuery --> 19
19<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
19 20 21 <!-- PAYMENT SENSE --> 22
22<script src="https://web.e.connect.paymentsense.cloud/assets/js/client.js"></script>
22 23 <!-- STRIPE --> 24
24<script src="https://js.stripe.com/v3/"></script>
24 25 26 <!-- FlatPickr --> 27
27<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/flatpickr.min.js"></script>
27 28
28<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/l10n/it.min.js"></script>
28 29
29<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/l10n/fr.min.js"></script>
29 30
30<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/l10n/es.min.js"></script>
30 31
31<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/l10n/zh.min.js"></script>
31 32
32<script> 33 flatpickr.localize(flatpickr.l10ns.en); 34 </script>
34 35 <!-- Moment JS --> 36
36<script src="https://cdn.jsdelivr.net/npm/[email protected]/moment.min.js"></script>
36 37
37<script src="https://cdn.jsdelivr.net/npm/[email protected]/locale/it.min.js"></script>
37 38 <!-- Bootstrap TimePicker --> 39
39<script src="https://cdn.jsdelivr.net/npm/[email protected]/build/js/bootstrap-datetimepicker.min.js"></script>
39 40 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/build/css/bootstrap-datetimepicker.min.css"> 41 <!-- IMaskJS --> 42
42<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/imask.min.js"></script>
42 43 <!-- Font Awesome --> 44 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css"> 45 46 <!-- Int. Telephone --> 47
47<script src="https://cdn.jsdelivr.net/npm/[email protected]/build/js/intlTelInput.min.js"></script>
47 48 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/build/css/intlTelInput.min.css"> 49 50 <!-- Sticky Sidebar --> 51
51<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.sticky-sidebar.min.js"></script>
51 52 53
53<script> 54 var $__wl_jquery = jQuery.noConflict(); 55 var $__cms_jquery = $__wl_jquery; 56 </script>
56 57
57<script type="text/javascript" src="/assets/frontend/single/whitelabel/js/whitelabel.js?id=9e85a75a3a289aa0f58c306d87ad5a0d"></script>
57 58 59
59<script id="booknbook"> 60 var $__wl = (function ($, cms) { 61 // Configure CMS forms 62 cms.form.configure({ 63 wrapper: '.booknbook-form-group', 64 errors_list: '.booknbook-form-group-errors-list', 65 has_error: '.booknbook-form-group-has-error' 66 }, { 67 has_error: 'booknbook-form-group-has-error' 68 }); 69 // Configure CMS layer 70 cms.page.layer.configure('[data-booknbook-layer]', { 71 show: 'booknbook-layer-show', 72 loading: 'booknbook-layer-loading', 73 success: 'booknbook-layer-success', 74 error: 'booknbook-layer-error', 75 }); 76 77 var instance = { 78 79 helpers: { 80 objectMerge: function (first, second) { 81 var merge = {}; 82 var key; 83 84 for (key in first) { 85 if (first.hasOwnProperty(key)) { 86 merge[key] = first[key];; 87 } 88 89 } 90 for (key in second) { 91 if (second.hasOwnProperty(key)) { 92 merge[key] = second[key]; 93 } 94 } 95 96 return merge; 97 }, 98 99 flags: { 100 container: null, 101 102 init: function () { 103 instance.helpers.flags.container = $('#booknbook-flags'); 104 105 instance.helpers.flags.container.on('click', instance.helpers.flags.toggle); 106 }, 107 108 toggle: function () { 109 instance.helpers.flags.container.toggleClass('booknbook-flags-open'); 110 }, 111 }, 112 113 modals: { 114 selectors: { 115 show: '[data-booknbook-modal-show]', 116 hide: '[data-booknbook-modal-hide]', 117 }, 118 data: { 119 show: 'booknbook-modal-show', 120 hide: 'booknbook-modal-hide', 121 }, 122 123 init: function () { 124 $(instance.helpers.modals.selectors.show).on('click', function () { 125 var modal = $('[data-booknbook-modal-' + $(this).data(instance.helpers.modals.data.show) + ']'); 126 modal.addClass('booknbook-modal-show'); 127 cms.page.layer.show(true); 128 }); 129 130 $(instance.helpers.modals.selectors.hide).on('click', function () { 131 var modal = $('[data-booknbook-modal-' + $(this).data(instance.helpers.modals.data.hide) + ']'); 132 modal.removeClass('booknbook-modal-show'); 133 cms.page.layer.show(false); 134 }); 135 } 136 }, 137 138 timer: { 139 countdown: null, 140 deadline: null, 141 timer: null, 142 url: null, 143 144 modal: { 145 element: null, 146 147 show: function () { 148 instance.helpers.timer.modal.element.addClass('booknbook-modal booknbook-modal-show'); 149 }, 150 }, 151 152 pad: function (number) { 153 return ("0" + number).slice(-2); 154 }, 155 156 update: function (minutes, seconds) { 157 instance.helpers.timer.countdown.text(minutes + ':' + instance.helpers.timer.pad(seconds)); 158 }, 159 160 start: function () { 161 instance.helpers.timer.deadline = new Date(); 162 instance.helpers.timer.deadline.setSeconds( 163 instance.helpers.timer.deadline.getSeconds() + 164 parseInt(instance.helpers.timer.countdown.data('seconds')) 165 ); 166 167 instance.helpers.timer.timer = setInterval(function() { 168 // Get now 169 var now = new Date().getTime(); 170 171 // Find the distance between now an the deadline time 172 var distance = instance.helpers.timer.deadline.getTime() - now; 173 174 // Time calculations minutes and seconds 175 var minutes = distance > 0 ? Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)) : 0; 176 var seconds = distance > 0 ? Math.floor((distance % (1000 * 60)) / 1000) : 0; 177 178 instance.helpers.timer.update(minutes, seconds); 179 180 // If we are over the deadline 181 if (distance < 0) { 182 // Stop countdown 183 clearInterval(instance.helpers.timer.timer); 184 185 cms.page.layer.show(true); 186 instance.helpers.timer.modal.show(); 187 188 // Wait 5 seconds and redirect user to main page 189 setTimeout(function () { 190 window.location.replace(instance.helpers.timer.url); 191 }, 5000); 192 193 } 194 }, 950) 195 }, 196 197 init: function (url) { 198 instance.helpers.timer.countdown = $('#booknbook-reverse-timer-value'); 199 instance.helpers.timer.modal.element = $('#booknbook-reservation-aborted-modal'); 200 instance.helpers.timer.url = url; 201 202 instance.helpers.timer.start(); 203 } 204 }, 205 206 windowHeight: { 207 subtract: [], 208 209 calculate: function () { 210 var css_block = $("<style type='text/css' id='browser-height-helpers'></style>").appendTo('head:first'); 211 var css = ""; 212 var wh100 = $(window).height(); 213 214 $.each(instance.helpers.windowHeight.subtract, function () { 215 wh100 -= $(this).outerHeight(); 216 }); 217 218 var wh75 = Math.round( wh100 * 0.75 ); 219 var wh50 = Math.round( wh100 * 0.5 ); 220 var wh25 = Math.round( wh100 * 0.25 ); 221 222 css += ".booknbook-min-height-100 { min-height: " + wh100 + "px;}\n"; 223 css += ".booknbook-min-height-75 { min-height: " + wh75 + "px;}\n"; 224 css += ".booknbook-min-height-50 { min-height: " + wh50 + "px;}\n"; 225 css += ".booknbook-min-height-25 { min-height: " + wh25 + "px;}\n"; 226 227 // IE8 fix 228 try{ 229 css_block.text(css); 230 } 231 catch(err){ 232 css_block.remove(); 233 css_block = $("<style type='text/css' id='browser-height-helpers'>"+css+"</style>").appendTo('head:first'); 234 } 235 }, 236 237 init: function() { 238 instance.helpers.windowHeight.calculate(); 239 240 $(window).on('debouncedresize', instance.helpers.windowHeight.calculate); 241 } 242 }, 243 244 init: function () { 245 instance.helpers.flags.init(); 246 instance.helpers.modals.init();
247 instance.helpers.windowHeight.init(); 248 } 249 }, 250 251 assets: { 252 icons: { 253 map_marker_delivery: function(scale = 1) { 254 let data = { 255 path: "M 201,128.748 a 6,6 0 0 0 -6,6 v 32.577 c 0,12.17 9,22.394 20,25.107 V 229 h -7.7 a 5.947,5.947 0 0 0 -5.994,5.659 l -2.625,56.45 a 22.631,22.631 0 1 0 45.215,-0.029 l -2.625,-56.42 A 5.947,5.947 0 0 0 235.277,229 H 227 v -36.568 a 25.344,25.344 0 0 0 20,-25.107 v -32.577 a 6,6 0 0 0 -12,0 v 32.577 a 13.351,13.351 0 0 1 -8,12.428 v -45 a 6,6 0 0 0 -12,0 v 45.005 c -4,-2.239 -8,-6.961 -8,-12.428 v -32.582 a 6,6 0 0 0 -6,-6 z M 229.546,241 l 2.359,50.7 a 10.63,10.63 0 1 1 -21.241,0 l 2.359,-50.7 z M 317,167.325 V 148.58 a 26,26 0 0 0 -52,0 v 18.745 a 25.344,25.344 0 0 0 20,25.107 V 229 h -8.273 a 5.947,5.947 0 0 0 -5.994,5.659 l -2.625,56.45 a 22.631,22.631 0 1 0 45.215,-0.029 L 310.7,234.66 a 5.947,5.947 0 0 0 -6,-5.66 H 297 v -36.568 c 11,-2.713 20,-12.932 20,-25.107 z M 298.977,241 l 2.359,50.7 a 10.63,10.63 0 1 1 -21.241,0 L 282.454,241 Z M 291,181.143 A 13.991,13.991 0 0 1 277,167.325 V 148.58 a 14,14 0 0 1 28,0 v 18.745 a 13.991,13.991 0 0 1 -14,13.818 z M 240.2424,475.21198 C 163.30286,419.18967 102.95917,351.53002 76.933915,292.10424 65.129152,265.14938 59.982326,243.62287 59.125849,217.62234 56.13211,126.73974 121.13787,48.242788 216.09735,28.073241 c 12.39222,-2.632127 15.76886,-2.88969 38.53164,-2.939108 26.1713,-0.05682 32.04911,0.570044 52.0678,5.552965 71.17872,17.717346 127.53671,74.612602 142.55042,143.909362 12.57841,58.05648 -4.33754,116.72241 -51.97285,180.24622 -25.47295,33.96932 -61.59775,70.27743 -101.42503,101.93973 -12.92126,10.27227 -35.40295,26.9898 -39.06758,29.05089 -0.60582,0.34073 -8.04853,-4.43885 -16.53935,-10.62132 z m 39.95815,-112.86532 c 60.67067,-10.18407 107.83238,-56.66857 119.90923,-118.1874 2.62338,-13.36335 2.58727,-38.65593 -0.075,-52.57082 -10.12372,-52.91255 -47.00702,-95.392238 -97.4909,-112.283434 -29.43786,-9.849488 -63.46187,-9.954383 -92.38941,-0.284831 -49.9242,16.688058 -86.63692,58.121985 -97.81935,110.398775 -2.76839,12.94197 -2.76182,44.5369 0.0119,57.24006 13.31139,60.96383 59.54223,105.56162 120.04474,115.80429 11.73512,1.98668 35.62577,1.92839 47.80884,-0.11664 z", 256 fillColor: '#2B0C0E', 257 fillOpacity: 1, 258 width: Math.round(56 * scale), 259 height: Math.round(67 * scale), 260 }; 261 262 const svg = ` 263 <svg xmlns="http://www.w3.org/2000/svg" width="${data.width}" height="${data.height}" viewBox="59 60 395 390" fill="none" > 264 <path d="${data.path}" fill="${data.fillColor}" fill-opacity="${data.fillOpacity}" /> 265 </svg> 266 `; 267 268 const parser = new DOMParser(); 269 return parser.parseFromString(svg, "image/svg+xml").documentElement; 270 } 271 } 272 }, 273 274 popup: { 275 modal: null, 276 title: null, 277 content: null, 278 279 error: function (code) { 280 var error = instance.localization.errors.codes[code] !== undefined ? 281 instance.localization.errors.codes[code] : 282 instance.localization.errors.codes[instance.localization.errors.unknown] ; 283 284 this.show(error.title, error.message); 285 }, 286 287 show: function (title, content) { 288 title = title || ''; 289 content = content || ''; 290 291 cms.page.layer.show(true); 292 this.title.html(title); 293 this.content.html(content); 294 this.modal.addClass('booknbook-modal-show'); 295 }, 296 297 hide: function () { 298 cms.page.layer.show(false); 299 this.modal.removeClass('booknbook-modal-show'); 300 }, 301 302 init: function () { 303 this.modal = $('#booknbook-popup'); 304 this.title = $('#booknbook-popup-title'); 305 this.content = $('#booknbook-popup-content'); 306 } 307 }, 308 309 policies: { 310 init: function () { 311 this.privacy.modal.element = $('#booknbook-reservation-policy-privacy'); 312 this.marketing.modal.element = $('#booknbook-reservation-policy-marketing'); 313 }, 314 315 privacy: { 316 modal: { 317 element: null, 318 319 show: function () { 320 cms.page.layer.show(true); 321 this.element.addClass('booknbook-modal-show'); 322 }, 323 324 hide: function () { 325 cms.page.layer.show(false); 326 this.element.removeClass('booknbook-modal-show'); 327 }, 328 } 329 }, 330 331 marketing: { 332 modal: { 333 element: null, 334 335 show: function () { 336 cms.page.layer.show(true); 337 this.element.addClass('booknbook-modal-show'); 338 }, 339 340 hide: function () { 341 cms.page.layer.show(false); 342 this.element.removeClass('booknbook-modal-show'); 343 }, 344 } 345 }, 346 }, 347 348 campaigns: { 349 submit: null, 350 required: false, 351 352 get: function () { 353 var radio = $('[data-booknbook-campaign-radio]:checked'); 354 355 return radio.length ? 356 radio.val() : null; 357 }, 358 359 select: function (button) { 360 var wrapper = button.closest('[data-booknbook-campaign]'); 361 var radio = wrapper.find('[data-booknbook-campaign-radio]'); 362 var checked = $('[data-booknbook-campaign-radio]:checked'); 363 364 // If user select an already selected offer, return 365 if (checked.length && checked.val() === radio.val()) { 366 return; 367 } 368 369 radio.prop('checked', true).trigger('click'); 370 instance.campaigns.submit.attr('disabled', false); 371 372 $(document).trigger('booknbook-campaign-select', [radio]) 373 }, 374 375 init: function () { 376 instance.campaigns.submit = $('[data-booknbook-campaign-select-submit]'); 377 instance.campaigns.required = $('[data-booknbook-campaign-selection]').data('booknbook-campaign-selection') === 'required'; 378 379 $('[data-booknbook-campaign-select]').on('click', function () { 380 instance.campaigns.select($(this)); 381 }); 382 383 if (instance.campaigns.required) { 384 instance.campaigns.submit.attr('disabled', true); 385 } 386 } 387 }, 388 389 enquiry: { 390 status: true, 391 392 enabled: function () { 393 return this.status; 394 } 395 }, 396 397 payment_gateways: { 398 399 initialize: { 400 elements: [], 401 402 add: function (element) { 403 this.elements.push(element) 404 } 405 }, 406 407 init: function() { 408 for (var index = 0; index < this.initialize.elements.length; index++) { 409 this[this.initialize.elements[index]].init(); 410 } 411 }, 412 413 payment_sense: { 414 defaults: { 415 styles: { 416 base: { 417 default: { 418 color: "black", 419 textDecoration: "none", 420 fontFamily: "'Do Hyeon', sans-serif", 421 boxSizing: "border-box", 422 padding: ".375rem .75rem", 423 boxShadow: 'none', 424 fontSize: '1rem', 425 borderRadius: '.25rem', 426 lineHeight: '1.5', 427 backgroundColor: '#fff', 428 429 }, 430 focus: { 431 color: '#495057', 432 borderColor: '#2a3e4f', 433 }, 434 error: { 435 color: "#B00", 436 borderColor: "#B00" 437 }, 438 valid: { 439 color: "green", 440 borderColor: 'green' 441 }, 442 label: { 443 display: 'none' 444 } 445 }, 446 cv2: { 447 container: { 448 width: "25%", 449 float: "left", 450 boxSizing: "border-box" 451 }, 452 default: { 453 borderRadius: "0 .25rem .25rem 0" 454 } 455 }, 456 expiryDate: { 457 container: { 458 width: "25%", 459 float: "left", 460 borderRadius: '0rem', 461 }, 462 default: { 463 borderRadius: "0", 464 borderRight: "none" 465 }, 466 }, 467 468 cardNumber: { 469 container: { 470 width: "50%", 471 float: "left", 472 }, 473 default: { 474 borderRadius: ".25rem 0 0 .25rem", 475 borderRight: "none" 476 }, 477 } 478 } 479 }, 480 481 url: { 482 check: null, 483 token_renew: null, 484 }, 485 486 payment: null, 487 488 payment_details: { 489 amount: null, 490 currencyCode: null, 491 paymentToken: null, 492 }, 493 494 elements: { 495 wrapper: null, 496 errors: null, 497 }, 498 499 connectE: null, 500 501 configure: function(url_check, url_token_renew, amount, currency_code, token, payment = null) { 502 instance.payment_gateways.payment_sense.url.check = url_check; 503 instance.payment_gateways.payment_sense.url.token_renew = url_token_renew; 504 505 instance.payment_gateways.payment_sense.payment_details.amount = "" + amount; 506 instance.payment_gateways.payment_sense.payment_details.currencyCode = "" + currency_code; 507 instance.payment_gateways.payment_sense.payment_details.paymentToken = token; 508 509 instance.payment_gateways.payment_sense.payment = payment; 510 }, 511 512 renew_token: function(payment, transaction) { 513 var wrapper = instance.payment_gateways.payment_sense.elements.wrapper; 514 515 $.ajax({ 516 method: 'POST', 517 url: instance.payment_gateways.payment_sense.url.token_renew, 518 data: { 519 _token: 'nnfpevkc6B1HsRmVc91wYP6YKP4CZfkk6nQYYri3', 520 payment: payment, 521 }, 522 success: function (result) { 523 if (result.status == 'success') { 524 // Update token 525 instance.payment_gateways.payment_sense.connectE.updateAccessToken({ 526 amount: "" + result.amount, 527 currencyCode: "" + result.currencyCode, 528 paymentToken: result.paymentToken 529 }); 530 } 531 532 // Trigger payment error 533 $(document).trigger('booknbook-payment-error'); 534 }, 535 error: function () { 536 // There was an error getting token 537 // Trigger payment error 538 $(document).trigger('booknbook-payment-error'); 539 }, 540 complete: function() { 541 // Show error message 542 wrapper.addClass('booknbook-payment-transaction-error'); 543 wrapper.find('.booknbook-payment-transaction-error-message span').text(transaction.message); 544 } 545 }); 546 }, 547 548 pay: function() { 549
549 var wrapper = instance.payment_gateways.payment_sense.elements.wrapper; 550 // Get internal reference 551 var payment = instance.payment_gateways.payment_sense.payment || wrapper.data('payment'); 552 553 // Remove any previous error status 554 instance.payment_gateways.payment_sense.elements.wrapper.removeClass('booknbook-payment-transaction-error'); 555 556 // Execute payment! 557 instance.payment_gateways.payment_sense.connectE.executePayment() 558 .then(function(transaction) { 559 switch (transaction.statusCode) { 560 case 0: // Successful 561 // Payment was completed, check payment 562 $.ajax({ 563 method: 'POST', 564 url: instance.payment_gateways.payment_sense.url.check, 565 data: { 566 _token: "nnfpevkc6B1HsRmVc91wYP6YKP4CZfkk6nQYYri3", 567 payment: payment 568 }, 569 success: function (response) { 570 if (! response.check) { 571 // Payment Sense result code was OK but server check though REST API return that payment was not completed 572 // This must never happen! 573 wrapper.addClass('booknbook-payment-transaction-error'); 574 wrapper.find('.booknbook-payment-transaction-error-message span').text(response.message); 575 // Trigger payment error 576 $(document).trigger('booknbook-payment-error', [response]); 577 } 578 else { 579 // Trigger payment completed 580 $(document).trigger('booknbook-payment-success', [response]); 581 } 582 }, 583 error: function () { 584 // There was an error checking payment, so we are not able to assure that payment was really completed 585 // Reload current page 586 window.location.reload(); 587 } 588 }); 589 break; 590 591 case 4: // Referred 592 case 5: // Declined 593 case 20: // Duplicate Transaction 594 case 30: // Failed 595 // Renew token so a new transaction can be executed 596 instance.payment_gateways.payment_sense.renew_token(payment, transaction); 597 598 break; 599 600 default: // 400, 401, 404, and 500 errors code 601 // Trigger payment error 602 $(document).trigger('booknbook-payment-error'); 603 break; 604 } 605 606 // Redirect to success page 607 }).catch(function(transaction) { 608 instance.payment_gateways.payment_sense.elements.errors.empty(); 609 610 if (transaction.statusCode == 401) { // Token supplied not exists or is no longer valid 611 instance.payment_gateways.payment_sense.renew_token(payment, transaction); 612 } 613 else { 614 if (transaction.message) { 615 $('<li>' + transaction.message + '</li>').appendTo(instance.payment_gateways.payment_sense.elements.errors); 616 } 617 else { 618 $(transaction).each(function (index, error) { 619 $('<li>' + error.message + '</li>').appendTo(instance.payment_gateways.payment_sense.elements.errors); 620 }); 621 } 622 623 // Trigger payment error 624 $(document).trigger('booknbook-payment-error'); 625 } 626 } 627 ).finally(function() { 628 // 629 }); 630 }, 631 632 init: function() { 633 instance.payment_gateways.payment_sense.elements.wrapper = $('#booknbook-payment-gateway-payment-sense'); 634 instance.payment_gateways.payment_sense.elements.errors = instance.payment_gateways.payment_sense.elements.wrapper.find('.booknbook-reservation-payment-sense-errors'); 635 636 // Build full configuration 637 var config = this.defaults; 638 // Set access token details 639 config.paymentDetails = this.payment_details; 640 // Set container ID 641 config.containerId = "booknbook-reservation-payment-sense-container"; 642 643 config.onIframeLoaded = function() { 644 // Nothing to do 645 }; 646 647 config.onIframeLoadFailed = function () { 648 // TODO: show error message 649 console.log("Connect-E iframe load error"); 650 }; 651 652 // Initialize ConnectE 653 var connectE = new Connect.ConnectE(config, function(list) { 654 // Clear errors 655 instance.payment_gateways.payment_sense.elements.errors.empty(); 656 657 $(list).each(function (index, error) { 658 $('<li>' + error.message + '</li>').appendTo(instance.payment_gateways.payment_sense.elements.errors); 659 }); 660 }); 661 662 // Save ConnectE instance 663 this.connectE = connectE; 664 } 665 }, 666
667 stripe: { 668 defaults: { 669 style: { 670 base: { 671 color: "#32325d", 672 } 673 } 674 }, 675 676 elements: { 677 wrapper: null, 678 }, 679 680 url: { 681 check: null, 682 }, 683 684 payment: null, 685 payment_type: null, 686 687 payment_details: { 688 clientSecret: null, 689 card: null, 690 }, 691 692 stripe: { 693 public_key: null, 694 instance: null, 695 elements: null, 696 }, 697 698 configure: function(url_check, public_key, client_secret, payment = null, payment_type = null) { 699 instance.payment_gateways.stripe.url.check = url_check; 700 701 instance.payment_gateways.stripe.stripe.public_key = public_key; 702 instance.payment_gateways.stripe.payment_details.clientSecret = client_secret; 703 704 instance.payment_gateways.stripe.payment = payment; 705 instance.payment_gateways.stripe.payment_type = payment_type; 706 }, 707 708 pay: function() { 709 var wrapper = instance.payment_gateways.stripe.elements.wrapper; 710 // Get internal reference 711 var payment = instance.payment_gateways.stripe.payment || wrapper.data('payment'); 712 var payment_type = instance.payment_gateways.stripe.payment_type || wrapper.data('payment-type') || 1; 713 714 function parse_result(result) { 715 if (result.error) { 716 // Show transaction error 717 wrapper.addClass('booknbook-payment-transaction-error'); 718 wrapper.find('.booknbook-payment-transaction-error-message span').text(result.error.message); 719 // Trigger payment error 720 $(document).trigger('booknbook-payment-error'); 721 } else { 722 var status = payment_type === 1 ? 723 result.paymentIntent.status : 724 result.setupIntent.status; 725 726 // The payment has been processed! 727 if (status === 'succeeded') { 728 // Payment was completed, check payment 729 $.ajax({ 730 method: 'POST', 731 url: instance.payment_gateways.stripe.url.check, 732 data: { 733 _token: "nnfpevkc6B1HsRmVc91wYP6YKP4CZfkk6nQYYri3", 734 payment: payment 735 }, 736 success: function (response) { 737 if (! response.check) { 738 // Payment Sense result code was OK but server check though REST API return that payment was not completed 739 // This must never happen! 740 wrapper.addClass('booknbook-payment-transaction-error'); 741 wrapper.find('.booknbook-payment-transaction-error-message span').text(response.message); 742 // Trigger payment error 743 $(document).trigger('booknbook-payment-error', [response]); 744 } 745 else { 746 // Trigger payment completed 747 $(document).trigger('booknbook-payment-success', [response]); 748 } 749 }, 750 error: function () { 751 // There was an error checking payment, so we are not able to assure that payment was really completed 752 // Reload current page 753 window.location.reload(); 754 } 755 }); 756 } 757 } 758 } 759 760 // Remove any previous error status 761 instance.payment_gateways.stripe.elements.wrapper.removeClass('booknbook-payment-transaction-error'); 762 763 if (payment_type === 1) { 764 instance.payment_gateways.stripe.stripe.instance.confirmCardPayment(instance.payment_gateways.stripe.payment_details.clientSecret, { 765 payment_method: { 766 card: instance.payment_gateways.stripe.payment_details.card, 767 } 768 }).then(function(result) { 769 parse_result(result); 770 }); 771 } 772 else { 773 instance.payment_gateways.stripe.stripe.instance.confirmCardSetup(instance.payment_gateways.stripe.payment_details.clientSecret, { 774 payment_method: { 775 card: instance.payment_gateways.stripe.payment_details.card, 776 } 777 }).then(function(result) { 778 parse_result(result); 779 }); 780 } 781 }, 782 783 init: function () { 784 instance.payment_gateways.stripe.elements.wrapper = $('#booknbook-payment-gateway-stripe'); 785 786 instance.payment_gateways.stripe.stripe.instance = Stripe(instance.payment_gateways.stripe.stripe.public_key); 787 instance.payment_gateways.stripe.stripe.elements = instance.payment_gateways.stripe.stripe.instance.elements(); 788 789 instance.payment_gateways.stripe.payment_details.card = instance.payment_gateways.stripe.stripe.elements.create("card", instance.payment_gateways.stripe.defaults); 790 instance.payment_gateways.stripe.payment_details.card.mount("#booknbook-payment-gateway-stripe-card"); 791 792 // Display errors 793 instance.payment_gateways.stripe.payment_details.card.on('change', function(event) { 794 var errors = $('#booknbook-payment-gateway-stripe .booknbook-payment-errors'); 795 796 errors.empty(); 797 798 if (event.error) { 799 $('<li>' + event.error.message + '</li>').appendTo(errors); 800 } 801 }); 802 } 803 }, 804 805 paystack: { 806 elements: { 807 wrapper: null, 808 }, 809 810 url: { 811 init: null, 812 }, 813 814 payment: null, 815 816 configure: function (url_init, payment = null) { 817 instance.payment_gateways.paystack.url.init = url_init; 818 instance.payment_gateways.paystack.payment = payment; 819 }, 820 821 pay: function (email, data) { 822 var wrapper = instance.payment_gateways.paystack.elements.wrapper; 823 // Remove any previous error status 824 wrapper.removeClass('booknbook-payment-transaction-error'); 825 // Create a new transaction or get an existing one and the redirect user to Paystack authorization url 826 $.ajax({ 827 method: 'POST', 828 url: instance.payment_gateways.paystack.url.init, 829 data: { 830 _token: 'nnfpevkc6B1HsRmVc91wYP6YKP4CZfkk6nQYYri3', 831 email: email, 832 payment: instance.payment_gateways.paystack.payment || wrapper.data('payment'), 833 data: data 834 }, 835 success: function (response) { 836 if (response.status === 'success') { 837 if (response.completed && response.redirect) { 838 window.location.replace(response.redirect); 839 } 840 else if (response.completed) { 841 $(document).trigger('booknbook-payment-success', [response]); 842 } 843 else { 844 window.location.replace(response.authorization_url); 845 } 846 } 847 else { 848 // Show transaction error 849 wrapper.addClass('booknbook-payment-transaction-error'); 850 wrapper.find('.booknbook-payment-transaction-error-message span').text(response.error.message); 851 // Trigger payment error 852 $(document).trigger('booknbook-payment-error'); 853 } 854 }, 855 error: function (xhr) { 856 cms.page.layer.show_loader(false); 857 cms.page.layer.show_error(true, 1500); 858 // Trigger payment error 859 $(document).trigger('booknbook-payment-error'); 860 }, 861 }); 862 }, 863 864 init: function () { 865 instance.payment_gateways.paystack.elements.wrapper = $('#booknbook-payment-gateway-paystack'); 866 } 867 } 868 }, 869 870 initialize: { 871 elements: [ 872 // Basic elements init 873 'helpers', 874 'popup', 875 'policies', 876 'campaigns', 877 // Payment Gateways 878 'payment_gateways' 879 ], 880 881 add: function(element) { 882 this.elements.push(element); 883 } 884 }, 885 886 init: function () { 887 for (var index = 0; index < this.initialize.elements.length; index++) { 888 this[this.initialize.elements[index]].init(); 889 } 890 891 // Initialize components 892 // - TABS 893 $('.booknbook-tabs-toggle').click(function() { 894 var toggle = $(this); 895 var tabs = toggle.closest('.booknbook-tabs-nav').find('.booknbook-tabs-toggle'); 896 var container = toggle.closest('.booknbook-tabs'); 897 var panels = container.find('.booknbook-tabs-panels .booknbook-tabs-panel'); 898 var target = container.find('.booknbook-tabs-panels .booknbook-tabs-panel' + toggle.data('target')); 899 900 901 // Set current tab toggle 902 tabs.removeClass('booknbook-tab-active'); 903 toggle.addClass('booknbook-tab-active'); 904 905 // Show current panel 906 panels.removeClass('booknbook-show'); 907 target.addClass('booknbook-show'); 908 }); 909 910 // - COLLAPSE 911 $('.booknbook-collapse-toggle').click(function() { 912 var toggle = $(this); 913 var all = $('.booknbook-collapse-toggle[data-target="' + toggle.data('target') +'"]'); 914 var target = $('.booknbook-collapse-panel' + toggle.data('target')); 915 916 all.toggleClass('booknbook-collapse-
916active'); 917 918 if (! target.height()) { 919 // Target collapsed, set height to zero, show it and than animate max-height 920 target.css({"height": '0'}); 921 target.addClass('booknbook-show'); 922 target.animate({"height": target.prop('scrollHeight') + 'px'}, 200, function () { 923 target.css({"height": ''}); 924 }); 925 } 926 else { 927 // Target open, first make it visible and than change height 928 target.animate({"height": '0px'}, 200, function() { 929 target.removeClass('booknbook-show'); 930 }); 931 } 932 933 }); 934 935 // - MODAL 936 $('.booknbook-modal-wrapper').on('click', function (event) { 937 if (! $(event.target).closest(".booknbook-modal").length) { 938 $(this).removeClass("booknbook-modal-show"); 939 940 $('html, body').removeClass('booknbook-modal-visible'); 941 942 $(this).find(".booknbook-modal").trigger('booknbook-modal-click-outside'); 943 } 944 }); 945 } 946 } 947 948 $(document).ready(function() { 949 instance.init(); 950 }); 951 952 return instance; 953 })($__wl_jquery, cms); 954 </script>
954 955 956 <!-- Google Analytics --> 957
957<script> 958 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 959 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 960 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 961 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 962 963 <!-- Restaurant Analytics --> 964 ga('create', 'UA-76517396-9', 'auto', 'restaurant'); 965 ga('restaurant.set', 'hostname', 'booking.sartorirestaurant.com'); 966 ga('restaurant.set', 'location', 'https://booking.sartorirestaurant.com/menu/menu?menu=955'); 967 ga('restaurant.set', 'page', '/booknbook/booking/menu/menu'); 968 ga('restaurant.send', 'pageview'); 969 970 <!-- Booknbook Analytics --> 971 ga('create', 'UA-118876632-1', 'auto', 'booknbook_whitelabel'); 972 ga('booknbook_whitelabel.set', 'hostname', 'booking.sartorirestaurant.com'); 973 ga('booknbook_whitelabel.set', 'location', 'https://booking.sartorirestaurant.com/menu/menu?menu=955'); 974 ga('booknbook_whitelabel.set', 'page', '/menu/menu'); 975 ga('booknbook_whitelabel.set', 'dimension1', 'booking.sartorirestaurant.com'); // Booking Domain 976 977 978 ga('booknbook_whitelabel.send', 'pageview'); 979 980 </script>
980 981 <!-- End Google Analytics --> 982 983 984 985 <!-- Facebook Pixel Code --> 986 987
987<script>
vendor: 602 bytes, lines 987-996
987 988 !function(f,b,e,v,n,t,s) 989 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 990 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 991 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 992 n.queue=[];t=b.createElement(e);t.async=!0; 993 t.src=v;s=b.getElementsByTagName(e)[0]; 994 s.parentNode.insertBefore(t,s)}(window,document,'script', 995 'https://connect.facebook.net/en_US/fbevents.js'); 996 fbq('init', '
9962682826881946934
vendor: 66 bytes, lines 996-998
996'); 997 fbq('track', 'PageView'); 998
998</script>
998 999 <noscript><img height="1" width="1" src="https://www.facebook.com/tr?id=2682826881946934&ev=PageView&noscript=1"/></noscript> 1000 <!-- End Facebook Pixel Code --> 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022<link rel='stylesheet' id='avia-google-webfont' href='//fonts.googleapis.com/css?family=Comfortaa:300,400,700%7CMaven+Pro' type='text/css' media='all'/> 1023
1023<script type="text/javascript"> 1024 window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.2.1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.2.1\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.sartorirestaurant.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.7.5"}}; 1025 !function(a,b,c){function d(a){var b,c,d,e,f=String.fromCharCode;if(!k||!k.fillText)return!1;switch(k.clearRect(0,0,j.width,j.height),k.textBaseline="top",k.font="600 32px Arial",a){case"flag":return k.fillText(f(55356,56826,55356,56819),0,0),!(j.toDataURL().length<3e3)&&(k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57331,65039,8205,55356,57096),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57331,55356,57096),0,0),c=j.toDataURL(),b!==c);case"emoji4":return k.fillText(f(55357,56425,55356,57341,8205,55357,56507),0,0),d=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55357,56425,55356,57341,55357,56507),0,0),e=j.toDataURL(),d!==e}return!1}function e(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g,h,i,j=b.createElement("canvas"),k=j.getContext&&j.getContext("2d");for(i=Array("flag","emoji4"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.supports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"flag"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings); 1026 </script>
1026 1027 <style type="text/css"> 1028img.wp-smiley, 1029img.emoji { 1030 display: inline !important; 1031 border: none !important; 1032 box-shadow: none !important; 1033 height: 1em !important; 1034 width: 1em !important; 1035 margin: 0 .07em !important; 1036 vertical-align: -0.1em !important; 1037 background: none !important; 1038 padding: 0 !important; 1039} 1040</style> 1041<link rel='stylesheet' id='contact-form-7-css' href='https://www.sartorirestaurant.com/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=4.9.1' type='text/css' media='all' /> 1042<link rel='stylesheet' id='wpml-legacy-dropdown-0-css' href='https://www.sartorirestaurant.com/wp-content/plugins/sitepress-multilingual-cms/templates/language-switchers/legacy-dropdown/style.css?ver=1' type='text/css' media='all' /> 1043<style id='wpml-legacy-dropdown-0-inline-css' type='text/css'> 1044.wpml-ls-statics-shortcode_actions, .wpml-ls-statics-shortcode_actions .wpml-ls-sub-menu, .wpml-ls-statics-shortcode_actions a {border-color:#EEEEEE;}.wpml-ls-statics-shortcode_actions a {color:#444444;background-color:#ffffff;}.wpml-ls-statics-shortcode_actions a:hover,.wpml-ls-statics-shortcode_actions a:focus {color:#000000;background-color:#eeeeee;}.wpml-ls-statics-shortcode_actions .wpml-ls-current-language>a {color:#444444;background-color:#ffffff;}.wpml-ls-statics-shortcode_actions .wpml-ls-current-language:hover>a, .wpml-ls-statics-shortcode_actions .wpml-ls-current-language>a:focus {color:#000000;background-color:#eeeeee;} 1045</style> 1046<link rel='stylesheet' id='wpml-legacy-post-translations-0-css' href='https://www.sartorirestaurant.com/wp-content/plugins/sitepress-multilingual-cms/templates/language-switchers/legacy-post-translations/style.css?ver=1' type='text/css' media='all' /> 1047<style id='wpml-legacy-post-translations-0-inline-css' type='text/css'> 1048#lang_sel img, #lang_sel_list img, #lang_sel_footer img { display: inline; } 1049</style> 1050<link rel='stylesheet' id='avia-wpml-css' href='https://www.sartorirestaurant.com/wp-content/themes/enfold/config-wpml/wpml-mod.css?ver=4.7.5' type='text/css' media='all' /> 1051<link rel='stylesheet' id='avia-grid-css' href='https://www.sartorirestaurant.com/wp-content/themes/enfold/css/grid.css?ver=2' type='text/css' media='all' /> 1052<link rel='stylesheet' id='avia-base-css' href='https://www.sartorirestaurant.com/wp-content/themes/enfold/css/base.css?ver=2' type='text/css' media='all' /> 1053<link rel='stylesheet' id='avia-layout-css' href='https://www.sartorirestaurant.com/wp-content/themes/enfold/css/layout.css?ver=2' type='text/css' media='all' /> 1054<link rel='stylesheet' id='avia-scs-css' href='https://www.sartorirestaurant.com/wp-content/themes/enfold/css/shortcodes.css?ver=2' type='text/css' media='all' /> 1055<link rel='stylesheet' id='avia-popup-css-css' href='https://www.sartorirestaurant.com/wp-content/themes/enfold/js/aviapopup/magnific-popup.css?ver=1' type='text/css' media='screen' /> 1056<link rel='stylesheet' id='avia-media-css' href='https://www.sartorirestaurant.com/wp-content/themes/enfold/js/mediaelement/skin-1/mediaelementplayer.css?ver=1' type='text/css' media='screen' /> 1057<link rel='stylesheet' id='avia-print-css' href='https://www.sartorirestaurant.com/wp-content/themes/enfold/css/print.css?ver=1' type='text/css' media='print' /> 1058<link rel='stylesheet' id='avia-dynamic-css' href='https://www.sartorirestaurant.com/wp-content/uploads/dynamic_avia/sartori_restaurant.css?ver=68f76cc5def0b' type='text/css' media='all' /> 1059<link rel='stylesheet' id='avia-custom-css' href='https://www.sartorirestaurant.com/wp-content/themes/enfold/css/custom.css?ver=2' type='text/css' media='all' /> 1060<link rel='stylesheet' id='avia-style-css' href='https://www.sartorirestaurant.com/wp-content/themes/sartorirestaurant/style.css?ver=2' type='text/css' media='all' /> 1061<link rel='stylesheet' id='newsletter-subscription-css' href='https://www.sartorirestaurant.com/wp-content/plugins/newsletter/subscription/style.css?ver=5.1.1' type='text/css' media='all' />
1062<script type='text/javascript' src='https://www.sartorirestaurant.com/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script>
vendor: 1 bytes, line 1062
1062
1063<script type='text/javascript' src='https://www.sartorirestaurant.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1'></script>
vendor: 1 bytes, line 1063
1063
1064<script type='text/javascript' src='https://www.sartorirestaurant.com/wp-content/plugins/sitepress-multilingual-cms/templates/language-switchers/legacy-dropdown/script.js?ver=1'></script>
vendor: 1 bytes, line 1064
1064
1065<script type='text/javascript' src='https://www.sartorirestaurant.com/wp-content/themes/enfold/js/avia-compat.js?ver=2'></script>
1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078<!--[if lt IE 9]>
1078<script src="https://www.sartorirestaurant.com/wp-content/themes/enfold/js/html5shiv.js"></script>
1078<![endif]--> 1079<link rel="icon" href="https://www.sartorirestaurant.com/wp-content/uploads/2017/08/sartorifavicon16per16.ico" type="image/x-icon"> 1080 1081 1082 1083
1084<script type='text/javascript'> 1085 fbq('init', '692195608212365', {}, { 1086 "agent": "wordpress-4.7.5-2.0.2" 1087}); 1088</script>
1088<script type='text/javascript'> 1089 fbq('track', 'PageView', []); 1090</script>
1090 1091 1092<noscript> 1093<img height="1" width="1" style="display:none" alt="fbpx" 1094src="https://www.facebook.com/tr?id=692195608212365&ev=PageView&noscript=1" /> 1095</noscript> 1096 1097 <style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style> 1098 1099 1100 1101 1102<style type='text/css'> 1103@font-face {font-family: 'entypo-fontello'; font-weight: normal; font-style: normal; 1104src: url('https://www.sartorirestaurant.com/wp-content/themes/enfold/config-templatebuilder/avia-template-builder/assets/fonts/entypo-fontello.eot?v=3'); 1105src: url('https://www.sartorirestaurant.com/wp-content/themes/enfold/config-templatebuilder/avia-template-builder/assets/fonts/entypo-fontello.eot?v=3#iefix') format('embedded-opentype'), 1106url('https://www.sartorirestaurant.com/wp-content/themes/enfold/config-templatebuilder/avia-template-builder/assets/fonts/entypo-fontello.woff?v=3') format('woff'), 1107url('https://www.sartorirestaurant.com/wp-content/themes/enfold/config-templatebuilder/avia-template-builder/assets/fonts/entypo-fontello.ttf?v=3') format('truetype'), 1108url('https://www.sartorirestaurant.com/wp-content/themes/enfold/config-templatebuilder/avia-template-builder/assets/fonts/entypo-fontello.svg?v=3#entypo-fontello') format('svg'); 1109} #top .avia-font-entypo-fontello, body .avia-font-entypo-fontello, html body [data-av_iconfont='entypo-fontello']:before{ font-family: 'entypo-fontello'; } 1110</style> 1111 1112
1113<script>
vendor: 327 bytes, lines 1113-1117
1113(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 1114new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 1115j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 1116'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 1117})(window,document,'script','dataLayer','
1117GTM-THQSJS6V
vendor: 3 bytes, line 1117
1117');
1117</script>
1117 1118 1119 1120 1121 <link rel="stylesheet" type="text/css" href="/assets/frontend/single/whitelabel/css/style.css?id=cbdf2c0dde8c1560f8b393c22d0de8ed"> 1122 <link rel="stylesheet" type="text/css" href="/assets/frontend/single/whitelabel/css/icons.css?id=fec1cc6cd21b98860eba384318a09690"> 1123 1124 1125 <link rel="stylesheet" type="text/css" href="/assets/frontend/single/whitelabel/css/menu_manager.css?id=74502d0902d471230bacb6f1ba09ccec"> 1126 1127 <style> 1128 1129 </style> 1130 1131 1132 1133 <style> 1134 :root { 1135 --booknbook-theme-color-bg: #FFFFFF; 1136 --booknbook-theme-color-text: #000000; 1137 --booknbook-main-color-bg: #2B0C0E; 1138 --booknbook-main-color-bg-darker-10: hsl(356, 56%, 1%); 1139 --booknbook-main-color-bg-darker-20: hsl(356, 56%, 0%); 1140 --booknbook-main-color-text: #FFFFFF; 1141 --booknbook-label-color-bg: #2B0C0E; 1142 --booknbook-label-color-text: #FFFFFF; 1143 --booknbook-button-color-bg: #2B0C0E; 1144 --booknbook-button-color-text: #FFFFFF; 1145 --booknbook-icon-color-bg: #2B0C0E; 1146 --booknbook-icon-color-text: #FFF; 1147 } 1148 1149 1150 </style> 1151 </head> 1152 1153 <body id="top" class="page-template-default page page-id-34 stretched comfortaa maven_pro">
vendor: 91 bytes, lines 1153-1157
1153 1154 1155 1156 1157<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1157GTM-THQSJS6V
vendor: 87 bytes, lines 1157-1161
1157" 1158height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 1159 1160 1161
1161<div id='wrap_all'> 1162 1163 <a id="advanced_menu_logo" href="#"><img src="https://www.sartorirestaurant.com/wp-content/uploads/2017/07/LOGO_sartori_bianco_300x95.png" alt="" /> 1164 1165<header id='header' class='all_colors header_color light_bg_color av_header_top av_logo_left av_main_nav_header av_menu_right av_slim av_header_sticky av_header_shrinking_disabled av_header_stretch_disabled av_mobile_menu_tablet av_header_searchicon_disabled av_header_unstick_top_disabled av_bottom_nav_disabled av_alternate_logo_active av_header_border_disabled' role="banner" itemscope="itemscope" itemtype="https://schema.org/WPHeader" > 1166 1167<a id="advanced_menu_toggle" href="#" aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></a><a id="advanced_menu_hide" href="#" aria-hidden='true' data-av_icon='î ' data-av_iconfont='entypo-fontello'></a> <div id='header_main' class='container_wrap container_wrap_logo'> 1168 1169 <div class='container av-logo-container'><div class='inner-container'><strong class='logo'><a href='https://www.sartorirestaurant.com/'><img height='100' width='300' src='https://www.sartorirestaurant.com/wp-content/uploads/2017/07/LOGO_sartori_marrone_300x95.png' alt='Sartori Restaurant' /></a></strong><nav class='main_menu' data-selectname='Select a page' role="navigation" itemscope="itemscope" itemtype="https://schema.org/SiteNavigationElement" ><div class="avia-menu av-main-nav-wrap"><ul id="avia-menu" class="menu av-main-nav"><li id="menu-item-2648" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-top-level menu-item-top-level-1"><a href="#" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">Menus</span><span class="avia-menu-fx"><span class="avia-arrow-wrap"><span class="avia-arrow"></span></span></span></a> 1170 1171 1172<ul class="sub-menu"> 1173 <li id="menu-item-2910" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://www.sartorirestaurant.com/christmas-menu-sartori-italian-restaurant-covent-garden-leicester-square-london/" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">Christmas Party Menu</span></a></li> 1174 <li id="menu-item-2538" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://www.sartorirestaurant.com/a-la-carte-menu-sartori-italian-restaurant-pizzeria-leicester-square-covent-garden-london/" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">A La Carte Menu</span></a></li> 1175 <li id="menu-item-2642" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://www.sartorirestaurant.com/set-lunch-menu-sartori-italian-restauant-leicester-square-covent-garden/" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">Set Lunch Menu</span></a></li> 1176 <li id="menu-item-2687" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://booking.sartorirestaurant.com/menu/menu?menu=955" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">Set Dinner Menu</span></a></li> 1177 <li id="menu-item-2638" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://www.sartorirestaurant.com/desserts-menu/" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">Desserts</span></a></li> 1178 <li id="menu-item-2537" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://www.sartorirestaurant.com/drinks-menu/" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">Drinks</span></a></li> 1179</ul> 1180</li> 1181<li id="menu-item-1655" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-top-level menu-item-top-level-2"><a href="http://booking.sartorirestaurant.com/en" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">Book a Table</span><span class="avia-menu-fx"><span class="avia-arrow-wrap"><span class="avia-arrow"></span></span></span></a></li> 1182<li id="menu-item-2350" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-top-level menu-item-top-level-3"><a href="https://booking.sartorirestaurant.com/orders/new" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">
1182Click & Collect</span><span class="avia-menu-fx"><span class="avia-arrow-wrap"><span class="avia-arrow"></span></span></span></a></li> 1183<li id="menu-item-2135" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-top-level menu-item-top-level-4"><a href="https://www.sartorirestaurant.com/group-dining-restaurant-london-covent-garden-leicester-square/" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">Group Booking</span><span class="avia-menu-fx"><span class="avia-arrow-wrap"><span class="avia-arrow"></span></span></span></a></li> 1184<li id="menu-item-2540" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-top-level menu-item-top-level-5"><a href="https://booking.sartorirestaurant.com/gift-cards/list" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">Gift Card</span><span class="avia-menu-fx"><span class="avia-arrow-wrap"><span class="avia-arrow"></span></span></span></a></li> 1185<li id="menu-item-474" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-top-level menu-item-top-level-6"><a href="https://www.sartorirestaurant.com/gallery/" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">Gallery</span><span class="avia-menu-fx"><span class="avia-arrow-wrap"><span class="avia-arrow"></span></span></span></a></li> 1186<li id="menu-item-636" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-top-level menu-item-top-level-7"><a href="https://www.sartorirestaurant.com/contact-sartori-restaurant-london-covent-garden-leicester-square/" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">Contact Us</span><span class="avia-menu-fx"><span class="avia-arrow-wrap"><span class="avia-arrow"></span></span></span></a> 1187 1188 1189<ul class="sub-menu"> 1190 <li id="menu-item-367" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://www.sartorirestaurant.com/about-sartori-restaurant-pizzeria-london-covent-garden-leicester-square/" itemprop="url"><span class="avia-bullet"></span><span class="avia-menu-text">About us</span></a></li> 1191</ul> 1192</li> 1193<li class='av-language-switch-item language_en avia_current_lang'><a href='https://www.sartorirestaurant.com/'> <span class='language_flag'><img title='English' src='https://www.sartorirestaurant.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/en.png' /></span></a></li><li class='av-language-switch-item language_it '><a href='https://www.sartorirestaurant.com/it/'> <span class='language_flag'><img title='Italiano' src='https://www.sartorirestaurant.com/wp-content/plugins/sitepress-multilingual-cms/res/flags/it.png' /></span></a></li></ul></div></nav></div> </div> 1194 1195 </div> 1196 1197 <div class='header_bg'></div> 1198 1199 1200</header> 1201 1202 <div id='main' class='all_colors' data-scroll-offset='88'> 1203 1204 1205 1206 <div id="booknbook-main" class=" "> 1207 1208 <div id="booknbook-whitelabel"> 1209 1210 1211 <div id="booknbook-header"> 1212 <div id="booknbook-title" class=" booknbook-title-single 1213"> 1214 <h1 id="booknbook-title-text"> 1215 <span id="booknbook-icon"> 1216 </span> 1217 <span id="booknbook-title-top"> Set Dinner Menu 1218</span> 1219 <span id="booknbook-title-bottom"></span> 1220 </h1> 1221 </div> 1222 1223 <div id="booknbook-flags"> 1224 <span class="booknbook-flag-current booknbook-flag-link booknbook-first booknbook-flag-link-en"> 1225 <img src="https://booking.sartorirestaurant.com/assets/common/img/locales/en.png" alt="en"> 1226 </span> 1227 <a href="https://booking.sartorirestaurant.com/it/menu/menu?menu=955" class="booknbook-flag-link booknbook-middle booknbook-flag-link-it"> 1228 <img src="https://booking.sartorirestaurant.com/assets/common/img/locales/it.png" alt="it"> 1229 </a> 1230 <a href="https://booking.sartorirestaurant.com/es/menu/menu?menu=955" class="booknbook-flag-link booknbook-middle booknbook-flag-link-es"> 1231 <img src="https://booking.sartorirestaurant.com/assets/common/img/locales/es.png" alt="es"> 1232 </a> 1233 <a href="https://booking.sartorirestaurant.com/fr/menu/menu?menu=955" class="booknbook-flag-link booknbook-middle booknbook-flag-link-fr"> 1234 <img src="https://booking.sartorirestaurant.com/assets/common/img/locales/fr.png" alt="fr"> 1235 </a> 1236 <a href="https://booking.sartorirestaurant.com/zh/menu/menu?menu=955" class="booknbook-flag-link booknbook-last booknbook-flag-link-zh"> 1237 <img src="https://booking.sartorirestaurant.com/assets/common/img/locales/zh.png" alt="zh"> 1238 </a> 1239 </div> 1240 1241 <div class="booknbook-separator"></div> 1242 </div> 1243 1244 <div id="booknbook-content"> 1245 <section class="booknbook-menu-manager booknbook-menu-manager-advanced"> 1246 <section class="booknbook-menu"> 1247 <section class="booknbook-menu-header"> 1248 1249 1250 </section> 1251 <section class="booknbook-menu-courses-rules"> 1252 All courses included for £22.95 1253 </section> 1254 1255 <section class="booknbook-menu-courses"> 1256 <div class="booknbook-menu-course"> 1257 <div class="booknbook-menu-course-header"> 1258 <div class="booknbook-menu-course-title-wrapper"> 1259 <div class="booknbook-menu-course-title-wrapper"> 1260 <h3 class="booknbook-menu-course-title">Starters</h3> 1261 </div> 1262 1263 </div> 1264 <div class="booknbook-menu-course-items-rules"> 1265 A selection of 1 dish 1266 </div> 1267 </div> 1268 1269 <div class="booknbook-menu-course-items"> 1270 <div class="booknbook-menu-course-item"> 1271 <div class="booknbook-menu-course-item-wrapper">
1272 <span class="booknbook-menu-course-item-name">Grigliata di vegetali</span> 1273 1274 <span class="booknbook-menu-course-item-dietary-preferences"> 1275 <span class="booknbook-menu-item-badge booknbook-menu-item-badge-dietary-preference" title="Vegan"> 1276 <i class="menu-item-dietary-preference-vegan"></i> 1277 </span> 1278 </span> 1279 1280 </div> 1281 <div class="booknbook-menu-course-item-description"><p>Mix grilled vegetables</p></div> 1282 </div> 1283 <div class="booknbook-menu-course-item"> 1284 <div class="booknbook-menu-course-item-wrapper"> 1285 <span class="booknbook-menu-course-item-name">Tricolore salad</span> 1286 1287 <span class="booknbook-menu-course-item-dietary-preferences"> 1288 <span class="booknbook-menu-item-badge booknbook-menu-item-badge-dietary-preference" title="Vegetarian"> 1289 <i class="menu-item-dietary-preference-vegetarian"></i> 1290 </span> 1291 </span> 1292 1293 </div> 1294 <div class="booknbook-menu-course-item-description"><p>Fresh buffalo mozzarella, tomatoes and avocado</p></div> 1295 </div> 1296 <div class="booknbook-menu-course-item"> 1297 <div class="booknbook-menu-course-item-wrapper"> 1298 <span class="booknbook-menu-course-item-name">Caesar salad</span> 1299 1300 1301 </div> 1302 <div class="booknbook-menu-course-item-description"><p>Lettuce, croutons, Caesar dressing and Parmesan</p></div> 1303 </div> 1304 <div class="booknbook-menu-course-item"> 1305 <div class="booknbook-menu-course-item-wrapper"> 1306 <span class="booknbook-menu-course-item-name">Cocktail di gamberi</span> 1307 1308 1309 </div> 1310 <div class="booknbook-menu-course-item-description"><p>Prawns cocktail served with Marie Rose sauce</p></div> 1311 </div> 1312 <div class="booknbook-menu-course-item"> 1313 <div class="booknbook-menu-course-item-wrapper"> 1314 <span class="booknbook-menu-course-item-name">Soup of the day</span> 1315 1316 1317 </div> 1318 </div> 1319 </div> 1320 1321 </div> 1322 <div class="booknbook-menu-course"> 1323 <div class="booknbook-menu-course-header"> 1324 <div class="booknbook-menu-course-title-wrapper"> 1325 <div class="booknbook-menu-course-title-wrapper"> 1326 <h3 class="booknbook-menu-course-title">Main</h3> 1327 </div> 1328 1329 </div> 1330 <div class="booknbook-menu-course-items-rules"> 1331 A selection of 1 dish 1332 </div> 1333 </div> 1334 1335 <div class="booknbook-menu-course-items"> 1336 <div class="booknbook-menu-course-item"> 1337 <div class="booknbook-menu-course-item-wrapper">
1338 <span class="booknbook-menu-course-item-name">Spigola grigliata servita con vegetali</span> 1339 1340 1341 </div> 1342 <div class="booknbook-menu-course-item-description"><p>Grilled sea bass served with vegetables</p></div> 1343 </div> 1344 <div class="booknbook-menu-course-item"> 1345 <div class="booknbook-menu-course-item-wrapper"> 1346 <span class="booknbook-menu-course-item-name">Risotto ai funghi porcini</span> 1347 1348 <span class="booknbook-menu-course-item-dietary-preferences"> 1349 <span class="booknbook-menu-item-badge booknbook-menu-item-badge-dietary-preference" title="Vegetarian"> 1350 <i class="menu-item-dietary-preference-vegetarian"></i> 1351 </span> 1352 </span> 1353 1354 </div> 1355 <div class="booknbook-menu-course-item-description"><p>Risotto with wild mushrooms</p></div> 1356 </div> 1357 <div class="booknbook-menu-course-item"> 1358 <div class="booknbook-menu-course-item-wrapper"> 1359 <span class="booknbook-menu-course-item-name">Insalata Di Gamberi</span> 1360 1361 1362 </div> 1363 <div class="booknbook-menu-course-item-description"><p>Mixed green salad with grilled prawns and slices of orange</p></div> 1364 </div> 1365 <div class="booknbook-menu-course-item"> 1366 <div class="booknbook-menu-course-item-wrapper"> 1367 <span class="booknbook-menu-course-item-name">Petto di pollo Grigliata con vegetali</span> 1368 1369 1370 </div> 1371 <div class="booknbook-menu-course-item-description"><p>Grilled chicken breasts with grilled vegetables</p></div> 1372 </div> 1373 <div class="booknbook-menu-course-item"> 1374 <div class="booknbook-menu-course-item-wrapper"> 1375 <span class="booknbook-menu-course-item-name">Spaghetti al pesto</span> 1376 1377 <span class="booknbook-menu-course-item-dietary-preferences"> 1378 <span class="booknbook-menu-item-badge booknbook-menu-item-badge-dietary-preference" title="Vegetarian"> 1379 <i class="menu-item-dietary-preference-vegetarian"></i> 1380 </span> 1381 </span> 1382 1383 </div> 1384 <div class="booknbook-menu-course-item-description"><p>Spaghetti with pesto sauce</p></div> 1385 </div> 1386 </div> 1387 1388 <div class="booknbook-menu-course-notes-after"> 1389 <p><em><strong>Note:</strong></em> You can add steak with chips for only £8 extra.</p> 1390 </div> 1391 </div> 1392 </section> 1393 1394 1395 <section class="booknbook-menu-cta-bottom"> 1396 <a href="https://booking.sartorirestaurant.com/booking" target="_self" class="booknbook-menu-button btn button booknbook-btn">Book a Table</a> 1397 </section> 1398 1399 <div class="booknbook-menu-dietary-preferences-legend">
1400 <span class="booknbook-menu-dietary-preferences-legend-title"> 1401 Dietary Preferences </span> 1402 1403 <div class="booknbook-menu-dietary-preferences-legend-list"> 1404 <span class="booknbook-menu-dietary-preferences-legend-list-item"> 1405 <i class="booknbook-menu-dietary-preferences-legend-list-icon menu-item-dietary-preference-vegetarian"></i> 1406 <span class="booknbook-menu-dietary-preferences-legend-list-label">Vegetarian</span> 1407 </span> 1408 <span class="booknbook-menu-dietary-preferences-legend-list-item"> 1409 <i class="booknbook-menu-dietary-preferences-legend-list-icon menu-item-dietary-preference-vegan"></i> 1410 <span class="booknbook-menu-dietary-preferences-legend-list-label">Vegan</span> 1411 </span> 1412 </div> 1413 </div> 1414 1415<div class="booknbook-menu-footer"> 1416 <div class="booknbook-menu-notes-after"> 1417 <p>Please note that a discretionary service charge of 10% will be added to the bill.</p> 1418<p>Please inform a member of staff if you have any allergies.</p> 1419 </div> 1420 1421 <div class="booknbook-menu-notes-after booknbook-menu-notes-after-custom"> 1422 </div> 1423</div> 1424 </section> 1425</section> 1426 1427 </div> 1428 1429 </div> 1430 1431 </div> 1432 1433 <div class='container_wrap footer_color' id='footer'> 1434 1435 <div class='container'> 1436 1437 <div class='flex_column av_one_fourth first el_before_av_one_fourth'><section id="text-2" class="widget clearfix widget_text"><h3 class="widgettitle">About</h3> <div class="textwidget"><p>Established in 2010, Sartori has quickly created an enviable reputation for delivering quality authentic Southern Italian food in the heart of London.</p> 1438 1439<p>Many Italians living in London visit Sartori for a genuine taste of Italy â what better accolade can we than this!</p> 1440<a href="http://www.sartorirestaurant.com/about-sartori-restaurant-pizzeria-london-covent-garden-leicester-square/">Read More...</a> 1441</div> 1442 <span class="seperator extralight-border"></span></section></div><div class='flex_column av_one_fourth el_after_av_one_fourth el_before_av_one_fourth '><section id="text-3" class="widget clearfix widget_text"><h3 class="widgettitle">Address</h3> <div class="textwidget"><p>Sartori Restaurant<br /> 144315 Great Newport St<br /> 1444London WC2H 7JE<br /> 1445Phone <a href="tel:020 7836 6308">020 7836 6308</a></p> 1446</div> 1447 <span class="seperator extralight-border"></span></section></div><div class='flex_column av_one_fourth el_after_av_one_fourth el_before_av_one_fourth '><section id="text-7" class="widget clearfix widget_text"><h3 class="widgettitle">Opening Hours</h3> <div class="textwidget"><p>Bank Holiday 31st of Aug 26 closed</p> 1448<div class="hours-block clearfix"> 1449<p class="left"> 1450Monday:<br /> 1451Tuesday:<br /> 1452Wednesday:<br /> 1453Thursday:<br /> 1454Friday:<br /> 1455Saturday:<br /> 1456Sunday: 1457</p> 1458<p class="right"> 14595-10pm<br /> 14605-10pm<br /> 14615-10pm<br /> 146212-10pm<br /> 146312-11pm<br /> 146412-11pm<br /> 146512-10:30pm 1466</p> 1467</div> 1468</div> 1469 <span class="seperator extralight-border"></span></section></div><div class='flex_column av_one_fourth el_after_av_one_fourth el_before_av_one_fourth '><section id="text-5" class="widget clearfix widget_text"><h3 class="widgettitle">Follow Us</h3> <div class="textwidget"><div id="footer-social-icons"><a href="https://www.facebook.com/sartorirestaurant/" target="_blank"><span class="oe-social oe-social-facebook"></span></a><a href="https://twitter.com/sartorirest" target="_blank"><span class="oe-social oe-social-twitter"></span></a><a href="https://www.instagram.com/sartorirestaurant/" target="_blank"><span class="oe-social oe-social-instagram"></span></a><a href="https://www.yelp.co.uk/biz/sartori-london" target="_blank"><span class="oe-social oe-social-yelp"></span></a><a href="https://www.tripadvisor.co.uk/Restaurant_Review-g186338-d2038485-Reviews-Sartori-London_England.html" target="_blank"><span class="oe-social oe-social-tripadvisor"></span></a></div></div> 1470 <span class="seperator extralight-border"></span></section><section id="text-6" class="widget clearfix widget_text"> <div class="textwidget"><img src="https://www.sartorirestaurant.com/wp-content/uploads/2017/06/SOCIAL_Sartori-e1498223684457.png" style="max-width: 180px;"></div> 1471 <span class="seperator extralight-border"></span></section></div> 1472 1473 </div> 1474 1475 1476 1477 </div> 1478 1479 1480 1481 1482 1483 1484 1485 <footer class='container_wrap socket_color' id='socket' role="contentinfo" itemscope="itemscope" itemtype="https://schema.org/WPFooter" > 1486 <div class='container'> 1487
1488 <span class='copyright'>© Copyright 2017 - 2025 - Sartori - Italian Restaurant & Pizzeria, Covent Garden, London | Credits: | <a href="https://business.booknbook.com?utm_source=SartoriRestaurant.com&utm_campaign=referral_clients&utm_content=link_footer" target="_blank">Restaurant Booking System - booknbook suite</a></span> 1489 1490 <ul class='noLightbox social_bookmarks icon_count_3'><li class='social_bookmarks_twitter av-social-link-twitter social_icon_1'><a target='_blank' href='https://twitter.com/sartorirest' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello' title='Twitter'><span class='avia_hidden_link_text'>Twitter</span></a></li><li class='social_bookmarks_facebook av-social-link-facebook social_icon_2'><a target='_blank' href='https://www.facebook.com/sartorirestaurant/' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello' title='Facebook'><span class='avia_hidden_link_text'>Facebook</span></a></li><li class='social_bookmarks_instagram av-social-link-instagram social_icon_3'><a target='_blank' href='https://www.instagram.com/sartorirestaurant/' aria-hidden='true' data-av_icon='î¤' data-av_iconfont='entypo-fontello' title='Instagram'><span class='avia_hidden_link_text'>Instagram</span></a></li></ul> 1491 </div> 1492 1493 1494 </footer> 1495 1496 1497 1498 </div> 1499 1500 </div> 1501 1502 1503 <style> 1504 .widget_booknbook-booking-widget { 1505 width: 100%; 1506 padding-left: 0px; 1507 padding-right: 0px; 1508 } 1509 .widget_booknbook-booking-widget button.booknbook-primary, 1510 .widget_booknbook-booking-widget .booknbook-input-submit button { 1511 background-color: #CC3366; 1512 color: #FFFFFF; 1513 } 1514 .widget_booknbook-booking-widget .booknbook-input-wrapper .booknbook-input-icon path { 1515 fill: #CC3366 !important; 1516 } 1517 .widget_booknbook-booking-widget .booknbook-input-submit button:hover, 1518 .widget_booknbook-booking-widget .booknbook-input-submit button:focus { 1519 background-color: #CC3366; 1520 color: #FFFFFF; 1521 } 1522 </style> 1523 1524 1525 <style> 1526 #booknbook-shortcode-content { 1527 background-color: #FFFFFF; 1528 } 1529 #booknbook-shortcode .booknbook-shortcode-separator:after { 1530 border-top-color: #FFFFFF; 1531 } 1532 #booknbook-shortcode-content button.booknbook-primary, 1533 #booknbook-shortcode-content .booknbook-input-submit button { 1534 background-color: #CC3366; 1535 color: #FFFFFF; 1536 } 1537 #booknbook-shortcode-content .booknbook-input-wrapper .booknbook-input-icon path { 1538 fill: #CC3366 !important; 1539 } 1540 #booknbook-shortcode-content .booknbook-input-submit button:hover, 1541 #booknbook-shortcode-content .booknbook-input-submit button:focus { 1542 background-color: #CC3366; 1543 color: #FFFFFF; 1544 } 1545 #booknbook-shortcode-content, 1546 #booknbook-shortcode-content .booknbook-shortcode-separator { 1547 border-color: #CCCCCC; 1548 } 1549 #booknbook-shortcode .booknbook-shortcode-separator:before { 1550 border-top-color: #CCCCCC; 1551 } 1552 </style> 1553 1554 <div id="booknbook-datepicker-overlay"></div><div id="booknbook-datepicker-container"></div> 1555
1555<script type='text/javascript'> 1556 /* <![CDATA[ */ 1557var avia_framework_globals = avia_framework_globals || {}; 1558 avia_framework_globals.frameworkUrl = 'https://www.sartorirestaurant.com/wp-content/themes/enfold/framework/'; 1559 avia_framework_globals.installedAt = 'https://www.sartorirestaurant.com/wp-content/themes/enfold/'; 1560 avia_framework_globals.ajaxurl = 'https://www.sartorirestaurant.com/wp-admin/admin-ajax.php?lang=en'; 1561/* ]]> */ 1562</script>
1562 1563 1564
1565<script type='text/javascript'> 1566 /* <![CDATA[ */ 1567var avia_framework_globals = avia_framework_globals || {}; 1568 avia_framework_globals.gmap_api = 'AIzaSyCX0JAr5sfMxegADjmWI-kYSX6z2PSte2c'; 1569/* ]]> */ 1570</script>
1570 1571<a href='#top' title='Scroll to top' id='scroll-top-link' aria-hidden='true' data-av_icon='î¡¶' data-av_iconfont='entypo-fontello'><span class="avia_hidden_link_text">Scroll to top</span></a> 1572 1573<div id="fb-root"></div> 1574 1575 1576 <div id="booknbook-popup" class="booknbook-modal"> 1577 <div id="booknbook-popup-title" class="booknbook-modal-title"></div> 1578 1579 <div id="booknbook-popup-content" class="booknbook-modal-content"></div> 1580 1581 <div class="booknbook-modal-actions booknbook-modal-actions-close"> 1582 <button class="booknbook-btn booknbook-btn-modal-no" onclick="$__wl.popup.hide(); return false;">Close</button> 1583 </div> 1584 </div> 1585 1586 <div class="booknbook-layer" data-booknbook-layer> 1587 <div class="booknbook-loader"> 1588 <div class="booknbook-spinner-container"> 1589 <div class="booknbook-spinner"></div> 1590 </div> 1591 </div> 1592 <div class="booknbook-result booknbook-success"> 1593 <span class="booknbook-result-bg"></span> 1594 <i class="fa fa-check-circle"></i> 1595 </div> 1596 <div class="booknbook-result booknbook-error"> 1597 <span class="booknbook-result-bg"></span> 1598 <i class="fa fa-exclamation-circle"></i> 1599 </div> 1600 </div> 1601 1602 <div id="booknbook-reservation-policy-privacy" class="booknbook-modal booknbook-modal-vertical"> 1603 <div class="booknbook-modal-title"> 1604 Privacy Policy </div> 1605 1606 <div class="booknbook-modal-body"> 1607 1608 </div> 1609 1610 <div class="booknbook-modal-actions booknbook-modal-actions-close"> 1611 <button class="booknbook-btn" onclick="$__wl.policies.privacy.modal.hide(); return false;">Close</button> 1612 </div> 1613 </div> 1614 1615 <div id="booknbook-reservation-policy-marketing" class="booknbook-modal booknbook-modal-vertical"> 1616 <div class="booknbook-modal-title"> 1617 Marketing Policy </div> 1618 1619 <div class="booknbook-modal-body"> 1620 1621 </div> 1622 1623 <div class="booknbook-modal-actions booknbook-modal-actions-close"> 1624 <button class="booknbook-btn" onclick="$__wl.policies.marketing.modal.hide(); return false;">Close</button> 1625 </div> 1626 </div> 1627 1628 1629 1630 </body> 1631 1632</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.