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

Palmeiras

Palmeiras e Puma anunciam acordo inédito para 23 atletas do time feminino

Do UOL, em São Paulo

08/09/2020 10h51

Palmeiras e Puma anunciaram hoje (8) um acordo da fornecedora de material esportivo com 23 jogadoras do time de futebol feminino do clube. A empresa irá patrocinar as atletas, desde o uso de chuteiras e órios da Puma, à participação em ações e posicionamentos da parceira. O acerto é considerado inédito pelas partes.

"O Palmeiras só tem a agradecer por essa parceria inédita com a Puma. O patrocínio vem para exaltar a modalidade, reconhecer o valor das meninas e agregar ainda mais ao nosso projeto de futebol feminino, que busca ser vencedor e referência, mas que também não mede esforços para oferecer a melhor estrutura para as jogadoras. É uma grande marca acreditando em um grande clube, por isso temos certeza de que esse é o início de uma parceria de sucesso", disse o diretor executivo de futebol feminino do Palmeiras, Alberto Simão, ao site do clube.

"Entendemos que através desse incentivo pioneiro no mundo, a Puma, em parceria com o Palmeiras, agrega valor à modalidade no Brasil, abrindo diversas possibilidades para as atletas ao mesmo tempo que oferece condições para desenvolverem o trabalho. Há muitos anos a marca patrocina grandes nomes do futebol feminino, mas com este projeto queremos também uma mudança maior, estrutural, para que tenhamos um futebol feminino cada vez mais forte", disse Fabio Kadow, diretor de marketing da Puma Brasil.

A proposta foi oferecida para as 27 atletas do elenco do Palmeiras, mas quatro recusaram, por já terem vínculo com outras marcas. As jogadoras que acertaram são: as goleiras Vivi, Karen e Jully; as zagueiras Janaína, Samara, Stella e Thaís; as laterais Isabella e Vitória; as meio-campistas Ary, Bia, Carla Nunes, Dóroty, Juliana ari, Karla Alves, Maressa, Nicoly e Tefy; e as atacantes Bianca, Livyan, Lurdinha, Mônica e Ottilia.

O contrato a a valer nesta quarta (9), quando a equipe feminina do Palmeiras enfrenta o Minas/Iceesp, pelo Campeonato Brasileiro. Fornecedora de material esportivo do Palmeiras desde 2019, a Puma começou neste ano a desenvolver uma linha de uniformes exclusiva para as Palestrinas, para jogo, treino e viagens.

Palmeiras