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

'Closet' de Marina Ruy Barbosa tem look de Cannes, calcinha e 'paquita'

Marina Ruy Barbosa já "entregou" outros looks antes de aderiri tendência da calcinha por cima da calça - Reprodução/Instagram
Marina Ruy Barbosa já 'entregou' outros looks antes de aderiri tendência da calcinha por cima da calça Imagem: Reprodução/Instagram

De Splash, em São Paulo

26/10/2021 13h39Atualizada em 26/10/2021 16h44

Marina Ruy Barbosa mostrou que aderiu ao recorte pélvico, em que a calcinha do biquíni fica levemente por fora da calça. A atriz usou o look em um ensaio de uma campanha de grife de sapatos.

Enquanto eu fotografava no meio da rua em São Conrado em plena quarta-feira (de biquíni!), fiquei um pouco tensa com o 'exposed'. Marina Ruy Barbosa

A tendência já inspirou Anitta, Britney Spears, Kendall Jenner, Dua Lipa e uma série de celebridades ao redor do mundo.

Mas não é só nesse look que Marina entregou ao mundo da moda, viu? Relembre alguns episódios em que ela arrasou e ousou no estilo.

Vestido no Festival de Cannes

Marina Ruy Barbosa - Getty Images - Getty Images
Marina Ruy Barbosa no tapete vermelho do filme 'The Piani' em Cannes
Imagem: Getty Images

E a "entrega" dela ao mundo da moda é literal: Marina é dona de uma marca, lançou uma colab com a Schutz e assumiu o posto de diretora de moda de um novo marketplace da Arezzo & Co em dezembro do ano ado.

Em julho deste ano, a atriz desfilpou no tapete vermelho do filme "The Piani" no Festival de Cannes, na França, com um arrojado vestido preto e joias da marca de joias Chopard — e ainda com uma combinação de brincos e anel em esmeraldas e diamantes.

E teve mais!

Marina Ruy Barbosa - Reprodução/Instagram - Reprodução/Instagram
Marina Ruy Barbosa com look Dolce & Gabbana em Cannes
Imagem: Reprodução/Instagram

Um dia antes, ela usou um vestido prateado Dolce & Gabbana e comemorou — afinal, estava em Cannes, né?

Meu primeiro dia em Cannes não poderia ser mais especial. O vestido mais dos sonhos por Dolce & Gabbana. Marina Ruy Barbosa

Despojada e de pijama

Em tempos pandêmicos, Marina pulou Carnaval — mas com a família — e com escolheu um look mais adequado com a situação.

Meu carnaval foi assim, bem responsável em época em que a vacina ainda não acabou com o covid - Pés descalços, mas sem abrir mão da família e do brilho. Marina Ruy Barbosa

Paquita

No ano ado, ao posar com uma espécie de blazer com ombreiras, a atriz brincou que o estilo era parecido com o das paquitas — assistentes de palcos dos programas da apresentadora Xuxa.

Ensaio caseiro

Marina Ruy Barbosa - Reprodução/Instagram - Reprodução/Instagram
Marina Ruy Barbosa
Imagem: Reprodução/Instagram

De casa, ela também escolhe outros looks além do pijama do Carnaval.

Em julho do ano ado, Marina mostrou aos fãs como participaria da festa online da Yves Saint Laurent, que movimentou a internet com a presença de vários famosos na época: vestido com decote preto e um salto alto para combinar.

Sereia

Marina Ruy Barbosa - REPRODUÇÃO/INSTAGRAM - REPRODUÇÃO/INSTAGRAM
Marina Ruy Barbosa em Trancoso, na Bahia
Imagem: REPRODUÇÃO/INSTAGRAM

Quando participou de uma festa em Trancoso, na Bahia, no ano de 2019, Marina usou um look mais praiano e remeteu a uma sereia, com a parte de cima de um biquíni toda metalizada e em formato de flor e uma saia branca.

Coleção de bolsas

MArina Ruy Barbosa - Reprodução/Instagram - Reprodução/Instagram
Closet Marina Ruy Barbosa
Imagem: Reprodução/Instagram

A atriz já mostrou o closet de bolsas grifadas que ela tem — que já foi flagrada com uma feita a palha e da marca Gucci.

No registro, foi possível ver bolsas de grifes como Chanel, Balenciaga, Yves Saint Laurent e outros. O valor? As peças Chanel, em modelo flap Lambskin, podem ser encontradas por aproximadamente R$ 2 mil a modelo mini e até R$ 29 mil a modelo maxi.

Já a bolsa Balenciaga, modelo XXS Top Handle Bag em couro branco, pode custar R$ 12,5 mil.