;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Morando em Portugal, Ewbank e Gagliasso curtem hotel de luxo de R$ 10 mil

Giovanna Ewbank e Bruno Gagliasso com os filhos em hotel 5 estrelas em Portugal - Reprodução/Instagram
Giovanna Ewbank e Bruno Gagliasso com os filhos em hotel 5 estrelas em Portugal Imagem: Reprodução/Instagram

De Nossa

07/07/2021 10h55

Giovanna Ewbank recentemente compartilhou a notícia com seus seguidores no Instagram de que se mudou para Portugal com a família. Na rede social, a atriz compartilhou fotos da estada com os filhos e o marido durante a estada em um hotel de luxo, 5 estrelas, na cidade de Lamego.

"Uma família que ama piquenique", escreveu ela na publicação, em que eles estão aproveitando o tempo livre.

O hotel escolhido por eles se chama Six Senses Douro Valley. Em consulta feita por Nossa no site Booking, as estadas ficam entre R$ 3,8 mil, no quarto mais simples, e podem chegar a R$ 10 mil, na suíte com terraço.

No site oficial, o Six Senses informa ter 60 acomodações, no geral. O design, de acordo com o empreendimento, foi reconhecido o resort com a Melhor Realização em Design, em 2017.

Segundo o "Booking", o hotel, uma mansão do século XIX, fica localizado em uma das colinas com vista para o vale do Douro e do rio Douro, Patrimônio Mundial da UNESCO. Entre os serviços oferecidos pelo local, estão degustações de vinho, com uma grande variedade devido à região, e spas terapêuticos.

Six Senses Douro Valley - Reprodução/Booking - Reprodução/Booking
Six Senses Douro Valley
Imagem: Reprodução/Booking

Vinhos e experiências

Os vinhos, por sinal, são os grandes destaques do Six Senses. A "Biblioteca de Vinhos", como é chamada a área reservada à degustação, conta com sommeliers que orientam os clientes para saborear o catálogo com mais de 750 referências, como destaca o site de reservas.

O preço para essa experiência pode custar até 250 euros, cerca de R$ 1,5 mil.

Já o piquenique, desfrutado pela família Ewbank e Gagliasso, em consulta no site do hotel, custa entre 60 e 90 euros, aproximadamente R$ 370 e R$ 550, respectivamente. O cardápio é feito pelo chef do local e a variedade de preços acontece em consequência da variedade de menus.

Outras experiências oferecidas pelo Six Senses incluem tour pelas aldeias históricas próximas ao local, eio de helicóptero, canoagem no rio Cabrum, rafting, viagens de trem, entre outros.