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

Met Gala 2021

O retorno do evento, considerado a maior vitrine de moda, é lembrete extravagante do mundo antes da pandemia

Gustavo Frank De Nossa Getty Images

"Na América: Um Léxico da Moda"

O tema deste ano do Met Gala foi: "Na América: Um Léxico da Moda", com o intuito de celebrar a moda norte-americana. Os movimentos políticos e sociais foram alguns dos motivos pelos quais Andrew Bolton, responsável pela curadoria exposta no Metropolitan Museum of Art, e a colaboradora Wendy Yu, escolheram tratar desse assunto a partir de três perspectivas: a diversidade, inclusão e sustentabilidade.

Os anfitriões escolhidos foram quatro jovens que fazem parte dessa "revolução": o ator Timothée Chalamet, a cantora Billie Eilish, a jogadora de tênis Naomi Osaka, e a poeta Amanda Gorman.

Em versão reduzida, em consequência da pandemia do coronavírus, a extravagância, pela qual o Met Gala é conhecido, não ficou de fora. Ainda além, serviu como um lembrete saudosista do que sentimos falta há quase dois anos.

E engana-se quem acha que a moda não pode exercer esse papel.

Getty Images
Getty Images

O lúdico

Uma das maiores expectativas de quem assiste ao red carpet do Met Gala são os looks mais criativos. Quando a roupa vai além da estética e desafia as mais diversas interpretações de quem a veste e, sobretudo, de quem a ira.

A artista Lorde foi uma dos convidados a entrar nesse universo. Com um vestido da Bode, a cantora de "Solar Power" parece ter levado o trecho da música em que diz ser "uma espécie de Jesus mais bonito" com um look leve e coberto por pedrarias. O destaque, de fato, estava em sua cabeça: uma tiara pronta para ser usada em um ritual a favor do sol.

Já Kim Kardashian, estava totalmente vestida de Balenciaga — literalmente, escondeu todo o corpo e o rosto. Se escondia enquanto posava para os fotógrafos.

A revelação ficou por conta de Lil Nas X. O rapper transformou um look em três: de uma manta quase medieval, ando por uma armadura dourada, e revelando, por fim, um body todo em brilhante. Tudo na conta da Versace.

A youtuber Nikkie de Jagger parecia ter saído do filme "Midsommar", com flores em todo o corpo, incluindo uma coroa entrelaçada ao seu cabelo. O que, na verdade, era uma homenagem a Marsha P Johnson, ativista do movimento LGBTQIA+.

Grimes, por sua vez, carregava sua espada pelo red carpet junto a uma das peças ilusórias de Iris Van Herpen.

E a fantasia de Kim Petras deu continuidade à anrrativa, ao desfilar fantasiada de de cavalo por Collina Strada.

Kim Kardashian

Getty Images Getty Images

Lil Nas X

Getty Images Getty Images

Nikkie de Jager

Getty Images Getty Images

Grimes

Getty Images Getty Images

Kim Petras

Getty Images Getty Images
Reprodução/Instagram/@alicia_shi e @f2max

A sensualidade

Muito tempo dentro de casa pode ter feito de nós demasiadamente confortáveis. Nas mais recentes coleções, a sensualidade já aparece como uma tendência para o que iremos vestir, e o Met Gala pode nos comprovar.

A começar pela nossa "Girl From Rio" Anitta. A cantora foi uma das representantes do Brasil e apostou na fenda e nos recortes laterais com um vestido de Peter Dundas. O ex-diretor criativo da Cavalli vestiu também a atriz Megan Fox com um vestido vermelho que explorava abordagens semelhantes.

A transparência apareceu nos looks de Zoë Kravitz, usando uma peça da Saint Laurent, e de Kendall Jenner, que usava Givenchy.

Enquanto isso, Jordan Alexander incorporava o busto de uma lingerie para o seu vestido Christopher John Rogers.

Megan Fox

Getty Images Getty Images

Zoë Kravitz

Getty Images Getty Images

Kendall Jenner

Getty Images Getty Images

Jordan Alexander

Getty Images Getty Images
Getty Images

O sofisticado

Há quem diga que o romance é uma das apostas para a moda no pós-pandemia, como uma fuga dos tempos sombrios vividos durante a pandemia do coronavírus. O que já aconteceu no pós-guerra. Concretizando tal pensamento, os vestidos e roupas mais elaborados e sofisticados se fazem presentes.

Billie Eilish, uma das anfitriãs do Met Gala 2021, parecia flutuar no red carpet com seu Oscar de La Renta.

Enquanto a estrela de "Euphoria", Barbie Ferreira, perpetuou essa mesma estética omântica com um Jonathan Simkhai coberto por pérolas, Jennifer Hudson ajudou a preencher o Metropolitan Museum of Art com peças avolumadas ao desfilar o vestido AZ Factory.

Na moda masculina, Timothée Chalamet mostrou que o elegante também pode ser mais jovial, ao misturar peças Haider Ackermann, Rick Owens e da Converse, sendo essa última para os pés.

Por fim, o grande encerramento fica com a grande estrela da noite: Rihanna. A cantora levou uma peça apresentada pela Balenciaga, em sua mais recente coleção de alta-costura, ao Met Gala. Afinal, só ela pode tornar um "cobertor" tão glamoroso.

Barbie Ferreira

Getty Images Getty Images

Jennifer Hudson

Getty Images Getty Images

Timothée Chalamet

Getty Images Getty Images

Rihanna

John Shearer/WireImage John Shearer/WireImage
Topo