;(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();
})();
Clipe de 'Girl From Rio' foi o mais caro de Anitta: 'Orçamento de um filme'
Anitta no clipe de 'Girl From Rio'
Mar + Vin/Divulgação
De Splash, em São Paulo
30/04/2021 10h00
Anitta lança hoje o clipe mais caro de sua carreira. A cantora contou que o vídeo de "Girl From Rio" teve o orçamento de um filme, sem revelar os valores. Voltado para o mercado internacional, o trabalho foi gravado em novembro do ano ado no Piscinão de Ramos, no Rio de Janeiro, e em um estúdio.
Assista ao clipe:
Continua depois da publicidade
Foi o clipe mais caro de todos. Rolou um super barraco umas semanas antes de gravar porque era um orçamento maior do que eu esperava. Dava para fazer um filme.
Para quem já viu a série de Anitta na Netflix, sabe que a patroa é exigente e até grita quando precisa. "Rolou um barraquinho típico meu falando que meu dinheiro não nasce em árvore, que dava para gravar uns cinco clipes com esse dinheiro."
Pai, mãe e irmãos de Anitta participaram do clipe de 'Girl From Rio'
Imagem: Mar + Vin/Divulgação
Ela ainda itiu uma "briga saudável" com o diretor, Giovanni Bianco, também responsável por outros grandes conceitos de sua carreira, como o clipe de "Bang", de 2015. Os dois discordaram em alguns pontos do clipe, mas depois se entenderam. Os momentos tensos devem aparecer no making of.
Giovanni Bianco é reconhecido internacionalmente por seus trabalhos como diretor criativo. Em seu currículo, o brasileiro radicado em Nova York ostenta campanhas para grifes como Miu Miu, Versace, Dolce & Gabbana e parcerias com artistas como Madonna. Ele já assinou capas de álbum e turnês da diva.
Dois "Rios"
O resultado é uma mistura do Rio de Janeiro clássico apresentado ao mundo por Carmem Miranda com seus shows com cenários que reproduziam a cidade, uma ideia que partiu do diretor, misturado com o Rio de Anitta, aquela de Honório Gurgel.
A gente traz o Rio mais conhecido turisticamente, aquele com as imagens da bossa nova, da Carmem Miranda, e também o Rio que tem mais a ver com a minha infância e adolescência.
O clipe se divide entre o Rio de Janeiro antigo, da época de "Garota de Ipanema", música que inspirou "Girl From Rio", e o Rio atual, onde Anitta cresceu. Na primeira parte, a cantora surge elegante em figurinos das décadas de 50 e 60.
O Rio antigo também é retratado no clipe de Anitta
Imagem: Mar + Vin/Divulgação
Continua depois da publicidade
Inspiração em "Ratched"
Os figurinos de época de Anitta em "Girl From Rio" foram inspirados em "Ratched", série de Ryan Murphy para a Netflix, que a cantora estava assistindo na época em que gravou o clipe. A peruca ruiva imita o cabelo de Mildred Ratched, personagem de Sarah Paulson.
Sarah Paulson em 'Ratched'
Imagem: Divulgação
Ode aos corpos
No Rio atual, Anitta foi para o Piscinão de Ramos e fez questão de mostrar todo tipo de beleza brasileira. Como diz a própria letra da música (em inglês): "as garotas de onde ela vem não são apenas modelos magérrimas, mas também mulheres cheias de curvas e com marquinha de bronze".
Anitta no clipe de 'Girl From Rio'
Imagem: Mar + Vin/Divulgação
Hoje tem muito mais essa questão do empoderamento de todos os tipos de corpos. De ter todas as belezas valorizadas. Não tem mais estereótipo e isso é uma grande conquista.
Continua depois da publicidade
Busão viral
O ônibus que ilustra a capa do single nem está tão presente assim no clipe, mas deu o tom da divulgação. Quando Anitta postou a capa de seu single, não demorou para que os brasileiros fizessem suas próprias versões de "Girl From Rio". Até o prefeito Eduardo Paes entrou na brincadeira.
A gente fez duas fotos no ônibus e virou um grande acontecimento, a galera fazendo meme. Foi super natural, a gente nem esperava. Até aqui [EUA] o pessoal está comentando isso.
Voltando à atmosfera clássica do clipe, Anitta faz ainda hoje uma festa no bar do hotel The Goodtime, em Miami, que pertence ao empresário e amigo dela Dave Grutman e ao cantor e músico Pharrell Williams, com quem ela também já trabalhou. Segundo Anitta, o local tem tudo a ver com "Girl From Rio".
Continua depois da publicidade
A locação é perfeita, parece que foi feito para o clipe. O lançamento será lá com uma mostra de fotos. Tem muito a ver com a parte dos anos 50.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.