{"id":108,"date":"2022-04-22T05:55:38","date_gmt":"2022-04-22T02:55:38","guid":{"rendered":"https:\/\/www.saaristonpuoti.fi\/?page_id=108"},"modified":"2026-07-10T14:35:45","modified_gmt":"2026-07-10T11:35:45","slug":"tapahtumat","status":"publish","type":"page","link":"https:\/\/www.saaristonpuoti.fi\/en\/events\/","title":{"rendered":"Events"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"108\" class=\"elementor elementor-108\">\n\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b5f1a03 e-container--column e-container\" data-id=\"b5f1a03\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\t\t\t\t<div class=\"elementor-element elementor-element-cbbce8d elementor-widget elementor-widget-html\" data-id=\"cbbce8d\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\n<section class=\"pl-festari-wrap\" data-product-id=\"42592\">\n  <a class=\"pl-festari\" href=\"\/ostoskori\/?add-to-cart=42592\" aria-label=\"Add Puoti LIVE Festaripass 2026 to your shopping cart\">\n    <div class=\"pl-festari-text\">\n      <div class=\"pl-festari-kicker\">Festival Pass - Puoti LIVE! 2026<\/div>\n      <h2 class=\"pl-festari-title\">All summer long <em>festivals!<\/em><\/h2>\n      <p class=\"pl-festari-punch\">All summer Puoti LIVE! shows with one ticket.<\/p>\n      <p class=\"pl-festari-sub\">Jukka Poika - J&amp;LO - Laura Voutilainen - Movetron - Tuure Kilpel\u00e4inen - HUGO - Hurma - Olli Halonen<\/p>\n      <p class=\"pl-festari-save\">Save over \u20ac70 compared to buying tickets separately.<\/p>\n      <div class=\"pl-festari-action\">\n        <span class=\"pl-festari-cta\">Buy Festival Pass 99 \u20ac<\/span>\n        <span class=\"pl-festari-stock\" id=\"pl-festari-stock\">Limited edition<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"pl-festari-art\" aria-hidden=\"true\">\n      <img decoding=\"async\" class=\"pl-festari-poster\" src=\"https:\/\/www.saaristonpuoti.fi\/live\/puoti-artists\/lineup-poster.jpg\" alt=\"\" loading=\"lazy\" \/>\n    <\/div>\n  <\/a>\n<\/section>\n\n<style>\n  \/* Scoped under .pl-festari* \u2014 delete to remove banner *\/\n  \/* Self-load League Spartan + Inter so the snippet looks right standalone too;\n     no-op cost on saaristonpuoti.fi where the theme already loads them. *\/\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;500;600;700;800&family=League+Spartan:wght@400;500;600;700;800;900&display=swap');\n  .pl-festari-wrap { margin: 0 0 32px 0 !important; }\n\n  \/* Match the same visual language as .oma-live-card on \/tapahtumat *\/\n  .pl-festari-wrap .pl-festari {\n    display: grid !important;\n    grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr) !important;\n    gap: 0 !important;\n    background: #f04d4c !important;\n    color: #fff !important;\n    border-radius: 18px !important;\n    overflow: hidden !important;\n    text-decoration: none !important;\n    border: 1px solid rgba(12,12,12,.08) !important;\n    box-shadow: 0 10px 26px rgba(12,12,12,.08) !important;\n    transition: transform 0.18s ease, box-shadow 0.18s ease !important;\n    align-items: stretch !important;\n  }\n  .pl-festari-wrap .pl-festari:hover,\n  .pl-festari-wrap .pl-festari:focus-visible {\n    transform: translateY(-2px) !important;\n    box-shadow: 0 22px 52px -20px rgba(192, 40, 38, 0.7), 0 4px 10px rgba(0,0,0,0.12) !important;\n    outline: none !important;\n  }\n\n  .pl-festari-wrap .pl-festari-text {\n    padding: 28px 28px 24px !important;\n    display: flex !important;\n    flex-direction: column !important;\n    justify-content: center !important;\n    gap: 0 !important;\n  }\n\n  \/* Kicker \u2014 League Spartan 800, uppercase, 0.08em tracking *\/\n  .pl-festari-wrap .pl-festari-kicker {\n    font-family: 'League Spartan', system-ui, -apple-system, sans-serif !important;\n    font-size: 12px !important;\n    font-weight: 800 !important;\n    letter-spacing: 0.08em !important;\n    text-transform: uppercase !important;\n    opacity: 1 !important;\n    margin: 0 0 12px 0 !important;\n    color: #fff !important;\n    line-height: 1.2 !important;\n  }\n\n  \/* Title \u2014 beats theme h2 (Spartan 600\/16px) *\/\n  h2.pl-festari-title,\n  .pl-festari-wrap h2.pl-festari-title,\n  .pl-festari-wrap .pl-festari-title {\n    font-family: 'League Spartan', system-ui, -apple-system, sans-serif !important;\n    font-size: clamp(1.6rem, 2.6vw, 2.4rem) !important;\n    line-height: 0.95 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    font-weight: 900 !important;\n    letter-spacing: -0.01em !important;\n    color: #fff !important;\n    text-transform: none !important;\n  }\n  .pl-festari-wrap .pl-festari-title em {\n    font-style: normal !important;\n    background: rgba(255,255,255,0.16) !important;\n    padding: 0 0.12em !important;\n    border-radius: 3px !important;\n    white-space: nowrap !important;\n    color: #fff !important;\n    font-weight: inherit !important;\n  }\n\n  .pl-festari-wrap .pl-festari-punch {\n    margin: 10px 0 10px 0 !important;\n    padding: 0 !important;\n    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;\n    font-size: clamp(0.98rem, 1.3vw, 1.12rem) !important;\n    line-height: 1.4 !important;\n    font-weight: 600 !important;\n    opacity: 1 !important;\n    color: #fff !important;\n    text-transform: none !important;\n    letter-spacing: 0 !important;\n  }\n  .pl-festari-wrap .pl-festari-sub {\n    margin: 2px 0 4px 0 !important;\n    padding: 0 !important;\n    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;\n    font-size: 0.86rem !important;\n    line-height: 1.5 !important;\n    font-weight: 400 !important;\n    opacity: 0.85 !important;\n    color: #fff !important;\n    text-transform: none !important;\n    letter-spacing: 0 !important;\n  }\n  .pl-festari-wrap .pl-festari-save {\n    margin: 6px 0 16px 0 !important;\n    padding: 0 !important;\n    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;\n    font-size: 0.92rem !important;\n    line-height: 1.4 !important;\n    font-weight: 600 !important;\n    color: #fff !important;\n    opacity: 1 !important;\n    text-transform: none !important;\n    letter-spacing: 0 !important;\n  }\n\n  \/* CTA + stock counter \u2014 stock OUTSIDE the pill so it never wraps inside *\/\n  .pl-festari-wrap .pl-festari-action {\n    display: flex !important;\n    flex-direction: column !important;\n    align-items: flex-start !important;\n    gap: 10px !important;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n  .pl-festari-wrap .pl-festari-cta {\n    display: inline-block !important;\n    background: #fff !important;\n    color: #c1272d !important;\n    border-radius: 999px !important;\n    padding: 13px 26px !important;\n    font-family: 'League Spartan', system-ui, -apple-system, sans-serif !important;\n    font-weight: 800 !important;\n    font-size: 1rem !important;\n    letter-spacing: 0.02em !important;\n    text-transform: none !important;\n    box-shadow: 0 6px 16px rgba(12,12,12,0.15) !important;\n    white-space: nowrap !important;\n    line-height: 1.2 !important;\n  }\n  .pl-festari-wrap .pl-festari-stock {\n    font-family: 'League Spartan', system-ui, -apple-system, sans-serif !important;\n    font-size: 12px !important;\n    font-weight: 800 !important;\n    letter-spacing: 0.08em !important;\n    text-transform: uppercase !important;\n    color: rgba(255,255,255,0.95) !important;\n    padding: 0 0 0 4px !important;\n    margin: 0 !important;\n    line-height: 1.2 !important;\n    opacity: 1 !important;\n  }\n  .pl-festari-wrap .pl-festari-stock.is-low { color: #ffd84a !important; }\n  .pl-festari-wrap .pl-festari-stock.is-low::before { content: '\u26a1 '; }\n  .pl-festari-wrap .pl-festari-stock.is-sold-out { color: #ffd0d0 !important; }\n\n  \/* ART column \u2014 same red as banner so the seam blends *\/\n  .pl-festari-wrap .pl-festari-art {\n    background: #f04d4c !important;\n    display: flex !important;\n    align-items: stretch !important;\n    justify-content: center !important;\n    overflow: hidden !important;\n    position: relative !important;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n  .pl-festari-wrap .pl-festari-poster {\n    width: 100% !important;\n    height: 100% !important;\n    object-fit: cover !important;\n    object-position: center 30% !important;\n    display: block !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    border: 0 !important;\n    max-width: none !important;\n  }\n  .pl-festari-wrap .pl-festari-art::before {\n    content: '';\n    position: absolute;\n    inset: 0;\n    background: linear-gradient(to left, rgba(241,77,76,0) 0%, rgba(241,77,76,0.2) 100%);\n    pointer-events: none;\n  }\n\n  \/* Mobile \/ narrow Elementor column \u2014 stack with poster on top *\/\n  @media (max-width: 900px) {\n    .pl-festari-wrap .pl-festari { grid-template-columns: 1fr !important; }\n    .pl-festari-wrap .pl-festari-text { padding: 26px 22px 24px !important; order: 2 !important; }\n    .pl-festari-wrap .pl-festari-art {\n      order: 1 !important;\n      aspect-ratio: 905 \/ 1090 !important;  \/* crops logo+QR strip at the bottom *\/\n      max-height: 60vh !important;\n      position: relative !important;\n    }\n    .pl-festari-wrap .pl-festari-art::after {\n      content: '';\n      position: absolute;\n      left: 0; right: 0; bottom: 0;\n      height: 40px;\n      background: linear-gradient(to bottom, rgba(241,77,76,0) 0%, #f04d4c 100%);\n      pointer-events: none;\n    }\n    .pl-festari-wrap .pl-festari-poster {\n      object-position: center top !important;\n    }\n  }\n  @media (max-width: 480px) {\n    .pl-festari-wrap .pl-festari-text { padding: 22px 18px 22px !important; }\n    .pl-festari-wrap .pl-festari-action { gap: 8px !important; }\n    h2.pl-festari-title,\n    .pl-festari-wrap h2.pl-festari-title,\n    .pl-festari-wrap .pl-festari-title {\n      font-size: clamp(1.5rem, 7vw, 1.9rem) !important;\n    }\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .pl-festari-wrap .pl-festari { transition: none !important; }\n    .pl-festari-wrap .pl-festari:hover,\n    .pl-festari-wrap .pl-festari:focus-visible { transform: none !important; }\n  }\n<\/style>\n\n<script>\n(function () {\n  var wrap = document.querySelector('.pl-festari-wrap');\n  if (!wrap) return;\n  var stockEl = wrap.querySelector('#pl-festari-stock');\n  var ctaEl = wrap.querySelector('.pl-festari-cta');\n  if (!stockEl) return;\n\n  var productId = wrap.getAttribute('data-product-id') || '42592';\n  \/\/ Absolute URL so the snippet also works in standalone previews on serve.lasse.dev.\n  \/\/ WC Store API has CORS open for serve.lasse.dev; on saaristonpuoti.fi it's same-origin.\n  var url = 'https:\/\/www.saaristonpuoti.fi\/wp-json\/wc\/store\/v1\/products\/' + productId + '?_t=' + Date.now();\n\n  fetch(url, { credentials: 'omit' })\n    .then(function (r) { return r.ok ? r.json() : Promise.reject(r.status); })\n    .then(function (p) {\n      var remaining = (p && typeof p.low_stock_remaining === 'number') ? p.low_stock_remaining\n                    : (p && typeof p.stock_quantity === 'number') ? p.stock_quantity\n                    : null;\n      var inStock = p && p.is_in_stock;\n      var purchasable = p && p.is_purchasable;\n      if (!inStock || !purchasable || remaining === 0) {\n        stockEl.classList.add('is-sold-out');\n        stockEl.textContent = 'Loppuunmyyty';\n        if (ctaEl) ctaEl.textContent = 'Loppuunmyyty';\n        return;\n      }\n      if (remaining === null) {\n        stockEl.textContent = 'Rajoitettu er\u00e4';\n      } else if (remaining <= 5) {\n        stockEl.classList.add('is-low');\n        stockEl.textContent = 'Vain ' + remaining + ' j\u00e4ljell\u00e4!';\n      } else if (remaining <= 15) {\n        stockEl.classList.add('is-low');\n        stockEl.textContent = 'Vain ' + remaining + ' j\u00e4ljell\u00e4';\n      } else if (remaining <= 30) {\n        stockEl.textContent = remaining + ' kpl j\u00e4ljell\u00e4';\n      } else {\n        stockEl.textContent = remaining + ' kpl saatavilla';\n      }\n    })\n    .catch(function () { \/* keep static fallback *\/ });\n})();\n<\/script>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-737c929 elementor-widget elementor-widget-html\" data-id=\"737c929\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<!-- WP-BLOCK-START -->\r\n<script defer src=\"https:\/\/stats.puoti.link\/script.js\" data-website-id=\"zVJ6cRgH5\"><\/script>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=League+Spartan:wght@400;600;700;800;900&family=Roboto:wght@300;400;500;700&display=swap\">\r\n\r\n<style>\r\n .pl26-page{background:var(--cream,#f7ebdf);padding:1.5rem 1rem 2.5rem;border-radius:0;font-family:'Roboto',system-ui,sans-serif}\r\n @media (min-width:560px){.pl26-page{padding:2.5rem 1.5rem;border-radius:18px}}\r\n .pl26-page .pl26-hero{text-align:center;max-width:720px;margin:0 auto 1.5rem}\r\n .pl26-page .pl26-hero h1{font-family:'League Spartan',sans-serif;font-size:1.9rem;font-weight:800;letter-spacing:-.02em;line-height:1;margin:0 0 .5rem;color:#1a1a1a}\r\n @media (min-width:560px){.pl26-page .pl26-hero h1{font-size:2.6rem;letter-spacing:-.025em}}\r\n .pl26-page .pl26-hero p{font-size:.95rem;color:#7a7a7a;line-height:1.55;margin:0}\r\n .pl26-page .oma-live-section{display:grid;grid-template-columns:1fr;gap:14px;max-width:1240px;margin:0 auto;align-items:start}\r\n @media (min-width:560px){.pl26-page .oma-live-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}\r\n @media (min-width:900px){.pl26-page .oma-live-section{grid-template-columns:repeat(3,minmax(0,1fr))}}\r\n @media (min-width:1200px){.pl26-page .oma-live-section{grid-template-columns:repeat(4,minmax(0,1fr))}}\r\n .pl26-page .oma-live-card{margin-bottom:0;background:#fff;border-radius:18px;overflow:hidden;border:1px solid rgba(12,12,12,.08);box-shadow:0 10px 26px rgba(12,12,12,.08);display:flex;flex-direction:column}\r\n .pl26-page .oma-live-img{display:block;width:100%;aspect-ratio:210\/297;background-size:cover;background-position:center;background-color:#1a1a1a;text-decoration:none;position:relative;overflow:hidden}\r\n .pl26-page .oma-live-body{padding:14px;display:flex;flex-direction:column;gap:6px}\r\n .pl26-page .oma-live-kicker{display:flex;align-items:center;justify-content:space-between;gap:.5rem}\r\n .pl26-page .oma-live-label{font-family:'League Spartan',sans-serif;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#f04d4c}\r\n .pl26-page .oma-live-tag{display:inline-flex;padding:5px 8px;border-radius:6px;background:#f04d4c;color:#fff;font-family:'League Spartan',sans-serif;font-size:10px;font-weight:800;line-height:1;letter-spacing:.06em;text-transform:uppercase}\r\n .pl26-page .oma-live-card h3{font-family:'League Spartan','Bebas Neue',Impact,system-ui,sans-serif;font-size:24px;line-height:.95;font-weight:900;letter-spacing:-.01em;margin:2px 0 0;color:#1a1a1a;text-transform:none}\r\n .pl26-page .oma-live-card h3 a{color:inherit;text-decoration:none}\r\n .pl26-page .pl26-meta{font-size:.82rem;color:#7a7a7a;margin:.2rem 0 0;font-family:'Roboto',sans-serif}\r\n .pl26-page .oma-live-price{font-family:'League Spartan',sans-serif;font-weight:800;color:#f04d4c;font-size:1rem;margin:.2rem 0}\r\n .pl26-page .oma-ticket-details{margin:0;order:1;border-top:none}\r\n .pl26-page .oma-ticket-details summary{list-style:none;cursor:pointer;margin:0 14px 4px;padding:14px 16px;min-height:48px;background:#f04d4c;color:#fff;border:1.5px solid #f04d4c;border-radius:10px;font-family:'League Spartan',sans-serif;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s ease}\r\n .pl26-page .oma-ticket-details summary:hover{background:#d83e3d;border-color:#d83e3d}\r\n .pl26-page .oma-ticket-details summary::-webkit-details-marker{display:none}\r\n .pl26-page .oma-ticket-details summary:before{content:'\ud83c\udfab';margin-right:2px}\r\n .pl26-page .oma-ticket-details summary:after{content:'+';font-size:22px;line-height:1;margin-left:auto;font-weight:600}\r\n .pl26-page .oma-ticket-details[open] summary:after{content:'\u2212'}\r\n .pl26-page .oma-ticket-panel{display:grid;gap:10px;padding:6px 14px 14px}\r\n .pl26-page .oma-package-list{display:grid;gap:9px}\r\n .pl26-page .pl26-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;font-family:'League Spartan',sans-serif;font-size:13px;font-weight:800;padding:13px 16px;border-radius:10px;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;text-align:center;line-height:1;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;cursor:pointer}\r\n .pl26-page button.pl26-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-family:'League Spartan',sans-serif;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;outline:0}\r\n .pl26-page a.pl26-btn-primary,.pl26-page button.pl26-btn-primary{background:#f04d4c;color:#fff;border:1.5px solid #f04d4c}\r\n .pl26-page a.pl26-btn-primary:hover,.pl26-page button.pl26-btn-primary:hover{background:#d83e3d;color:#fff;border-color:#d83e3d;box-shadow:0 6px 16px rgba(216,62,61,.28);transform:translateY(-1px);text-decoration:none}\r\n .pl26-page a.pl26-btn-soft,.pl26-page button.pl26-btn-soft{background:#fff;color:#f04d4c;border:1.5px solid rgba(240,77,76,.35)}\r\n .pl26-page a.pl26-btn-soft:hover,.pl26-page button.pl26-btn-soft:hover{background:#f04d4c;color:#fff;border-color:#f04d4c;box-shadow:0 6px 16px rgba(216,62,61,.22);transform:translateY(-1px);text-decoration:none}\r\n .pl26-page .pl26-btn span{flex:1;text-align:left}\r\n .pl26-page .pl26-btn b{font-size:16px}\r\n .pl26-page .pl26-eer{display:block;border-radius:10px;overflow:hidden;line-height:0;text-decoration:none}\r\n .pl26-page .pl26-eer img{display:block;width:100%;height:auto;border-radius:10px}\r\n .pl26-page .pl26-eer:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(31,37,69,.22);transition:transform .15s ease, box-shadow .15s ease;}\r\n .pl26-page .pl26-cal{display:flex;justify-content:center;padding:4px 14px 12px;order:2}\r\n .pl26-page .pl26-cal a{display:inline-flex;align-items:center;gap:5px;text-decoration:none;color:#7a7a7a;font-family:'Roboto',sans-serif;font-size:.78rem;font-weight:500;padding:6px 10px;background:transparent;border:0;transition:color .15s ease}\r\n .pl26-page .pl26-cal a:hover{color:#f04d4c}\r\n .pl26-page .pl26-note{font-size:.75rem;color:#7a7a7a;text-align:center;margin:0;font-family:'Roboto',sans-serif}\r\n .pl26-page .pl26-info-wrap{display:flex;padding:0 14px 10px;order:0}\r\n .pl26-page .pl26-info-wrap .pl26-btn{width:100%;min-height:42px}\r\n .pl26-page .oma-live-card.is-archived{opacity:.78}\r\n .pl26-page .oma-live-card.is-archived .oma-ticket-details{display:none}\r\n .pl26-page .oma-live-card.is-archived .oma-live-img:after{content:'Mennyt keikka';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(12,12,12,.46);color:#fff;font-family:'League Spartan',sans-serif;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}\r\n .pl26-page .pl26-archive-section{display:none;max-width:1240px;margin:2.2rem auto 0}\r\n .pl26-page .pl26-archive-section.is-visible{display:block}\r\n .pl26-page .pl26-archive-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:0 0 .85rem}\r\n .pl26-page .pl26-archive-head h2{font-family:'League Spartan',sans-serif;font-size:1.5rem;line-height:1;margin:0;color:#1a1a1a}\r\n .pl26-page .pl26-archive-head p{font-size:.82rem;color:#7a7a7a;margin:.2rem 0 0}\r\n .pl26-modal-overlay{position:fixed;inset:0;z-index:99999;display:none;align-items:flex-end;justify-content:center;background:rgba(12,12,12,.58);backdrop-filter:blur(2px);padding:0}\r\n .pl26-modal-overlay.is-open{display:flex}\r\n .pl26-modal{width:100%;max-width:580px;max-height:92vh;overflow:auto;background:#f7ebdf;border-radius:20px 20px 0 0;position:relative;box-shadow:0 -10px 40px rgba(0,0,0,.34);font-family:'Roboto',system-ui,sans-serif}\r\n .pl26-modal-img{display:block;width:100%;aspect-ratio:16\/9;object-fit:cover;background:#eaded0}\r\n .pl26-modal-body{padding:18px 20px 24px}\r\n .pl26-modal-kicker{font-family:'League Spartan',sans-serif;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#f04d4c}\r\n .pl26-modal-title{font-family:'League Spartan',sans-serif;font-size:30px;font-weight:900;line-height:.95;letter-spacing:-.02em;color:#1a1a1a;margin:5px 0 10px}\r\n .pl26-modal-meta{display:grid;gap:4px;margin:0 0 14px;color:#4b4037;font-size:14px}\r\n .pl26-modal-meta b{color:#7a7a7a;margin-right:5px}\r\n .pl26-modal-desc{font-size:15px;line-height:1.55;color:#3a2f25}\r\n .pl26-modal-desc p{margin:0 0 10px}\r\n .pl26-modal-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}\r\n .pl26-modal-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:999px;background:rgba(12,12,12,.6);color:#fff;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}\r\n @media (min-width:620px){.pl26-modal-overlay{align-items:center;padding:20px}.pl26-modal{border-radius:20px}}\r\n<\/style>\r\n\r\n<div class=\"pl26-page\">\r\n<script type=\"text\/javascript\" src=\"https:\/\/widgets.bokun.io\/assets\/javascripts\/apps\/build\/BokunWidgetsLoader.js?bookingChannelUUID=16636f67-7269-4387-bf31-3af308292416\" async><\/script>\r\n\r\n <header class=\"pl26-hero\">\r\n <h1>Shop LIVE! summer 2026<\/h1>\r\n <p>Eight unforgettable Puoti LIVE! evenings in Tutjunniemi, Lipari Archipelago.<br>Take the Puoti LIVE! cruise or the gig bus to the gig.<\/p>\r\n <\/header>\r\n\r\n <section class=\"oma-live-section\">\r\n\r\n <!-- 1. JUKKA POIKA \u2014 la 13.6.2026 -->\r\n <article class=\"oma-live-card\" id=\"jukka-poika\" data-event-date=\"2026-06-13\">\r\n <a class=\"oma-live-img\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42517\" style=\"background-image:url('https:\/\/www.saaristonpuoti.fi\/live\/puoti-artists\/jukka-poika.jpg')\" aria-label=\"Jukka Poika\"><\/a>\r\n <div class=\"oma-live-body\">\r\n <div class=\"oma-live-kicker\"><span class=\"oma-live-label\">Shop LIVE<\/span><\/div>\r\n <h3><a href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42517\">Jukka Poika<\/a><\/h3>\r\n <p class=\"pl26-meta\">Sat 13.6.2026 - Showtime 22:00* - Saariston Puoti<\/p>\r\n <p class=\"oma-live-price\">from 19 \u20ac<\/p>\r\n <\/div>\r\n <details class=\"oma-ticket-details\">\r\n <summary>Choose tickets<\/summary>\r\n <div class=\"oma-ticket-panel\">\r\n <div class=\"oma-package-list\">\r\n <a class=\"pl26-btn pl26-btn-primary\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42517\"><span>\ud83c\udfab Buy ticket<\/span><b>\u2192<\/b><\/a>\r\n    <a class=\"pl26-eer\" href=\"https:\/\/www.lippu.fi\/artist\/puoti-live\/puoti-live-jukka-poika-13-6-2026-4173271\/?affiliate=EER\" target=\"_blank\" rel=\"noopener\" aria-label=\"Pay for a &#039;Jukka Poika&#039; ticket using your culture voucher (Edenred \/ ePassi \/ Smartum)\">\r\n     <img decoding=\"async\" src=\"https:\/\/www.lippu.fi\/obj\/media\/FI-eventim\/teaser\/EER-affiliate\/Edenred-Smartum_Frosmo-banneri_mob.png\" alt=\"Edenred \u00b7 epassi \u00b7 smartum \u2014 pay with your culture voucher\">\r\n    <\/a>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224819\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224819?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\udea2 Puoti LIVE cruise<\/span><b>\u2192<\/b><\/button>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224841\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224841?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\ude8c Tour bus<\/span><b>\u2192<\/b><\/button>\r\n <\/div>\r\n <\/div>\r\n <\/details>\r\n <div class=\"pl26-cal\">\r\n <a href=\"https:\/\/kalenteri.puoti.link\/e\/zstg8xl-td\" target=\"_blank\" rel=\"noopener\">\ud83d\udcc5 Add to calendar<\/a>\r\n <\/div>\r\n <script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@type\": \"Event\",\n    \"name\": \"Puoti LIVE! - Jukka Poika 13.6.2026\",\n    \"startDate\": \"2026-06-13T22:00:00+03:00\",\n    \"endDate\": \"2026-06-14T02:00:00+03:00\",\n    \"eventStatus\": \"https:\\\/\\\/schema.org\\\/EventScheduled\",\n    \"eventAttendanceMode\": \"https:\\\/\\\/schema.org\\\/OfflineEventAttendanceMode\",\n    \"description\": \"Puoti LIVE! -kes\\u00e4 starttaa la 13.6.2026, kun Jukka Poika astuu Saariston Puodin lavalle. Rennon letke\\u00e4\\u00e4 reggae-tunnelmaa Liperin Tutjunniemess\\u00e4.\",\n    \"image\": [\n        \"https:\\\/\\\/www.saaristonpuoti.fi\\\/live\\\/puoti-artists\\\/jukka-poika.jpg\"\n    ],\n    \"location\": {\n        \"@type\": \"Place\",\n        \"name\": \"Saariston Puoti\",\n        \"address\": {\n            \"@type\": \"PostalAddress\",\n            \"streetAddress\": \"Saaristotie 25\",\n            \"addressLocality\": \"Liperi\",\n            \"postalCode\": \"83160\",\n            \"addressRegion\": \"Pohjois-Karjala\",\n            \"addressCountry\": \"FI\"\n        },\n        \"geo\": {\n            \"@type\": \"GeoCoordinates\",\n            \"latitude\": 62.43582,\n            \"longitude\": 29.630451\n        }\n    },\n    \"performer\": [\n        {\n            \"@type\": \"MusicGroup\",\n            \"name\": \"Jukka Poika\"\n        }\n    ],\n    \"organizer\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Saariston Puoti \\\/ \\u00c4mmykk\\u00e4 Oy\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\"\n    },\n    \"offers\": {\n        \"@type\": \"Offer\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42517\",\n        \"price\": \"19\",\n        \"priceCurrency\": \"EUR\",\n        \"availability\": \"https:\\\/\\\/schema.org\\\/InStock\",\n        \"validFrom\": \"2026-06-04T22:00:00+03:00\"\n    }\n}<\/script>\r\n <\/article>\r\n\r\n <!-- 2. JL&O \u2013 LAASONEN & OSCU \u2014 pe 19.6.2026 -->\r\n <article class=\"oma-live-card\" id=\"jlo\" data-event-date=\"2026-06-19\">\r\n <a class=\"oma-live-img\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42519\" style=\"background-image:url(&#039;https:\/\/www.saaristonpuoti.fi\/live\/puoti-artists\/jlo.jpg&#039;)\" aria-label=\"JL&amp;O \u2013 Laasonen &amp; Oscu\"><\/a>\r\n <div class=\"oma-live-body\">\r\n <div class=\"oma-live-kicker\"><span class=\"oma-live-label\">Shop LIVE<\/span><span class=\"oma-live-tag\">Midsummer Eve<\/span><\/div>\r\n <h3><a href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42519\">JL&amp;O \u2013 Laasonen &amp; Oscu<\/a><\/h3>\r\n <p class=\"pl26-meta\">Fri 19 June 2026 \u00b7 Showtime 20:00* \u00b7 Saariston Puoti<\/p>\r\n <p class=\"oma-live-price\">Free admission<\/p>\r\n <\/div>\r\n <details class=\"oma-ticket-details\">\r\n <summary>Choose tickets<\/summary>\r\n <div class=\"oma-ticket-panel\">\r\n <div class=\"oma-package-list\">\r\n <div class=\"pl26-free-badge\" style=\"display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:#fff5f4;border:1px dashed #f04d4c;border-radius:14px;color:#0c0c0c;font-weight:700;font-size:.95rem;letter-spacing:.02em;\">\ud83c\udf89 Free admission<\/div>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224845\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224845?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\udea2 Midsummer cruise<\/span><b>\u2192<\/b><\/button>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224846\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224846?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\ude8c Tour bus<\/span><b>\u2192<\/b><\/button>\r\n <\/div>\r\n <\/div>\r\n <\/details>\r\n <div class=\"pl26-cal\">\r\n <a href=\"https:\/\/kalenteri.puoti.link\/e\/asxc570rkl\" target=\"_blank\" rel=\"noopener\">\ud83d\udcc5 Add to calendar<\/a>\r\n <\/div>\r\n <script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@type\": \"Event\",\n    \"name\": \"Puoti LIVE! - JL&O \\u2013 Laasonen & Oscu 19.6.2026\",\n    \"startDate\": \"2026-06-19T20:00:00+03:00\",\n    \"endDate\": \"2026-06-20T02:00:00+03:00\",\n    \"eventStatus\": \"https:\\\/\\\/schema.org\\\/EventScheduled\",\n    \"eventAttendanceMode\": \"https:\\\/\\\/schema.org\\\/OfflineEventAttendanceMode\",\n    \"description\": \"Juhannusaattona pe 19.6.2026 \\u2014 Jouni Laasonen & Oscu (JL&O) Saariston Puodilla. Tapahtumaan on vapaa p\\u00e4\\u00e4sy!\",\n    \"image\": [\n        \"https:\\\/\\\/www.saaristonpuoti.fi\\\/live\\\/puoti-artists\\\/jlo.jpg\"\n    ],\n    \"location\": {\n        \"@type\": \"Place\",\n        \"name\": \"Saariston Puoti\",\n        \"address\": {\n            \"@type\": \"PostalAddress\",\n            \"streetAddress\": \"Saaristotie 25\",\n            \"addressLocality\": \"Liperi\",\n            \"postalCode\": \"83160\",\n            \"addressRegion\": \"Pohjois-Karjala\",\n            \"addressCountry\": \"FI\"\n        },\n        \"geo\": {\n            \"@type\": \"GeoCoordinates\",\n            \"latitude\": 62.43582,\n            \"longitude\": 29.630451\n        }\n    },\n    \"performer\": [\n        {\n            \"@type\": \"MusicGroup\",\n            \"name\": \"Jouni Laasonen\"\n        },\n        {\n            \"@type\": \"MusicGroup\",\n            \"name\": \"Oscu\"\n        }\n    ],\n    \"organizer\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Saariston Puoti \\\/ \\u00c4mmykk\\u00e4 Oy\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\"\n    },\n    \"offers\": {\n        \"@type\": \"Offer\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42519\",\n        \"price\": \"0\",\n        \"priceCurrency\": \"EUR\",\n        \"availability\": \"https:\\\/\\\/schema.org\\\/InStock\",\n        \"validFrom\": \"2026-06-04T22:00:00+03:00\"\n    }\n}<\/script>\r\n <\/article>\r\n\r\n <!-- 3. LAURA VOUTILAINEN \u2014 la 20.6.2026 -->\r\n <article class=\"oma-live-card\" id=\"laura-voutilainen\" data-event-date=\"2026-06-20\">\r\n <a class=\"oma-live-img\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42521\" style=\"background-image:url(&#039;https:\/\/www.saaristonpuoti.fi\/live\/puoti-artists\/laura.jpg&#039;)\" aria-label=\"Laura Voutilainen\"><\/a>\r\n <div class=\"oma-live-body\">\r\n <div class=\"oma-live-kicker\"><span class=\"oma-live-label\">Shop LIVE<\/span><span class=\"oma-live-tag\">Midsummer Day<\/span><\/div>\r\n <h3><a href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42521\">Laura Voutilainen<\/a><\/h3>\r\n <p class=\"pl26-meta\">Sat 20.6.2026 - Showtime 22:00* - Saariston Puoti<\/p>\r\n <p class=\"oma-live-price\">from 29 \u20ac<\/p>\r\n <\/div>\r\n <details class=\"oma-ticket-details\">\r\n <summary>Choose tickets<\/summary>\r\n <div class=\"oma-ticket-panel\">\r\n <div class=\"oma-package-list\">\r\n <a class=\"pl26-btn pl26-btn-primary\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42521\"><span>\ud83c\udfab Buy ticket<\/span><b>\u2192<\/b><\/a>\r\n    <a class=\"pl26-eer\" href=\"https:\/\/www.lippu.fi\/artist\/puoti-live\/puoti-live-laura-20-6-2026-4173284\/?affiliate=EER\" target=\"_blank\" rel=\"noopener\" aria-label=\"Pay for a Laura Voutilainen ticket using your culture voucher (Edenred \/ ePassi \/ Smartum)\">\r\n     <img decoding=\"async\" src=\"https:\/\/www.lippu.fi\/obj\/media\/FI-eventim\/teaser\/EER-affiliate\/Edenred-Smartum_Frosmo-banneri_mob.png\" alt=\"Edenred \u00b7 epassi \u00b7 smartum \u2014 pay with your culture voucher\">\r\n    <\/a>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224843\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224843?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\udea2 Midsummer cruise<\/span><b>\u2192<\/b><\/button>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224847\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224847?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\ude8c Tour bus<\/span><b>\u2192<\/b><\/button>\r\n <\/div>\r\n <\/div>\r\n <\/details>\r\n <div class=\"pl26-cal\">\r\n <a href=\"https:\/\/kalenteri.puoti.link\/e\/6v-j2ar09p\" target=\"_blank\" rel=\"noopener\">\ud83d\udcc5 Add to calendar<\/a>\r\n <\/div>\r\n <script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@type\": \"Event\",\n    \"name\": \"Puoti LIVE! - Laura Voutilainen 20.6.2026\",\n    \"startDate\": \"2026-06-20T22:00:00+03:00\",\n    \"endDate\": \"2026-06-21T02:00:00+03:00\",\n    \"eventStatus\": \"https:\\\/\\\/schema.org\\\/EventScheduled\",\n    \"eventAttendanceMode\": \"https:\\\/\\\/schema.org\\\/OfflineEventAttendanceMode\",\n    \"description\": \"Puodin juhannusjuhlat jatkuvat lauantaina 20.6. Puoti LIVE! Laura Voutilainen - Suomi-iskelm\\u00e4n legenda ja iskelm\\u00e4klassikot Liperin Tutjunniemess\\u00e4.\",\n    \"image\": [\n        \"https:\\\/\\\/www.saaristonpuoti.fi\\\/live\\\/puoti-artists\\\/laura.jpg\"\n    ],\n    \"location\": {\n        \"@type\": \"Place\",\n        \"name\": \"Saariston Puoti\",\n        \"address\": {\n            \"@type\": \"PostalAddress\",\n            \"streetAddress\": \"Saaristotie 25\",\n            \"addressLocality\": \"Liperi\",\n            \"postalCode\": \"83160\",\n            \"addressRegion\": \"Pohjois-Karjala\",\n            \"addressCountry\": \"FI\"\n        },\n        \"geo\": {\n            \"@type\": \"GeoCoordinates\",\n            \"latitude\": 62.43582,\n            \"longitude\": 29.630451\n        }\n    },\n    \"performer\": [\n        {\n            \"@type\": \"MusicGroup\",\n            \"name\": \"Laura Voutilainen\"\n        }\n    ],\n    \"organizer\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Saariston Puoti \\\/ \\u00c4mmykk\\u00e4 Oy\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\"\n    },\n    \"offers\": {\n        \"@type\": \"Offer\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42521\",\n        \"price\": \"29\",\n        \"priceCurrency\": \"EUR\",\n        \"availability\": \"https:\\\/\\\/schema.org\\\/InStock\",\n        \"validFrom\": \"2026-06-04T22:00:00+03:00\"\n    }\n}<\/script>\r\n <\/article>\r\n\r\n <!-- 4. MOVETRON \u2014 la 11.7.2026 -->\r\n <article class=\"oma-live-card\" id=\"movetron\" data-event-date=\"2026-07-11\">\r\n <a class=\"oma-live-img\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42523\" style=\"background-image:url(&#039;https:\/\/www.saaristonpuoti.fi\/live\/puoti-artists\/movetron.jpg&#039;)\" aria-label=\"Movetron\"><\/a>\r\n <div class=\"oma-live-body\">\r\n <div class=\"oma-live-kicker\"><span class=\"oma-live-label\">Shop LIVE<\/span><\/div>\r\n <h3><a href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42523\">Movetron<\/a><\/h3>\r\n <p class=\"pl26-meta\">Sat 11 July 2026 \u00b7 Showtime <b>22:30*<\/b> \u00b7 Saariston Puoti<\/p>\r\n <p class=\"oma-live-price\">from \u20ac25<\/p>\r\n <\/div>\r\n <details class=\"oma-ticket-details\">\r\n <summary>Choose tickets<\/summary>\r\n <div class=\"oma-ticket-panel\">\r\n <div class=\"oma-package-list\">\r\n <a class=\"pl26-btn pl26-btn-primary\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42523\"><span>\ud83c\udfab Buy ticket<\/span><b>\u2192<\/b><\/a>\r\n    <a class=\"pl26-eer\" href=\"https:\/\/www.lippu.fi\/artist\/puoti-live\/puoti-live-movetron-11-7-2026-4173285\/?affiliate=EER\" target=\"_blank\" rel=\"noopener\" aria-label=\"Pay for your Movetron ticket using your culture voucher (Edenred \/ ePassi \/ Smartum)\">\r\n     <img decoding=\"async\" src=\"https:\/\/www.lippu.fi\/obj\/media\/FI-eventim\/teaser\/EER-affiliate\/Edenred-Smartum_Frosmo-banneri_mob.png\" alt=\"Edenred \u00b7 epassi \u00b7 smartum \u2014 pay with your culture voucher\">\r\n    <\/a>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224848\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224848?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\udea2 Puoti LIVE cruise<\/span><b>\u2192<\/b><\/button>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224849\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224849?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\ude8c Tour bus<\/span><b>\u2192<\/b><\/button>\r\n <\/div>\r\n <\/div>\r\n <\/details>\r\n <div class=\"pl26-cal\">\r\n <a href=\"https:\/\/kalenteri.puoti.link\/e\/riwduuf7pa\" target=\"_blank\" rel=\"noopener\">\ud83d\udcc5 Add to calendar<\/a>\r\n <\/div>\r\n <script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@type\": \"Event\",\n    \"name\": \"Puoti LIVE! - Movetron 11.7.2026\",\n    \"startDate\": \"2026-07-11T22:00:00+03:00\",\n    \"endDate\": \"2026-07-12T02:00:00+03:00\",\n    \"eventStatus\": \"https:\\\/\\\/schema.org\\\/EventScheduled\",\n    \"eventAttendanceMode\": \"https:\\\/\\\/schema.org\\\/OfflineEventAttendanceMode\",\n    \"description\": \"Ys\\u00e4ri kestosuosikki Movetron palaa Saariston Puodille la 11.7.2026. Ys\\u00e4rihittej\\u00e4, biisej\\u00e4 ja kes\\u00e4n kovimmat ys\\u00e4ribileet!\",\n    \"image\": [\n        \"https:\\\/\\\/www.saaristonpuoti.fi\\\/live\\\/puoti-artists\\\/movetron.jpg\"\n    ],\n    \"location\": {\n        \"@type\": \"Place\",\n        \"name\": \"Saariston Puoti\",\n        \"address\": {\n            \"@type\": \"PostalAddress\",\n            \"streetAddress\": \"Saaristotie 25\",\n            \"addressLocality\": \"Liperi\",\n            \"postalCode\": \"83160\",\n            \"addressRegion\": \"Pohjois-Karjala\",\n            \"addressCountry\": \"FI\"\n        },\n        \"geo\": {\n            \"@type\": \"GeoCoordinates\",\n            \"latitude\": 62.43582,\n            \"longitude\": 29.630451\n        }\n    },\n    \"performer\": [\n        {\n            \"@type\": \"MusicGroup\",\n            \"name\": \"Movetron\"\n        }\n    ],\n    \"organizer\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Saariston Puoti \\\/ \\u00c4mmykk\\u00e4 Oy\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\"\n    },\n    \"offers\": {\n        \"@type\": \"Offer\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42523\",\n        \"price\": \"25\",\n        \"priceCurrency\": \"EUR\",\n        \"availability\": \"https:\\\/\\\/schema.org\\\/InStock\",\n        \"validFrom\": \"2026-06-04T22:00:00+03:00\"\n    }\n}<\/script>\r\n <\/article>\r\n\r\n <!-- 5. TUURE KILPEL\u00c4INEN \u2014 la 25.7.2026 -->\r\n <article class=\"oma-live-card\" id=\"tuure-kilpelainen\" data-event-date=\"2026-07-25\">\r\n <a class=\"oma-live-img\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42525\" style=\"background-image:url(&#039;https:\/\/www.saaristonpuoti.fi\/live\/puoti-artists\/tuure-kilpelainen.jpg&#039;)\" aria-label=\"Tuure Kilpel\u00e4inen\"><\/a>\r\n <div class=\"oma-live-body\">\r\n <div class=\"oma-live-kicker\"><span class=\"oma-live-label\">Shop LIVE<\/span><\/div>\r\n <h3><a href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42525\">Tuure Kilpel\u00e4inen<\/a><\/h3>\r\n <p class=\"pl26-meta\">Sat 25.7.2026 - Showtime 22:00* - Saariston Puoti<\/p>\r\n <p class=\"oma-live-price\">from 29 \u20ac<\/p>\r\n <\/div>\r\n <details class=\"oma-ticket-details\">\r\n <summary>Choose tickets<\/summary>\r\n <div class=\"oma-ticket-panel\">\r\n <div class=\"oma-package-list\">\r\n <a class=\"pl26-btn pl26-btn-primary\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42525\"><span>\ud83c\udfab Buy ticket<\/span><b>\u2192<\/b><\/a>\r\n    <a class=\"pl26-eer\" href=\"https:\/\/www.lippu.fi\/artist\/puoti-live\/puoti-live-tuure-25-7-2026-4173286\/?affiliate=EER\" target=\"_blank\" rel=\"noopener\" aria-label=\"Pay for a Tuure Kilpel\u00e4inen ticket using your culture voucher (Edenred \/ ePassi \/ Smartum)\">\r\n     <img decoding=\"async\" src=\"https:\/\/www.lippu.fi\/obj\/media\/FI-eventim\/teaser\/EER-affiliate\/Edenred-Smartum_Frosmo-banneri_mob.png\" alt=\"Edenred \u00b7 epassi \u00b7 smartum \u2014 pay with your culture voucher\">\r\n    <\/a>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224850\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224850?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\udea2 Puoti LIVE cruise<\/span><b>\u2192<\/b><\/button>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224851\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224851?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\ude8c Tour bus<\/span><b>\u2192<\/b><\/button>\r\n <\/div>\r\n <\/div>\r\n <\/details>\r\n <div class=\"pl26-cal\">\r\n <a href=\"https:\/\/kalenteri.puoti.link\/e\/_f2gehimp1\" target=\"_blank\" rel=\"noopener\">\ud83d\udcc5 Add to calendar<\/a>\r\n <\/div>\r\n <script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@type\": \"Event\",\n    \"name\": \"Puoti LIVE! - Tuure Kilpel\\u00e4inen 25.7.2026\",\n    \"startDate\": \"2026-07-25T22:00:00+03:00\",\n    \"endDate\": \"2026-07-26T02:00:00+03:00\",\n    \"eventStatus\": \"https:\\\/\\\/schema.org\\\/EventScheduled\",\n    \"eventAttendanceMode\": \"https:\\\/\\\/schema.org\\\/OfflineEventAttendanceMode\",\n    \"description\": \"Tuure Kilpel\\u00e4inen astuu Saariston Puodin lavalle la 25.7.2026. Sanan ja s\\u00e4velt\\u00e4misen mestari, kaihoa ja kotimaista poprockia Pyh\\u00e4sel\\u00e4n rannalla.\",\n    \"image\": [\n        \"https:\\\/\\\/www.saaristonpuoti.fi\\\/live\\\/puoti-artists\\\/tuure-kilpelainen.jpg\"\n    ],\n    \"location\": {\n        \"@type\": \"Place\",\n        \"name\": \"Saariston Puoti\",\n        \"address\": {\n            \"@type\": \"PostalAddress\",\n            \"streetAddress\": \"Saaristotie 25\",\n            \"addressLocality\": \"Liperi\",\n            \"postalCode\": \"83160\",\n            \"addressRegion\": \"Pohjois-Karjala\",\n            \"addressCountry\": \"FI\"\n        },\n        \"geo\": {\n            \"@type\": \"GeoCoordinates\",\n            \"latitude\": 62.43582,\n            \"longitude\": 29.630451\n        }\n    },\n    \"performer\": [\n        {\n            \"@type\": \"MusicGroup\",\n            \"name\": \"Tuure Kilpel\\u00e4inen\"\n        }\n    ],\n    \"organizer\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Saariston Puoti \\\/ \\u00c4mmykk\\u00e4 Oy\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\"\n    },\n    \"offers\": {\n        \"@type\": \"Offer\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42525\",\n        \"price\": \"29\",\n        \"priceCurrency\": \"EUR\",\n        \"availability\": \"https:\\\/\\\/schema.org\\\/InStock\",\n        \"validFrom\": \"2026-06-04T22:00:00+03:00\"\n    }\n}<\/script>\r\n <\/article>\r\n\r\n <!-- 6. HUGO \u2014 la 8.8.2026 -->\r\n <article class=\"oma-live-card\" id=\"hugo\" data-event-date=\"2026-08-08\">\r\n <a class=\"oma-live-img\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42527\" style=\"background-image:url(&#039;https:\/\/www.saaristonpuoti.fi\/live\/puoti-artists\/hugo.jpg&#039;)\" aria-label=\"HUGO\"><\/a>\r\n <div class=\"oma-live-body\">\r\n <div class=\"oma-live-kicker\"><span class=\"oma-live-label\">Shop LIVE<\/span><\/div>\r\n <h3><a href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42527\">HUGO<\/a><\/h3>\r\n <p class=\"pl26-meta\">Sat 8.8.2026 - Showtime 22:00* - Saariston Puoti<\/p>\r\n <p class=\"oma-live-price\">from 19 \u20ac<\/p>\r\n <\/div>\r\n <details class=\"oma-ticket-details\">\r\n <summary>Choose tickets<\/summary>\r\n <div class=\"oma-ticket-panel\">\r\n <div class=\"oma-package-list\">\r\n <a class=\"pl26-btn pl26-btn-primary\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42527\"><span>\ud83c\udfab Buy ticket<\/span><b>\u2192<\/b><\/a>\r\n    <a class=\"pl26-eer\" href=\"https:\/\/www.lippu.fi\/artist\/puoti-live\/puoti-live-hugo-8-8-2026-4173287\/?affiliate=EER\" target=\"_blank\" rel=\"noopener\" aria-label=\"Pay for your HUGO ticket using your culture voucher (Edenred \/ ePassi \/ Smartum)\">\r\n     <img decoding=\"async\" src=\"https:\/\/www.lippu.fi\/obj\/media\/FI-eventim\/teaser\/EER-affiliate\/Edenred-Smartum_Frosmo-banneri_mob.png\" alt=\"Edenred \u00b7 epassi \u00b7 smartum \u2014 pay with your culture voucher\">\r\n    <\/a>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224852\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224852?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\udea2 Puoti LIVE cruise<\/span><b>\u2192<\/b><\/button>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224853\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224853?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\ude8c Tour bus<\/span><b>\u2192<\/b><\/button>\r\n <\/div>\r\n <\/div>\r\n <\/details>\r\n <div class=\"pl26-cal\">\r\n <a href=\"https:\/\/kalenteri.puoti.link\/e\/rwpcpy3s7w\" target=\"_blank\" rel=\"noopener\">\ud83d\udcc5 Add to calendar<\/a>\r\n <\/div>\r\n <script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@type\": \"Event\",\n    \"name\": \"Puoti LIVE! - HUGO 8.8.2026\",\n    \"startDate\": \"2026-08-08T22:00:00+03:00\",\n    \"endDate\": \"2026-08-09T02:00:00+03:00\",\n    \"eventStatus\": \"https:\\\/\\\/schema.org\\\/EventScheduled\",\n    \"eventAttendanceMode\": \"https:\\\/\\\/schema.org\\\/OfflineEventAttendanceMode\",\n    \"description\": \"Puoti LIVE! Back2School tapahtuman p\\u00e4\\u00e4artisti HUGO nousee Saariston Puodin lavalle lauantaina 8.8.2026.\",\n    \"image\": [\n        \"https:\\\/\\\/www.saaristonpuoti.fi\\\/live\\\/puoti-artists\\\/hugo.jpg\"\n    ],\n    \"location\": {\n        \"@type\": \"Place\",\n        \"name\": \"Saariston Puoti\",\n        \"address\": {\n            \"@type\": \"PostalAddress\",\n            \"streetAddress\": \"Saaristotie 25\",\n            \"addressLocality\": \"Liperi\",\n            \"postalCode\": \"83160\",\n            \"addressRegion\": \"Pohjois-Karjala\",\n            \"addressCountry\": \"FI\"\n        },\n        \"geo\": {\n            \"@type\": \"GeoCoordinates\",\n            \"latitude\": 62.43582,\n            \"longitude\": 29.630451\n        }\n    },\n    \"performer\": [\n        {\n            \"@type\": \"MusicGroup\",\n            \"name\": \"HUGO\"\n        }\n    ],\n    \"organizer\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Saariston Puoti \\\/ \\u00c4mmykk\\u00e4 Oy\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\"\n    },\n    \"offers\": {\n        \"@type\": \"Offer\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42527\",\n        \"price\": \"19\",\n        \"priceCurrency\": \"EUR\",\n        \"availability\": \"https:\\\/\\\/schema.org\\\/InStock\",\n        \"validFrom\": \"2026-06-04T22:00:00+03:00\"\n    }\n}<\/script>\r\n <\/article>\r\n\r\n <!-- 7. HURMA \u2014 pe 28.8.2026 -->\r\n <article class=\"oma-live-card\" id=\"hurma\" data-event-date=\"2026-08-28\">\r\n <a class=\"oma-live-img\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42529\" style=\"background-image:url(&#039;https:\/\/www.saaristonpuoti.fi\/live\/puoti-artists\/hurma.jpg&#039;)\" aria-label=\"Hurma\"><\/a>\r\n <div class=\"oma-live-body\">\r\n <div class=\"oma-live-kicker\"><span class=\"oma-live-label\">Shop LIVE<\/span><\/div>\r\n <h3><a href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42529\">Hurma<\/a><\/h3>\r\n <p class=\"pl26-meta\">Fri 28.8.2026 - Showtime 22:00* - Saariston Puoti<\/p>\r\n <p class=\"oma-live-price\">from 19 \u20ac<\/p>\r\n <\/div>\r\n <details class=\"oma-ticket-details\">\r\n <summary>Choose tickets<\/summary>\r\n <div class=\"oma-ticket-panel\">\r\n <div class=\"oma-package-list\">\r\n <a class=\"pl26-btn pl26-btn-primary\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42529\"><span>\ud83c\udfab Buy ticket<\/span><b>\u2192<\/b><\/a>\r\n    <a class=\"pl26-eer\" href=\"https:\/\/www.lippu.fi\/artist\/puoti-live\/puoti-live-hurma-28-8-2026-4173288\/?affiliate=EER\" target=\"_blank\" rel=\"noopener\" aria-label=\"Pay for a Hurma ticket using your culture voucher (Edenred \/ ePassi \/ Smartum)\">\r\n     <img decoding=\"async\" src=\"https:\/\/www.lippu.fi\/obj\/media\/FI-eventim\/teaser\/EER-affiliate\/Edenred-Smartum_Frosmo-banneri_mob.png\" alt=\"Edenred \u00b7 epassi \u00b7 smartum \u2014 pay with your culture voucher\">\r\n    <\/a>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224854\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224854?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\udea2 Puoti LIVE cruise<\/span><b>\u2192<\/b><\/button>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224855\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224855?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\ude8c Tour bus<\/span><b>\u2192<\/b><\/button>\r\n <\/div>\r\n <\/div>\r\n <\/details>\r\n <div class=\"pl26-cal\">\r\n <a href=\"https:\/\/kalenteri.puoti.link\/e\/ejlu0tf9dq\" target=\"_blank\" rel=\"noopener\">\ud83d\udcc5 Add to calendar<\/a>\r\n <\/div>\r\n <script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@type\": \"Event\",\n    \"name\": \"Puoti LIVE! - Hurma 28.8.2026\",\n    \"startDate\": \"2026-08-28T22:00:00+03:00\",\n    \"endDate\": \"2026-08-29T02:00:00+03:00\",\n    \"eventStatus\": \"https:\\\/\\\/schema.org\\\/EventScheduled\",\n    \"eventAttendanceMode\": \"https:\\\/\\\/schema.org\\\/OfflineEventAttendanceMode\",\n    \"description\": \"Puoti LIVE! pe 28.8.2026: Hurma tanssittaa Saariston Puodin lavalla.\",\n    \"image\": [\n        \"https:\\\/\\\/www.saaristonpuoti.fi\\\/live\\\/puoti-artists\\\/hurma.jpg\"\n    ],\n    \"location\": {\n        \"@type\": \"Place\",\n        \"name\": \"Saariston Puoti\",\n        \"address\": {\n            \"@type\": \"PostalAddress\",\n            \"streetAddress\": \"Saaristotie 25\",\n            \"addressLocality\": \"Liperi\",\n            \"postalCode\": \"83160\",\n            \"addressRegion\": \"Pohjois-Karjala\",\n            \"addressCountry\": \"FI\"\n        },\n        \"geo\": {\n            \"@type\": \"GeoCoordinates\",\n            \"latitude\": 62.43582,\n            \"longitude\": 29.630451\n        }\n    },\n    \"performer\": [\n        {\n            \"@type\": \"MusicGroup\",\n            \"name\": \"Hurma\"\n        }\n    ],\n    \"organizer\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Saariston Puoti \\\/ \\u00c4mmykk\\u00e4 Oy\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\"\n    },\n    \"offers\": {\n        \"@type\": \"Offer\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42529\",\n        \"price\": \"19\",\n        \"priceCurrency\": \"EUR\",\n        \"availability\": \"https:\\\/\\\/schema.org\\\/InStock\",\n        \"validFrom\": \"2026-06-04T22:00:00+03:00\"\n    }\n}<\/script>\r\n <\/article>\r\n\r\n <!-- 8. OLLI HALONEN \u2014 la 29.8.2026 -->\r\n <article class=\"oma-live-card\" id=\"olli-halonen\" data-event-date=\"2026-08-29\">\r\n <a class=\"oma-live-img\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42531\" style=\"background-image:url(&#039;https:\/\/www.saaristonpuoti.fi\/live\/puoti-artists\/olli-halonen.jpg&#039;)\" aria-label=\"Olli Halonen\"><\/a>\r\n <div class=\"oma-live-body\">\r\n <div class=\"oma-live-kicker\"><span class=\"oma-live-label\">Shop LIVE<\/span><span class=\"oma-live-tag\">End of the season<\/span><\/div>\r\n <h3><a href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42531\">Olli Halonen<\/a><\/h3>\r\n <p class=\"pl26-meta\">Sat 29.8.2026 - Showtime 22:00* - Saariston Puoti<\/p>\r\n <p class=\"oma-live-price\">from 29 \u20ac<\/p>\r\n <\/div>\r\n <details class=\"oma-ticket-details\">\r\n <summary>Choose tickets<\/summary>\r\n <div class=\"oma-ticket-panel\">\r\n <div class=\"oma-package-list\">\r\n <a class=\"pl26-btn pl26-btn-primary\" href=\"https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42531\"><span>\ud83c\udfab Buy ticket<\/span><b>\u2192<\/b><\/a>\r\n    <a class=\"pl26-eer\" href=\"https:\/\/www.lippu.fi\/artist\/puoti-live\/puoti-live-olli-halonen-29-8-2026-4173289\/?affiliate=EER\" target=\"_blank\" rel=\"noopener\" aria-label=\"Pay for an Olli Halonen ticket using a culture voucher (Edenred \/ ePassi \/ Smartum)\">\r\n     <img decoding=\"async\" src=\"https:\/\/www.lippu.fi\/obj\/media\/FI-eventim\/teaser\/EER-affiliate\/Edenred-Smartum_Frosmo-banneri_mob.png\" alt=\"Edenred \u00b7 epassi \u00b7 smartum \u2014 pay with your culture voucher\">\r\n    <\/a>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224856\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224856?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\udea2 Puoti LIVE cruise<\/span><b>\u2192<\/b><\/button>\r\n <button class=\"pl26-btn pl26-btn-soft bokunButton\" id=\"bokun_exp_1224857\" data-src=\"https:\/\/widgets.bokun.io\/online-sales\/16636f67-7269-4387-bf31-3af308292416\/experience\/1224857?partialView=1\" data-testid=\"widget-book-button\"><span>\ud83d\ude8c Tour bus<\/span><b>\u2192<\/b><\/button>\r\n <\/div>\r\n <\/div>\r\n <\/details>\r\n <div class=\"pl26-cal\">\r\n <a href=\"https:\/\/kalenteri.puoti.link\/e\/wtjlyvumcr\" target=\"_blank\" rel=\"noopener\">\ud83d\udcc5 Add to calendar<\/a>\r\n <\/div>\r\n <script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@type\": \"Event\",\n    \"name\": \"Puoti LIVE! - Olli Halonen 29.8.2026\",\n    \"startDate\": \"2026-08-29T22:00:00+03:00\",\n    \"endDate\": \"2026-08-30T02:00:00+03:00\",\n    \"eventStatus\": \"https:\\\/\\\/schema.org\\\/EventScheduled\",\n    \"eventAttendanceMode\": \"https:\\\/\\\/schema.org\\\/OfflineEventAttendanceMode\",\n    \"description\": \"Puoti LIVE! -kes\\u00e4n p\\u00e4\\u00e4tt\\u00e4\\u00e4 Olli Halonen Saariston Puodin Venetsialaisissa. Tunnelmaa, ilta t\\u00e4ynn\\u00e4 hittej\\u00e4 ja luvassa my\\u00f6s upea ilotulitusn\\u00e4yt\\u00f6s!\",\n    \"image\": [\n        \"https:\\\/\\\/www.saaristonpuoti.fi\\\/live\\\/puoti-artists\\\/olli-halonen.jpg\"\n    ],\n    \"location\": {\n        \"@type\": \"Place\",\n        \"name\": \"Saariston Puoti\",\n        \"address\": {\n            \"@type\": \"PostalAddress\",\n            \"streetAddress\": \"Saaristotie 25\",\n            \"addressLocality\": \"Liperi\",\n            \"postalCode\": \"83160\",\n            \"addressRegion\": \"Pohjois-Karjala\",\n            \"addressCountry\": \"FI\"\n        },\n        \"geo\": {\n            \"@type\": \"GeoCoordinates\",\n            \"latitude\": 62.43582,\n            \"longitude\": 29.630451\n        }\n    },\n    \"performer\": [\n        {\n            \"@type\": \"MusicGroup\",\n            \"name\": \"Olli Halonen\"\n        }\n    ],\n    \"organizer\": {\n        \"@type\": \"Organization\",\n        \"name\": \"Saariston Puoti \\\/ \\u00c4mmykk\\u00e4 Oy\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\"\n    },\n    \"offers\": {\n        \"@type\": \"Offer\",\n        \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42531\",\n        \"price\": \"29\",\n        \"priceCurrency\": \"EUR\",\n        \"availability\": \"https:\\\/\\\/schema.org\\\/InStock\",\n        \"validFrom\": \"2026-06-04T22:00:00+03:00\"\n    }\n}<\/script>\r\n <\/article>\r\n\r\n <\/section>\r\n\r\n <section class=\"pl26-archive-section\" id=\"pl26-archive-section\" aria-label=\"Past gigs\">\r\n <div class=\"pl26-archive-head\">\r\n <div>\r\n <span class=\"oma-live-label\">Archive<\/span>\r\n <h2>Past gigs<\/h2>\r\n <p>Past Puoti LIVE! evenings will remain on the page as a record and for search engines.<\/p>\r\n <\/div>\r\n <\/div>\r\n <div class=\"oma-live-section\" id=\"pl26-archive-grid\"><\/div>\r\n <\/section>\r\n\r\n <p class=\"pl26-note\" style=\"text-align:center;margin:1.25rem auto 0;color:#9a9a9a;font-size:.78rem;max-width:680px\">* Showtime starts at 22:00. Schedule subject to change.<\/p>\r\n\r\n <p class=\"pl26-empty\" id=\"pl26-empty\" style=\"display:none;text-align:center;margin:2rem auto;color:#7a7a7a;font-size:.95rem\">The season is over - thank you for summer 2026! \ud83c\udf05<br><small>See you next summer.<\/small><\/p>\r\n\r\n<\/div>\r\n\r\n<div class=\"pl26-modal-overlay\" id=\"pl26-info-modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"pl26-modal-title\">\r\n <div class=\"pl26-modal\">\r\n <button class=\"pl26-modal-close\" type=\"button\" aria-label=\"Close\" id=\"pl26-modal-close\">\u00d7<\/button>\r\n <div id=\"pl26-modal-content\"><\/div>\r\n <\/div>\r\n<\/div>\r\n\r\n<script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@type\": \"ItemList\",\n    \"name\": \"Puoti LIVE! 2026 \\u2014 Saariston Puoti, Liperi\",\n    \"itemListElement\": [\n        {\n            \"@type\": \"ListItem\",\n            \"position\": 1,\n            \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42517\",\n            \"name\": \"Jukka Poika 13.6.2026\"\n        },\n        {\n            \"@type\": \"ListItem\",\n            \"position\": 2,\n            \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42519\",\n            \"name\": \"JL&O \\u2013 Laasonen & Oscu 19.6.2026\"\n        },\n        {\n            \"@type\": \"ListItem\",\n            \"position\": 3,\n            \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42521\",\n            \"name\": \"Laura Voutilainen 20.6.2026\"\n        },\n        {\n            \"@type\": \"ListItem\",\n            \"position\": 4,\n            \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42523\",\n            \"name\": \"Movetron 11.7.2026\"\n        },\n        {\n            \"@type\": \"ListItem\",\n            \"position\": 5,\n            \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42525\",\n            \"name\": \"Tuure Kilpel\\u00e4inen 25.7.2026\"\n        },\n        {\n            \"@type\": \"ListItem\",\n            \"position\": 6,\n            \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42527\",\n            \"name\": \"HUGO 8.8.2026\"\n        },\n        {\n            \"@type\": \"ListItem\",\n            \"position\": 7,\n            \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42529\",\n            \"name\": \"Hurma 28.8.2026\"\n        },\n        {\n            \"@type\": \"ListItem\",\n            \"position\": 8,\n            \"url\": \"https:\\\/\\\/www.saaristonpuoti.fi\\\/ostoskori\\\/?add-to-cart=42531\",\n            \"name\": \"Olli Halonen 29.8.2026\"\n        }\n    ]\n}<\/script>\r\n\r\n<script>\r\n(function(){\r\n var cutoff = Date.now() - 24*60*60*1000;\r\n var pastCount = 0, totalCount = 0;\r\n var info = {\r\n 'jukka-poika': {\r\n desc: 'Puoti LIVE! -kes\u00e4 starttaa, kun Jukka Poika astuu Saariston Puodin lavalle. Rennon letke\u00e4\u00e4 reggae-tunnelmaa Liperin Tutjunniemess\u00e4.',\r\n tags: 'Reggae \u00b7 Pop',\r\n ticket: 'https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42517'\r\n },\r\n 'jlo': {\r\n desc: 'Juhannusaattona pe 19.6.2026 \u2014 Jouni Laasonen & Oscu (JL&O) Saariston Puodilla! Tapahtumaan on vapaa p\u00e4\u00e4sy!',\r\n tags: 'Pop \u00b7 Iskelm\u00e4 \u00b7 Juhannus',\r\n ticket: 'https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42519'\r\n },\r\n 'laura-voutilainen': {\r\n desc: 'Puodin juhannusjuhlat jatkuvat lauantaina 20.6. Puoti LIVE! Laura Voutilainen - Suomi-iskelm\u00e4n legenda ja iskelm\u00e4klassikot Liperin Tutjunniemess\u00e4.',\r\n tags: 'Pop \u00b7 Iskelm\u00e4',\r\n ticket: 'https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42521'\r\n },\r\n 'movetron': {\r\n desc: 'Ys\u00e4ri kestosuosikki Movetron palaa Saariston Puodille la 11.7.2026. Ys\u00e4rihittej\u00e4, biisej\u00e4 ja kes\u00e4n kovimmat ys\u00e4ribileet!',\r\n tags: 'Eurodance \u00b7 Pop',\r\n ticket: 'https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42523'\r\n },\r\n 'tuure-kilpelainen': {\r\n desc: 'Tuure Kilpel\u00e4inen astuu Saariston Puodin lavalle la 25.7.2026. Sanan ja s\u00e4velt\u00e4misen mestari, kaihoa ja kotimaista poprockia Pyh\u00e4sel\u00e4n rannalla.',\r\n tags: 'Rock \u00b7 Pop',\r\n ticket: 'https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42525'\r\n },\r\n 'hugo': {\r\n desc: 'Puoti LIVE! Back2School tapahtuman p\u00e4\u00e4artisti HUGO nousee Saariston Puodin lavalle lauantaina 8.8.2026.',\r\n tags: 'Pop \u00b7 R&B',\r\n ticket: 'https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42527'\r\n },\r\n 'hurma': {\r\n desc: 'Puoti LIVE! pe 28.8.2026: Hurma tanssittaa Saariston Puodin lavalla.',\r\n tags: 'Iskelm\u00e4 \u00b7 Tanssi',\r\n ticket: 'https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42529'\r\n },\r\n 'olli-halonen': {\r\n desc: 'Puoti LIVE! -kes\u00e4n p\u00e4\u00e4tt\u00e4\u00e4 Olli Halonen Saariston Puodin Venetsialaisissa. Tunnelmaa, ilta t\u00e4ynn\u00e4 hittej\u00e4 ja luvassa my\u00f6s upea ilotulitusn\u00e4yt\u00f6s!',\r\n tags: 'Iskelm\u00e4 \u00b7 Pop',\r\n ticket: 'https:\/\/www.saaristonpuoti.fi\/ostoskori\/?add-to-cart=42531'\r\n }\r\n };\r\n var modal = document.getElementById('pl26-info-modal');\r\n var modalContent = document.getElementById('pl26-modal-content');\r\n var archiveSection = document.getElementById('pl26-archive-section');\r\n var archiveGrid = document.getElementById('pl26-archive-grid');\r\n function esc(s){return String(s == null ? '' : s).replace(\/[&<>\"]\/g,function(c){return {'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;'}[c];});}\r\n function bg(card){\r\n var img = card.querySelector('.oma-live-img');\r\n var m = img && \/url\\(([^)]+)\\)\/.exec(img.getAttribute('style') || '');\r\n return m ? m[1].replace(\/^['\"]|['\"]$\/g,'') : '';\r\n }\r\n function closeModal(){\r\n modal.classList.remove('is-open');\r\n document.body.style.overflow = '';\r\n }\r\n function openModal(card, archived){\r\n var title = (card.querySelector('h3') || {}).textContent || '';\r\n var meta = (card.querySelector('.pl26-meta') || {}).textContent || '';\r\n var price = (card.querySelector('.oma-live-price') || {}).textContent || '';\r\n var item = info[card.id] || {};\r\n var actions = archived ? '' : '<div class=\"pl26-modal-actions\"><a class=\"pl26-btn pl26-btn-primary\" href=\"'+esc(item.ticket || '#')+'\"><span>Osta p\u00e4\u00e4sylippu<\/span><b>\u2192<\/b><\/a><\/div>';\r\n modalContent.innerHTML =\r\n (bg(card) ? '<img decoding=\"async\" class=\"pl26-modal-img\" src=\"'+esc(bg(card))+'\" alt=\"'+esc(title)+'\">' : '') +\r\n '<div class=\"pl26-modal-body\">' +\r\n '<div class=\"pl26-modal-kicker\">'+(archived ? 'Arkisto \u00b7 Puoti LIVE!' : 'Puoti LIVE! 2026')+'<\/div>' +\r\n '<div class=\"pl26-modal-title\" id=\"pl26-modal-title\">'+esc(title)+'<\/div>' +\r\n '<div class=\"pl26-modal-meta\"><div><b>Milloin<\/b>'+esc(meta)+'<\/div><div><b>Hinta<\/b>'+esc(price)+'<\/div>'+(item.tags ? '<div><b>Tyylilaji<\/b>'+esc(item.tags)+'<\/div>' : '')+'<\/div>' +\r\n '<div class=\"pl26-modal-desc\">'+(archived ? '<p><b>T\u00e4m\u00e4 keikka on jo pidetty.<\/b><\/p>' : '')+'<p>'+esc(item.desc || '')+'<\/p><\/div>' +\r\n actions +\r\n '<\/div>';\r\n modal.classList.add('is-open');\r\n document.body.style.overflow = 'hidden';\r\n }\r\n document.getElementById('pl26-modal-close').addEventListener('click', closeModal);\r\n modal.addEventListener('click', function(e){ if (e.target === modal) closeModal(); });\r\n document.addEventListener('keydown', function(e){ if (e.key === 'Escape' && modal.classList.contains('is-open')) closeModal(); });\r\n document.querySelectorAll('.pl26-page .oma-live-card[data-event-date]').forEach(function(card){\r\n totalCount++;\r\n var eventDate = new Date(card.dataset.eventDate + 'T23:59:59');\r\n var infoWrap = document.createElement('div');\r\n var infoBtn = document.createElement('button');\r\n infoWrap.className = 'pl26-info-wrap';\r\n infoBtn.type = 'button';\r\n infoBtn.className = 'pl26-btn pl26-btn-soft';\r\n infoBtn.innerHTML = '<span>Lis\u00e4tiedot<\/span><b>i<\/b>';\r\n infoBtn.addEventListener('click', function(){ openModal(card, card.classList.contains('is-archived')); });\r\n infoWrap.appendChild(infoBtn);\r\n var body = card.querySelector('.oma-live-body');\r\n if (body) body.insertAdjacentElement('afterend', infoWrap);\r\n if (eventDate.getTime() < cutoff) {\r\n card.classList.add('is-archived');\r\n if (archiveGrid) archiveGrid.appendChild(card);\r\n if (archiveSection) archiveSection.classList.add('is-visible');\r\n pastCount++;\r\n }\r\n });\r\n if (pastCount === totalCount && totalCount > 0) {\r\n var empty = document.getElementById('pl26-empty');\r\n if (empty) empty.style.display = 'block';\r\n }\r\n})();\r\n<\/script>\r\n<!-- WP-BLOCK-END -->\r\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/div><div class=\"elementor-element elementor-element-eb2979e elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-container--row e-container\" data-id=\"eb2979e\" data-element_type=\"container\">\t\t\t\t<div class=\"elementor-element elementor-element-e41b043 elementor-widget elementor-widget-button\" data-id=\"e41b043\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t<a href=\"#liput\" class=\"elementor-button-link elementor-button elementor-size-sm\" role=\"button\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t<span class=\"elementor-button-icon elementor-align-icon-left\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-ticket-alt\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t<span class=\"elementor-button-text\">MAIN TICKETS<\/span>\n\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44bcdf8 elementor-widget elementor-widget-button\" data-id=\"44bcdf8\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t<a href=\"#keikkabussi\" class=\"elementor-button-link elementor-button elementor-size-sm\" role=\"button\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t<span class=\"elementor-button-icon elementor-align-icon-left\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-bus-alt\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t<span class=\"elementor-button-text\">gigabus<\/span>\n\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-af2b153 elementor-widget elementor-widget-button\" data-id=\"af2b153\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t<a href=\"\/en\/elamy-shop\/\" class=\"elementor-button-link elementor-button elementor-size-sm\" role=\"button\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t<span class=\"elementor-button-icon elementor-align-icon-left\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-ship\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t<span class=\"elementor-button-text\">Puoti LIVE! cruises<\/span>\n\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/div>\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2c64e65b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2c64e65b\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-51b4d88d\" data-id=\"51b4d88d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e4795f8 elementor-hidden-mobile elementor-widget elementor-widget-image\" data-id=\"e4795f8\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.6.4 - 13-04-2022 *\/\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/www.lippu.fi\/artist\/puoti-live\/?affiliate=EER\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1040\" height=\"100\" src=\"https:\/\/www.saaristonpuoti.fi\/wp-content\/uploads\/2025\/05\/Edenred-Smartum_Frosmo-banneri_desk.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/www.saaristonpuoti.fi\/wp-content\/uploads\/2025\/05\/Edenred-Smartum_Frosmo-banneri_desk.png 1040w, https:\/\/www.saaristonpuoti.fi\/wp-content\/uploads\/2025\/05\/Edenred-Smartum_Frosmo-banneri_desk-300x29.png 300w, https:\/\/www.saaristonpuoti.fi\/wp-content\/uploads\/2025\/05\/Edenred-Smartum_Frosmo-banneri_desk-1024x98.png 1024w, https:\/\/www.saaristonpuoti.fi\/wp-content\/uploads\/2025\/05\/Edenred-Smartum_Frosmo-banneri_desk-768x74.png 768w, https:\/\/www.saaristonpuoti.fi\/wp-content\/uploads\/2025\/05\/Edenred-Smartum_Frosmo-banneri_desk-600x58.png 600w\" sizes=\"auto, (max-width: 1040px) 100vw, 1040px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f90108d elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-image\" data-id=\"f90108d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/www.lippu.fi\/artist\/puoti-live\/?affiliate=EER\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"535\" height=\"98\" src=\"https:\/\/www.saaristonpuoti.fi\/wp-content\/uploads\/2025\/05\/Edenred-Smartum_Frosmo-banneri_mob.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/www.saaristonpuoti.fi\/wp-content\/uploads\/2025\/05\/Edenred-Smartum_Frosmo-banneri_mob.png 535w, https:\/\/www.saaristonpuoti.fi\/wp-content\/uploads\/2025\/05\/Edenred-Smartum_Frosmo-banneri_mob-300x55.png 300w\" sizes=\"auto, (max-width: 535px) 100vw, 535px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6d04ae elementor-widget elementor-widget-spacer\" data-id=\"e6d04ae\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.6.4 - 13-04-2022 *\/\n.e-container.e-container--row .elementor-spacer-inner{width:var(--spacer-size)}.e-container.e-container--column .elementor-spacer-inner,.elementor-column .elementor-spacer-inner{height:var(--spacer-size)}<\/style>\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Festival Pass \u00b7 Puoti LIVE! 2026 Festivals all summer long! All the Puoti LIVE! gigs this summer on a single ticket. Jukka Poika \u00b7 J&amp;LO \u00b7 Laura Voutilainen \u00b7 Movetron \u00b7 Tuure Kilpel\u00e4inen \u00b7 HUGO \u00b7 Hurma \u00b7 Olli Halonen Save over \u20ac70 compared to buying tickets separately. Buy the Festival Pass for \u20ac99 Limited availability Puoti LIVE! summer 2026 Eight unforgettable Puoti LIVE! evenings at Tutjunniemi, Liperi [\u2026]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-108","page","type-page","status-publish","hentry"],"acf":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.saaristonpuoti.fi\/en\/wp-json\/wp\/v2\/pages\/108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.saaristonpuoti.fi\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.saaristonpuoti.fi\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.saaristonpuoti.fi\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.saaristonpuoti.fi\/en\/wp-json\/wp\/v2\/comments?post=108"}],"version-history":[{"count":152,"href":"https:\/\/www.saaristonpuoti.fi\/en\/wp-json\/wp\/v2\/pages\/108\/revisions"}],"predecessor-version":[{"id":42902,"href":"https:\/\/www.saaristonpuoti.fi\/en\/wp-json\/wp\/v2\/pages\/108\/revisions\/42902"}],"wp:attachment":[{"href":"https:\/\/www.saaristonpuoti.fi\/en\/wp-json\/wp\/v2\/media?parent=108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}