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

Rafael Reis

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Como zagueiro da Dinamarca na Euro virou símbolo de luta contra homofobia

Zanka lidera movimento pela inclusão sexual no mundo do futebol - Getty Images
Zanka lidera movimento pela inclusão sexual no mundo do futebol Imagem: Getty Images

21/06/2021 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

O zagueiro Mathias Jörgensen não está entre os jogadores mais importantes da seleção da Dinamarca que disputa a Eurocopa e, nas duas primeiras rodadas da competição, não saiu do banco de reservas.

Mas o defensor da equipe nórdica, que encerra sua participação na primeira fase do continental às 16h (de Brasília) de hoje, contra a Rússia, no Parken Stadium, em Copenhague, desempenha um importante papel social fora das quatro linhas.

Zanka, como é mais conhecido no mundo do futebol, é uma espécie de embaixador informal da causa LGBTQIA+ na modalidade e lidera várias campanhas de combate à homofobia nos gramados, nas arquibancadas e também na sociedade em geral.

"Acredito que o futebol precisa ser para todos e sou contra qualquer forma de discriminação. Simples assim. A comunidade LGBTQIA+ é uma parte importante da comunidade. Então, precisa ser uma parte importante do futebol também", disse o jogador, em 2017, ao site do Huddersfield Town, seu clube na época.

O envolvimento do atleta, que é contratado do Fenerbahce e defendeu o Copenhague na última temporada, com a causa começou um ano antes. Em 2016, o zagueiro enviou uma carta à Associação dos Jogadores de Futebol da Dinamarca cobrando que a entidade fosse mais ativa no combate à discriminação sexual.

De acordo com o defensor, que é negro e filho de mãe gambiana, a entidade tinha várias iniciativas contra o racismo, mas quase nada fazia para combater as ofensas homofóbicas recorrentes nos estádios e incluir o público homo e bissexual no ambiente do futebol.

Depois do puxão de orelhas dado por Zanka, muita coisa mudou. Incentivada pelo jogador, a seleção dinamarquesa ou a participar de inúmeras campanhas em favor da causa LGBTQIA+ e seus principais astros também começaram a se posicionar sobre o tema.

Jörgensen, o líder do movimento, faz frequentes doações para ONGs que trabalham com a inclusão sexual e continua sendo uma voz bastante ativa sobre o tema.

O zagueiro dinamarquês, no entanto, não é o único jogador da Eurocopa que milita pelo fim da homofobia no futebol. O goleiro alemão Manuel Neuer tem usado no torneio a bandeira do movimento LGBTQIA+ como braçadeira de capitão.

Ao longo da história, a torneio que reúne as melhores seleções do Velho Continente já teve pelo menos um jogador homossexual que a disputou. Thomas Hitzlsperger, meio-campista da Alemanha vice-campeã em 2008, tornou pública sua orientação sexual sete anos atrás, alguns meses depois de anunciar sua aposentadoria dos gramados.

Com duas derrotas nas duas primeiras rodadas do torneio, os dinamarqueses precisam necessariamente de uma vitória sobre os russos para sobreviverem e avançarem à próxima fase.

As partidas de hoje vão definir a classificação final dos grupos B (Bélgica, Rússia, Finlândia e Dinamarca) e C (Holanda, Ucrânia, Áustria e Macedônia do Norte). A primeira fase da competição vai até quarta-feira. E os playoffs decisivos começam no próximo sábado.

O sucessor de Portugal no posto de campeão europeu de seleções será conhecido no dia 11 de julho. O estádio de Wembley, em Londres (Inglaterra), receberá a decisão.

Originalmente, o torneio era para ter sido disputado no meio do ano ado. No entanto, a pandemia da covid-19 fez com que ele fosse adiado em 12 meses.

A novidade desta edição é que não há uma sede fixa. Para comemorar os 60 anos do continental, a Uefa decidiu realizar a competição em 11 cidades espalhadas por 11 países diferentes (alguns que nem classificaram suas seleções).

Além da Inglaterra, sede da última partida, a Euro-2020 (sim, ela manteve esse nome mesmo com o adiamento da data) também ará por Itália, Azerbaijão, Dinamarca, Alemanha, Escócia, Espanha, Hungria, Holanda, Romênia e Rússia.