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

Como Lud e Brunna: elas renovaram os votos e vão te fazer acreditar no amor

Ludmilla e Brunna Gonçalves "casaram de novo" em frente ao mar do Caribe - Reprodução
Ludmilla e Brunna Gonçalves "casaram de novo" em frente ao mar do Caribe Imagem: Reprodução

De Universa

13/06/2021 18h11

Durante uma viagem para Curaçao, no Caribe, a cantora Ludmilla e a mulher, Brunna Gonçalves, participaram de uma celebração para renovar os votos do casamento, no sábado (12). Na praia, de frente para o mar, as duas apareceram em diversas fotos apaixonadas, como sempre, e fazendo a gente acreditar cada vez mais no amor.

Na onda do Dia dos Namorados, elas ainda aproveitaram para fazer uma homenagem àqueles da comunidade LGBT que não podem se assumir. "O amor de vocês não é menor do que o de ninguém, o amor de vocês é igual ao de todo mundo. Vocês ainda vão ser muito felizes, confiem no amor", disseram.

Como Lud e Brunna, outros casais também decidiram comemorar o relacionamento renovando os votos. Relembramos aqui algumas celebrações apaixonadas.

Flávia Alessandra e Otaviano Costa

O casal, que está junto desde 2006, renovou os votos pela terceira vez em um cenário cinematográfico durante uma viagem à Tailândia, em 2018. Mas não é só com celebrações que eles mantêm a chama da paixão, não. Os dois vivem se declarando um para o outro em suas redes sociais.

Claudia Raia e Jarbas Homem de Mello

O casal comemorou um ano de casamento com uma cerimônia na Bahia em dezembro de 2019. "Renovar os votos hoje é um sentimento de que estamos no caminho certo e de que é isso que queremos para toda nossa vida", escreveu Cladia. Mais uma prova de amor dos dois, que parecem ser o par perfeito um do outro.

Simone e Kaká Diniz

Simone, da dupla com Simaria, foi pega de surpresa em uma viagem a Las Vegas, em 2020. O marido, o empresário Kaká Diniz, preparou uma cerimônia para renovar os votos do casamento.

A sertaneja se derreteu pelo marido. "Como é bom ter um parceiro na vida como o Kaká. Pai e marido tão presente, que faz questão de me surpreender a todo instante, amei e, sim, eu aceito me casar novamente com o Kaká", disse na época.

Victoria e David Beckham

Até um dos casais mais badalados do mundo, Victoria e David Beckham, são adeptos das cerimônias de renovação dos votos. Casados desde 1999 e costumam aproveitar os aniversários da data para renovar os votos. Em 2017, a cerimônia foi íntima, para apenas seis pessoas. Na época, ele falou sobre a importância da sua união com Victoria para a emissora BBC. E ainda deu alguns conselhos para quem quer manter a parceria com a pessoa que ama.

"Sempre que aparecem momentos mais difíceis, como conhecemos um ao outro melhor do que ninguém, nós conversamos para resolver", disse.

Cacau Protásio e Janderson Pires

A atriz e o marido celebraram cinco anos de casamento com uma celebração no Rio de janeiro, em julho de 2020. Por causa da pandemia de covid, porém, a cerimônia contou apenas com quatro convidados, pessoas com quem ambos conviviam.

"Meu Deus, muito obrigada por mais cinco anos de amor, cumplicidade, parceria, respeito, delícias em baixo das cobertas", escreveu ele em sua conta no Instagram.