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

Falta de garrafas devido à pandemia faz vinhos envelhecerem mais e mudarem

Vinhos em diferentes vinícolas pelo mundo estão ando tempo demais nos barris - Getty Images
Vinhos em diferentes vinícolas pelo mundo estão ando tempo demais nos barris Imagem: Getty Images

De Nossa

21/10/2021 14h20

Depois de o abastecimento de cerveja nos pubs na Inglaterra ter sido significativamente afetado pela falta de trabalhadores na pandemia, os vinhos agora é que sentem os efeitos da covid-19.

Relatos de falta de vidro e, consequentemente, garrafas para embalar a bebida já foram feitos por diversas vinícolas na Califórnia e na Argentina.

"Nunca amos por uma escassez como esta. No mínimo, minhas operações foram afetadas por ao menos mais seis meses, porque eu não vou conseguir terminar de engarrafar", disse Mariana Onofri, proprietária da vinícola argentina de mesmo nome, à Bloomberg.

Atualmente, ela precisa de mais 6 mil garrafas para finalizar a meta de 30 mil anuais. No entanto, não há matéria-prima suficiente no mercado.

"Há um grande problema agora em obter o vidro, para toda a indústria. Há formas alternativas de embalar, como latas e caixas, mas você não consegue fazer isso de uma hora para outra se está ando dificuldades em conseguir vidro", opinou ainda Stephanie Honig, da vinícola Honig Vineyard & Winery em Rutherford, no vale de Napa, à plataforma de notícias de rádio Audacy.

A maior parte dos produtores aponta como principal responsável pela situação a atual insuficiência de mão de obra não só em fábricas de vidro, mas sobretudo na cadeia de distribuição — comumente feita por motoristas de caminhões — do material, que estaria 45% mais caro em 2021 em relação aos preços de 2019, segundo estimativa do site Business Insider.

A permanência dos vinhos em seus barris preocupa os produtores, pois pode afetar o aroma e paladar da bebida.

"Muito carvalho mexe com o equilíbrio do vinho. Sobrepõe-se aos sabores frutados característicos e o gosto torna-se esmagadoramente amadeirado", esclareceu Phil Long, proprietário da California's Longevity Wines, ao Business Insider.

"O vidro é o principal ingrediente para engarrafar um vinho. Imagine se você tem uma empresa que fabrica biscoitos e não houvesse farinha. O tempo de espera que já foi medido em horas, agora é medido em semanas", reclamou ainda.

Enquanto isso, no Brasil, os principais restaurantes tiveram seus estoques da bebida afetados pelo crescimento da procura do consumidor para beber em casa em meio ao confinamento.

De acordo com a Ideal Consulting, o mercado nacional assistiu a um crescimento de 27,8% no volume comercializado no primeiro semestre de 2020 em relação aos mesmos meses de 2019. Com isso, as casas já procuram alternativas de rótulos mais baratos e de fácil reposição.

Diante de tantas mudanças, qual será o cenário para os enófilos em 2022? Resta aguardar.