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

Desfile de moda "chique" e muito pudico na Arábia Saudita

A princesa saudita e ex-modelo Safia Hussein Guerras, apresentou uma nova coleção de abayas ? roupas largas que escondem a silhueta - Getty Images
A princesa saudita e ex-modelo Safia Hussein Guerras, apresentou uma nova coleção de abayas ? roupas largas que escondem a silhueta Imagem: Getty Images

27/01/2021 09h34

Cobertas da cabeça aos pés por longos vestidos tradicionais, chamados de abayas, as modelos desfilam em torno de uma piscina, por ocasião de um raro desfile na conservadora Arábia Saudita.

A princesa saudita e ex-modelo Safia Hussein Guerras apresentou neste fim de semana em Riade, uma nova coleção de abayas - roupas largas que escondem a silhueta - para um público pequeno mas, pela primeira vez, misto.

Sob abayas enfeitadas com estampas e strass, com cortes mais ou menos justos, uma dezena de modelos, em sua maioria sauditas, se esforçaram para mostrar o charme dessa vestimenta, que garante o pudor público para alguns e é símbolo da opressão das mulheres para outros.

"Queria mudar o estigma em torno da abaya e do véu em todo o mundo", explica a princesa, que desenhou a coleção "Seja elegante", em colaboração com o estilista belga Christophe Beaufays.

"Se eu levar isso a um nível de elegância e aceitação, talvez nossa geração abrace totalmente a abaya", acrescenta.

O uso dessa vestimenta continua sendo obrigatório para as mulheres sauditas neste país, que, buscando suavizar sua imagem a nível internacional, suspendeu essa obrigação para as mulheres estrangeiras em 2019.

Mas as jovens sauditas estão cada vez mais deixando as tradicionais roupas pretas largas no armário para serem cobertas com abayas de cores vivas e cortes mais justos, às vezes até entreabertos. Para alguns, a rebelião vai ainda mais longe e deixaram de usar a abaya.

Mudança de imagem

Desfile de moda na Arábia Saudita, com um público misto, em 23 de janeiro de 2021, em Riad - AFP - AFP
Desfile de moda na Arábia Saudita, com um público misto, em 23 de janeiro de 2021, em Riad
Imagem: AFP

Segundo Christophe Beaufays, que trabalha para uma marca saudita especializada em vestidos masculinos, chamada "thobe", a coleção apresentada em Riade agradará mulheres de diferentes culturas e religiões, que compartilham as mesmas visões sobre "modéstia e elegância".

O desfile, organizado na embaixada da Bélgica na Arábia Saudita, faz parte da vontade do príncipe herdeiro Mohamed bin Salman de mudar a imagem de seu país, considerado conservador e fechado, organizando eventos culturais e esportivos e até shows de música pop durante um comício em Dakar.

Mas esses esforços foram em grande parte prejudicados por uma repressão cada vez maior na Arábia Saudita, que regularmente ocupa a primeira página da imprensa internacional, principalmente após o assassinato de um jornalista crítico ao governo ou a prisão de ativistas dos direitos das mulheres.

O desfile deste fim de semana foi um avanço em relação a tentativas semelhantes anteriores.

Em abril de 2018, os criadores Jean Paul Gaultier e Roberto Cavalli lideraram a apresentação da primeira Semana da Moda na Arábia Saudita, mas o evento aconteceu a portas fechadas, proibido aos homens e às câmeras.

Nesse mesmo ano, em junho, um vídeo de vestidos flutuando no ar, pendurados em drones, durante um desfile em Jidá, cidade às margens do Mar Vermelho, se tornou viral nas redes sociais e foi ridicularizado como um "desfile fantasma".