{"id":37796,"date":"2026-10-23T11:08:17","date_gmt":"2026-10-23T11:08:17","guid":{"rendered":"https:\/\/www.pinecliffs.com\/?page_id=37796"},"modified":"2026-10-27T17:29:29","modified_gmt":"2026-10-27T17:29:29","slug":"restaurant-schedules","status":"publish","type":"page","link":"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/","title":{"rendered":"Documento"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"37796\" class=\"elementor elementor-37796\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-358046b e-con-full dg-pdf-wrap e-flex e-con e-parent\" data-id=\"358046b\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element- dg-pdf-viewer elementor-widget elementor-widget-shortcode\" data-id=\"\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c33da4b elementor-widget elementor-widget-html\" data-id=\"c33da4b\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script nowprocket data-no-optimize=\"1\" data-cfasync=\"false\">\n(function () {\n  \/* Visualizador de PDF responsivo (Dengun) \u2014 v4\n     Desktop: leitor PDF.js no iframe (sem toolbar).\n     Mobile (<=767px): o PDF \u00e9 desenhado num <canvas> com a largura do ecr\u00e3, para que o zoom em pin\u00e7a\n     seja o zoom nativo do navegador (sem conflito com o leitor).\n     Otimiza\u00e7\u00f5es para Safari\/iOS:\n       1) 1\u00aa passagem r\u00e1pida \u00e0 resolu\u00e7\u00e3o do ecr\u00e3 (largura x devicePixelRatio) -> cartaz vis\u00edvel o mais cedo poss\u00edvel;\n       2) 2\u00aa passagem em alta resolu\u00e7\u00e3o em segundo plano (para o zoom ficar n\u00edtido) e troca sem saltos;\n       3) o canvas \u00e9 mostrado diretamente (sem converter para JPEG), o que no Safari poupa bastante tempo.\n     O placeholder \"Loading schedule\u2026\" e o esconder do leitor est\u00e3o no Custom CSS do widget (aparecem logo no 1\u00ba frame).\n     IMPORTANTE: o atributo \"nowprocket\" impede o WP Rocket de atrasar este script. *\/\n  var BP = 767, HI_MAX_W = 2400, HI_MAX_AREA = 8e6, TIMEOUT = 20000;\n  var TB_CSS = '.toolbar{display:none!important}#viewerContainer,#sidebarContainer{top:0!important}';\n  var mq = window.matchMedia('(max-width: ' + BP + 'px)');\n  var pt = (document.documentElement.lang || '').toLowerCase().indexOf('pt') === 0;\n\n  var css = document.createElement('style');\n  css.textContent =\n    '.dg-pdf-mobile{display:none}' +\n    '.dg-pdf-mobile canvas{display:block;width:100%!important;height:auto!important;margin:0}' +\n    '.dg-pdf-open{display:flex;align-items:center;justify-content:center;min-height:48px;margin:16px 16px calc(80px + env(safe-area-inset-bottom));padding:12px 20px;' +\n      'border-radius:6px;background:#1f3d2b;color:#fff!important;font:600 15px\/1.2 sans-serif;text-decoration:none!important}' +\n    '@media (max-width:' + BP + 'px){.dg-pdf-wrap{min-height:0!important}.dg-pdf-done .dg-pdf-mobile{display:block}}';\n  document.head.appendChild(css);\n\n  function hideToolbar(d) {\n    if (!d || !d.head || d.getElementById('dg-hide-tb')) return;\n    var s = d.createElement('style'); s.id = 'dg-hide-tb'; s.textContent = TB_CSS; d.head.appendChild(s);\n  }\n\n  \/* desenha a p\u00e1gina num canvas criado no documento do leitor (usa as fontes embutidas do PDF) *\/\n  function draw(f, page, targetW) {\n    var base = page.getViewport({ scale: 1 });\n    var w = Math.min(targetW, Math.floor(Math.sqrt(HI_MAX_AREA * base.width \/ base.height)));\n    var vp = page.getViewport({ scale: w \/ base.width });\n    var c = f.contentDocument.createElement('canvas');\n    c.width = Math.round(vp.width); c.height = Math.round(vp.height);\n    var ctx = c.getContext('2d', { alpha: false });\n    ctx.fillStyle = '#fff'; ctx.fillRect(0, 0, c.width, c.height);\n    return page.render({ canvasContext: ctx, viewport: vp }).promise.then(function () {\n      \/* copia para um canvas da p\u00e1gina (mover o elemento entre documentos n\u00e3o \u00e9 fi\u00e1vel em todos os browsers) *\/\n      var out = document.createElement('canvas');\n      out.width = c.width; out.height = c.height;\n      out.setAttribute('role', 'img'); out.setAttribute('aria-label', document.title || 'PDF');\n      out.getContext('2d', { alpha: false }).drawImage(c, 0, 0);\n      c.width = c.height = 0;\n      return out;\n    });\n  }\n\n  function buildMobile(f, app, holder, viewer) {\n    if (f.dataset.dgMobile) return null;\n    f.dataset.dgMobile = '1';\n    var box = document.createElement('div'); box.className = 'dg-pdf-mobile';\n    holder.appendChild(box);\n    var cssW = holder.clientWidth || window.innerWidth;\n    var dpr = Math.min(window.devicePixelRatio || 1, 3);\n    var fastW = Math.round(cssW * dpr);\n    var hiW = Math.min(HI_MAX_W, fastW * 2);\n\n    return app.pdfDocument.getPage(1).then(function (page) {\n      \/* 1) passagem r\u00e1pida *\/\n      return draw(f, page, fastW).then(function (c1) {\n        box.appendChild(c1);\n        var pdfUrl = app.url || app.baseUrl;\n        if (pdfUrl) {\n          var a = document.createElement('a'); a.className = 'dg-pdf-open';\n          a.href = pdfUrl; a.target = '_blank'; a.rel = 'noopener';\n          a.textContent = pt ? 'Abrir PDF original' : 'Open original PDF';\n          box.appendChild(a);\n        }\n        viewer.classList.add('dg-pdf-done'); viewer.classList.remove('dg-pdf-failed');\n        \/* 2) alta resolu\u00e7\u00e3o em segundo plano (para zoom n\u00edtido) *\/\n        if (hiW > fastW * 1.2) {\n          setTimeout(function () {\n            draw(f, page, hiW).then(function (c2) {\n              box.replaceChild(c2, c1);\n              c1.width = c1.height = 0; \/* liberta mem\u00f3ria (limite de canvas do iOS) *\/\n            }).catch(function (e) { console.warn('dg-pdf hi-res', e); });\n          }, 300);\n        }\n      });\n    });\n  }\n\n  function setup(f) {\n    \/* o iframe vem com loading=\"lazy\": escondido no mobile nunca carregaria (era a causa da demora no Safari) *\/\n    if (f.getAttribute('loading') === 'lazy') {\n      f.setAttribute('loading', 'eager');\n      try { if (!f.contentWindow || f.contentWindow.location.href === 'about:blank') f.src = f.getAttribute('src'); } catch (e) {}\n    }\n    var holder = f.parentNode;\n    var viewer = f.closest('.dg-pdf-viewer') || holder;\n    function fail(e) { if (e) console.warn('dg-pdf', e); if (!viewer.classList.contains('dg-pdf-done')) viewer.classList.add('dg-pdf-failed'); }\n    var guard = setTimeout(function () { if (mq.matches) fail(); }, TIMEOUT);\n    var tries = 0;\n    (function tick() {\n      var d, app;\n      try { d = f.contentDocument; app = f.contentWindow && f.contentWindow.PDFViewerApplication; } catch (e) { return fail(e); }\n      hideToolbar(d);\n      if (app && app.pdfDocument) {\n        var go = function () {\n          if (!mq.matches) return;\n          var p = buildMobile(f, app, holder, viewer);\n          if (p) p.then(function () { clearTimeout(guard); }, fail);\n        };\n        go(); mq.addEventListener('change', go);\n        return;\n      }\n      if (tries++ < 400) setTimeout(tick, 50);\n    })();\n  }\n\n  function init() { document.querySelectorAll('.pdfjs-iframe').forEach(setup); }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init); else init();\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":8,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"footnotes":""},"tags":[],"class_list":["post-37796","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.5 (Yoast SEO v24.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Documento - Pine Cliffs Resort<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Documento\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/\" \/>\n<meta property=\"og:site_name\" content=\"Pine Cliffs Resort\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-27T17:29:29+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/\",\"url\":\"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/\",\"name\":\"Documento - Pine Cliffs Resort\",\"isPartOf\":{\"@id\":\"https:\/\/www.pinecliffs.com\/en\/#website\"},\"datePublished\":\"2026-10-23T11:08:17+00:00\",\"dateModified\":\"2026-10-27T17:29:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.pinecliffs.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documento\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.pinecliffs.com\/en\/#website\",\"url\":\"https:\/\/www.pinecliffs.com\/en\/\",\"name\":\"Pine Cliffs Resort\",\"description\":\"Luxury Collection Resort in Algarve, Portugal\",\"publisher\":{\"@id\":\"https:\/\/www.pinecliffs.com\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.pinecliffs.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.pinecliffs.com\/en\/#organization\",\"name\":\"Pine Cliffs Resort\",\"url\":\"https:\/\/www.pinecliffs.com\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.pinecliffs.com\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.pinecliffs.com\/wp-content\/uploads\/2025\/01\/Favicon.png\",\"contentUrl\":\"https:\/\/www.pinecliffs.com\/wp-content\/uploads\/2025\/01\/Favicon.png\",\"width\":270,\"height\":270,\"caption\":\"Pine Cliffs Resort\"},\"image\":{\"@id\":\"https:\/\/www.pinecliffs.com\/en\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Documento - Pine Cliffs Resort","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/","og_locale":"en_US","og_type":"article","og_title":"Documento","og_url":"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/","og_site_name":"Pine Cliffs Resort","article_modified_time":"2026-10-27T17:29:29+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/","url":"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/","name":"Documento - Pine Cliffs Resort","isPartOf":{"@id":"https:\/\/www.pinecliffs.com\/en\/#website"},"datePublished":"2026-10-23T11:08:17+00:00","dateModified":"2026-10-27T17:29:29+00:00","breadcrumb":{"@id":"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.pinecliffs.com\/en\/restaurant-schedules\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.pinecliffs.com\/en\/"},{"@type":"ListItem","position":2,"name":"Documento"}]},{"@type":"WebSite","@id":"https:\/\/www.pinecliffs.com\/en\/#website","url":"https:\/\/www.pinecliffs.com\/en\/","name":"Pine Cliffs Resort","description":"Luxury Collection Resort in Algarve, Portugal","publisher":{"@id":"https:\/\/www.pinecliffs.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.pinecliffs.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.pinecliffs.com\/en\/#organization","name":"Pine Cliffs Resort","url":"https:\/\/www.pinecliffs.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.pinecliffs.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.pinecliffs.com\/wp-content\/uploads\/2025\/01\/Favicon.png","contentUrl":"https:\/\/www.pinecliffs.com\/wp-content\/uploads\/2025\/01\/Favicon.png","width":270,"height":270,"caption":"Pine Cliffs Resort"},"image":{"@id":"https:\/\/www.pinecliffs.com\/en\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.pinecliffs.com\/en\/wp-json\/wp\/v2\/pages\/37796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pinecliffs.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.pinecliffs.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.pinecliffs.com\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pinecliffs.com\/en\/wp-json\/wp\/v2\/comments?post=37796"}],"version-history":[{"count":20,"href":"https:\/\/www.pinecliffs.com\/en\/wp-json\/wp\/v2\/pages\/37796\/revisions"}],"predecessor-version":[{"id":37999,"href":"https:\/\/www.pinecliffs.com\/en\/wp-json\/wp\/v2\/pages\/37796\/revisions\/37999"}],"wp:attachment":[{"href":"https:\/\/www.pinecliffs.com\/en\/wp-json\/wp\/v2\/media?parent=37796"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pinecliffs.com\/en\/wp-json\/wp\/v2\/tags?post=37796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}