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

Xan Ravelli

ANÁLISE

Texto baseado no relato de acontecimentos, mas contextualizado a partir do conhecimento do jornalista sobre o tema; pode incluir interpretações do jornalista sobre os fatos.

Como é amor e sexo às vésperas de completar meus 40 anos

Reprodução/Instagram
Imagem: Reprodução/Instagram

Colunista de Universa

28/02/2021 04h00

Minha história com o amor romântico não começou muito bem - como praticamente todas nós, que crescemos assistindo as donzelas brancas, indefesas contra as forças da paixão dos filmes da Disney. Crescemos ouvindo Vinicius de Moraes e os outros homens brancos da bossa nova cantando que "é impossível ser feliz sozinho", "há sempre uma mulher à sua espera com os olhos cheios de carinho e as mãos cheias de perdão" e outros desserviços que contribuíram para construção de um pensamento errôneo sobre o que o amor romântico deveria ser.

Esse amor que me contempla em individualidade e que me acompanha na vida hoje é bem diferente do que eu idealizava quando criança e do que eu abri mão na adolescência por entender que não era pra mim. Me contentava com migalhas, me colocava de lado, performava sexo a partir do que era excitante aos olhos do outro. Eu nunca fui a protagonista no meu filme romântico ou do meu pornô.

Eu demorei bastante tempo para entender a sexualidade como um conceito fluido, que me permitiu entender e viver minha bissexualidade sem culpa. A gente não precisa limitar os desejos. Importante após essa afirmação pontuar que falo aqui de duas (ou mais) pessoas adultas, conscientes e numa relação consensual - dito isso vale viver seus desejos não se prendendo à caixa que você acreditava pertencer. Talvez essa caixa nem exista e você está se colocando num espaço limitador de tesão.

O erótico não precisa ser limitado ao que excita o outro, muita coisa muda quando esse olhar investigativo a respeito do nosso tesão deixa de ser vendido pra um filme pornô com seus gemidos meticulosamente ensaiados e ângulos perfeitos.

Não é um mergulho simples, mas faz parte de um autoconhecimento erótico poucas vezes proposto - conheço muitas mulheres adultas que se apavoram com essa ideia de deixar os dedos da outra pessoa deslizar lentamente pelo seu corpo nu enquanto você se concentra nas sensações do toque na sua pele. Medo de quê? De prazer? De se entregar ao toque da outra pessoa?

Qual é a foda que você quer hoje? Mais devagar e cheia de sensações? Úmida, com pegada forte, puxão de cabelo, uns tapas na bunda e mordida na nuca? Uma rapidinha só pra aliviar o estresse? Por que não alinhar essa expectativa com parceire?

Nesses meus 30, 30 e poucos e 30 e muitos eu aprendi a falar, a pedir, a sinalizar e acredite, é muito melhor isentar a pessoa que está transando com você dessa obrigação de entender o que você quer, até porque isso dá liberdade pra que a outra pessoa fale também, o que te isenta um trabalho de adivinhação nem sempre preciso e exato.

E um dia a gente aprende a dissociar o tesão, a vontade de transar, do amor, que é essa entrega descompromissada, maravilhosa e que vem em muitas formas, por vezes até mais satisfatórias que o romântico - entre meus amores favoritos estão amor de filho, de mãe e de amigas.

E dá pra gozar sem amor, dá pra ter uma vida sexual saudável sozinha (com sua mão, travesseiro, vibrador), dá pra amar uma pessoa e ter vontade de transar com várias. Dá pra ter boas amigas como único e verdadeiro amor e sair transando com quem quiser por aí.

Me digam aí vocês que já tem 40 anos, ou que já aram dos 40, se é séria essa história de melhor momento para viver o amor e o sexo? Aos 30, minha gratidão, porque foi doce, foi molhado, foi gostoso, foi transformador, foi gigante!