1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/__l5e/assets-v1/fb80154f-0345-4f6e-ab7d-d2f2d2ffede9/waff-logo.png"/><link rel="preload" as="image" href="/__l5e/assets-v1/56dfdcda-0dbf-4cab-804f-9b5bdf639d20/waff-10905134_54172714483_o.jpg"/><link rel="stylesheet" href="/assets/styles-D5FwP-U7.css" data-precedence="default"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400..700;1,9..144,400..600&family=Manrope:wght@400;500;700&display=swap" data-precedence="default"/><title>About Watch Africa Film Festival | Our Story</title><meta name="author" content="Watch Africa Film Festival"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Since 2013, Watch Africa Film Festival has been Wales's annual celebration of African cinema. Our story, vision and four pillars."/><meta property="og:title" content="About Watch Africa Film Festival | Our Story"/><meta property="og:description" content="Rooted in Wales, connected across Africa and its diaspora. Read the story behind Wales's only African film festival."/><link rel="modulepreload" href="/assets/index-DCKwLFpJ.js"/><link rel="modulepreload" href="/assets/about-BiFYFrUw.js"/><link rel="modulepreload" href="/assets/waff-witch6_49885831723_o.jpg.asset-C2zXl-EB.js"/><link rel="modulepreload" href="/assets/waff-watch-africa-2014_29912584223_o.jpg.asset-AZNsmv8x.js"/><link rel="modulepreload" href="/assets/waff-10905161_54172747864_o.jpg.asset-BxXBtXRF.js"/><link rel="modulepreload" href="/assets/waff-10905125_54172887265_o.jpg.asset-gZ9wxnG-.js"/><link rel="modulepreload" href="/assets/waff-15_49378461923_o.jpg.asset-DexdpqsO.js"/><link rel="icon" href="/favicon.png" type="image/png"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/> 2<style> 3 #lovable-badge { 4 --badge-bg: #1b1b1b; 5 --badge-text: #c5c1b9; 6 --badge-text-hover: #dcdad5; 7 --badge-radius: 6px; 8 --badge-padding: 8px; 9 --badge-gap: 6px; 10 --badge-shadow: 11 0 0 0 1px rgba(0, 0, 0, 0.88), 12 0 1px 0 0 rgba(0, 0, 0, 0.04), 13 0 2px 2px -1px rgba(0, 0, 0, 0.08), 14 0 4px 4px -2px rgba(0, 0, 0, 0.08), 15 0 8px 8px -4px rgba(0, 0, 0, 0.08), 16 0 16px 16px -8px rgba(0, 0, 0, 0.08); 17 --badge-transition-duration: 0.2s; 18 --badge-transition-easing: cubic-bezier(0.16, 1, 0.32, 1); 19 --focus-color: #575ECF; 20 --focus-offset: 2px; 21 --focus-width: 2px; 22 23 position: fixed; 24 bottom: 12px; 25 right: 12px; 26 height: 24px; 27 display: flex; 28 align-items: center; 29 z-index: 1000000; 30 background-color: var(--badge-bg) !important; 31 color: var(--badge-text) !important; 32 border-radius: var(--badge-radius); 33 box-shadow: var(--badge-shadow) !important; 34 font-size: 12px; 35 font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; 36 font-weight: 400 !important; 37 text-transform: none !important; 38 font-feature-settings: normal !important; 39 transform: translateZ(0); 40 will-change: transform, opacity; 41 transition: opacity var(--badge-transition-duration) var(--badge-transition-easing); 42 } 43 44 #lovable-badge.closing { 45 opacity: 0; 46 pointer-events: none; 47 } 48 49 #lovable-badge-cta { 50 display: flex; 51 align-items: baseline; 52 gap: var(--badge-gap); 53 box-sizing: border-box; 54 padding: 4px var(--badge-padding) 0; 55 height: 100%; 56 color: inherit; 57 text-decoration: none; 58 white-space: nowrap; 59 border-radius: var(--badge-radius) 0 0 var(--badge-radius); 60 transition: 61 background-color var(--badge-transition-duration) ease, 62 color var(--badge-transition-duration) ease, 63 transform 0.1s ease; 64 } 65 66 #lovable-badge-cta:hover { 67 background: rgba(255, 255, 255, 0.04); 68 color: var(--badge-text-hover); 69 } 70 71 #lovable-badge-cta:active { 72 transform: scale(0.98); 73 } 74 75 #lovable-badge-cta:focus { 76 outline: none; 77 } 78 79 #lovable-badge-cta:focus-visible { 80 outline: var(--focus-width) solid var(--focus-color); 81 outline-offset: var(--focus-offset); 82 z-index: 1; 83 } 84 85 #lovable-badge-text { 86 line-height: 1; 87 } 88 89 /* The wordmark baseline sits at y=12 of the 16px logo; an empty 12px box 90 makes that the flex baseline so the text aligns to it on any system font. */ 91 #lovable-badge-logo { 92 position: relative; 93 display: block; 94 width: 52px; 95 height: 12px; 96 } 97 98 #lovable-badge-logo svg { 99 position: absolute; 100 top: 0; 101 left: 0; 102 } 103 104 #lovable-badge-divider { 105 width: 1px; 106 height: 24px; 107 background-color: rgba(255, 255, 255, 0.04); 108 flex-shrink: 0; 109 } 110 111 #lovable-badge-close { 112 width: 24px; 113 height: 24px; 114 min-width: 24px; 115 min-height: 24px; 116 cursor: pointer; 117 background: none; 118 border: none; 119 padding: 0; 120 display: flex; 121 align-items: center; 122 justify-content: center; 123 border-radius: 0 var(--badge-radius) var(--badge-radius) 0; 124 flex-shrink: 0; 125 transition: 126 background-color var(--badge-transition-duration) ease, 127 transform 0.1s ease; 128 } 129 130 #lovable-badge-close:hover { 131 background: rgba(255, 255, 255, 0.04); 132 } 133 134 #lovable-badge-close:active { 135 transform: scale(0.92); 136 } 137 138 #lovable-badge-close:focus { 139 outline: none; 140 } 141 142 #lovable-badge-close:focus-visible { 143 outline: var(--focus-width) solid var(--focus-color); 144 outline-offset: calc(var(--focus-offset) * -1); 145 z-index: 1; 146 } 147 148 #lovable-badge-close svg path { 149 fill: var(--badge-text); 150 transition: fill var(--badge-transition-duration) ease; 151 } 152 153 #lovable-badge-close:hover svg path { 154 fill: var(--badge-text-hover); 155 } 156 157 @media (prefers-reduced-motion: reduce) { 158 #lovable-badge, 159 #lovable-badge-cta, 160 #lovable-badge-close, 161 #lovable-badge-close svg path { 162 transition: none; 163 } 164 165 #lovable-badge-cta:active, 166 #lovable-badge-close:active { 167 transform: none; 168 } 169 } 170 171 @media (prefers-contrast: high) { 172 #lovable-badge { 173 --badge-bg: #000; 174 --badge-text: #fff; 175 --badge-text-hover: #fff; 176 border: 2px solid currentColor; 177 } 178 179 #lovable-badge-cta:focus-visible, 180 #lovable-badge-close:focus-visible { 181 outline-width: 3px; 182 } 183 } 184</style>
185<script defer src="/~flock.js" data-proxy-url="/~api/analytics"></script>
185<meta name="twitter:title" content="About Watch Africa Film Festival | Our Story"><meta name="twitter:description" content="Rooted in Wales, connected across Africa and its diaspora. Read the story behind Wales&#x27;s only African film festival."><meta property="og:image" content="https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/530b2e35386d39dd00762eadcacbd921/id-preview-47742be1--3bdae4f2-ec24-42a4-8342-549ce39837a5.lovable.app-1788249015158.png"><meta name="twitter:image" content="https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/530b2e35386d39dd00762eadcacbd921/id-preview-47742be1--3bdae4f2-ec24-42a4-8342-549ce39837a5.lovable.app-1788249015158.png"></head><body><header class="w-full border-b border-border bg-background"><div class="waff-inner flex items-center justify-between gap-6 py-4"><a href="/" class="shrink-0"><img src="/__l5e/assets-v1/fb80154f-0345-4f6e-ab7d-d2f2d2ffede9/waff-logo.png" alt="Watch Africa Film Festival" width="600" height="450" class="h-12 w-auto brightness-0 invert md:h-14"/></a><nav class="hidden items-center gap-6 xl:flex"><a class="waff-h4 text-foreground no-underline hover:text-primary active" href="/about" data-status="active" aria-current="page">About</a><a href="/programme" class="waff-h4 text-foreground no-underline hover:text-primary">Programme</a><a href="/guests" class="waff-h4 text-foreground no-underline hover:text-primary">Guests</a><a href="/archive" class="waff-h4 text-foreground no-underline hover:text-primary">Archive</a><a href="/awards" class="waff-h4 text-foreground no-underline hover:text-primary">Awards</a><a href="/submit" class="waff-h4 text-foreground no-underline hover:text-primary">Submit</a><a href="/volunteer" class="waff-h4 text-foreground no-underline hover:text-primary">Volunteer</a><a href="/partner" class="waff-h4 text-foreground no-underline hover:text-primary">Partner</a><a href="/become-a-vendor" class="waff-h4 text-foreground no-underline hover:text-primary">Become a Vendor</a><a href="/screenings" class="waff-h4 text-foreground no-underline hover:text-primary">Screenings</a><a href="/club" class="waff-h4 text-foreground no-underline hover:text-primary">WAFF Club</a><a href="/contact" class="waff-btn">Contact</a></nav><details class="relative xl:hidden"><summary class="waff-h4 cursor-pointer list-none border border-border px-4 py-2 text-foreground">Menu</summary><div class="absolute right-0 z-50 mt-3 w-64 border border-border bg-card p-5"><a href="/" class="waff-h4 mb-3 block text-foreground no-underline">Home</a><a class="waff-h4 mb-3 block text-foreground no-underline active" href="/about" data-status="active" aria-current="page">About</a><a href="/programme" class="waff-h4 mb-3 block text-foreground no-underline">Programme</a><a href="/guests" class="waff-h4 mb-3 block text-foreground no-underline">Guests & Speakers</a><a href="/archive" class="waff-h4 mb-3 block text-foreground no-underline">Festival Archive</a><a href="/awards" class="waff-h4 mb-3 block text-foreground no-underline">Awards & Past Winners</a><a href="/submit" class="waff-h4 mb-3 block text-foreground no-underline">Submit Your Film</a><a href="/volunteer" class="waff-h4 mb-3 block text-foreground no-underline">Volunteer</a><a href="/partner" class="waff-h4 mb-3 block text-foreground no-underline">Partner With Us</a><a href="/become-a-vendor" class="waff-h4 mb-3 block text-foreground no-underline">Become a Vendor</a><a href="/screenings" class="waff-h4 mb-3 block text-foreground no-underline">Year-Round Screenings</a><a href="/club" class="waff-h4 mb-3 block text-foreground no-underline">WAFF Club</a><a href="/contact" class="waff-h4 block text-foreground no-underline">Contact</a></div></details></div></header><!--$--><main><section class="waff-section-tight w-full pt-36"><div class="waff-inner"><p class="waff-eyebrow">About</p><h1 class="waff-h1 max-w-4xl">Our Story</h1><p class="waff-lede mt-8 max-w-2xl">Africa is not one story. Itâs thousands of languages, cultures, cities, traditions, futures and imaginations.</p></div></section><section class="w-full"><div class="waff-inner"><img src="/__l5e/assets-v1/56dfdcda-0dbf-4cab-804f-9b5bdf639d20/waff-10905134_54172714483_o.jpg" alt="A filmmaker panel on stage in front of the festival screen at Chapter Arts Centre" width="1920" height="1000" class="waff-img-wide"/></div></section><section class="waff-section w-full"><div class="waff-inner"><div class="waff-split"><div class="waff-panel-plain"><h2 class="waff-h2">Through film, every story becomes an invitation to see the world through someone elseâs eyes.</h2></div><div class="waff-panel-plain"><p class="waff-text">Watch Africa Film Festival is Walesâs annual celebration of African cinema and storytelling. This September, filmmakers, artists, communities and audiences come together to watch films, exchange ideas, make, learn and celebrate.</p><p class="waff-text mt-5">
185Rooted in Wales and connected across Africa and its global diaspora, WAFF creates space for stories that entertain, challenge, celebrate and inspire. Stories that spark conversation. Stories that build understanding. Stories that remind us that cinema can connect people across borders, generations and cultures.</p><p class="waff-text mt-5">Since 2013, the festival has created a platform where powerful storytelling, cultural exchange and community come together through film.</p><p class="waff-text mt-5">Whether youâre discovering African cinema for the first time or returning to stories that feel like home, this is your invitation.</p><p class="waff-quote mt-8">Express Your Africa.</p></div></div></div></section><section class="waff-section-tight waff-ink w-full"><div class="waff-inner"><div class="waff-grid-4 text-center"><div class="waff-panel-plain"><p class="waff-stat-figure">13</p><p class="waff-text-light mt-3">Years</p></div><div class="waff-panel-plain"><p class="waff-stat-figure">168</p><p class="waff-text-light mt-3">Films</p></div><div class="waff-panel-plain"><p class="waff-stat-figure">10,000+</p><p class="waff-text-light mt-3">Viewers</p></div><div class="waff-panel-plain"><p class="waff-stat-figure">1</p><p class="waff-text-light mt-3">Walesâs only African film festival</p></div></div></div></section><section class="waff-section w-full"><div class="waff-inner"><div class="waff-grid-3"><div class="waff-panel"><p class="waff-eyebrow">When</p><h3 class="waff-h3 mt-3">11â13 September 2026</h3></div><div class="waff-panel"><p class="waff-eyebrow">Where</p><h3 class="waff-h3 mt-3">Chapter Arts Centre, Cardiff</h3></div><div class="waff-panel"><p class="waff-eyebrow">Theme</p><h3 class="waff-h3 mt-3">Express Your Africa</h3></div></div><p class="waff-text mt-10 max-w-3xl">Feature films. Short films. Animation. Documentary. Experimental cinema â from emerging voices to internationally recognised filmmakers. Alongside the screen: workshops, talks, live music and cultural events across the weekend.</p></div></section><section class="waff-section waff-muted-band w-full"><div class="waff-inner"><div class="waff-split"><div class="waff-panel-plain"><p class="waff-eyebrow">Our Vision</p><h2 class="waff-h2">To become the UKâs leading African film festival.</h2><p class="waff-text mt-7">Recognised for championing African filmmakers, nurturing new voices, and creating unforgettable cultural experiences where everyone feels welcome.</p></div><div class="waff-panel-plain"><img src="/__l5e/assets-v1/f86e1831-5950-451d-8793-143c31a951cb/waff-witch6_49885831723_o.jpg" alt="A packed post-screening discussion at Watch Africa Film Festival" width="1200" height="900" loading="lazy" class="waff-img-wide"/></div></div></div></section><section class="waff-section w-full"><div class="waff-inner"><p class="waff-eyebrow">Our Pillars</p><h2 class="waff-h2 max-w-3xl">Four commitments that shape everything we programme.</h2><div class="waff-grid-2 mt-14"><div class="waff-panel"><h3 class="waff-h3">Cinema</h3><p class="waff-text mt-4">We champion bold African filmmaking in all its forms â feature, short, animation, documentary, experimental. From emerging voices to internationally recognised filmmakers.</p></div><div class="waff-panel"><h3 class="waff-h3">Community</h3><p class="waff-text mt-4">WAFF is more than a film festival. Itâs a gathering â a place where communities meet, conversations begin, and people feel they belong.</p></div><div class="waff-panel"><h3 class="waff-h3">Creativity</h3><p class="waff-text mt-4">Film is only the beginning. Workshops, masterclasses, music, art, making, discussion â everyone is invited to participate.</p></div><div class="waff-panel"><h3 class="waff-h3">Connection</h3><p class="waff-text mt-4">WAFF strengthens cultural relationships between Wales, Africa and the African diaspora â creating opportunities for collaboration, learning and lasting partnerships through cinema.</p></div></div></div></section><section class="waff-section waff-muted-band w-full"><div class="waff-inner">
185<div class="waff-grid-3"><div class="waff-panel-plain"><img src="/__l5e/assets-v1/804ecb3b-eb88-4cf5-b508-9d5d3f9bd49c/waff-10905125_54172887265_o.jpg" alt="Panellists in conversation after a festival screening" width="1400" height="1000" loading="lazy" class="waff-img-wide"/><h3 class="waff-h4 mt-6">Workshops and making</h3><p class="waff-text mt-3">Storytelling, dance, music and mask-making sessions open to all experience levels.</p></div><div class="waff-panel-plain"><img src="/__l5e/assets-v1/27a93e6e-fc87-4b86-97ac-f5113045044e/waff-10905161_54172747864_o.jpg" alt="Two festival-goers posing with the Watch Africa photo frame in the foyer" width="1400" height="1000" loading="lazy" class="waff-img-wide"/><h3 class="waff-h4 mt-6">Conversation and exchange</h3><p class="waff-text mt-3">Q&As, talks and Short Snacks â because good conversation happens over good food.</p></div><div class="waff-panel-plain"><img src="/__l5e/assets-v1/2d2e682d-d21e-4be1-9a83-7c0eb3747ff4/waff-watch-africa-2014_29912584223_o.jpg" alt="Live spoken word and music performance during the festival weekend" width="1200" height="900" loading="lazy" class="waff-img-wide"/><h3 class="waff-h4 mt-6">Celebration</h3><p class="waff-text mt-3">Live music, dance, market traders and parties across all three festival days.</p></div></div></div></section><section class="waff-section w-full"><div class="waff-inner"><div class="waff-split"><div class="waff-panel-plain"><img src="/__l5e/assets-v1/e17c3553-7591-4826-b2ac-24e565d0d4a8/waff-15_49378461923_o.jpg" alt="Audience seated in the red cinema for a monthly Watch Africa screening" width="1400" height="1000" loading="lazy" class="waff-img-wide"/></div><div class="waff-panel-plain"><p class="waff-eyebrow">Beyond September</p><h2 class="waff-h2">A festival that runs all year.</h2><p class="waff-text mt-7">Monthly screenings, WAFF Club, workshops and partner events keep African cinema on Cardiff screens between editions.</p><div class="mt-9 flex flex-wrap gap-4"><a href="/screenings" class="waff-btn">Monthly screenings</a><a href="/club" class="waff-btn-outline">WAFF Club</a></div></div></div></div></section><section class="waff-section waff-ink w-full"><div class="waff-inner text-center"><h2 class="waff-h1 mx-auto max-w-3xl text-ink-foreground">Thereâs a place for you here.</h2><p class="waff-lede-light mx-auto mt-7 max-w-2xl">11â13 September 2026 · Chapter Arts Centre, Cardiff.</p><div class="mt-10 flex flex-wrap justify-center gap-4"><a href="/programme" class="waff-btn">See the programme</a><a href="/contact" class="waff-btn-light">Get in touch</a></div></div></section></main>
185<script>(function(a,f){let l;try{l=JSON.parse(sessionStorage.getItem(a)||"{}")}catch{return}const n=l?.[f||history.state?.__TSR_key];let c=!1;for(const t in n){const e=n[t],o=e?.scrollX,s=e?.scrollY;if(Number.isFinite(o)&&Number.isFinite(s)){if(t==="window")scrollTo(o,s),c=!0;else if(t)try{const r=document.querySelector(t);r&&(r.scrollLeft=o,r.scrollTop=s)}catch{}}}if(c)return;const i=location.hash.slice(1);if(i){const t=history.state?.__hashScrollIntoViewOptions??!0;if(t){const e=document.getElementById(i);e&&e.scrollIntoView(t)}return}scrollTo(0,0)})("tsr-scroll-restoration-v1_3");document.currentScript.remove()</script>
185<!--/$--><footer class="waff-ink w-full"><div class="waff-inner py-16"><div class="waff-grid-4 text-left"><div class="waff-panel-plain"><img src="/__l5e/assets-v1/fb80154f-0345-4f6e-ab7d-d2f2d2ffede9/waff-logo.png" alt="Watch Africa Film Festival" width="600" height="450" loading="lazy" class="mb-6 h-14 w-auto brightness-0 invert"/><p class="waff-text-light">Walesâs annual celebration of African cinema and storytelling.</p><p class="waff-text-light mt-4">11â13 September 2026<br/>Chapter Arts Centre, Cardiff</p></div><div class="waff-panel-plain"><h2 class="waff-meta-light mb-5">Festival</h2><a class="waff-text-light mb-2 block no-underline active" href="/about" data-status="active" aria-current="page">About</a><a href="/programme" class="waff-text-light mb-2 block no-underline">Programme</a><a href="/guests" class="waff-text-light mb-2 block no-underline">Guests & Speakers</a><a href="/archive" class="waff-text-light mb-2 block no-underline">Festival Archive</a><a href="/awards" class="waff-text-light block no-underline">Awards & Past Winners</a></div><div class="waff-panel-plain"><h2 class="waff-meta-light mb-5">Get Involved</h2><a href="/submit" class="waff-text-light mb-2 block no-underline">Submit Your Film</a><a href="/volunteer" class="waff-text-light mb-2 block no-underline">Volunteer</a><a href="/partner" class="waff-text-light mb-2 block no-underline">Partner With Us</a><a href="/become-a-vendor" class="waff-text-light mb-2 block no-underline">Become a Vendor</a><a href="/screenings" class="waff-text-light mb-2 block no-underline">Year-Round Screenings</a><a href="/club" class="waff-text-light block no-underline">WAFF Club</a></div><div class="waff-panel-plain"><h2 class="waff-meta-light mb-5">Contact</h2><p class="waff-text-light mb-2">[email protected]</p><p class="waff-text-light mb-2">[email protected]</p><p class="waff-text-light mb-6">[email protected]</p><a href="/contact" class="waff-link-light">Get in touch</a></div></div><hr class="waff-rule-light my-12"/><p class="waff-text-light">© 2026 Watch Africa Film Festival. Africaâs Stories. Walesâs Screen.</p></div></footer>
185<script class="$tsr" id="$tsr-stream-barrier">(self.$R=self.$R||{})["tsr"]=[];self.$_TSR={h(){this.hydrated=!0,this.c()},e(){this.streamEnded=!0,this.c()},c(){this.hydrated&&this.streamEnded&&(delete self.$_TSR,delete self.$R.tsr)},p(e){this.initialized?e():this.buffer.push(e)},buffer:[]};$_TSR.router=($R=>$R[0]={manifest:$R[1]={routes:$R[2]={__root__:$R[3]={preloads:$R[4]=["/assets/index-DCKwLFpJ.js"],scripts:$R[5]=[$R[6]={attrs:$R[7]={type:"module",async:!0,src:"/assets/index-DCKwLFpJ.js"}}]},"/about":$R[8]={preloads:$R[9]=["/assets/about-BiFYFrUw.js","/assets/waff-witch6_49885831723_o.jpg.asset-C2zXl-EB.js","/assets/waff-watch-africa-2014_29912584223_o.jpg.asset-AZNsmv8x.js","/assets/waff-10905161_54172747864_o.jpg.asset-BxXBtXRF.js","/assets/waff-10905125_54172887265_o.jpg.asset-gZ9wxnG-.js","/assets/waff-15_49378461923_o.jpg.asset-DexdpqsO.js"]}}},matches:$R[10]=[$R[11]={i:"__root__�",u:1790997501739,s:"success",ssr:!0},$R[12]={i:"�about�about",u:1790997501739,s:"success",ssr:!0}],lastMatchId:"�about�about"})($R["tsr"]);$_TSR.e();document.currentScript.remove()</script>
185<script type="module" async="" src="/assets/index-DCKwLFpJ.js"></script>
185 186<aside 187 id="lovable-badge" 188 role="complementary" 189 dir="ltr" 190 lang="en" 191 aria-label="Edit with Lovable"> 192 <a 193 id="lovable-badge-cta" 194 target="_blank" 195 href="https://lovable.dev/projects/lovp_57x8w20pb28ks8b6tscm4zxsy4?utm_source=lovable-badge" 196 rel="noopener nofollow" 197 aria-label="Edit with Lovable"> 198 <span id="lovable-badge-text">Edit with</span> 199 <span id="lovable-badge-logo"><svg xmlns="http://www.w3.org/2000/svg" width="52" height="16" fill="none" viewBox="0 0 52 16"> 200 <path fill="#FCFBF8" fill-rule="evenodd" d="M20.318 5.25c.643 0 1.206.14 1.69.418a2.81 2.81 0 0 1 1.118 1.191c.266.513.4 1.115.4 1.807s-.134 1.296-.4 1.812a2.81 2.81 0 0 1-1.118 1.193c-.484.278-1.047.418-1.69.418s-1.208-.14-1.695-.418a2.85 2.85 0 0 1-1.125-1.193c-.262-.516-.393-1.12-.393-1.812s.131-1.294.393-1.807a2.848 2.848 0 0 1 1.125-1.191c.487-.279 1.052-.418 1.695-.418Zm0 1.425c-.27 0-.504.076-.7.228-.193.147-.34.37-.443.67-.102.295-.153.66-.153 1.093 0 .435.05.801.153 1.1.102.3.25.524.443.676.196.147.43.22.7.22.27 0 .502-.073.694-.22.193-.152.341-.375.443-.67.103-.299.153-.667.153-1.106 0-.65-.112-1.145-.337-1.481a1.08 1.08 0 0 0-.953-.51ZM32.7 5.25c.61 0 1.127.1 1.549.3.422.197.74.48.953.849.217.368.325.809.325 1.32v2.704c0 .29.02.562.062.812.044.245.108.4.19.466V12h-1.935a5.895 5.895 0 0 1-.105-.684 7.745 7.745 0 0 1-.02-.228 2.293 2.293 0 0 1-.151.203c-.205.242-.47.437-.793.584-.32.143-.685.215-1.094.215-.406 0-.77-.08-1.094-.24a1.845 1.845 0 0 1-.756-.682 1.984 1.984 0 0 1-.27-1.045c0-.606.178-1.069.535-1.388.356-.324.87-.534 1.542-.633l1.125-.16c.225-.032.403-.074.534-.123a.622.622 0 0 0 .288-.196.549.549 0 0 0 .093-.327.65.65 0 0 0-.11-.367.702.702 0 0 0-.32-.27c-.14-.07-.31-.105-.51-.105-.32 0-.576.083-.768.251-.193.164-.298.39-.314.676h-1.923c.016-.434.147-.82.393-1.155.25-.34.596-.604 1.039-.792.442-.189.954-.283 1.535-.283Zm.99 3.498a.98.98 0 0 1-.215.14 2.49 2.49 0 0 1-.584.178l-.473.092c-.315.061-.553.156-.713.283-.155.127-.233.305-.233.534 0 .23.084.412.252.547.168.135.383.203.645.203s.494-.058.694-.173c.201-.118.355-.282.461-.49.11-.21.166-.448.166-.714v-.6Zm4.526-2.375c.065-.125.138-.243.221-.349.197-.25.437-.44.719-.571.282-.135.6-.203.952-.203.528 0 .988.138 1.377.412.389.275.688.67.896 1.186.21.512.314 1.12.314 1.824 0 .7-.107 1.309-.32 1.825-.213.512-.518.906-.915 1.18-.393.275-.854.412-1.383.412-.352 0-.667-.062-.946-.184a1.832 1.832 0 0 1-.7-.554 2.2 2.2 0 0 1-.234-.383V12h-1.843V3h1.862v3.373Zm1.284.296c-.274 0-.51.085-.707.253-.192.163-.338.397-.436.7a3.376 3.376 0 0 0-.148 1.05c0 .406.05.759.148 1.058.098.299.243.53.436.694.197.164.433.246.707.246.279 0 .512-.082.7-.246.193-.164.336-.395.43-.694.099-.3.148-.652.148-1.058 0-.405-.05-.757-.147-1.056-.095-.299-.238-.53-.43-.694a1.015 1.015 0 0 0-.7-.253Zm9.416-1.419c.602 0 1.136.131 1.604.393.466.262.829.643 1.086 1.143.263.5.394 1.097.394 1.794 0 .25-.002.449-.006.596H47.51c.018.288.071.538.164.75a1.3 1.3 0 0 0 .491.596c.214.13.465.196.757.196.319 0 .583-.082.792-.246.209-.167.34-.403.393-.706h1.862a2.48 2.48 0 0 1-.485 1.235 2.54 2.54 0 0 1-1.051.805c-.439.188-.949.283-1.53.283-.655 0-1.225-.125-1.708-.375a2.672 2.672 0 0 1-1.13-1.143c-.267-.508-.4-1.137-.4-1.887 0-.712.14-1.327.418-1.843a2.86 2.86 0 0 1 1.155-1.186c.491-.27 1.051-.405 1.678-.405Zm-.044 1.345c-.274 0-.516.068-.725.203a1.29 1.29 0 0 0-.479.59 2.045 2.045 0 0 0-.132.498h2.562a1.873 1.873 0 0 0-.138-.602 1.061 1.061 0 0 0-.418-.516 1.243 1.243 0 0 0-.67-.173Z" clip-rule="evenodd"/> 201 <path fill="#FCFBF8" d="m26.605 9.995 1.342-4.566h1.924L27.628 12h-2.07l-2.33-6.57h1.98l1.397 4.565Zm-13.013.143h2.256c1.632 0 1.421 1.837 1.418 1.861h-5.603V3h1.93v7.138Zm31.516 1.861h-1.862V3h1.862v8.999Z"/> 202 <path fill="url(#a)" fill-rule="evenodd" d="M2.7 3c1.492 0 2.7 1.192 2.7 2.663v1.012h.9c1.49 0 2.7 1.192 2.7 2.662S7.791 12 6.3 12H0V5.663C0 4.193 1.209 3 2.7 3Z" clip-rule="evenodd"/> 203 <defs> 204 <radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="matrix(-1.54236 7.07838 -10.231 -2.15602 4.627 5.022)" gradientUnits="userSpaceOnUse"> 205 <stop offset=".106" stop-color="#FE7B02"/> 206 <stop offset=".394" stop-color="#FE3F21"/> 207 <stop offset=".608" stop-color="#F858BC"/> 208 <stop offset=".929" stop-color="#575ECF"/> 209 </radialGradient> 210 </defs> 211</svg> 212 213</span> 214 </a> 215 216 <span id="lovable-badge-divider" aria-hidden="true"></span> 217 218 <button 219 id="lovable-badge-close" 220 aria-label="Dismiss" 221 title="Dismiss"
222 type="button"> 223 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16" aria-hidden="true"> 224 <path d="M10.646 4.646a.5.5 0 1 1 .707.708L8.707 8l2.646 2.646a.5.5 0 1 1-.707.707L8 8.707l-2.646 2.646a.5.5 0 1 1-.708-.707L7.293 8 4.646 5.354a.5.5 0 1 1 .708-.708L8 7.293l2.646-2.647Z"/> 225 </svg> 226 </button> 227</aside>
228<script> 229 (() => { 230 if (window.self !== window.top || navigator.userAgent.includes('puppeteer')) { 231 const badge = document.querySelector('#lovable-badge'); 232 if (badge) { 233 badge.style.display = 'none'; 234 } 235 return; 236 } 237 238 const closeButton = document.querySelector('#lovable-badge-close'); 239 if (closeButton) { 240 closeButton.addEventListener('click', function(event) { 241 event.preventDefault(); 242 event.stopPropagation(); 243 const badge = document.querySelector('#lovable-badge'); 244 if (badge) { 245 badge.classList.add('closing'); 246 setTimeout(function() { 247 if (badge) { 248 badge.style.display = 'none'; 249 } 250 }, 240); 251 } 252 }); 253 } 254 })(); 255</script>
255 256</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.