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

Com guarda-roupa de luxo, Anitta veste marcas gringas em eventos: looks

Anitta vestiu um longo Moschino para cruzar o tapete vermelho do Grammy Latino 2021 - Reprodução/Instagram
Anitta vestiu um longo Moschino para cruzar o tapete vermelho do Grammy Latino 2021 Imagem: Reprodução/Instagram

De Universa

05/12/2021 17h54

É fácil perceber que tudo que Anitta faz, promove ou lança recebe atenção de milhares de pessoas. O poder de influência da cantora tem sido testado frequentemente a cada aparição dela em um tapete vermelho— e, usando marcas internacionais e de alta-costura, a cantora prova que também tem muito a que oferecer quando o assunto é moda.

No Grammy Latino deste ano, Anitta escolheu um vestido preto de veludo da Moschino, com aplicação de pendentes que são icônicos na história da marca. Não foi a única vez que a artista apostou em peças da marca italiana.

A coisa boa é que Anitta não se apega a apenas uma grife. Veja agora uma retrospectiva dos looks escolhidos por ela nas premiações e aparições públicas deste ano.

Looks de Anitta nos tapetes vermelhos

A artista "Made in Honório" voltou a participar de eventos públicos neste ano e, para as produções, escolheu marcas internacionais para vesti-la. Anitta mostrou que, com o que quer que vista, deixa sua marca e representa o Brasil lá fora com muita elegância.

Animal print de Roberto Cavalli

A gente piscou, e Anitta apareceu nesta semana com um vestido "incendiário" da coleção primavera/verão de Roberto Cavalli em um jantar para caridade realizado em Miami (EUA). O modelo tem alças de correntes de ouro e estampa animal print.

Franjas de Romeo Hunte

Não só de vestido se faz uma artista em um tapete vermelho. Desta vez, a cantora vestiu um blazer com uma calça com lado único, com destaque para as franjas que compõem o look.

Colorido por Moschino, de novo

Amiga do diretor criativo da Moschino, Jeremy Scott, a cantora está sempre entregando elegância com roupas da marca. No evento da amFAR, ela optou por um look colorido e combinando com o amigo.

Descrição e beleza por Peter Dundas

O que você usaria para o Met Gala? Anitta compareceu ao evento neste ano com um vestido preto decotado e com uma fenda poderosa para a maior festa mundial do mundo da moda. A produção foi criada por Peter Dundas, o ex-diretor criativo da Cavalli, e complementado com sandálias Alexandre Birman, cravejada em zircônias.

Clássico de Miss Sohee

No VMA deste ano, um vestido feito exclusivamente para ela pela designer sul coreana Sohee Park. Tá bom para você?

Brilho de Dolce & Gabanna

Em evento da revista Sports Illustrated Swimsuit, em julho, Anitta deu o nome com um vestido curto branco e com brilhos da marca italiana.

Estampa em preto e branco de Jean Paul Gaultier

Marcando presença no Heat Latin Music Awards, a artista vestiu Jean Paul Gaultier: vestido de mangas e com comprimento longo, combinado com sandália aberta e argolas marcantes.

Saia vazada de David Koma

No Latin American Music Awards, foi o momento de Anitta surgir de cachos, minibolsa, um top e saia vazada do estilista David Koma, que é da Geórgia e mora em Londres, na Inglaterra.

Uma coisa podemos ter certeza: Anitta gosta das marcas mais famosas (e, possivelmente, elas também a amam!)