PageSourceSearch

https://www.trebatfestivalen.no/program

html trebatfestivalen.no collected 2026-10-02 12:52:32 UTC 30,686 bytes, 198 lines download raw bytes

1<!DOCTYPE html><html lang="nb"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="theme-color" content="#0A1628"/><noscript><style>body { opacity: 1 !important; visibility: visible !important; }</style></noscript><style>
2              /* Hide body content initially - JS will add .hydrated class */
3              body:not(.hydrated) {
4                opacity: 0;
5                visibility: hidden;
6              }
7              /* Reveal with smooth fade after hydration */
8              body.hydrated {
9                opacity: 1;
10                visibility: visible;
11                transition: opacity 0.3s ease-out;
12              }
13              /* Fallback: show content after 1s even if JS fails (accessibility & crawlers) */
14              @media (prefers-reduced-motion: no-preference) {
15                body:not(.hydrated) {
16                  animation: fouc-fallback 0.3s ease-out 1s forwards;
17                }
18                @keyframes fouc-fallback {
19                  to { opacity: 1; visibility: visible; }
20                }
21              }
22              /* Immediate fallback for reduced motion users */
23              @media (prefers-reduced-motion: reduce) {
24                body:not(.hydrated) {
25                  opacity: 1;
26                  visibility: visible;
27                }
28              }
29            </style>
29<script>
30              // Disable all motion animations until React hydrates
31              window.motionGlobalConfig = { skipAnimations: true };
32            </script>
32<link rel="icon" type="image/png" sizes="192x192" href="https://treeboat.b-cdn.net/web-app-manifest-192x192.png"/><link rel="icon" type="image/png" sizes="96x96" href="https://treeboat.b-cdn.net/web-app-manifest-192x192.png"/><link rel="icon" type="image/png" sizes="32x32" href="https://treeboat.b-cdn.net/web-app-manifest-192x192.png"/><link rel="icon" type="image/png" sizes="16x16" href="https://treeboat.b-cdn.net/web-app-manifest-192x192.png"/><link rel="apple-touch-icon" sizes="180x180" href="https://treeboat.b-cdn.net/web-app-manifest-192x192.png"/><link rel="shortcut icon" href="https://treeboat.b-cdn.net/web-app-manifest-192x192.png"/><title>Program | Risør Trebåtfestival 2027</title><meta name="description" content="Hele programmet for Risør Trebåtfestival 2027 — konserter, foredrag, verksteder og seiling, dag for dag."/><meta property="og:title" content="Risør Trebåtfestival 2027 Program"/><meta property="og:description" content="Hele programmet for Risør Trebåtfestival 2027, dag for dag."/><meta property="og:image" content="https://treeboat.b-cdn.net/e523ff0da987f5fc4a300d5028fdbd3b.jpeg"/><meta property="og:site_name" content="Risør Trebåtfestival"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Risør Trebåtfestival 2027 Program"/><link rel="stylesheet" href="/assets/root-Crn1yAQT.css"/></head><body><div class="fixed top-5 right-5 md:right-8 lg:right-14 z-[110] flex items-center gap-3"><button class="hidden lg:flex items-center justify-center rounded-full shrink-0 transition-opacity hover:opacity-90" aria-label="Kjøp festivalpass" style="height:48px;background:var(--c-navy);box-shadow:0 2px 20px rgba(10,22,40,0.09);overflow:hidden;white-space:nowrap"><span style="font-family:&#x27;IBM Plex Mono&#x27;, monospace;font-size:12px;font-weight:600;letter-spacing:0.08em;color:var(--c-canvas)">KJØP FESTIVALPASS</span></button><button class="hidden lg:flex items-center justify-center rounded-full shrink-0 transition-opacity hover:opacity-90" aria-label="Se program 2027" style="height:48px;background:var(--c-amber);box-shadow:0 2px 20px rgba(10,22,40,0.09);overflow:hidden;white-space:nowrap"><span style="font-family:&#x27;IBM Plex Mono&#x27;, monospace;font-size:12px;font-weight:600;letter-spacing:0.08em;color:var(--c-canvas)">PROGRAM 2027</span></button><div class="flex items-center rounded-full" style="height:48px;border:1px solid;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden;position:relative"><div class="flex items-center" style="overflow:hidden;white-space:nowrap"><button class="flex items-center gap-2.5 pl-4 pr-3 h-12 transition-opacity hover:opacity-80" aria-label="Logg inn"><div class="w-7 h-7 rounded-full flex items-center justify-center shrink-0" style="background:rgba(10,22,40,0.06);border:1px solid rgba(10,22,40,0.1)"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-log-in" style="color:rgba(10,22,40,0.55)"><path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"></path><polyline points="10 17 15 12 10 7"></polyline><line x1="15" x2="3" y1="12" y2="12"></line></svg></div><span class="hidden sm:block" style="font-family:&#x27;IBM Plex Mono&#x27;, monospace;font-size:11px;letter-spacing:0.05em;color:rgba(10,22,40,0.55);font-weight:500">Logg inn</span></button><div class="h-5 shrink-0" style="width:1px;background:rgba(10,22,40,0.1)"></div><div class="inline-flex items-center" style="height:28px;padding:0 4px;gap:2px" role="group" aria-label="Valgt språk"><button type="button" aria-label="Valgt språk" aria-pressed="true" class="rounded-full transition-colors" style="font-family:&#x27;IBM Plex Mono&#x27;, monospace;font-size:10px;letter-spacing:0.08em;font-weight:600;padding:4px 9px;color:var(--c-amber);background:transparent;cursor:default">NO</button><span aria-hidden="true" style="width:1px;height:14px;background:rgba(10,22,40,0.18)"></span><button type="button" aria-label="Bytt til Engelsk" aria-pressed="false" class="rounded-full transition-colors" style="font-family:&#x27;IBM Plex Mono&#x27;, monospace;font-size:10px;letter-spacing:0.08em;font-weight:600;padding:4px 9px;color:rgba(10,22,40,0.5);background:transparent;cursor:pointer">EN</button></div><div class="h-5 shrink-0" style="width:1px;background:rgba(10,22,40,0.1)"></div></div><button class="flex items-center justify-center shrink-0 transition-opacity hover:opacity-75" style="width:48px;height:48px" aria-label="Åpne meny"><div class="relative w-[22px] h-[14px] flex flex-col justify-between"><span class="block w-full h-[1.5px] origin-center rounded-full"></span><span class="block w-full h-[1.5px] rounded-full" style="background-color:var(--c-navy)"></span><span class="block w-full h-[1.5px] origin-center rounded-full"></span></div></button></div></div><div class="min-h-screen bg-canvas"><div class="fixed top-5 left-5 md:left-8 lg:left-14 z-50 flex items-center gap-3" style="opacity:0"><button aria-label="Gå til forsiden" class="text-navy hover:text-amber transition-colors group"><div class="w-12 h-12 rounded-full bg-canvas border border-navy/10 flex items-center justify-center group-hover:bg-navy group-hover:text-white transition-all duration-300 shadow-lg"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg></div></button><button class="flex items-center gap-3 text-navy hover:text-amber transition-colors group"><div class="w-12 h-12 rounded-full bg-canvas border border-navy/10 flex items-center justify-center group-hover:bg-navy group-hover:text-white transition-all duration-300 shadow-lg"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-left"><path d="m12 19-7-7 7-7"></path><path d="M19 12H5"></path></svg></div><span class="hidden md:inline font-mono text-navy" style="font-size:13px;letter-spacing:0.1em">Tilbake</span></button></div><div class="flex items-end gap-4 max-w-[1600px] mx-auto px-6 md:px-12 lg:px-20" style="padding-top:clamp(96px, 9vw, 140px);opacity:0;transform:translateY(-10px)"><img src="https://treeboat.b-cdn.net/logo_blue.png" alt="Risør Trebåtfestival" class="w-auto object-contain shrink-0" style="opacity:0.65;height:clamp(52px, 6vw, 88px)"/><div class="pb-[0.12em]"><p class="font-display text-navy leading-[0.88]" style="font-weight:900;font-size:clamp(20px, 3vw, 44px);letter-spacing:-0.04em">Risør <span class="text-navy">Trebåt</span><span class="text-amber">festival</span></p><p class="font-mono text-navy/35 tracking-[0.18em] uppercase mt-1" style="font-size:clamp(9px, 0.9vw, 12px)">05 Aug — 07 Aug 2027</p></div></div><div class="max-w-[1600px] mx-auto px-6 md:px-12 lg:px-20" style="padding-top:clamp(48px, 6vw, 88px)"><div class="grid grid-cols-1 lg:grid-cols-12 gap-6" style="margin-bottom:clamp(40px, 5vw, 72px)"><div class="lg:col-span-3"><p class="font-mono text-amber tracking-[0.2em] uppercase" style="font-size:var(--fs-label)">05 Aug — 07 Aug</p></div><div class="lg:col-span-7 lg:col-start-5"><h1 class="font-display text-navy leading-[0.88]" style="font-weight:900;
32font-size:var(--fs-page);letter-spacing:-0.04em;opacity:0;transform:translateY(24px)">Program 2027</h1><p class="font-editorial text-navy/60 mt-8 max-w-[520px]" style="font-size:var(--fs-body);line-height:1.65;opacity:0;transform:translateY(14px)">Fra 5. august til 7. august fylles Risør med trebåter, kystkultur, håndverk, aktiviteter på sjøen, underholdning og musikk. Her finner du hele programmet, dag for dag. Trykk på en programpost for mer informasjon.<br/><br/>Programmet oppdateres fortløpende, så stikk gjerne innom igjen for de siste oppdateringene.</p></div></div><div class="h-px bg-navy/6" style="margin-bottom:clamp(40px, 6vw, 80px)"></div><p class="font-mono text-navy/30 text-center" style="font-size:14px;padding:clamp(60px, 10vw, 120px) 0">Laster program…</p><div class="space-y-14 md:space-y-24" style="padding-bottom:clamp(80px, 10vw, 160px)"></div></div><footer id="kontakt" class="px-6 md:px-12 lg:px-20 rounded-t-[var(--r-card)]" style="background-color:var(--c-navy);padding-top:var(--sp-section-lg);padding-bottom:var(--sp-section)"><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-12 gap-10 lg:gap-12 mb-14 md:mb-24"><div class="lg:col-span-5"><h3 class="font-display text-white leading-[0.92] mb-8" style="font-weight:900;font-size:var(--fs-footer-brand);letter-spacing:-0.04em">Risør<br/>Trebåtfestival</h3><p class="font-editorial text-white/60 max-w-[380px]" style="font-size:var(--fs-body);line-height:1.7">En feiring av maritimt håndverk og norsk kystkultur siden 1984. Vi sees i Risør.</p><div class="mt-8 "><div style="width:40px;height:1px;background-color:rgba(255,255,255,0.15);margin-bottom:16px"></div><p class="font-mono text-white/35 uppercase tracking-[0.22em] mb-4" style="font-size:10px">Støttes av</p><div class="flex flex-wrap items-center gap-x-8 gap-y-5"><a href="https://www.spv.no/" target="_blank" rel="noopener noreferrer" class="inline-block opacity-60 hover:opacity-100 transition-opacity duration-300" aria-label="Sparebanken Norge"><img src="data:image/svg+xml,%3c?xml%20version=&#x27;1.0&#x27;%20encoding=&#x27;UTF-8&#x27;?%3e%3csvg%20id=&#x27;Layer_1&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20viewBox=&#x27;0%200%20300%2064&#x27;%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:%23fff;}%3c/style%3e%3c/defs%3e%3cg%20id=&#x27;Layer_1-2&#x27;%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M36.8,27.5c0,16.4-17.6,29.8-36.8,29.8v-25.4c18.9,0,34.3-15.1,34.8-31.2h2v26.8Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M38.9,30.5C38.9,14.1,56.5.7,75.7.7v25.4c-18.9,0-34.3,15.1-34.8,31.2h-2s0-26.8,0-26.8Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M111.7,18.7c0,4.6-3.8,7.8-9.6,7.8s-10.2-2.9-11.1-7.7l4.8-1.5c.7,2.8,2.7,4.9,6.4,4.9s4.6-1.3,4.6-3.1-2.4-2.9-7.1-4c-4.2-1-8-2.8-8-7.3s3.4-7.5,9.4-7.5,9.2,3.2,10.1,7l-4.9,1.5c-.5-2.3-2.4-4.3-5.3-4.3s-4.4,1.4-4.4,2.9c0,2.2,2.2,2.7,6.7,3.7,4.3,1,8.4,2.6,8.4,7.4v.2Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M114,6.7h4.8v3.8h.5c.9-2.4,2.7-4.1,5.8-4.1s7.8,3.4,7.8,10.1-3.8,10.1-8,10.1-4.8-1.7-5.6-4.1h-.5v9.5h-4.8s0-25.3,0-25.3ZM128,16.5c0-3.8-1.7-6.1-4.6-6.1s-4.5,2.4-4.5,6.1,1.6,5.9,4.5,5.9,4.6-2.2,4.6-5.9Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M140.6,26.5c-3.5,0-6.1-2.2-6.1-5.7s2.1-5.3,6.3-6.1l5.7-1.1v-.8c0-1.7-.9-2.8-2.9-2.8s-3.5,1.5-3.9,3.5l-4.6-1.3c1-3.5,4.1-5.8,8.6-5.8s7.6,2.4,7.6,6.6v13.1h-3.7l-.9-3.5h-.5c-.7,2.5-2.7,3.9-5.5,3.9h-.1ZM146.5,18v-1.1l-3.4.6c-2.5.4-3.5,1.3-3.5,2.8s.9,2.3,2.5,2.3c2.3,0,4.4-1.4,4.4-4.7v.1Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M159.2,15.5v10.6h-4.8V6.7h4.8v3.8h.5c.8-2.8,2.6-4,5.4-4h.3v4.7h-1.7c-3.2,0-4.6,1.4-4.6,4.3h.1Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M165.7,16.5c0-6.1,3.9-10.2,9-10.2s8.7,3.6,8.7,10.1v1.1h-12.8c.3,3.6,1.8,5.1,4.3,5.1s3.4-1.3,3.9-3.1l4.6,1.2c-.9,3.6-4.2,5.7-8.4,5.7-6.2,0-9.2-4.4-9.2-10l-.1.1ZM178.6,14.2c-.1-2.5-1.5-4.3-3.8-4.3s-3.7,1.3-4.1,4.3h7.9Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M190.7.7v9.7h.5c.8-2.1,2.5-4.1,5.6-4.1s8,3.6,8,9.7-4,10.4-7.8,10.4-5-1.8-5.8-4.1h-.5v3.8h-4.8V.7h4.8ZM190.7,16.3c0,3.8,1.6,6.1,4.5,6.1s4.6-2.4,4.6-6.1-1.7-5.9-4.6-5.9-4.5,2.2-4.5,5.9Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M212.5,26.5c-3.5,0-6.1-2.2-6.1-5.7s2.1-5.3,6.3-6.1l5.7-1.1v-.8c0-1.7-.9-2.8-2.9-2.8s-3.5,1.5-3.9,3.5l-4.6-1.3c1-3.5,4.1-5.8,8.6-5.8s7.6,2.4,7.6,6.6v13.1h-3.7l-.9-3.5h-.5c-.7,2.5-2.7,3.9-5.5,3.9h-.1ZM218.3,18v-1.1l-3.4.6c-2.5.4-3.5,1.3-3.5,2.8s.9,2.3,2.5,2.3c2.3,0,4.4-1.4,4.4-4.7v.1Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M231,14.6v11.6h-4.8V6.7h4.8v3.5h.5c.9-2.5,3-3.9,5.6-3.9,3.7,0,6,2.7,6,6.7v13.1h-4.8v-12.1c0-2.3-1.1-3.7-3.3-3.7s-4,1.5-4,4.2v.1Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M246.3.7h4.8v13.6h.5c.3-.4.5-.8.8-1.1l5.4-6.5h5.4l-6.8,7.5,7.3,11.9h-5.5l-5-8.4-2.1,2.4v6.1h-4.8V.7Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M262.9,16.5c0-6.1,3.8-10.2,9-10.2s8.7,3.6,8.7,10.1v1.1h-12.8c.3,3.6,1.8,5.1,4.3,5.1s3.4-1.3,3.8-3.1l4.6,1.2c-.9,3.6-4.2,5.7-8.4,5.7-6.2,0-9.2-4.4-9.2-10v.1Z
32M275.9,14.2c-.1-2.5-1.5-4.3-3.8-4.3s-3.7,1.3-4.1,4.3h7.9Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M287.9,14.6v11.6h-4.8V6.7h4.8v3.5h.5c.9-2.5,3-3.9,5.6-3.9,3.7,0,6,2.7,6,6.7v13.1h-4.8v-12.1c0-2.3-1.1-3.7-3.3-3.7s-4,1.5-4,4.2v.1Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M97.7,41.3c-.5-1.1-.8-2-1.1-2.7h-.5v18.7h-4.7v-25.4h6.8l6.9,16c.5,1.1.8,2,1.1,2.7h.5v-18.7h4.7v25.4h-6.6s-7.1-16-7.1-16Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M123.6,37.5c5.7,0,9.5,4,9.5,10.1s-3.7,10.1-9.5,10.1-9.4-4-9.4-10.1,3.7-10.1,9.4-10.1ZM123.6,41.5c-2.9,0-4.4,2.1-4.4,6s1.5,6.1,4.4,6.1,4.4-2.1,4.4-6.1-1.5-6-4.4-6Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M140.4,46.7v10.6h-4.8v-19.4h4.8v3.8h.5c.8-2.8,2.6-4,5.4-4h.3v4.7h-1.7c-3.2,0-4.6,1.4-4.6,4.3h.1Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M147.2,58.5l4.7-1.2c.4,1.9,2.1,2.6,4,2.6,2.8,0,4.7-1.3,4.7-5.4v-2.1h-.5c-.7,2.7-2.7,4-5.4,4-4.1,0-7.7-3.1-7.7-9.4s4.3-9.5,7.9-9.5,4.4,1.7,5.2,4h.5v-3.6h4.8v16.8c0,5-2.8,9-9.5,9s-8.1-2.3-8.7-5.2ZM160.6,47c0-3.4-1.7-5.6-4.1-5.6s-4.5,1.9-4.5,5.6,1.9,5.5,4.5,5.5,4.1-2.1,4.1-5.5Z&#x27;/%3e%3cpath%20class=&#x27;cls-1&#x27;%20d=&#x27;M167.9,47.7c0-6.1,3.9-10.2,9-10.2s8.7,3.6,8.7,10.1v1.1h-12.8c.3,3.6,1.8,5.1,4.3,5.1s3.4-1.3,3.9-3.1l4.6,1.2c-.9,3.6-4.2,5.7-8.4,5.7-6.2,0-9.2-4.4-9.2-10l-.1.1ZM180.8,45.4c-.1-2.5-1.5-4.3-3.8-4.3s-3.7,1.3-4.1,4.3h7.9Z&#x27;/%3e%3c/g%3e%3c/svg%3e" alt="Sparebanken Norge" style="height:36px;width:auto;display:block"/></a><a href="https://agderfk.no/" target="_blank" rel="noopener noreferrer" class="inline-block opacity-60 hover:opacity-100 transition-opacity duration-300" aria-label="Agder fylkeskommune"><img src="/assets/agder_logo_white-BDbRFkDw.png" alt="Agder fylkeskommune" style="height:42px;width:auto;display:block"/></a><a href="https://www.risor.kommune.no/" target="_blank" rel="noopener noreferrer" class="inline-block opacity-60 hover:opacity-100 transition-opacity duration-300" aria-label="Risør kommune"><img src="/assets/risor_logo_white-BlId2blo.png" alt="Risør kommune" style="height:44px;width:auto;display:block"/></a></div><a class="inline-flex items-center gap-2 mt-5 text-white/45 hover:text-white transition-colors group" style="font-family:&#x27;IBM Plex Mono&#x27;, monospace;font-size:11px;letter-spacing:0.06em" href="/sponsorer" data-discover="true">Se alle sponsorer<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right group-hover:translate-x-1 transition-transform duration-300"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div class="lg:col-span-3 lg:col-start-7"><p class="font-mono text-white/45 tracking-[0.2em] uppercase mb-6" style="font-size:var(--fs-label)">Navigasjon</p><ul class="grid grid-cols-2 gap-x-8 gap-y-4"><li><a href="/" class="font-editorial text-white/70 hover:text-white transition-colors inline-flex items-center gap-1.5 " style="font-size:var(--fs-body)">Om festivalen</a></li><li><a href="/program" class="font-editorial text-white/70 hover:text-white transition-colors inline-flex items-center gap-1.5 " style="font-size:var(--fs-body)">Program</a></li><li><a href="/flaten" class="font-editorial text-white/70 hover:text-white transition-colors inline-flex items-center gap-1.5 " style="font-size:var(--fs-body)">FlÃ¥ten</a></li><li><a href="/klubber" class="font-editorial text-white/70 hover:text-white transition-colors inline-flex items-center gap-1.5 " style="font-size:var(--fs-body)">Klubber</a></li><li><a href="/nyheter" class="font-editorial text-white/70 hover:text-white transition-colors inline-flex items-center gap-1.5 " style="font-size:var(--fs-body)">Nyheter</a></li><li><a href="/festivalpass" class="font-editorial text-white/70 hover:text-white transition-colors inline-flex items-center gap-1.5 " style="font-size:var(--fs-body)">Festivalpass</a></li><li><a href="/profil" class="font-editorial text-white/70 hover:text-white transition-colors inline-flex items-center gap-1.5 " style="font-size:var(--fs-body)">Min side</a></li><li><a href="/" class="font-editorial text-white/70 hover:text-white transition-colors inline-flex items-center gap-1.5 " style="font-size:var(--fs-body)">Kontakt</a></li><li><a href="/personvern" class="font-editorial text-white/70 hover:text-white transition-colors inline-flex items-center gap-1.5 " style="font-size:var(--fs-body)">Personvern</a></li><li><a href="https://www.trebatfestivalen.no/nyheter/utstiller" target="_blank" rel="noopener noreferrer" class="font-editorial text-white/70 hover:text-white transition-colors inline-flex items-center gap-1.5 " style="font-size:var(--fs-body)">Utstiller<span class="text-amber/60" style="font-size:0.85em">↗</span></a></li><li><a href="https://www.risorclassic.no" target="_blank" rel="noopener noreferrer" class="font-editorial text-white/70 hover:text-white transition-colors inline-flex items-center gap-1.5 font-bold text-white/90" style="font-size:var(--fs-body)">Risør Classic<span class="text-amber/60" style="font-size:0.85em">↗</span></a></li></ul></div><div class="lg:col-span-3"><p class="font-mono text-white/45 tracking-[0.2em] uppercase mb-6" style="font-size:var(--fs-label)">Kontakt</p><div class="space-y-4"><a href="mailto:[email protected]" class="font-mono text-white/65 hover:text-amber transition-colors" style="font-size:var(--fs-mono-sm)">[email protected]</a><p class="font-mono text-white/65" style="font-size:var(--fs-mono-sm)">+47 95 10 82 19</p><p class="font-editorial text-white/60" style="font-size:18px;line-height:1.6">Risør TrebÃ¥tfestival<br/>Torvet 1<br/>4950 Risør</p></div></div></div><div class="pt-8 flex flex-col md:flex-row justify-between items-start md:items-center gap-4" style="border-top:1px solid rgba(255,255,255,0.08)"><p class="font-mono text-white/30" style="font-size:var(--fs-caption)">© 2027 Risør TrebÃ¥tfestival. Alle rettigheter forbeholdt.</p><div class="flex items-center gap-6"><div class="inline-flex items-center rounded-full" style="border:1px solid rgba(255,255,255,0.12);padding:3px" role="group" aria-label="Valgt sprÃ¥k"><button type="button" aria-label="Valgt sprÃ¥k" aria-pressed="true" class="rounded-full transition-colors" style="font-family:&#x27;IBM Plex Mono&#x27;, monospace;font-size:11px;letter-spacing:0.1em;font-weight:600;padding:6px 14px;color:var(--c-navy);background:var(--c-amber);cursor:default">NO</button><button type="button" aria-label="Bytt til Engelsk" aria-pressed="false" class="rounded-full transition-colors" style="font-family:&#x27;IBM Plex Mono&#x27;, monospace;font-size:11px;letter-spacing:0.1em;font-weight:600;padding:6px 14px;color:rgba(249,247,242,0.45);background:transparent;cursor:pointer">EN</button></div><p class="font-mono text-white/30" style="font-size:var(--fs-caption)">5. august — 7. august 2027</p><button class="flex items-center gap-1.5 font-mono text-white/20 hover:text-white/50 transition-colors" style="font-size:var(--fs-caption)"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg>Admin</button></div></div></footer></div>
32<script>((storageKey2, restoreKey) => {
33    if (!window.history.state || !window.history.state.key) {
34      let key = Math.random().toString(32).slice(2);
35      window.history.replaceState({ key }, "");
36    }
37    try {
38      let positions = JSON.parse(sessionStorage.getItem(storageKey2) || "{}");
39      let storedY = positions[restoreKey || window.history.state.key];
40      if (typeof storedY === "number") {
41        window.scrollTo(0, storedY);
42      }
43    } catch (error) {
44      console.error(error);
45      sessionStorage.removeItem(storageKey2);
46    }
47  })("react-router-scroll-positions", null)</script>
47<link rel="modulepreload" href="/assets/entry.client-8CK_8nLj.js"/><link rel="modulepreload" href="/assets/chunk-LFPYN7LY-DNG8Xu2Q.js"/><link rel="modulepreload" href="/assets/chunk-reload-BmNz_Crh.js"/><link rel="modulepreload" href="/assets/root-ClmEUH-8.js"/><link rel="modulepreload" href="/assets/HydrationDetector-bfeioX_V.js"/><link rel="modulepreload" href="/assets/runtime-CuHvgMqg.js"/><link rel="modulepreload" href="/assets/posthog-C-TaaoIr.js"/><link rel="modulepreload" href="/assets/staticSeed-1vCyCaxP.js"/><link rel="modulepreload" href="/assets/info-B3ea6mh-.js"/><link rel="modulepreload" href="/assets/config-tW6wCOyb.js"/><link rel="modulepreload" href="/assets/Layout-DoT5F6_y.js"/><link rel="modulepreload" href="/assets/router-BueTfPOe.js"/><link rel="modulepreload" href="/assets/LanguageSwitcher-DCoYFhuc.js"/><link rel="modulepreload" href="/assets/index-DjdUYHQf.js"/><link rel="modulepreload" href="/assets/user-CdKXoy8h.js"/><link rel="modulepreload" href="/assets/log-in-BwVzbDWk.js"/><link rel="modulepreload" href="/assets/log-out-DLmvZEhU.js"/><link rel="modulepreload" href="/assets/createLucideIcon-CJZliPnB.js"/><link rel="modulepreload" href="/assets/ProgramPage-D6buXlui.js"/><link rel="modulepreload" href="/assets/BackHomeNav-BRCHs_lS.js"/><link rel="modulepreload" href="/assets/api-C11sfOCq.js"/><link rel="modulepreload" href="/assets/useApi-CLtjNZkG.js"/><link rel="modulepreload" href="/assets/useHead-x3FKRg-8.js"/><link rel="modulepreload" href="/assets/useSafeLoaderData-BIHYwGCu.js"/><link rel="modulepreload" href="/assets/FooterSection-C6n42Y3h.js"/><link rel="modulepreload" href="/assets/clock-DnqBdFKb.js"/><link rel="modulepreload" href="/assets/map-pin-glkti6C8.js"/><link rel="modulepreload" href="/assets/house-qZIQY7Dw.js"/><link rel="modulepreload" href="/assets/arrow-left-B6aKUUz3.js"/><link rel="modulepreload" href="/assets/SBN_Hovedlogo_Hvit-CBI8PYe2.js"/>
47<script>window.__reactRouterContext = {"basename":"/","future":{"unstable_optimizeDeps":false,"unstable_subResourceIntegrity":false,"unstable_trailingSlashAwareDataRequests":false,"unstable_previewServerPrerendering":false,"v8_middleware":false,"v8_splitRouteModules":false,"v8_viteEnvironmentApi":false},"routeDiscovery":{"mode":"lazy","manifestPath":"/__manifest"},"ssr":true,"isSpaMode":false};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script>
47<script type="module" async="">;
48import * as route0 from "/assets/root-ClmEUH-8.js";
49import * as route1 from "/assets/Layout-DoT5F6_y.js";
50import * as route2 from "/assets/ProgramPage-D6buXlui.js";
51  window.__reactRouterManifest = {
52  "entry": {
53    "module": "/assets/entry.client-8CK_8nLj.js",
54    "imports": [
55      "/assets/chunk-LFPYN7LY-DNG8Xu2Q.js",
56      "/assets/chunk-reload-BmNz_Crh.js"
57    ],
58    "css": []
59  },
60  "routes": {
61    "root": {
62      "id": "root",
63      "path": "",
64      "hasAction": false,
65      "hasLoader": false,
66      "hasClientAction": false,
67      "hasClientLoader": false,
68      "hasClientMiddleware": false,
69      "hasDefaultExport": true,
70      "hasErrorBoundary": false,
71      "module": "/assets/root-ClmEUH-8.js",
72      "imports": [
73        "/assets/chunk-LFPYN7LY-DNG8Xu2Q.js",
74        "/assets/chunk-reload-BmNz_Crh.js",
75        "/assets/HydrationDetector-bfeioX_V.js",
76        "/assets/runtime-CuHvgMqg.js",
77        "/assets/posthog-C-TaaoIr.js",
78        "/assets/staticSeed-1vCyCaxP.js",
79        "/assets/info-B3ea6mh-.js",
80        "/assets/config-tW6wCOyb.js"
81      ],
82      "css": [
83        "/assets/root-Crn1yAQT.css"
84      ]
85    },
86    "no/layout": {
87      "id": "no/layout",
88      "parentId": "root",
89      "path": "/",
90      "hasAction": false,
91      "hasLoader": false,
92      "hasClientAction": false,
93      "hasClientLoader": false,
94      "hasClientMiddleware": false,
95      "hasDefaultExport": true,
96      "hasErrorBoundary": false,
97      "module": "/assets/Layout-DoT5F6_y.js",
98      "imports": [
99        "/assets/chunk-LFPYN7LY-DNG8Xu2Q.js",
100        "/assets/router-BueTfPOe.js",
101        "/assets/LanguageSwitcher-DCoYFhuc.js",
102        "/assets/index-DjdUYHQf.js",
103        "/assets/user-CdKXoy8h.js",
104        "/assets/log-in-BwVzbDWk.js",
105        "/assets/log-out-DLmvZEhU.js",
106        "/assets/posthog-C-TaaoIr.js",
107        "/assets/createLucideIcon-CJZliPnB.js",
108        "/assets/config-tW6wCOyb.js",
109        "/assets/chunk-reload-BmNz_Crh.js",
110        "/assets/runtime-CuHvgMqg.js",
111        "/assets/staticSeed-1vCyCaxP.js",
112        "/assets/info-B3ea6mh-.js"
113      ],
114      "css": []
115    },
116    "no/program": {
117      "id": "no/program",
118      "parentId": "no/layout",
119      "path": "program",
120      "hasAction": false,
121      "hasLoader": false,
122      "hasClientAction": false,
123      "hasClientLoader": false,
124      "hasClientMiddleware": false,
125      "hasDefaultExport": true,
126      "hasErrorBoundary": false,
127      "module": "/assets/ProgramPage-D6buXlui.js",
128      "imports": [
129        "/assets/chunk-LFPYN7LY-DNG8Xu2Q.js",
130        "/assets/router-BueTfPOe.js",
131        "/assets/BackHomeNav-BRCHs_lS.js",
132        "/assets/api-C11sfOCq.js",
133        "/assets/useApi-CLtjNZkG.js",
134        "/assets/useHead-x3FKRg-8.js",
135        "/assets/useSafeLoaderData-BIHYwGCu.js",
136        "/assets/FooterSection-C6n42Y3h.js",
137        "/assets/clock-DnqBdFKb.js",
138        "/assets/map-pin-glkti6C8.js",
139        "/assets/LanguageSwitcher-DCoYFhuc.js",
140        "/assets/config-tW6wCOyb.js",
141        "/assets/chunk-reload-BmNz_Crh.js",
142        "/assets/house-qZIQY7Dw.js",
143        "/assets/createLucideIcon-CJZliPnB.js",
144        "/assets/arrow-left-B6aKUUz3.js",
145        "/assets/info-B3ea6mh-.js",
146        "/assets/SBN_Hovedlogo_Hvit-CBI8PYe2.js",
147        "/assets/runtime-CuHvgMqg.js",
148        "/assets/staticSeed-1vCyCaxP.js"
149      ],
150      "css": []
151    },
152    "no/_index": {
153      "id": "no/_index",
154      "parentId": "no/layout",
155      "index": true,
156      "hasAction": false,
157      "hasLoader": false,
158      "hasClientAction": false,
159      "hasClientLoader": false,
160      "hasClientMiddleware": false,
161      "hasDefaultExport": true,
162      "hasErrorBoundary": false,
163      "module": "/assets/HomePage-BTqNcqAG.js",
164      "imports": [
165        "/assets/preload-helper-ckwbz45p.js",
166        "/assets/chunk-LFPYN7LY-DNG8Xu2Q.js",
167        "/assets/api-C11sfOCq.js",
168        "/assets/useApi-CLtjNZkG.js",
169        "/assets/useHead-x3FKRg-8.js",
170        "/assets/useSafeLoaderData-BIHYwGCu.js",
171        "/assets/router-BueTfPOe.js",
172        "/assets/ParallaxImage-WJ6OUc1P.js",
173        "/assets/SafeMotion-CrwPl34j.js",
174        "/assets/FooterSection-C6n42Y3h.js",
175        "/assets/chevron-right-B4tsGuIQ.js",
176        "/assets/index-DjdUYHQf.js",
177        "/assets/LanguageSwitcher-DCoYFhuc.js",
178        "/assets/arrow-left-B6aKUUz3.js",
179        "/assets/SBN_Hovedlogo_Hvit-CBI8PYe2.js",
180        "/assets/arrow-up-right-NsOTCZXX.js",
181        "/assets/circle-check-HczbNxRI.js",
182        "/assets/info-B3ea6mh-.js",
183        "/assets/config-tW6wCOyb.js",
184        "/assets/chunk-reload-BmNz_Crh.js",
185        "/assets/HydrationDetector-bfeioX_V.js",
186        "/assets/createLucideIcon-CJZliPnB.js",
187        "/assets/runtime-CuHvgMqg.js",
188        "/assets/staticSeed-1vCyCaxP.js"
189      ],
190      "css": []
191    }
192  },
193  "url": "/assets/manifest-1b74082c.js",
194  "version": "1b74082c"
195};
196  window.__reactRouterRouteModules = {"root":route0,"no/layout":route1,"no/program":route2};
197
198import("/assets/entry.client-8CK_8nLj.js");</script>
198</body></html><!--$-->
198<script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_3\":-5,\"_4\":-5},\"loaderData\",{},\"actionData\",\"errors\"]\n");</script>
198<!--$-->
198<script>window.__reactRouterContext.streamController.close();</script>
198<!--/$--><!--/$-->

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.