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

Boca Rosa, Manu Gavassi: looks e makes inspiradores das famosas do BBB

Bianca Andrade, conhecida como Boca Rosa - Divulgação/TV Globo
Bianca Andrade, conhecida como Boca Rosa Imagem: Divulgação/TV Globo

De Universa

19/01/2020 11h14

Nesta edição do Big Brother, a seleção de participantes mistura pessoas anônimas e influenciadores e artistas já conhecidos pelo público. As influenciadoras Bianca Andrade (Boca Rosa), Mari Gonzalez e Rafa Kalimann, além da cantora e atriz Manu Gavassi, estarão dentro da casa— e quem as segue nas redes sociais sabe que poderemos esperar muitas referências de moda e beleza dessas participantes do reality.

Saiba mais sobre o estilo de cada uma.

Influenciadoras no BBB 20

Rafa Kalimann

Com mais de 3 milhões de seguidores no Instagram, Rafa Kalimann publica com frequência seus looks— biquínis neon, uma das escolhas das famosas para o verão 2020, vestidos monocromáticos e brilho, em peças únicas ou destacado em uma blusinha fazem parte das escolhas da influenciadora.

Além de seu trabalho nas redes sociais, Rafa se tornou Embaixadora da ONG Missão África e madrinha do Hospital de Câncer de Goiás e Comunidade JK Goiânia.

Veja mais de seu estilo:

Total neon

Vestido de festa

Brilho em cropped e calça

Nude com ório

Manu Gavassi

A atriz e cantora tem os cabelos curtos como uma marca de seu estilo: os fios no corte chanel, ora com franjinha, ora sem, moldam seu rosto. Maquiagem colorida, "batonzão" vermelho e olhos delineados são alguns dos detalhes compartilhados pela artista com os seus mais de 4 milhões de seguidores.

Manu Gavassi, muitas vezes, é comparada com a também cantora Dua Lipa. A brincadeira na internet do "quem é quem" também é feita com a atriz Bruna Marquezine, que é sua amiga.

Inspire-se:

Batom vermelho

Brincos grandes em destaque

Maquiagem neon

Mari Gonzalez

A influenciadora com mais de 3 milhões de seguidores no Instagram é musa fitness. Além desse tipo de conteúdo, ela também compartilha alguns looks. E é só dar uma olhadinha rápida na sua rede social para perceber que roupas que deixam os ombros de fora além, é claro, de biquínis, são as mais usadas por ela. Referências:

Vestido florido com ombros de fora

Blusa com lacinhos laterais e saia

Top de um ombro só

Tomara que caia de veludo

Bianca Andrade (Boca Rosa)

Uma boa morena a casa torna @bocarosahair #BiaDeFases

Uma publicação compartilhada por Boca Rosa (@biancaandradeoficial) em

São 8 milhões de pessoas acompanhando viagens, dicas de maquiagem e momentos da vida da youtuber Bianca Andrade, a Boca Rosa. O nome é referência à escolha da cor do batom que Bianca costumava a usar no início de sua carreira na internet. Hoje, ela tem até uma linha de maquiagem— e, com isso, virou também uma empresária do ramo da beleza.

Suas tatuagens, as mudanças de cabelo e o "olhão" que ensina a fazer em tutoriais fazem parte do conteúdo que divide com os seguidores.

Veja:

Sombra rosa e esfumada

Look monocromático com body de renda

A boca rosa

Tatuagens em várias partes do corpo