CINXE.COM
Overtuig me | VPRO Publieksservice
<!DOCTYPE html> <html lang="nl"> <head> <meta charset="utf-8"> <link rel="icon" type="image/png" href="/application/views/front-end//assets/img/breinvoer-2024/img/favicon.ico"> <meta name="viewport" content="width=device-width"> <title>Overtuig me | VPRO Publieksservice</title> <script type="text/javascript"> var site_url = 'https://steun.vpro.nl/'; var iframe_mode = 0; var csrf_name = 'ci_csrf_token'; var csrf_hash = ''; </script> <link rel="stylesheet" href="/application/views/front-end/assets/css/breinvoer-2024/font-awesome.min.css"> <link rel="stylesheet" type="text/css" href="/application/views/front-end/assets/css/breinvoer-2024/font1.css" media="screen, projection, print"> <link rel="stylesheet" type="text/css" href="/application/views/front-end/assets/css/breinvoer-2024/font2.css" media="screen, projection, print"> <link rel="stylesheet" type="text/css" href="/application/views/front-end/assets/css/breinvoer-2024/iconfont.css" media="screen, projection, print"> <link href="https://steun.vpro.nl/application/views/front-end/assets/css/nieuw-responsive/bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://steun.vpro.nl/application/views/core-assets/css/form_backbone.css" rel="stylesheet" type="text/css" /> <link href="https://steun.vpro.nl/application/views/front-end/assets/css/nieuw-responsive/media.css" rel="stylesheet" type="text/css" /> <link href="https://steun.vpro.nl/application/views/front-end/assets/css/breinvoer-2024/style.css" rel="stylesheet" type="text/css" /> <link href="https://steun.vpro.nl/application/views/front-end/assets/css/breinvoer-2024/form_style.css" rel="stylesheet" type="text/css" /> <link rel="preload" as="image" href="/application/views/front-end//assets/img/breinvoer-2024/img/human-mobile.webp" imagesrcset="/application/views/front-end//assets/img/breinvoer-2024/img/human-mobile.webp 640w, /application/views/front-end//assets/img/breinvoer-2024/img/human.webp" imagesizes="(max-width: 640px) 320px, 100vw"> <link rel="stylesheet" href="/application/views/front-end//assets/img/breinvoer-2024/_astro/aanmelden.SDNnmKhL.css"> <style>.sticker[data-astro-cid-i7abjob7]{border-radius:9999px;display:grid;height:100px;place-content:center;width:100px;--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));font-size:1rem;font-weight:700;line-height:1;padding-top:.75rem;text-align:center;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}@media (min-width:740px){.sticker[data-astro-cid-i7abjob7]{height:116px;width:116px}} .modal[data-astro-cid-aqi4fmzo]{font-family:vesta,Helvetica,Arial,sans-serif;min-height:100%;min-width:100%}.modal[data-astro-cid-aqi4fmzo]::backdrop{background-color:rgb(0 0 0/var(--tw-bg-opacity));--tw-bg-opacity:.4;--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}@media (min-width:480px){.modal[data-astro-cid-aqi4fmzo]{min-height:auto;min-width:auto}}.modal[data-astro-cid-aqi4fmzo].is-video{background-color:transparent;min-height:auto;min-width:auto;overflow:visible} </style> <style> body {color: color: rgb(255 255 255/var(--tw-text-opacity)) !important;} .font-vest-alt{font-size: 1rem !important} #form { color: #fff;} #form .content form p { color: #fff;} .title { color: #fff;} aside h2 { color: #fff;} #tab-container-payment-nav a, #tab-container-nav a { color: #fff; } .radio-group input[type="radio"] + span, .radio-group input[type="checkbox"] + span { color: black; } .text-dark {--tw-text-opacity: 1;color: rgb(0 0 0/var(--tw-text-opacity)) !important;} .text-2xl {font-size: 1.3rem !important;text-decoration: none !important; color: #fff !important;} aside {background-color: !important;} </style> <script type="module" src="/application/views/front-end//assets/img/breinvoer-2024/_astro/hoisted.BKh3tth6.js"></script> <script type="text/javascript"> var site_url = 'https://steun.vpro.nl/'; var iframe_mode = 0; var csrf_name = 'ci_csrf_token'; var csrf_hash = ''; </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NHS26LG');</script> <!-- End Google Tag Manager --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NHS26LG" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <script src="https://ccm.npo.nl/sites/VPRO/vpro.nl/ccm-wrapper_v1.1.js" crossOrigin="anonymous" defer> (function(){const organisation = "VPRO"; const site = "vpro.nl"; const ccmWrapperVersion = "v1.1"; const ccmDomain = "https://ccm.npo.nl"; })();</script> <script> window.addEventListener( "CCM_Wrapper_ready", () => { ccmWrapper.init(); }, false, ); </script> </head> <body> <div class="fixed top-0 inset-x-0 w-full h-screen bg-dark"></div> <header class="absolute md:fixed top-0 left-1/2 -translate-x-1/2 md:translate-x-0 md:left-0 z-navigation"> <div class="container pt-8 md:pt-12 lg:pt-20"> <a class="block w-32 lg:w-[200px]" href="https://steun.vpro.nl/breinvoer-alg-vpro"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 708.007 215.102"> <path d="M0,3.6H59.701l15.9,54.301c1.8,6.6,4.5,16.5,6,26.1,1.5-9.6,4.2-19.5,6-26.1L103.501,3.6H237.602c6.6-2.4,14.1-3.6,22.2-3.6,8.7,0,17.1,1.2,24.6,3.6h137.401c6.3-2.4,13.5-3.6,21.6-3.6,8.7,0,17.1,1.2,24.6,3.6h52.201c8.1-2.4,17.1-3.6,27-3.6s18.9,1.2,27,3.6h125.101c5.7,0,8.7,2.4,8.7,6.6,0,3-1.8,5.7-5.4,7.5l-74.101,36.9c3.6,9.9,5.4,20.1,5.4,30,0,39.6-27.9,84.601-86.701,84.601-35.1,0-59.401-16.2-72.901-37.5l-67.801,33.9h-58.801V45.6l-13.5,6.9c3,9.3,4.8,19.5,4.8,30.6,0,39.3-22.5,86.101-79.201,86.101-16.2,0-28.8-4.5-37.2-12v57.901h-58.801v-77.401l-56.101,27.9H54.901L0,3.6ZM102.601,158.702L153.302,10.5h-44.4l-27,92.401h-.6L54.301,10.5H9.9L60.001,158.702h42.6Zm8.4-2.4l52.801-26.4V10.5h-3l-49.801,145.801Zm104.401,51.901v-66.001h.6c6.6,9.6,20.7,20.1,43.8,20.1,52.201,0,72.001-43.5,72.001-79.201,0-43.8-29.7-76.201-72.001-76.201-22.5,0-38.1,10.2-46.5,22.2h-.6V10.5h-41.7V208.202h44.4Zm-.3-123.601c0-18.9,12.9-36.3,35.7-36.3s35.7,17.4,35.7,36.3c0,20.1-14.1,36.3-35.7,36.3s-35.7-16.2-35.7-36.3Zm116.401-38.7l16.2-8.1V10.5h-47.401c13.8,8.1,24.6,20.4,31.2,35.4Zm67.801,112.801V84.901c0-21.9,15.6-34.8,34.2-34.8,5.7,0,11.4,1.5,16.2,4.2l15.9-44.1c-6.6-2.1-14.1-3.3-22.2-3.3-22.5,0-38.4,11.7-46.201,24.3h-.6V10.5h-41.7V158.702h44.401Zm7.2-.9l64.201-32.1c-6.9-12.9-10.2-27.3-10.2-41.1,0-27.9,13.8-58.501,42.6-74.101h-30l-19.2,53.101c-6-4.2-13.2-6.6-20.4-6.6-15,0-27,10.5-27,27.9v72.901Zm220.202-73.201c0-36.3-25.5-77.701-79.501-77.701s-79.501,41.4-79.501,77.701,25.5,77.701,79.501,77.701,79.501-41.4,79.501-77.701Zm-113.701,0c0-21,15.6-36,34.2-36s34.2,15,34.2,36c0,20.7-15.6,35.7-34.2,35.7s-34.2-15-34.2-35.7Zm113.101-36.3l75.301-37.8h-110.101c16.2,8.7,27.9,22.5,34.8,37.8Z"></path> </svg> </a> </div> </header> <div class="relative overflow-hidden"> <div class="bg a a-fi" data-astro-cid-nnwgoarq></div> <div class="full z-raised pointer-events-none hidden md:block"> <div data-blob> <img src="/application/views/front-end//assets/img/breinvoer-2024/img/blob-1.png" alt="" class="absolute top-[10%] left-[10%]" data-delayed-scroll> </div> <div data-blob> <img src="/application/views/front-end//assets/img/breinvoer-2024/img/blob-2.png" alt="" class="absolute top-[30%] right-[10%]" data-delayed-scroll> </div> <div data-blob> <img src="/application/views/front-end//assets/img/breinvoer-2024/img/blob-3.png" alt="" class="absolute top-[34%] right-[16%]" data-delayed-scroll="2"> </div> <div data-blob> <img src="/application/views/front-end//assets/img/breinvoer-2024/img/blob-4.png" alt="" class="absolute top-[60%] left-[16%]" data-delayed-scroll> </div> <div data-blob> <img src="/application/views/front-end//assets/img/breinvoer-2024/img/blob-1.png" alt="" class="absolute top-[67%] right-[20%]" data-delayed-scroll> </div> </div> <div class="relative"> <div class="fixed right-[8%] -top-8 hidden md:block a a-fi a-del-3 z-navigation"> <a href="https://steun.vpro.nl/breinvoer-alg-vpro/aanmelden?extra_donatie=1" class="bg-brand rounded-full w-[116px] h-[116px] grid place-content-center text-center text-2xl font-bold pt-3"> word lid </a> </div> <section class="section"> <div class="container container--narrow"> <div class="text-center grid justify-items-center mt-28 md:mt-36"> <div class="a a-fi-t rotate-12"> <h1 class="heading-outline max-w-[14ch]"> meer <span class="text-cta">breinvoer</span> met jouw bijdrage </h1> </div> <p class="mt-16 md:mt-32 paragraph font-vesta max-w-[80ch] a a-fi-up a-del-2"> Geen nattevingerjournalistiek, kortzichtige analyses of populistisch fakenews, maar onderbouwde verhalen die aanzetten tot nadenken: dát is breinvoer. Met jouw steun kunnen we eigenzinnige verhalen blijven maken. Ook nu Den Haag fors op de publieke omroep gaat bezuinigen. De wereld kan immers wel wat perspectief, nuancering en soms gewoon wat lol gebruiken. VPRO breinvoer, relevanter dan ooit. </p> </div> </div> </section> <div class="section pt-4 a a-fi-up a-del-3"> <div class="container container--narrow"> <div class="text-center grid justify-items-center" data-reveal data-reveal-trigger="0px 0px -5%"> <div class="flex justify-between"> <img src="/application/views/front-end//assets/img/breinvoer-2024/img/quote.svg" alt="" class="rotate-180 self-start w-6 md:w-auto"> <blockquote class="paragraph font-vesta max-w-[72ch] py-4"> <span class="text-cta">Nicolaas Veul:</span> ‘Mijn film <i>De klimaatverkenner</i> was een avontuur waar we 84 duizend euro extra voor nodig hadden. Ik wilde de gevolgen van de klimaatcrisis voelbaar maken door in Noorwegen te gaan vragen of we daar welkom zijn als bij ons de zee binnenkomt. Steun van onze leden maakte dat mogelijk. </blockquote> <img src="/application/views/front-end//assets/img/breinvoer-2024/img/quote.svg" alt="" class="self-end w-6 md:w-auto"> </div> </div> <div id="mailing" class="block relative -top-16 invisible"></div> <figure class="mt-8 md:mt-16" data-reveal data-reveal-trigger> <div class="relative"> <video preload="auto" muted loop playsinline class="w-full" autoplay controls data-mailing-video> <source src="https://player.vimeo.com/progressive_redirect/playback/869107580/rendition/1080p/file.mp4?loc=external&signature=9c7f1f4415b646a70c5a3674d48208c6293768c8db0d7012f1b064c01d4d4e2a" type="video/mp4"> </video> <div class="bg-brand-light hidden a a-fi-scale md:absolute md:inset-0" style="animation-duration: 300ms;" data-mailing-modal> <button class="absolute p-4 focus:outline-none text-dark" data-btn-close="mailing"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_425_2495)"> <path d="M0 18.8906L7.26563 11.625L0 4.35937L4.35938 0L11.625 7.26562L18.8906 0L23.25 4.35937L15.9844 11.625L23.25 18.8906L18.8906 23.25L11.625 15.9844L4.35938 23.25L0 18.8906Z"></path> </g> </svg> <span class="sr-only">Sluit nieuwsbrief formulier</span> </button> <div class="grid w-full h-full place-content-center px-4 py-6"> <p class="submsg"></p> <!-- Form content here --> <div class="newsletter_form_wrapper"> <h3 class="font-bold text-dark text-2xl text-left">Mijn gegevens</h3> <form action="" class="space-y-4 max-w-sm mt-4 frm_breinvoer_newsletter"> <input type="text" class="input naam" placeholder="Naam (optioneel)"> <input type="email" class="input required email" placeholder="E-mail adres*"> <input type="hidden" class="newslettermode" value="NB_BREINVOER_NIEUWSBRIEF" /> <button class="btn bg-dark py-3 w-full breinvoer_newsletter_submit">schrijf je in</button> </form> </div> </div> </div> </div> <figcaption class="mt-4 text-center md:text-right font-vesta text-sm md:text-base"> Meer breinvoer in je mailbox? <button class="underline underline-offset-2 text-cta" data-mailing-btn> Meld je hier aan </button>. </figcaption> </figure> <div class="btn-group mt-8 md:mt-16 reveal" data-reveal data-reveal-trigger="0px"> <a href="https://steun.vpro.nl/breinvoer-alg-vpro/aanmelden?extra_donatie=1" class="btn">word nu lid</a> </div> </div> </div> <section class="section"> <div class="container container--narrow"> <div class="text-center grid justify-items-center"> <h2 class="heading text-3xl md:text-5xl max-w-prose text-cta" data-reveal data-reveal-trigger> een flinke portie inspiratie </h2> <div data-reveal data-reveal-trigger> <div class="flex justify-between"> <img src="/application/views/front-end//assets/img/breinvoer-2024/img/quote.svg" alt="" class="rotate-180 self-start w-6 md:w-auto"> <blockquote class="paragraph font-vesta max-w-[72ch] py-4"> Innovatie en talent komen samen in <i>Club Lees</i>, waarin we onze liefde voor het geschreven woord met onze achterban delen. In de gratis Club Lees-app, met elke maand een nieuw boek, gaan de lezers de diepte in. Jij als VPRO-lid maakt dit mede mogelijk. </blockquote> <img src="/application/views/front-end//assets/img/breinvoer-2024/img/quote.svg" alt="" class="self-end w-6 md:w-auto"> </div> </div> <div class="mt-12 md:mt-24 -rotate-6" data-reveal data-reveal-trigger> <figure class="rotate-[5deg]"> <img src="/application/views/front-end//assets/img/breinvoer-2024/img/innovatie-talent-mobile.webp" sizes="(max-width: 640px) 320px, 100vw" srcset="/application/views/front-end//assets/img/breinvoer-2024/img/innovatie-talent-mobile.webp 640w, /application/views/front-end//assets/img/breinvoer-2024/img/innovatie-talent.webp" alt="" class="w-full h-auto undefined" loading="eager" width="320" height="240"> </figure> </div> </div> </div> </section> <section class="section pb-0"> <div class="container container--narrow"> <div class="text-center grid justify-items-center"> <h2 class="heading text-3xl md:text-5xl max-w-prose text-cta" data-reveal data-reveal-trigger> vpro-leden zien, horen en beleven meer </h2> <p class="paragraph font-vesta max-w-[80ch] mt-4" data-reveal data-reveal-trigger> Vind verdieping, verrijking en verheldering op evenementen als IDFA, IFFR en Dutch Design Week. Duik in de inhoud bij meet-ups, zit vooraan tijdens premières en ontmoet onze breinvoermakers tijdens opnames of theatertours. Exclusief toegankelijk óf met korting. </p> <div class="mt-16 md:mt-32 rotate-6" data-reveal data-reveal-trigger> <figure class="-rotate-[5deg]"> <img src="/application/views/front-end//assets/img/breinvoer-2024/img/evenement-mobile.webp" sizes="(max-width: 640px) 320px, 100vw" srcset="/application/views/front-end//assets/img/breinvoer-2024/img/evenement-mobile.webp 640w, /application/views/front-end//assets/img/breinvoer-2024/img/evenement.webp" alt="" class="w-full h-auto undefined" loading="eager" width="320" height="240"> </figure> </div> </div> </div> </section> <!-- ---------------------------------------------------- --> <!-- Signup --> <!-- ---------------------------------------------------- --> <section class="section"> <div class="container" data-reveal data-reveal-trigger="0px 0px -16%"> <div class="mt-12 md:mt-24"> <div class="bg-brand-light max-w-5xl mx-auto relative overflow-hidden"> <div class="absolute right-[5%] md:right-[25%] -top-8"> <div class="sticker" data-astro-cid-i7abjob7> <span class="text-xl md:text-2xl" data-astro-cid-i7abjob7>€ 17,50</span> per jaar </div> </div> <div class="grid items-center px-6 py-12 md:py-20 max-w-xl mx-auto"> <h3 class="heading text-dark text-3xl md:text-6xl">word nu lid</h3> <div data-signup-step="1"> <!-- <aside> </aside> --> <form class="space-y-4 mt-6" method="get" action="https://steun.vpro.nl/breinvoer-alg-vpro/aanmelden"> <input name="field[1058]" type="text" class="input" placeholder="E-mailadres"> <button type="submit" class="btn w-full mt-4">ja, ik word lid</button> </form> </div> </div> </div> </div> <div class="mt-12 md:mt-24 max-w-[32ch] mx-auto relative z-raised font-vest-alt"> <p class="font-vesta leading-relaxted text-center" data-reveal data-reveal-trigger="0px"> Niet overtuigd maar wel meer breinvoer in je mailbox? <a href="#mailing" data-mailing-btn class="underline underline-offset-2 text-cta"> Meld je aan! </a> </p> </div> </div> </section> <!-- ---------------------------------------------------- --> <!-- Bg Footer --> <!-- ---------------------------------------------------- --> <figure class="-mt-16 sm:mt-0"> <img src="/application/views/front-end//assets/img/breinvoer-2024/img/bg-tentakels-dark-mobile.webp" sizes="(max-width: 480px) 320px, 100vw" srcset="/application/views/front-end//assets/img/breinvoer-2024/img/bg-tentakels-dark-mobile.webp 480w, /application/views/front-end//assets/img/breinvoer-2024/img/bg-tentakels-dark.webp" class="w-full h-auto w-full" loading="eager" width="320" height="240"> </figure> </div> </div> <footer class="bg-[#0e1b26] py-4 font-vesta text-xs md:text-sm relative"> <div class="container"> <div class="flex place-content-center gap-4"> © VPRO 2025 <a href="https://www.vpro.nl/over-de-vpro/privacy-statement.html" target="_blank" rel="noreferrer">Privacy verklaring</a> <a href="https://www.vpro.nl/over-de-vpro/cookiebeleid-vpro.html" target="_blank" rel="noreferrer">Cookies</a> </div> </div> </footer> <script type="text/javascript">var site_url = "https://steun.vpro.nl/";</script><script type="text/javascript" src="https://steun.vpro.nl/application/views/front-end/assets/js/jquery-3.6.0.min.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/front-end/assets/js/popper.min.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/front-end/assets/js/bootstrap.min.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/core-assets/js/jquery.validate.min.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/core-assets/js/jquery.price_format.1.5.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/core-assets/js/yetii-min.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/core-assets/js/jquery.autotab.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/front-end/assets/js/cufon.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/front-end/assets/js/fonts.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/core-assets/js/placeholder.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/core-assets/js/jqModal.min.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/front-end/assets/js/site.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/front-end/assets/js/script.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/core-assets/js/core-breinvoer.js"></script> <script type="text/javascript" src="https://steun.vpro.nl/application/views/front-end/assets/js/sticky.js"></script> <script type="text/javascript"> $(document).ready(function(){ edm_cms.desktop_init(); edm_cms.popup_actief = false; edm_cms.popup_ingeschakeld = false; edm_cms.popup_bedrag = 3; edm_cms.popup_van_termijn = 92; edm_cms.popup_naar_termijn = 92; $(document).on('click','.breinvoer_newsletter_submit',function(e) { e.preventDefault(); var $frmnewsletter = $(this).parent(); var $frminputnaam = $frmnewsletter.find(".naam").val(); var $frminputemail = $frmnewsletter.find(".email").val(); var $frminputmode = $frmnewsletter.find(".newslettermode").val(); var formData = { naam : $frminputnaam, email: $frminputemail, mode : $frminputmode, }; if($frmnewsletter.valid()) { $.ajax({ url: site_url + "sidebar/submit_breinvoer_newsletter", data:formData, dataType: 'json', type: 'post', success: function(json) { $frmnewsletter.parent().parent().find('.submsg').html(json.message); $frmnewsletter.parent('.newsletter_form_wrapper').slideUp(); setTimeout(function() { $(".btn_frm_newsletter_close").trigger( "click" ); }, 2000); } }); } }); }); </script> <script> (() => { const random = (min, max) => { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min + 1)) + min; }; const scaleIn = random(60, 140) / 100; const scaleOut = random(60, 140) / 100; const animateWhirl = (el) => { const keyframes = [ { transform: `rotate(0deg) scale(${scaleIn})` }, { transform: `rotate(180deg) scale(${scaleOut})` }, { transform: `rotate(360deg) scale(${scaleIn})` }, ]; el.animate(keyframes, { duration: random(16000, 32000), easing: 'linear', fill: 'both', iterations: Infinity, }); }; const animateBlur = (el) => { const keyframes = [ { filter: `blur(0px)`, offset: 0.2 }, { filter: `blur(4px)` }, { filter: `blur(0px)`, offset: 0.8 }, ]; el.animate(keyframes, { duration: random(8000, 24000), easing: 'ease-in-out', fill: 'both', iterations: Infinity, }); }; document.querySelectorAll(['[data-blob]', '[data-ball]']).forEach((el) => { const img = el.querySelector('img'); el.className = img.className; img.className = ''; animateWhirl(el); animateBlur(img); }); })(); </script> </body> </html>