;(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

Hotel de luxo de 'Casamento às Cegas' fica no coração da Amazônia; conheça

O Mirante do Gavião, na Amazônia, tem cabanas luxuosas com mirantes para observação da fauna - Divulgação
O Mirante do Gavião, na Amazônia, tem cabanas luxuosas com mirantes para observação da fauna
Imagem: Divulgação

De Nossa

05/01/2023 04h00

A segunda temporada de "Casamento às Cegas", reality que une casais e oferece uma espécie de lua de mel apresentado por Camila Queiroz e Klebber Toledo, estreou na Netflix em uma nova locação paradisíaca: um hotel imerso no meio da floresta amazônica.

Filmada nas dependências do luxuoso Mirante do Gavião Amazon Lodge, em Novo Airão, no estado do Amazonas, a produção oferece um aperitivo do que turistas encontram no local, em um complexo que parece uma gigante, moderna e ambiciosa casa da árvore.

Uma das inspirações tanto para a arquitetura do local quanto para as atividades oferecidas no hotel é a prática de observação da natureza tão comum na região. Por isso, a propriedade tem mirantes em seus pontos mais altos — ideais para a observação do gavião-real, maior ave de rapina do Brasil que batizou o complexo — a cerca de 15 metros de altura.

De lá, é possível irar o pôr do sol no Rio Negro e as ilhas do Arquipélago de Anavilhanas, além de espécies da flora e da fauna típicas da Amazônia.

Inicialmente concebido em 2014 para atender aos viajantes que participavam das expedições Katerre, o hotel tem projeto arquitetônico assinado pelo Atelier O'Reilly inspirado pelas formas e contornos de um barco. Deques ainda imitam palafitas, referenciando as técnicas de construções e sabedorias amazônicas, com o objetivo de minimizar o impacto à natureza.

O Mirante do Gavião conta com 12 acomodações no total, subdividas em três tipos: "Lux" ou "Luxo", "" e a autoexplicativa "Casa na Árvore". Conheça-as:

Acomodação 'Luxo'

Para até três pessoas, possui varanda com rede. As suítes têm cama king size, ar condicionado, minibar, ducha em conceito aberto e podem ganhar uma cama extra, sob demanda.

Casa na Árvore

As casas são, na verdade, "apês" na árvore que acomodam até duas pessoas em cama queen size, com ar condicionado, minibar, terraço e mirante privativo. Intimista.

Acomodação ''

Maiores suítes da casa, elas possuem também cama king size, ducha de conceito aberto com ofurô, ar condicionado, minibar, varandas com rede e podem comportar até duas camas extras.

O restante do "lodge"

Já as áreas comuns incluem sala de estar, espaço 'wellness', sala de jogos, redário, piscina e lounge, além dos mirantes, é claro.

O seu restaurante Camu-Camu, que leva a da chef Debora Shornik, também têm identidade única e apresenta aos visitantes sabores típicos da gastronomia local. Entre as delícias da casa estão pirarucu fresco confitado com feijão de praia, surubim ao creme de castanha e pato no tucupi.

Para se hospedar no Mirante do Gavião, é preciso desembolsar ao menos R$ 1.850 ao dia, na acomodação mais econômica — Casa na Árvore — por pessoa ou R$ 1.620 por casal. Na alta temporada ou em espaços mais aparelhados, estes valores podem ficar mais caros.

Além disso, a casa oferece pacotes com experiências, em que se paga valores fechados por um número de dias. Para conferir as possibilidades e solicitar orçamentos, é só consultar o site do Mirante do Gavião.