1<!doctype html> 2<html class="diks-no-js diks-site--viikkosavo diks-user--is-not-logged-in diks-user--is-not-subscriber diks-user--is-not-company-subscriber diks-site--layout-master" lang="fi" prefix="og: http://ogp.me/ns#"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 <title>Uusimmat | Viikkosavo</title> 7 <link id="diks-stylesheet" rel="stylesheet" href="https://a.viikkosavo.fi/styles/e5576057/styles/diks-news.css"> 8 <link rel="dns-prefetch" href="https://cdn.gravito.net"> 9 <link rel="dns-prefetch" href="https://cdn.gravito.network"> 10 <link rel="dns-prefetch" href="https://handshake.gravito.network"> 11
11<script> 12 13 const checkUserPreferenceEnabled = 1; 14 const darkmodeStylesheet = "https://a.viikkosavo.fi/styles/e5576057/styles/diks-news-darkmode.css"; 15 const defaultStylesheet = "https://a.viikkosavo.fi/styles/e5576057/styles/diks-news.css"; 16 const savedTheme = localStorage.getItem('theme'); 17 const stylesheet = document.getElementById("diks-stylesheet"); 18 19 // Check local storage for saved theme 20 if ( savedTheme == 'darkmode' ) { 21 stylesheet.href = darkmodeStylesheet; 22 document.documentElement.classList.add('diks-theme--darkmode'); 23 } 24 // Check user's theme preference through an OS setting or a user agent setting 25 else if ( checkUserPreferenceEnabled && savedTheme != 'default' && ( window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ) ) { 26 stylesheet.href = darkmodeStylesheet; 27 document.documentElement.classList.add('diks-theme--darkmode'); 28 } 29 else { 30 document.documentElement.classList.add('diks-theme--default'); 31 } 32 33 34 // Darkmode toggle switch 35 document.addEventListener('DOMContentLoaded', function () { 36 const darkmodeButton = document.getElementById("diks-darkmode-toggler"); 37 38 if (darkmodeButton) { 39 // Set darkmode button to checked if darkmode is already on 40 // Check local storage for saved theme 41 if (savedTheme == 'darkmode' ) { 42 darkmodeButton.checked = true; 43 } 44 // Check user's theme preference through an OS setting or a user agent setting 45 else if ( checkUserPreferenceEnabled && savedTheme != 'default' && ( window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ) ) { 46 darkmodeButton.checked = true; 47 } 48 49 // Change theme based on darkmode button checked/unchecked 50 darkmodeButton.addEventListener("click", function() { 51 // Swap out the URL for the different stylesheets 52 if ( stylesheet.getAttribute("href") == defaultStylesheet ) { 53 stylesheet.href = darkmodeStylesheet; 54 document.documentElement.classList.remove('diks-theme--default'); 55 document.documentElement.classList.add('diks-theme--darkmode'); 56 // Save theme to local storage 57 window.localStorage.setItem('theme', 'darkmode'); 58 } else { 59 stylesheet.href = defaultStylesheet; 60 document.documentElement.classList.remove('diks-theme--darkmode'); 61 document.documentElement.classList.add('diks-theme--default'); 62 // Save theme to local storage 63 window.localStorage.setItem('theme', 'default'); 64 } 65 // Dispatch event ThemeChanged when theme inside Local Storage changes 66 window.dispatchEvent(new Event("ThemeChanged")); 67 }); 68 } 69 }, false); 70 71 </script>
71 72 73 <link rel="preload" href="/gravito-cmp.js" as="script"> 74 <link rel="preload" href="https://cdn.gravito.net/sdk/v6/latest/sdk.js" as="script"><link rel="preload" href="https://a.viikkosavo.fi/styles/e5576057/js/google/googleTagScript.min.js" as="script"><link rel="preload" href="https://r301.viikkosavo.fi/script.js" as="script"> 75
75<script> 76 window.JankkoSSOConfig = { 77 accountOrigin: "VISA" 78 }; 79 </script>
79 80 81 82
82<script id="jankko-sso-script" src="https://sso.viikkosavo.fi/assets/jankko-sso-client.modern.min.js"></script>
82 83 84 85 86 87 88
88<script> 89 // Hyphenopoly library initialization. The library will add soft-hyphen characters into the content if the 90 // browser doesn't support CSS hyphenation. For debugging on macOS Chrome: require: { 'fi': 'FORCEHYPHENOPOLY' } 91 const Hyphenopoly = { 92 require: { 'fi': 'yhdyssanahirviö' }, 93 setup: { 94 defaultLanguage: "fi", 95 selectors: { '.diks-card__title': { minWordLength: 11, leftmin: 4, rightmin: 4 }, '.diks-article__headline': { minWordLength: 11, leftmin: 4, rightmin: 4 }, '.diks-parallax-content .diks-article-box .diks-sub-headline': { minWordLength: 11, leftmin: 4, rightmin: 4 } } 96 } 97 } 98 console.log('Hyphenopoly settings:', Hyphenopoly.setup) 99 100 // Helper function for hyphenating content that was added after pageload. We must query a nodelist and iterate 101 // each node because the library can't handle a nodelist. 102 // https://mnater.github.io/Hyphenopoly/Hyphenators.html 103 // https://github.com/mnater/Hyphenopoly/issues/92#issuecomment-597728300 104 const diksHyphenateContent = (containerSelector) => { 105 if (!Hyphenopoly.hyphenators) { 106 return 107 } 108 Hyphenopoly.hyphenators["HTML"].then((hyphenator) => { 109 for (const itemSelector in Hyphenopoly.setup.selectors) { 110 const containerNode = document.querySelector(containerSelector) 111 const itemNodeList = containerNode.querySelectorAll(itemSelector) 112 itemNodeList.forEach((itemNode) => { hyphenator(itemNode, itemSelector) }) 113 } 114 }) 115 } 116 </script>
116 117
117<script src="https://a.viikkosavo.fi/styles/e5576057/includes/hyphenopoly/Hyphenopoly_Loader.js"></script>
117 118
118<script src="/theme/css/includes/waypoints/lib/noframework.waypoints.min.js"></script>
118 119 <link rel="apple-touch-icon" href="/icon-512.png"> 120 <link rel="apple-touch-icon" sizes="512x512" href="/icon-512.png"> 121 <link rel="apple-touch-icon" sizes="256x256" href="/icon-256.png"><link rel="apple-touch-startup-image" href="/iphone5_splash.png" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2)"> 122 <link rel="apple-touch-startup-image" href="/iphone6_splash.png" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2)"> 123 <link rel="apple-touch-startup-image" href="/iphoneplus_splash.png" media="(device-width: 621px) and (device-height: 1104px) and (-webkit-device-pixel-ratio: 3)"> 124 <link rel="apple-touch-startup-image" href="/iphonex_splash.png" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3)"> 125 <link rel="apple-touch-startup-image" href="/iphonexr_splash.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2)"> 126 <link rel="apple-touch-startup-image" href="/iphonexsmax_splash.png" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3)"> 127 <link rel="apple-touch-startup-image" href="/ipad_splash.png" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2)"> 128 <link rel="apple-touch-startup-image" href="/ipadpro1_splash.png" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2)"> 129 <link rel="apple-touch-startup-image" href="/ipadpro3_splash.png" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2)"> 130 <link rel="apple-touch-startup-image" href="/ipadpro2_splash.png" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2)"><link rel="alternate" type="application/rss+xml" title="Viikkosavo" href="https://www.viikkosavo.fi/feed/rss"><meta name="robots" content="max-image-preview:large"><meta name="facebook-domain-verification" content="5jp4rvr2lni9ozffqbdnabby13gfz9">
130<script> 131 var pageData = {}; 132 133 pageData.section = { 134 'name': 'Uusimmat', 135 'uname': 'uusimmat', 136 'url': 'https\u003A\/\/www.viikkosavo.fi\/uusimmat\/' 137 } 138 pageData.publication = { 139 'name': 'viikkosavo', 140 'url': 'https\u003A\/\/www.viikkosavo.fi\/', 141 'engage': 'VISA', 142 'paywallEnabled': false, 143 'registrationWallEnabled': true, 144 'env':'prod' 145 } 146 pageData.user = {} 147 pageData.companyUser = {} 148 149 function isPwa() { 150 // window.navigator.standalone = iOS 151 // window.matchMedia('(display-mode: standalone)').matches = Android/universal 152 return (window.navigator.standalone) || 153 (["fullscreen", "standalone", "minimal-ui"].some( 154 function(displayMode) { return window.matchMedia('(display-mode: ' + displayMode + ')') 155 .matches })); 156 } 157 158 pageData.general = { 159 'browseMode': (isPwa() ? 'pwa' : 'browser') 160 } 161</script>
161 162 <meta property="og:site_name" content="Viikkosavo"> 163 <meta property="og:locale" content="fi_FI"><meta name='description' content=''> 164<meta property='og:title' content='Uusimmat | Viikkosavo'> 165<meta property='og:description' content=''> 166<meta property='og:url' content='https://www.viikkosavo.fi/uusimmat/'> 167<meta property='og:type' content='webpage'><meta property='og:image' content='https://a.viikkosavo.fi/styles/e5576057/images/default/og-image-viikkosavo.jpg'> 168<meta property='og:image:width' content='1200'> 169<meta property='og:image:height' content='630'> 170 <link rel="manifest" href="/manifest.webmanifest"> 171 <style>@media (max-width: 600px) { .gravitoCMP-footer { margin-top: 1.5em; } }</style> 172
172<script type="text/javascript">window.cX = window.cX || {};// Async load of cx.js 173 (function(d,s,e,t){e=d.createElement(s);e.type='text/java'+s;e.async='async'; 174 e.src='http'+('https:'===location.protocol?'s://s':'://')+'cdn.cxense.com/cx.js'; 175 t=d.getElementsByTagName(s)[0];t.parentNode.insertBefore(e,t);})(document,'script'); 176 </script>
176 177
177<script src="https://a.viikkosavo.fi/styles/e5576057/js/blueconic/events.min.js"></script>
177 178
178<script> 179 const BCPlatform = "web"; 180 const BCChannel = 'VISA'; 181 182 const BCArticleViewProperties = {}; 183 const BCSessionStartProperties = {}; 184 185 BCArticleViewProperties["platform"] = BCPlatform; 186 BCArticleViewProperties["channel"] = BCChannel; 187 BCSessionStartProperties["platform"] = BCPlatform; 188 BCSessionStartProperties["channel"] = BCChannel; 189 190 const BCArticleID = pageData?.article?.id || ''; 191 const BCArticleMarketingCategories = pageData?.article?.marketingCategories || []; 192 const BCArticleTopics = pageData?.article?.topics || []; 193 194 if (BCArticleID) { 195 BCArticleViewProperties["articleID"] = BCArticleID; 196 } 197 198 if (Array.isArray(BCArticleMarketingCategories) && BCArticleMarketingCategories.length > 0) { 199 BCArticleViewProperties["marketing_categories"] = BCArticleMarketingCategories.join(', '); 200 } 201 202 if (Array.isArray(BCArticleTopics) && BCArticleTopics.length > 0) { 203 BCArticleViewProperties["tags"] = BCArticleTopics.join(', '); 204 } 205 206 const BCEventParams = { 207 currentPage: '/uusimmat/' || null, 208 pageType: 'section' || null, 209 dependenciesTimeout: 5000, 210 inHouseAdEnabled: false, 211 articleViewEventEnabled: true, 212 articleViewProperties: BCArticleViewProperties, 213 sessionStartEventEnabled: true, 214 sessionStartProperties: BCSessionStartProperties, 215 recommendationsEnabled: false, 216 recommendationsMaxItems: 3, 217 recommendationsTitle: 'Luitko\u0020jo\u0020n\u00E4m\u00E4\u003F' 218 }; 219 InitializeEventScript(BCEventParams); 220 </script>
220<script> 221 window.BCDatalayer = []; 222 </script>
222<script> 223 (function () { 224 window.BCscriptInjected = false; 225 var scriptSrc = ''; 226 227 scriptSrc = 'https://r301.viikkosavo.fi/script.js'; 228 229 window.addEventListener( 230 "gravito:tcfv2:client", 231 function (event) { 232 let eventType = event.detail.eventType; 233 let consentUpdateEventsList = [ 234 "layer1:opt-out:all", 235 "layer2:opt-out:all", 236 "layer2:opt-in:selected", 237 "layer1:opt-in:all", 238 "layer2:opt-in:all", 239 "opt-in:previously", 240 ]; 241 if (consentUpdateEventsList.includes(eventType) && window.BCscriptInjected === false) { 242 window.BCscriptInjected = true; 243 244 var script = document.createElement("script"); 245 script.src = scriptSrc; 246 document.head.appendChild(script); 247 } 248 }, 249 true 250 ); 251 }()); 252 </script>
252 253
253<script src='https://securepubads.g.doubleclick.net/tag/js/gpt.js' crossorigin="anonymous" async></script>
253<script async src="https://ksml-cdn.relevant-digital.com/static/tags/5f8030605279784f89ca6847.js"></script>
253<script src="https://a.viikkosavo.fi/styles/e5576057/js/google/googleTagScript.min.js"></script>
253 254
254<script> 255 const GAM_params = { 256 account: '21684433086' || null, 257 site: 'viikkosavo' || null, 258 adsSetToRenderFromPageLevel: ["paraati1","jattiboksi1","jattiboksi2","jattiboksi3","jattiboksi4","boksi1","boksi2","boksi3","boksi4","mobiili1","mobiili2","mobiili3","mobiili4","mobiili5","mobiili6","interstitiaali","topscroll_skin","topscroll_mob"], 259 enableHeaderBiddingManager: true, 260 headerBiddingManagerConfigId: '63b683e047eb39c821eec9c5' || null, 261 enableTCF: true, 262 enableSegmentTargeting: true, 263 enableBCSegmentTargeting: true, 264 segmentTargetingTimeout: 200, 265 pianoSegmentTargetingPersistedQueryId: '110c4c9055b4a1f72dc557ca3983bd140a676a7c' || null, 266 enablePianoSegmentTargeting: true, 267 pianoScriptEnabled: true, 268 enablePersonalizationTargeting: true, 269 enableOnBeforeAuctionSetup: true, 270 pageType: 'section', 271 isPaywallArticle: false, 272 isRegistrationWallArticle: false, 273 mw: 300, 274 tw: 750, 275 dw: 1024, 276 inContentAdTextTop: 'Mainos - sisältö jatkuu alla' || 'Mainos - sisältö jatkuu alla', 277 inContentAdTextBottom: 'Mainos päättyy' || 'Mainos päättyy', 278 collapseEmptyDivs: true, 279 disableInitialLoad: true, 280 enableSRA: true, 281 enableLazyLoad: true, 282 fetchMarginPercent: 200, 283 renderMarginPercent: 20, 284 mobileScaling: -1, 285 gamAdUnits: {"paraati1":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[736,552],[980,120],[980,400],[980,552],[980,250],[980,240],[970,250]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[[736,552]],"viewport_width_980":[[736,552],[980,120],[980,400],[980,552],[980,250],[980,240],[970,250]],"viewport_width_1024":[[736,552],[980,120],[980,400],[980,552],[980,250],[980,240],[970,250]],"viewport_width_1200":[[736,552],[980,120],[980,400],[980,552],[980,250],[980,240],[970,250]]}},"section_config":{"show_labels":false,"all_sizes":[[736,552],[980,120],[980,400],[980,552],[980,250],[980,240],[970,250]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[[736,552]],"viewport_width_980":[[736,552],[980,120],[980,400],[980,552],[980,250],[980,240],[970,250]],"viewport_width_1024":[[736,552],[980,120],[980,400],[980,552],[980,250],[980,240],[970,250]],"viewport_width_1200":[[736,552],[980,120],[980,400],[980,552],[980,250],[980,240],[970,250]]},"front_page_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[736,552],[980,120],[980,400],[980,552],[980,250],[980,240],[970,250]],"viewport_width_1024":[[736,552],[980,120],[980,400],[980,552],[980,250],[980,240],[970,250]],"viewport_width_1200":[[736,552],[980,120],[980,400],[980,552],[980,250],[980,240],[970,250]]}}},"jattiboksi1":{"type":"normal","article_config":{"show_labels":true,"all_sizes":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[1,1]],"viewport_width_644":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_768":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]]},"position_inside_article":3,"paywall_config":{"show_labels":false},"comic_config":{"show_labels":false}},"section_config":{"show_labels":false,"all_sizes":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600]],"viewport_width_644":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_768":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]]},"front_page_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]]},"position_inside_section":5,"position_inside_latest":10,"position_inside_most_read":10}}
285,"jattiboksi2":{"type":"normal","article_config":{"show_labels":true,"all_sizes":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2],[1,1]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[970,540],[1,2],[1,1]],"viewport_width_644":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2],[1,1]],"viewport_width_768":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2],[1,1]],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2],[1,1]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2],[1,1]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2],[1,1]]},"position_inside_article":6},"section_config":{"show_labels":false,"all_sizes":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[970,540],[1,2]],"viewport_width_644":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2]],"viewport_width_768":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2]],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2]]},"front_page_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[970,540],[1,2]]},"position_inside_section":12,"position_inside_latest":20,"position_inside_front_page_large":7,"position_inside_front_page":9}},"jattiboksi3":{"type":"normal","article_config":{"show_labels":true,"all_sizes":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[1,1]],"viewport_width_644":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_768":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]]},"position_inside_article":8},"section_config":{"show_labels":false,"all_sizes":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600]],"viewport_width_644":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_768":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]]},"front_page_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]]},"position_inside_section":19,"position_inside_latest":30,"position_inside_front_page":15}}
285,"jattiboksi4":{"type":"normal","article_config":{"show_labels":true,"all_sizes":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[1,1]],"viewport_width_644":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_768":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]]},"position_inside_article":12},"section_config":{"show_labels":false,"all_sizes":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600]],"viewport_width_644":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_768":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]]},"front_page_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]]},"position_inside_section":25,"position_inside_latest":40,"position_inside_front_page":19}},"jattiboksi5":{"type":"normal","article_config":{"show_labels":true,"all_sizes":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[1,1]],"viewport_width_644":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_768":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]]},"position_inside_article":16},"section_config":{"show_labels":false,"all_sizes":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[620,891]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600]],"viewport_width_644":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_768":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]]},"front_page_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891]]},"position_inside_section":31,"position_inside_front_page":25}}
285,"jattiboksi6":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[1,1]],"viewport_width_644":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_768":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_980":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_1024":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]],"viewport_width_1200":[[336,280],[468,832],[468,624],[468,263],[468,351],[468,400],[468,600],[600,600],[620,891],[1,1]]}}},"boksi1":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]]}}},"boksi2":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]]}}},"boksi3":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1024":[[3
28500,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]]}}},"boksi4":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431],[300,300]]}}},"mobiili1":{"type":"normal","article_config":{"show_labels":true,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[1,1]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[1,1]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_article":3,"paywall_config":{"show_labels":false},"comic_config":{"show_labels":false}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"front_page_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_section":1,"position_inside_latest":10,"position_inside_most_read":5}},"mobiili2":{"type":"normal","article_config":{"show_labels":true,"all_sizes":[[300,533],[300,400],[300,169],[300,210],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[300,240],[1,1]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,210],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[300,240],[1,1]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_article":6,"paywall_config":{"show_labels":false},"comic_config":{"show_labels":false}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,210],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[300,240]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,210],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[300,240]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"front_page_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,210],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[300,240]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,210],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[300,240]],"viewport_width_644":[[3
28500,533],[300,400],[300,169],[300,210],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[300,240]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,210],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[300,240]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_section":5,"position_inside_latest":20,"position_inside_most_read":10}},"mobiili3":{"type":"normal","article_config":{"show_labels":true,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[1,1]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[1,1]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_article":8},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"front_page_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_section":12,"position_inside_latest":30,"position_inside_front_page_large":7,"position_inside_front_page":6}},"mobiili4":{"type":"normal","article_config":{"show_labels":true,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[1,1]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[1,1]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_article":12},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"front_page_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_section":19,"position_inside_latest":40}},"mobiili5":{"type":"normal","article_config":{"show_labels":true,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[1,1]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[1,1]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_article":16},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"front_page_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_644":[[3
28500,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_section":25,"position_inside_front_page":6}},"mobiili6":{"type":"normal","article_config":{"show_labels":true,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[1,1]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[1,1]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_article":20},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"front_page_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_section":31,"position_inside_front_page":9}},"mobiili7":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[1,1]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320],[1,1]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"front_page_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[320,320]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_front_page":15}},"mobiili8":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[1,1]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[1,1]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"front_page_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_644":[[3
28500,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_front_page":19}},"mobiili9":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[1,1]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150],[1,1]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"front_page_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"position_inside_front_page":25}},"mobiili10":{"type":"normal","section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]},"front_page_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}}},"interstitiaali":{"type":"outofpage","article_config":{"show_labels":false,"default_sizes":{"viewport_width_0":[1,1],"viewport_width_492":[1,1],"viewport_width_644":[1,1],"viewport_width_768":[1,1],"viewport_width_980":[1,1],"viewport_width_1024":[1,1],"viewport_width_1200":[1,1]}},"section_config":{"show_labels":false,"default_sizes":{"viewport_width_0":[1,1],"viewport_width_492":[1,1],"viewport_width_644":[1,1],"viewport_width_768":[1,1],"viewport_width_980":[1,1],"viewport_width_1024":[1,1],"viewport_width_1200":[1,1]}}},"topscroll_skin":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[1,2],[970,170],[970,970],[1600,1150]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[1,2],[970,970]],"viewport_width_644":[[1,2],[970,970]],"viewport_width_768":[[1,2],[970,970]],"viewport_width_980":[[1,2],[970,970]],"viewport_width_1024":[[1,2],[970,970]],"viewport_width_1200":[[1,2],[970,970]]},"narrow_layout_sizes":{"viewport_width_0":[],"viewport_width_492":[[1,2],[970,970]],"viewport_width_644":[[1,2],[970,970]],"viewport_width_768":[[1,2],[970,970]],"viewport_width_980":[[1,2],[970,970]],"viewport_width_1024":[[1,2],[970,970]],"viewport_width_1200":[[1,2],[970,170],[970,970],[1600,1150]]}},"section_config":{"show_labels":false,"all_sizes":[[1,2],[970,170],[970,970],[1600,1150]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[[1,2],[970,970]],"viewport_width_644":[[1,2],[970,970]],"viewport_width_768":[[1,2],[970,970]],"viewport_width_980":[[1,2],[970,970]],"viewport_width_1024":[[1,2],[970,970]],"viewport_width_1200":[[1,2],[970,970]]},"narrow_layout_sizes":{"viewport_width_0":[],"viewport_width_492":[[1,2],[970,970]],"viewport_width_644":[[1,2],[970,970]],"viewport_width_768":[[1,2],[970,970]],"viewport_width_980":[[1,2],[970,970]],"viewport_width_1024":[[1,2],[970,970]],"viewport_width_1200":[[1,2],[970,170],[970,970],[1600,1150]]}}}
285,"topscroll_mob":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[1,2],[300,220]],"default_sizes":{"viewport_width_0":[[1,2],[300,220]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}},"section_config":{"show_labels":false,"all_sizes":[[1,2],[300,220]],"default_sizes":{"viewport_width_0":[[1,2],[300,220]],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}}}}, 286 gamNativeAdPageAdUnits: {"natiiviboksi1":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]]}}},"natiiviboksi2":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]]}}},"natiiviboksi3":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]]}}},"natiiviboksi4":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1024":[[3
28600,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"default_sizes":{"viewport_width_0":[],"viewport_width_492":[],"viewport_width_644":[],"viewport_width_768":[],"viewport_width_980":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1024":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"viewport_width_1200":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]]}}},"natiivimobiili1":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}}},"natiivimobiili2":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}}},"natiivimobiili3":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_644":[[3
28600,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}}},"natiivimobiili4":{"type":"normal","article_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}},"section_config":{"show_labels":false,"all_sizes":[[300,533],[300,400],[300,169],[300,225],[300,250],[300,600],[300,431]],"default_sizes":{"viewport_width_0":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_492":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_644":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_768":[[300,533],[300,400],[300,169],[300,225],[300,600],[300,431],[300,300],[300,250],[300,200],[300,150]],"viewport_width_980":[],"viewport_width_1024":[],"viewport_width_1200":[]}}}}, 287 gamNativeAdPageSite: 'natiivikoonti' || 'natiivikoonti', 288 adSlotPrefix: 'gam-ad-' || 'gam-ad-', 289 isFrontPage: false, 290 isNarrowLayoutFromPageLevel: true, 291 isComicArticle: false, 292 isPreview: false, 293 isNativeAdPage: false, 294 previewAdUnits: ["mobiili1","mobiili2","mobiili3","mobiili4","mobiili5","mobiili6","mobiili7","mobiili8","mobiili9","mobiili10"], 295 skipLinksEnabled: true, 296 appendMarketingCategoriesToTopics: true, 297 enableLocationPrompt: false 298 } 299 InitializeGoogleScript(GAM_params) 300 </script>
300 301
301<script type='text/javascript'> 302 (function() { 303 /** CONFIGURATION START **/ 304 var _sf_async_config = window._sf_async_config = (window._sf_async_config || {}); 305 _sf_async_config.uid = 60754; 306 _sf_async_config.domain = location.host.replace("www.",""); 307 _sf_async_config.flickerControl = false; 308 _sf_async_config.useCanonical = true; 309 _sf_async_config.useCanonicalDomain = true; 310 /** CONFIGURATION END **/ 311 })(); 312 </script>
312<script> 313 function configureChartbeat(userType) { 314 /** CONFIGURATION START **/ 315 var _sf_async_config = window._sf_async_config = (window._sf_async_config || {}); 316 _sf_async_config.sections = pageData && pageData.section ? pageData.section.name : ''; 317 _sf_async_config.authors = pageData && pageData.article && Array.isArray(pageData.article.authors) ? pageData.article.authors.toString() : ''; 318 319 if (userType) { 320 var _cbq = window._cbq = (window._cbq || []); 321 _cbq.push(['_acct', userType]); 322 } 323 /** CONFIGURATION END **/ 324 function loadChartbeat() { 325 var e = document.createElement('script'); 326 var n = document.getElementsByTagName('script')[0]; 327 e.type = 'text/javascript'; 328 e.async = true; 329 e.src = 'https://static.chartbeat.com/js/chartbeat.js'; 330 n.parentNode.insertBefore(e, n); 331 } 332 loadChartbeat(); 333 }; 334 335 if (typeof JankkoSSOClient !== 'undefined') { 336 JankkoSSOClient.getSession().then(function(data) { 337 if (data && data.user && data.user.id) { 338 var userType = Array.isArray(data.permissions) && data.permissions.includes("paywall") ? 'paid' : 'lgdin'; 339 340 configureChartbeat(userType); 341 } else { 342 configureChartbeat('anon'); 343 } 344 }).catch(function(error) { 345 configureChartbeat('anon'); 346 }); 347 } else { 348 configureChartbeat('anon'); 349 } 350 </script>
350 351
351<script> 352 const gtmContainerId = 'GTM-KTJNB7R'; 353 const sendDatalayerPush = Boolean(1); 354 const context = 'sec'; 355 356 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 357 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 358 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 359 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 360 })(window,document,'script','dataLayer',gtmContainerId); 361 362 if (sendDatalayerPush) { 363 window.dataLayer.push({'event':'pageDataPush','pageData': window.pageData}); 364 } 365 366 (async function () { 367 const paywallEnabled = window?.pageData?.publication?.paywallEnabled ?? true; 368 const registrationWallEnabled = window?.pageData?.publication?.registrationWallEnabled ?? true; 369 370 const user = {}; 371 const companyUser = {}; 372 373 let articleState; 374 let articlePaywall = 'free'; // free is always the safer fallback 375 376 if (context === 'art') { 377 if (window?.pageData?.article?.effectivePaywall) { 378 articlePaywall = window.pageData.article.effectivePaywall; 379 } else if (window?.pageData?.article?.paywall){ 380 articlePaywall = window.pageData.article.paywall; 381 } 382 383 if ((articlePaywall === 'free' || !paywallEnabled) || (articlePaywall === "registered" && !registrationWallEnabled)) { 384 articleState = "full"; 385 } 386 else { 387 articleState = 'preview'; 388 } 389 } 390 391 function getCookie(name) { 392 name = name + '='; 393 const decodedCookie = decodeURIComponent(document.cookie); 394 const cookies = decodedCookie.split(';'); 395 for (let i = 0; i < cookies.length; i++) { 396 const cookie = cookies[i].trim(); 397 if (cookie.indexOf(name) === 0) { 398 return cookie.substring(name.length, cookie.length); 399 } 400 } 401 } 402 403 function pushDataLayerEvent() { 404 let segmentsCookie = getCookie('jankkosegments'); 405 406 if (segmentsCookie) { 407 let segmentsData = JSON.parse(segmentsCookie); 408 let segments = segmentsData.segments; 409 410 if (segments && typeof segments === 'object') { 411 user.segments = segments; 412 } 413 } 414 const pageData = { 415 'user': user,
416 'companyUser': companyUser 417 }; 418 if (context === 'art') { 419 pageData.article = { 'state': articleState }; 420 } 421 if (sendDatalayerPush) { 422 window.dataLayer.push({'event': 'userDataPush', 'pageData': pageData }); 423 } 424 } 425 426 async function modifyDatalayerData() { 427 const sessionData = await JankkoSSOClient.getSession(); 428 if (!sessionData) { 429 return; 430 } 431 432 user.id = sessionData?.personal?.personal_user_id; 433 user.products = sessionData?.personal?.personal_active_products; 434 user.permissions = sessionData?.personal?.personal_permissions; 435 436 companyUser.id = sessionData?.company?.company_user_id ?? null; 437 companyUser.products = sessionData?.company?.company_active_products ?? null; 438 companyUser.permissions = sessionData?.company?.company_permissions ?? null; 439 440 const permissions = sessionData?.permissions ?? []; 441 if (context === 'art') { 442 var userIsLoggedIn = false;if ((articlePaywall != "free" && permissions.includes("paywall") && articlePaywall != "registered") || (userIsLoggedIn === true && articlePaywall === "registered")) { 443 articleState = "full"; 444 } 445 } 446 } 447 448 try { 449 await modifyDatalayerData(); 450 } 451 catch (error) { 452 console.warn(error); 453 } 454 455 pushDataLayerEvent(); 456 }()); 457 458 </script>
458 459 460 </head> 461 <body class="diks-body diks-body--page-type-section"> 462 <!-- Google Tag Manager (noscript) -->
vendor: 72 bytes, lines 462-463
462 463 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
463GTM-KTJNB7R
vendor: 95 bytes, lines 463-465
463" 464 height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 465
465<!-- End Google Tag Manager (noscript) --> 466
466<script src='/gravito-cmp.js'></script>
466 467 468 <div class="diks-out-of-page-display-ad-container"><div class="diks-display-ad rs_skip" aria-hidden="true"> 469 <div class="diks-display-ad__unit" id="gam-ad-interstitiaali" style="width:0;height:0;margin:0;padding:0;"> 470
470<script>googletag.cmd.push(function() { googletag.display('gam-ad-interstitiaali'); });</script>
470 471 </div> 472 </div></div> 473 474 475 <header id="main-header" class="diks-header diks-header diks-header--is-fixed"> 476 <div class="diks-skip-link-navigation diks-skip-link-navigation--top"> 477 <ul class="diks-navigation diks-navigation--skip-links"> 478 <li class="diks-navigation__item"> 479 <a class="diks-button diks-button--primary diks-a11y__screen-reader diks-a11y__screen-reader--focusable" href="#sisalto" >Siirry suoraan sisältöön</a> 480 </li> 481 </ul> 482 </div> 483 484 <div class="diks-header-wrapper"> 485 <div class="diks-container diks-container--header"> 486 <div class="diks-header-container"><div class="diks-header__navigation-container diks-header__navigation-container--left"> 487 <button class="diks-button diks-button--icon-only diks-button--ghost diks-navigation__link js-diks-toggler diks-dropdown-toggler diks-dropdown-toggler--main" id="diks-dropdown-toggle" data-toggle="diks-dropdown-navigation" aria-expanded="false" aria-controls="diks-dropdown-navigation" aria-label="Valikko"><span class="diks-icon diks-icon--size-m" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 488 <path fill-rule="evenodd" d="M22 6H2V4H22V6ZM22 13H2V11H22V13ZM22 20H2V18H22V20Z" clip-rule="evenodd"/> 489</svg> 490</span><span class="diks-icon diks-icon--size-m diks-icon--hidden" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 491 <path fill-rule="evenodd" d="M10.5858 12L4.2218 5.63603L5.63602 4.22182L12 10.5858L18.3639 4.22183L19.7782 5.63605L13.4142 12L19.7782 18.364L18.3639 19.7782L12 13.4142L5.63602 19.7782L4.2218 18.364L10.5858 12Z" clip-rule="evenodd"/> 492</svg> 493</span></button> 494 495 <div class="diks-dropdown-navigation" id="diks-dropdown-navigation"> 496 <button id="diks-close-dropdown-main-nav" class="diks-button diks-button--outline diks-dropdown-navigation__close-button diks-a11y__screen-reader diks-a11y__screen-reader--focusable">Sulje valikko</button><div class="diks-dropdown-navigation__sign-container"> 497 <img src="https://a.viikkosavo.fi/styles/e5576057/images/logos/keskisuomalainen-sign.svg" class="diks-logo diks-dropdown-navigation__sign" alt="Keskisuomalainen Oyj"> 498 </div><form id="dropdown-navigation-search" name="dropdownnavigationsearch" class="diks-form diks-form--fluid" action="/haku/" method="get"> 499 <div class="diks-form__field-wrapper diks-form__field-wrapper--padding-right diks-form__field-wrapper--required"><input class="diks-form__field" type="search" name="q" id="dropdown-navigation-searchSearch1" aria-label="Haku" placeholder="Hae sivustolta" required value=""></div> 500 501 <div class="diks-form__field-wrapper diks-form__field-wrapper--submit-button-icon-only"> 502 <button class="diks-form__submit" type="submit" id="dropdown-navigation-searchSubmitbutton2"><span class="diks-icon diks-icon--color-primary" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 503 <path fill-rule="evenodd" d="M9.5 4C6.46243 4 4 6.46243 4 9.5C4 12.5376 6.46243 15 9.5 15C12.5376 15 15 12.5376 15 9.5C15 6.46243 12.5376 4 9.5 4ZM2 9.5C2 5.35786 5.35786 2 9.5 2C13.6421 2 17 5.35786 17 9.5C17 11.2106 16.4273 12.7874 15.4632 14.0493L19.7782 18.3642L18.3639 19.7784L14.049 15.4634C12.7872 16.4274 11.2105 17 9.5 17C5.35786 17 2 13.6421 2 9.5Z" clip-rule="evenodd"/> 504</svg> 505</span>Hae 506 </button> 507 </div> 508 </form> <nav class="diks-navigation-wrapper diks-navigation-wrapper--border-bottom diks-navigation-wrapper--border-top" ><ul class="diks-navigation diks-navigation--row diks-navigation--mobile-row diks-navigation--no-active-links diks-navigation--size-s" id="dropdown-highlights-nav"><li class="diks-navigation__item " ><a class="diks-navigation__link " href="/asenna/">Sovellus</a></li><li class="diks-navigation__item " ><a class="diks-navigation__link " href="/nakoislehti/">Lehdet</a></li></ul> 509 </nav> <nav class="diks-navigation-wrapper diks-navigation-wrapper--divider-bottom" ><ul class="diks-navigation diks-navigation--no-active-links diks-navigation--size-s" id="dropdown-customer-upper-nav"><li class="diks-navigation__item " ><a class="diks-navigation__link " href="https://oma.media.fi/lehti/viikkosavo/"><span class="diks-icon diks-icon--size-m" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 510 <path d="M17 8H22V17H19.1875V20.8125L14.1045 17H9V13.4307L4.4375 17.0811V13H2V3H17V8ZM17 13H11V15H14.7705L17.1875 16.8125V15H20V10H17V13ZM4 11H6.4375V12.918L8.5625 11.2188L8.83691 11H15V5H4V11Z"/> 511</svg> 512</span>Asiakaspalvelu</a></li><li class="diks-navigation__item " ><a class="diks-navigation__link " href="https://oma.media.fi/lehti/viikkosavo/yhteystiedot/juttuvinkki/"><span class="diks-icon diks-icon--size-m" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 513 <path fill-rule="evenodd" d="M7.38197 4H16.618L17.618 6H22V20H2V6H6.38197L7.38197 4ZM8.61803 6L7.61803 8H4V18H20V8H16.382L15.382 6H8.61803ZM12 11C10.8954 11 10 11.8954 10 13C10 14.1046 10.8954 15 12 15C13.1046 15 14 14.1046 14 13C14 11.8954 13.1046 11 12 11ZM8 13C8 10.7909 9.79086 9 12 9C14.2091 9 16 10.7909 16 13C16 15.2091 14.2091 17 12 17C9.79086 17 8 15.2091 8 13Z" clip-rule="evenodd"/> 514</svg> 515</span>Lähetä juttuvinkki</a></li></ul> 516 </nav> <nav class="diks-navigation-wrapper " ><ul class="diks-navigation diks-navigation--light" id="dropdown-section-nav"><li class="diks-navigation__item " ><a class="diks-navigation__link " href="/">Etusivu</a></li><li class="diks-navigation__item diks-navigation__item--active" aria-current="page"><a class="diks-navigation__link " href="/uusimmat/">Uusimmat</a></li><li class="diks-navigation__item " ><a class="diks-navigation__link " href="/luetuimmat/">Luetuimmat</a></li><li class="diks-navigation__item " ><a class="diks-navigation__link " href="https://savo.menoinfo.fi/fi-FI">
516Menoinfo - Katso täältä Pohjois-Savon tapahtumat</a></li></ul> 517 </nav><!-- ESI start element "recommendedTopics" generated at 25-09-2026 02:30:59.841747 --><!-- ESI end element "recommendedTopics" --><!-- ESI start element "promotedAdvertisers" generated at 25-09-2026 02:31:38.702892 --><!-- ESI end element "promotedAdvertisers" --> <nav class="diks-navigation-wrapper diks-navigation-wrapper--divider-top" ><h2 class="diks-navigation__title">Yhteystiedot</h2><ul class="diks-navigation diks-navigation--light diks-navigation--size-s" id="dropdown-customer-nav"><li class="diks-navigation__item " ><a class="diks-navigation__link " href="https://www.meks.fi/mainonta/alueet/savon-media/">Mediamyynti</a></li><li class="diks-navigation__item " ><a class="diks-navigation__link " href="https://oma.media.fi/lehti/viikkosavo/yhteystiedot/">Kaikki yhteystiedot</a></li></ul> 518 </nav><div class="diks-navigation-wrapper diks-navigation-wrapper--divider-top"><h2 class="diks-navigation__title">Ulkoasu</h2><label for="diks-darkmode-toggler" class="diks-form__switch"> 519 <span class="diks-form__switch-label"><span class="diks-icon diks-icon--size-m" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 520 <path fill-rule="evenodd" d="M13.7547 1.76065L11.7581 3.75666C10.6708 4.8436 10 6.34252 10 8C10 11.3137 12.6863 14 16 14C17.6575 14 19.1564 13.3292 20.2433 12.2419L22.2394 10.2453L21.9451 13.0531C21.4182 18.0815 17.1674 22 12 22C6.47715 22 2 17.5229 2 12C2 6.83263 5.91855 2.58178 10.9469 2.05488L13.7547 1.76065ZM8.70749 4.70657C5.93176 5.9617 4 8.75566 4 12C4 16.4183 7.58172 20 12 20C15.2443 20 18.0383 18.0682 19.2934 15.2925C18.289 15.7468 17.1738 16 16 16C11.5817 16 8 12.4183 8 8C8 6.82623 8.25316 5.71105 8.70749 4.70657Z" clip-rule="evenodd"/> 521</svg> 522</span>Käytä tummaa tilaa</span> 523 <div class="diks-form__switch-wrapper"> 524 <input id="diks-darkmode-toggler" class="diks-form__switch-input" type="checkbox"> 525 <span class="diks-form__switch-slider"></span> 526 </div> 527 </label> 528 </div></div> <nav class="diks-navigation-wrapper " ><ul class="diks-navigation diks-navigation--main diks-navigation--size-s diks-navigation--row diks-navigation--mobile-row diks-navigation--no-active-links diks-hide-below-large" ><li class="diks-navigation__item " ><a class="diks-navigation__link " href="/uusimmat/"><span class="diks-icon diks-hide-above-large" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 529 <path fill-rule="evenodd" d="M12 4a8 8 0 100 16 8 8 0 000-16zM2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12zm9-6h2v5.586l2.707 2.707-1.414 1.414L11 12.414V6z" clip-rule="evenodd"/> 530</svg> 531</span>Uusimmat</a></li><li class="diks-navigation__item " ><a class="diks-navigation__link " href="/luetuimmat/"><span class="diks-icon diks-hide-above-large" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 532 <path fill-rule="evenodd" d="M11.03 3.455c1.168-1.438 3.495-.652 3.55 1.2l.117 3.845h6a1.25 1.25 0 0 1 1.229 1.484l-1.905 10A1.25 1.25 0 0 1 18.793 21H9.06a1.25 1.25 0 0 1-.559-.132L6.764 20H3.25C2.56 20 2 19.44 2 18.75v-8.5C2 9.56 2.56 9 3.25 9h3.274l4.506-5.545ZM8 10.355v8.027L9.236 19h8.936l1.62-8.5h-5.58a1.5 1.5 0 0 1-1.499-1.455l-.131-4.33L8 10.356Zm10.056 9.255ZM4 11v7h2v-7H4Zm14.793 8.75.145.027Z" clip-rule="evenodd"/> 533</svg> 534</span>Luetuimmat</a></li><li class="diks-navigation__item " ><a class="diks-navigation__link " href="/nakoislehti/"><span class="diks-icon diks-hide-above-large" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 535 <path fill-rule="evenodd" d="M4 2H20V22H4V2ZM6 4V20H18V4H6ZM8 6H16V12H8V6ZM10 8V10H14V8H10ZM16 15H8V13H16V15ZM16 18H8V16H16V18Z" clip-rule="evenodd"/> 536</svg> 537</span>Lehdet</a></li></ul> 538 </nav></div><div class="diks-header__logo-container"><a class="diks-logo__link diks-header__logo-link diks-header__main-logo-link" href="/"><img src="https://a.viikkosavo.fi/styles/e5576057/images/logos/viikkosavo.svg" class="diks-logo diks-logo--default diks-header__logo diks-header__main-logo" alt="Viikkosavo"><img src="https://a.viikkosavo.fi/styles/e5576057/images/logos/viikkosavo-white.svg" class="diks-logo diks-logo--darkmode diks-header__logo diks-header__main-logo" alt="Viikkosavo"></a> 539 </div><div class="diks-header__navigation-container diks-header__navigation-container--right"><div class="diks-user-navigation-wrapper"> 540 <button class="diks-button diks-button--icon-only diks-button--ghost diks-navigation__link diks-dropdown-toggler diks-dropdown-toggler--user" aria-expanded="false" id="diks-sso-user" data-diks-toggle="diks-user-navigation" data-diks-toggle-class="diks-user-navigation" aria-controls="diks-user-navigation"><span class="diks-icon diks-icon--size-m" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 541 <path fill-rule="evenodd" d="M4 12a8 8 0 1 1 13.496 5.814c-1.216-1.593-3.262-2.602-5.491-2.602-2.231 0-4.28 1.011-5.495 2.607A7.978 7.978 0 0 1 4 12Zm4.04 6.953A7.963 7.963 0 0 0 12 20a7.964 7.964 0 0 0 3.966-1.05c-.83-1.087-2.254-1.84-3.961-1.84-1.71 0-3.135.754-3.965 1.843ZM12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2Zm.005 5.898c-1.247 0-2.305 1.049-2.305 2.4 0 1.353 1.058 2.402 2.305 2.402s2.305-1.05 2.305-2.401c0-1.352-1.058-2.4-2.305-2.4Zm-4.203 2.4C7.802 7.952 9.658 6 12.005 6c2.347 0 4.203 1.95 4.203 4.299 0 2.348-1.856 4.299-4.203 4.299-2.347 0-4.203-1.951-4.203-4.3Z" clip-rule="evenodd"/> 542</svg> 543</span><span class="diks-icon diks-icon--size-m diks-icon--hidden" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 544 <path fill-rule="evenodd" d="M10.5858 12L4.2218 5.63603L5.63602 4.22182L12 10.5858L18.3639 4.22183L19.7782 5.63605L13.4142 12L19.7782 18.364L18.3639 19.7782L12 13.4142L5.63602 19.7782L4.2218
54418.364L10.5858 12Z" clip-rule="evenodd"/> 545</svg> 546</span></button> 547 548 <div class="diks-navigation diks-sub-navigation diks-user-navigation" id="diks-user-navigation"> 549 <button id="diks-close-dropdown-user-nav" class="diks-button diks-button--outline diks-dropdown-navigation__close-button diks-a11y__screen-reader diks-a11y__screen-reader--focusable">Sulje valikko</button> 550 <p id="diks-sso-username" class="diks-user-navigation__username diks-hide-from-company-subscribers"></p><p class="diks-user-navigation__username diks-show-for-company-subscribers">Yritystilaus tunnistettu</p><div class="diks-show-for-company-subscribers"><p>Voit käyttää palvelun kaikkia sisältöjä vapaasti. Jos haluat kommentoida, kirjaudu sisään henkilökohtaisella Mediatunnuksella.</p></div> <ul class="diks-navigation diks-navigation--size-m" id="diks-sso-links"><li class="diks-navigation__item " ><a class="diks-navigation__link " href="javascript:window.gravito.cmp.openPreferences();">Evästevalinnat</a></li></ul> 551 </div> 552</div> 553 </div> 554 </div> 555 </div> 556 </div><div class="diks-section-navigation-wrapper"> 557 <div class="diks-container diks-container--narrow-mobile diks-container--full-width-before-l"> 558 <nav class="diks-navigation-wrapper diks-navigation-wrapper--border-bottom" aria-label="Osastovalikko"><ul class="diks-navigation diks-navigation--row diks-navigation--light diks-navigation--centered diks-navigation--mobile-row diks-navigation--draggable diks-navigation--size-xs diks-navigation--active-subtle" id="osastovalikko"><li class="diks-navigation__item " ><a class="diks-navigation__link " href="https://savo.menoinfo.fi/fi-FI"draggable="false">Menoinfo - Katso täältä Pohjois-Savon tapahtumat</a></li></ul> 559 </nav> 560 </div> 561 </div><div class="diks-quicklinks-wrapper"> 562 <div class="diks-container diks-container--narrow-mobile"> 563 <nav class="diks-navigation-wrapper " ><ul class="diks-navigation diks-navigation--main diks-navigation--size-s diks-navigation--row diks-navigation--mobile-row diks-navigation--no-active-links diks-navigation--centered diks-hide-above-large" ><li class="diks-navigation__item " ><a class="diks-navigation__link " href="/uusimmat/"><span class="diks-icon diks-hide-above-large" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 564 <path fill-rule="evenodd" d="M12 4a8 8 0 100 16 8 8 0 000-16zM2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12zm9-6h2v5.586l2.707 2.707-1.414 1.414L11 12.414V6z" clip-rule="evenodd"/> 565</svg> 566</span>Uusimmat</a></li><li class="diks-navigation__item " ><a class="diks-navigation__link " href="/luetuimmat/"><span class="diks-icon diks-hide-above-large" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 567 <path fill-rule="evenodd" d="M11.03 3.455c1.168-1.438 3.495-.652 3.55 1.2l.117 3.845h6a1.25 1.25 0 0 1 1.229 1.484l-1.905 10A1.25 1.25 0 0 1 18.793 21H9.06a1.25 1.25 0 0 1-.559-.132L6.764 20H3.25C2.56 20 2 19.44 2 18.75v-8.5C2 9.56 2.56 9 3.25 9h3.274l4.506-5.545ZM8 10.355v8.027L9.236 19h8.936l1.62-8.5h-5.58a1.5 1.5 0 0 1-1.499-1.455l-.131-4.33L8 10.356Zm10.056 9.255ZM4 11v7h2v-7H4Zm14.793 8.75.145.027Z" clip-rule="evenodd"/> 568</svg> 569</span>Luetuimmat</a></li><li class="diks-navigation__item " ><a class="diks-navigation__link " href="/nakoislehti/"><span class="diks-icon diks-hide-above-large" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 570 <path fill-rule="evenodd" d="M4 2H20V22H4V2ZM6 4V20H18V4H6ZM8 6H16V12H8V6ZM10 8V10H14V8H10ZM16 15H8V13H16V15ZM16 18H8V16H16V18Z" clip-rule="evenodd"/> 571</svg> 572</span>Lehdet</a></li></ul> 573 </nav> 574 </div> 575 </div><div id="diks-dropdown-navigation-shade" class="diks-dropdown-navigation-shade"></div></header>
575<script src="/theme/css/includes/waypoints/lib/noframework.waypoints.min.js"></script>
575 576
576<script> 577 // Fix forEach for IE 578 if (window.NodeList && !NodeList.prototype.forEach) { 579 NodeList.prototype.forEach = Array.prototype.forEach; 580 } 581 582 // Element.closest() needs a polyfill for older browsers. 583 // While we only need the closest() functionality for mobile browsers, 584 // we don't want the code to fail even on old desktop browsers. 585 // https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill 586 // https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Browser_compatibility 587 if (!Element.prototype.matches) { 588 Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector; 589 } 590 591 if (!Element.prototype.closest) { 592 Element.prototype.closest = function(s) { 593 var el = this; 594 595 do { 596 if (el.matches(s)) return el; 597 el = el.parentElement || el.parentNode; 598 } while (el !== null && el.nodeType === 1); 599 return null; 600 }; 601 } 602 603 (function () { 604 if (typeof JankkoSSOClient !== 'undefined') { 605 var stringToHTML = function (htmlString) { 606 var div = document.createElement('div'); 607 div.innerHTML = htmlString.trim(); 608 return div.firstChild; 609 }; 610 611 var showUserRelatedItems = function(personalData) { 612 var usernameElement = document.querySelector('#diks-sso-username'); 613 if (usernameElement) { 614 usernameElement.innerHTML = personalData.full_name; 615 } 616 617 var linksElement = document.querySelector('#diks-sso-links'); 618 if (linksElement) { 619 var myAccountLink = stringToHTML('<li class="diks-navigation__item"><a class="diks-navigation__link" href="'+JankkoSSOClient.serviceUrls.myAccount+'">Omat tiedot</a></li>'); 620 var logoutForm = stringToHTML('<li class="diks-navigation__item diks-navigation__item--logout"><form id="logout-form" action="'+JankkoSSOClient.serviceUrls.logout+'" method="post"><input class="diks-navigation__link" type="submit" value="Kirjaudu ulos"></form></li>'); 621 linksElement.insertBefore(myAccountLink, linksElement.childNodes[0]); 622 linksElement.appendChild(logoutForm); 623 } 624 625 var htmlElement = document.querySelector('.diks-user--is-not-logged-in'); // Class is set to main html element 626 if (htmlElement) { 627 htmlElement.classList.replace('diks-user--is-not-logged-in', 'diks-user--is-logged-in'); 628 } 629 } 630 631 var showMenuLinksForLoggedOutUser = function() { 632 const linksElement = document.querySelector('#diks-sso-links'); 633 if (!linksElement) { 634 return; 635 } 636 637 // Pidetään vain tietyt query-parametrit. Alunperin tässä poistettiin kaikki query-parametrit. 638 // @todo Selvitetään voisiko tässä sallia kaikki query-parametrit. 639 const currentUrlObject = new URL(window.location.href); 640 const returnUrlObject = new URL(`${currentUrlObject.origin}${currentUrlObject.pathname}`); 641 const allowedParams = ['limit-active-products']; 642 allowedParams.forEach(function(name) { 643 if (currentUrlObject.searchParams.get(name)) { 644 returnUrlObject.searchParams.set(name, currentUrlObject.searchParams.get(name)); 645 } 646 }); 647 648 const loginPageUrlObject = new URL(`${window.location.origin}/kirjaudu/`); 649 loginPageUrlObject.searchParams.set('returnUrl', returnUrlObject.toString()); 650 const loginLinkString = `<li class="diks-navigation__item"><a class="diks-navigation__link" href="${loginPageUrlObject.toString()}">Kirjaudu</a></li>`; 651 652 linksElement.insertBefore(stringToHTML(loginLinkString), linksElement.childNodes[0]); 653 } 654 655 var showCompanyUserRelatedItems = function(companyData) { 656 var htmlElement = document.querySelector('.diks-user--is-not-company-subscriber'); // Class is set to main html element 657 var permissions = companyData?.company_permissions || []; 658 if (htmlElement && permissions.length) { 659 htmlElement.classList.replace('diks-user--is-not-company-subscriber', 'diks-user--is-company-subscriber'); 660 } 661 } 662 663 document.addEventListener("DOMContentLoaded", async function() { 664 try { 665 const data = await JankkoSSOClient.getSession(); 666 if (data.company?.company_user_id) { 667 showCompanyUserRelatedItems(data.company); 668 }
669 if (data.personal?.personal_user_id) { 670 showUserRelatedItems(data.personal); 671 } else { 672 showMenuLinksForLoggedOutUser(); 673 } 674 } catch (error) { 675 showMenuLinksForLoggedOutUser(); 676 } 677 }); 678 } 679 }()); 680 681 682 ////////////////////////////////////////////////////////////////////////////////////////// 683 // NAVIGATIONS 684 ////////////////////////////////////////////////////////////////////////////////////////// 685 686 // Toggle icon inside a toggler 687 function toggleTogglerIcon(toggler) { 688 togglerIcons = toggler.querySelectorAll('.diks-icon'); 689 if ( togglerIcons.length > 1 ) { 690 for (var j= 0; j < togglerIcons.length; j++) { 691 togglerIcons[j].classList.toggle('diks-icon--hidden'); 692 } 693 } 694 } 695 696 // Function for closing all dropdown navigations 697 function closeAllDropdownNavigations() { 698 closeMainDropdownNavigation(); 699 closeUserDropdownNavigation(); 700 } 701 702 // Close main nav or user nav if hidden screen reader only close navigation button is clicked 703 let closeDropdownMainNav = document.getElementById('diks-close-dropdown-main-nav'); 704 let closeDropdownUserNav = document.getElementById('diks-close-dropdown-user-nav'); 705 if ( closeDropdownMainNav ) { 706 closeDropdownMainNav.addEventListener('click', function() { 707 closeMainDropdownNavigation(); 708 }); 709 } 710 if ( closeDropdownUserNav ) { 711 closeDropdownUserNav.addEventListener('click', function(e) { 712 e.stopPropagation(); 713 closeUserDropdownNavigation(); 714 }); 715 } 716 717 // Trap focus inside opened dropdown navigation 718 document.addEventListener('keydown', function(event) { 719 // Initialize variables 720 var ssoLinks = document.getElementById('diks-sso-links'); 721 var linksUserNav = ""; 722 var firstElUserNav = ""; 723 var lastElUserNav = ""; 724 var mainDropdownLastNavLinks = document.getElementById('dropdown-customer-nav'); // Last navigation element inside of main dropdown navigation 725 var linksMainDropdownNav = ""; 726 var firstElMainDropdownNav = "" 727 var lastElMainDropdownNav = ""; 728 729 // Set user nav variable values if SSO links exist 730 if (ssoLinks) { 731 linksUserNav = ssoLinks.querySelectorAll('.diks-navigation__link'); 732 firstElUserNav = document.getElementById('diks-close-dropdown-user-nav'); 733 lastElUserNav = linksUserNav[linksUserNav.length - 1]; 734 } 735 736 // Set main dropdown nav variable values if main dropdown last nav links exist 737 if (mainDropdownLastNavLinks) { 738 linksMainDropdownNav = mainDropdownLastNavLinks.querySelectorAll('.diks-navigation__link'); 739 firstElMainDropdownNav = document.getElementById('diks-close-dropdown-main-nav'); 740 lastElMainDropdownNav = linksMainDropdownNav[linksMainDropdownNav.length - 1]; 741 } 742 743 // If darkmode-toggler is found set it as the last element of main dropdown nav 744 if ( document.getElementById('diks-darkmode-toggler') ) { 745 lastElMainDropdownNav = document.getElementById('diks-darkmode-toggler'); 746 } 747 748 // Close all dropdown navigations & reposition fixed header when ESC key is pressed 749 if (event.key === "Escape" || event.key === "Esc") { 750 closeAllDropdownNavigations(); 751 } 752 // Trap focus inside user navigation and/or main dropdown navigation when they are open 753 if (event.keyCode === 9) { 754 if (event.shiftKey && (document.activeElement === firstElUserNav || document.activeElement === firstElMainDropdownNav)) { 755 event.preventDefault(); 756 if (document.activeElement === firstElUserNav) { 757 lastElUserNav.focus(); 758 } 759 else if ( document.activeElement === firstElMainDropdownNav ) { 760 lastElMainDropdownNav.focus(); 761 } 762 } 763 else if (!event.shiftKey && (document.activeElement === lastElUserNav || document.activeElement === lastElMainDropdownNav)) { 764 event.preventDefault(); 765 if (document.activeElement === lastElUserNav) { 766 firstElUserNav.focus(); 767 } 768 else if ( document.activeElement === lastElMainDropdownNav ) { 769 firstElMainDropdownNav.focus(); 770 } 771 } 772 } 773 }); 774 775 776 ////////////////////////////////////////////////////////////////////////////////////////// 777 // User navigation 778 ////////////////////////////////////////////////////////////////////////////////////////// 779 780 let userDropdownNavigation = document.getElementById('diks-user-navigation'); // user dropdown navigation 781 let userDropdownNavigationToggler = document.getElementById('diks-sso-user'); // user dropdown navigation toggler button (opens and closes user dropdown navigation) 782 let userDropdownNavigationCloseButton = document.getElementById('diks-close-dropdown-main-nav'); // Hidden screen-reader-only close button inside user dropdown navigation 783 784 // Close user dropdown navigation if hidden screen-reader-only close button is clicked 785 if ( userDropdownNavigationCloseButton ) { 786 userDropdownNavigationCloseButton.addEventListener('click', function() { 787 closeUserDropdownNavigation(); 788 }); 789 } 790 791 function closeUserDropdownNavigation() { 792 if (userDropdownNavigation) { 793 if (userDropdownNavigation.classList.contains('diks-user-navigation--is-open')) { 794 // Close user dropdown nav by removing --is-open class 795 userDropdownNavigation.classList.remove('diks-user-navigation--is-open'); 796 // Remove --is-open class from user dropdown navigation toggler 797 userDropdownNavigationToggler.classList.remove('diks-dropdown-toggle--is-open'); 798 // Toggle icon 799 toggleTogglerIcon(userDropdownNavigationToggler); 800
801 // Set aria-expanded to false for user dropdown toggler 802 userDropdownNavigationToggler.setAttribute('aria-expanded', 'false'); 803 } 804 } 805 } 806 807 // User Navigation Dropdown 808 if (userDropdownNavigation) { 809 let userDropdownNavigationAriaControls = userDropdownNavigationToggler.getAttribute('data-diks-toggle'); // aria-controls value for user dropown navigation toggler 810 userDropdownNavigationToggler.setAttribute('aria-controls', userDropdownNavigationAriaControls); 811 userDropdownNavigationToggler.addEventListener('click', function(e) { 812 e.preventDefault(); 813 // If the main dropdown navigation is already open (contains --is-open class) close it 814 if ( (userDropdownNavigation).classList.contains('diks-user-navigation--is-open') ) { 815 closeUserDropdownNavigation(); 816 } 817 // If the main dropdown navigation isn't open (doesn't contain --is-open class) open it 818 else { 819 // If other toggles are open, close them 820 document.querySelectorAll('.diks-user-navigation--is-open').forEach(function(item) { 821 item.classList.remove('diks-user-navigation--is-open'); 822 userDropdownNavigationToggler.classList.remove('diks-dropdown-toggler--is-open'); 823 }); 824 825 // Toggle icon 826 toggleTogglerIcon(userDropdownNavigationToggler); 827 828 // Set aria-expanded 829 userDropdownNavigationToggler.setAttribute('aria-expanded', 'true'); 830 831 // Open this toggle 832 userDropdownNavigation.classList.add('diks-user-navigation--is-open'); 833 834 // Close main dropdown navigation if it's open 835 closeMainDropdownNavigation(); 836 837 // Add event listener to window when user nav toggler is clicked and user nav is open 838 window.addEventListener('click', function(e){ 839 if (document.querySelector('.diks-user-navigation-wrapper').contains(e.target)){ 840 // Clicked inside user nav, do nothing 841 } 842 else { 843 // Clicked outside user nav, close user nav 844 closeUserDropdownNavigation(); 845 } 846 }); 847 848 } 849 }); 850 } 851 852 ////////////////////////////////////////////////////////////////////////////////////////// 853 // Main navigation 854 ////////////////////////////////////////////////////////////////////////////////////////// 855 856 let mainDropdownNavigation = document.getElementById('diks-dropdown-navigation'); // main dropdown navigation 857 let mainDropdownNavigationToggler = document.getElementById('diks-dropdown-toggle'); // main dropdown navigation toggler button (opens and closes main dropdown navigation) 858 let mainDropdownNavigationShade = document.querySelector('.diks-dropdown-navigation-shade'); // shade effect that is visible when main dropdown navigation is open 859 let mainDropdownNavigationCloseButton = document.getElementById('diks-close-dropdown-main-nav'); // Hidden screen-reader-only close button inside main dropdown navigation 860 861 // Close main dropdown navigation if hidden screen-reader-only close button is clicked 862 if ( mainDropdownNavigationCloseButton ) { 863 mainDropdownNavigationCloseButton.addEventListener('click', function() { 864 closeMainDropdownNavigation(); 865 }); 866 } 867 868 // Function for closing main dropdown navigation 869 function closeMainDropdownNavigation() { 870 // Main dropdown navigation 871 if (mainDropdownNavigation) { 872 if (mainDropdownNavigation.classList.contains('diks-dropdown-navigation--is-open')) { 873 // Close main dropdown nav by removing --is-open class 874 mainDropdownNavigation.classList.remove('diks-dropdown-navigation--is-open'); 875 // Remove --is-open class from main dropdown navigation toggler 876 mainDropdownNavigationToggler.classList.remove('diks-dropdown-toggle--is-open'); 877 // Toggle icon 878 toggleTogglerIcon(mainDropdownNavigationToggler); 879 880 // Set aria-expanded to false for main dropdown toggler 881 mainDropdownNavigationToggler.setAttribute('aria-expanded', 'false'); 882 883 // Remove --is-open class from body 884 document.body.classList.remove('diks-body--dropdown-navigation-is-open'); 885 886 // Turn off shade effect 887 mainDropdownNavigationShade.classList.remove('diks-dropdown-navigation-shade--is-visible'); 888 } 889 } 890 } 891 892 893 // Main Navigation Dropdown 894 if (mainDropdownNavigation) {
895 let mainDropdownNavigationAriaControls = mainDropdownNavigationToggler.getAttribute('data-toggle'); // aria-controls value for main dropown navigation toggler 896 mainDropdownNavigationToggler.setAttribute('aria-controls', mainDropdownNavigationAriaControls); 897 mainDropdownNavigationToggler.addEventListener('click', function(e) { 898 e.preventDefault(); 899 // If the main dropdown navigation is already open (contains --is-open class) close it 900 if ( (mainDropdownNavigation).classList.contains('diks-dropdown-navigation--is-open') ) { 901 closeMainDropdownNavigation(); 902 } 903 // If the main dropdown navigation isn't open (doesn't contain --is-open class) open it 904 else { 905 // If other toggles are open, close them 906 document.querySelectorAll('.diks-dropdown-navigation--is-open').forEach(function(item) { 907 item.classList.remove('diks-dropdown-navigation--is-open'); 908 mainDropdownNavigationToggler.classList.remove('diks-dropdown-toggler--is-open'); 909 }); 910 911 // Toggle icon 912 toggleTogglerIcon(mainDropdownNavigationToggler); 913 914 // Set aria-expanded 915 mainDropdownNavigationToggler.setAttribute('aria-expanded', 'true'); 916 917 // Open this toggle 918 mainDropdownNavigation.classList.add('diks-dropdown-navigation--is-open'); 919 // Add is-open class to body 920 document.body.classList.add('diks-body--dropdown-navigation-is-open'); 921 // Turn on shade effect 922 mainDropdownNavigationShade.classList.add('diks-dropdown-navigation-shade--is-visible'); 923 924 // Close main Dropdown Navigation when visible shade area is clicked 925 document.querySelector('.diks-dropdown-navigation-shade--is-visible').addEventListener('click', function() { 926 closeMainDropdownNavigation(); 927 }); 928 929 // Close user dropdown navigation if it's open 930 closeUserDropdownNavigation(); 931 932 } 933 }); 934 } 935 936 937</script>
937 938 939 <div class="diks-display-ad rs_skip" aria-hidden="true"> 940 <div class="diks-display-ad__unit" id="gam-ad-topscroll_skin" > 941
941<script>googletag.cmd.push(function() { googletag.display('gam-ad-topscroll_skin'); });</script>
941 942 </div> 943 </div> 944 <div class="diks-display-ad rs_skip" aria-hidden="true"> 945 <div class="diks-display-ad__unit" id="gam-ad-topscroll_mob" > 946
946<script>googletag.cmd.push(function() { googletag.display('gam-ad-topscroll_mob'); });</script>
946 947 </div> 948 </div> 949 <div class="diks-container"> 950 <div class="diks-layout"> 951 952 953 954 955 956 957 <div class="diks-note-wrapper "><div class="diks-container diks-container--narrower-mobile"> 958 <div id="diks-segment-notes"></div></div></div>
958<script> 959 let segmentTeasersContainer = document.getElementById("diks-segment-notes"); 960 961 (function() { 962 function getCookie(name) { 963 name = name + '='; 964 const decodedCookie = decodeURIComponent(document.cookie); 965 const cookies = decodedCookie.split(';'); 966 967 for (let i = 0; i < cookies.length; i++) { 968 const cookie = cookies[i].trim(); 969 if (cookie.indexOf(name) == 0) { 970 return cookie.substring(name.length, cookie.length); 971 } 972 } 973 } 974 975 function injectSegmentTeasers(segmentsQueryString) { 976 var xhttp = new XMLHttpRequest(); 977 978 xhttp.onreadystatechange = function() { 979 if (this.readyState == 4 && this.status == 200) { 980 var segmentTeasers = this.responseText.trim(); 981 982 if (segmentTeasers) { 983 if (segmentTeasersContainer) { 984 segmentTeasersContainer.innerHTML = segmentTeasers; 985 } 986 } 987 else { 988 // Remove segment teaser container if there are no segment teasers 989 if (segmentTeasersContainer) { 990 segmentTeasersContainer.remove(); 991 } 992 } 993 } 994 }; 995 996 xhttp.open("GET", "/.ajax/segmentTeaser?" + segmentsQueryString, true); 997 xhttp.send(); 998 } 999 1000 var segmentsCookie = getCookie('jankkosegments'); 1001 1002 if (segmentsCookie) { 1003 var segmentsData = JSON.parse(segmentsCookie); 1004 var segments = segmentsData.segments; 1005 1006 if (segments && typeof segments === 'object') { 1007 var segmentsQueryString = ""; 1008 1009 Object.keys(segments).forEach(function(key, index) { 1010 segmentsQueryString = index === 0 ? "" : segmentsQueryString + "&"; 1011 var value = segments[key]; 1012 1013 if (Array.isArray(value)) { 1014 value = value.join(','); 1015 } 1016 1017 segmentsQueryString = segmentsQueryString + key + "=" + value; 1018 }); 1019 1020 injectSegmentTeasers(segmentsQueryString); 1021 } 1022 } 1023 else { 1024 // Remove segment teaser container if there are no segment teasers 1025 if (segmentTeasersContainer) { 1026 segmentTeasersContainer.remove(); 1027 } 1028 } 1029 })(); 1030</script>
1030 1031 1032 <div class="diks-display-ad diks-display-ad--in-layout rs_skip" aria-hidden="true"> 1033 <div class="diks-display-ad__unit" id="gam-ad-paraati1" > 1034
1034<script>googletag.cmd.push(function() { googletag.display('gam-ad-paraati1'); });</script>
1034 1035 </div> 1036 </div> 1037 <div class="diks-section diks-section--type-latest"> 1038 <nav aria-label="Murupolku"> 1039 <ul class="diks-breadcrumb"><li class="diks-breadcrumb__item"><a class="diks-breadcrumb__link" href="/">Etusivu</a></li><li class="diks-breadcrumb__item"><span class="diks-breadcrumb__sub-item">Uusimmat</span></li></ul> 1040 </nav> 1041 <div class="diks-columns"> 1042 <main class="diks-main-column diks-border--after" id="sisalto"> 1043 <section class="diks-section__main"> <h1 class="diks-title diks-title--section" >Uusimmat</h1> 1044 1045 1046 1047 <article class="diks-card diks-card--reversed diks-card--size-l diks-card--main"> 1048 <div class="diks-card__main-wrapper"><div class="diks-card__image-wrapper"> 1049 <picture><source srcset="https://i.media.fi/incoming/dmq1l4/8225285.jpg/alternates/WEBP_LANDSCAPE_240/8225285.webp 240w, https://i.media.fi/incoming/dmq1l4/8225285.jpg/alternates/WEBP_LANDSCAPE_480/8225285.webp 480w, https://i.media.fi/incoming/dmq1l4/8225285.jpg/alternates/WEBP_LANDSCAPE_720/8225285.webp 720w, https://i.media.fi/incoming/dmq1l4/8225285.jpg/alternates/WEBP_LANDSCAPE_960/8225285.webp 960w" sizes="(max-width: 504px) 480px, (max-width: 1279px) 720px, 960px" type="image/webp"><img class="diks-card__image" src="https://i.media.fi/incoming/dmq1l4/8225285.jpg/alternates/LANDSCAPE_720/8225285.jpg" srcset="https://i.media.fi/incoming/dmq1l4/8225285.jpg/alternates/LANDSCAPE_240/8225285.jpg 240w, https://i.media.fi/incoming/dmq1l4/8225285.jpg/alternates/LANDSCAPE_480/8225285.jpg 480w, https://i.media.fi/incoming/dmq1l4/8225285.jpg/alternates/LANDSCAPE_720/8225285.jpg 720w, https://i.media.fi/incoming/dmq1l4/8225285.jpg/alternates/LANDSCAPE_960/8225285.jpg 960w" sizes="(max-width: 504px) 480px, (max-width: 1279px) 720px, 960px" loading="lazy" decoding="sync" alt=""> 1050 </picture> 1051 </div><div class="diks-card__text-wrapper"> 1052 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9820967">Hyvinvointi ja käsityöt valtaavat Kuopio-hallin viikonloppuna</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1053 <time class="diks-date__published" datetime="2026-09-24T21:30:00+03:00">Eilen 21:30</time> 1054 1055 </div> 1056<div class="diks-comment-count "> 1057 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9820967" data-coral-id="9820967"></span> 1058 </div> 1059 </div> 1060 </div></div> 1061 </div> 1062 </div></article> 1063 1064 1065 <article class="diks-card diks-card--reversed"> 1066 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1067 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9814363">Viikkosavo tavoittaa yli 45 000 lukijaa â digilukijoiden määrä hienoisessa kasvussa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1068 <time class="diks-date__published" datetime="2026-09-23T07:00:00+03:00">23.9.2026 7:00</time> 1069 1070 </div> 1071<div class="diks-comment-count "> 1072 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9814363" data-coral-id="9814363"></span> 1073 </div> 1074 </div> 1075 </div></div> 1076 </div> 1077 </div></article> 1078 1079 1080 <article class="diks-card diks-card--reversed"> 1081 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1082 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9813452">Tutkijoiden yö valtaa Kuopion kampuksen â mahdollisuus tutustua elämän rakennuspalikoihin ja Ursan planetaarioon</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1083 <time class="diks-date__published" datetime="2026-09-23T04:00:00+03:00">23.9.2026 4:00</time> 1084 1085 </div> 1086<div class="diks-comment-count "> 1087 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9813452" data-coral-id="9813452"></span> 1088 </div> 1089 </div> 1090 </div></div> 1091 </div> 1092 </div></article> 1093 1094 <article class="diks-card diks-card--reversed"> 1095 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1096 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paakirjoitus-mielipide/9813273"><span class="diks-ui-accent">Atte von Wrightin kolumni | </span>Viimeiselle vartille</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1097 <time class="diks-date__published" datetime="2026-09-23T03:00:00+03:00">23.9.2026 3:00</time> 1098 1099 </div> 1100<div class="diks-comment-count "> 1101 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9813273" data-coral-id="9813273"></span> 1102 </div> 1103 </div> 1104 </div></div> 1105 </div> 1106 </div></article> 1107 1108 1109 <article class="diks-card diks-card--reversed"> 1110 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1111 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9813425"><span class="diks-ui-accent">Kymmenen kysymystä | </span>Myynti- ja vientikoordinaattori Matti Kauppinen arvostaa toisessa ihmisessä eniten täsmällisyyttä</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1112 <time class="diks-date__published" datetime="2026-09-23T02:00:00+03:00">23.9.2026 2:00</time> 1113 1114 </div> 1115<div class="diks-comment-count "> 1116 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9813425" data-coral-id="9813425"></span> 1117 </div> 1118 </div> 1119 </div></div> 1120 </div> 1121 </div></article> 1122 1123 1124 <article class="diks-card diks-card--reversed"> 1125 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1126 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9811906">Suomalaiset kansanperinteet veti tuhansia kävijöitä kuopiolaiskauppakeskukseen</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1127 <time class="diks-date__published" datetime="2026-09-22T09:54:09+03:00">22.9.2026 9:54</time> 1128 1129 </div> 1130<div class="diks-comment-count "> 1131 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9811906" data-coral-id="9811906"></span> 1132 </div> 1133 </div> 1134 </div></div> 1135 </div> 1136 </div></article> 1137 1138 1139 <article class="diks-card diks-card--reversed"> 1140 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1141 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9800893">
1141Vauvoille oma tapahtuma Kuopion kaupunginteatterilla</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1142 <time class="diks-date__published" datetime="2026-09-20T05:00:00+03:00">20.9.2026 5:00</time> 1143 1144 </div> 1145<div class="diks-comment-count "> 1146 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9800893" data-coral-id="9800893"></span> 1147 </div> 1148 </div> 1149 </div></div> 1150 </div> 1151 </div></article> 1152 1153 1154 <article class="diks-card diks-card--reversed"> 1155 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1156 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9799900">Itä-Suomen yliopisto avaa kymmenen aloituspaikkaa Venäjän kielen alkeisiin</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1157 <time class="diks-date__published" datetime="2026-09-19T05:00:00+03:00">19.9.2026 5:00</time> 1158 1159 </div> 1160<div class="diks-comment-count "> 1161 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9799900" data-coral-id="9799900"></span> 1162 </div> 1163 </div> 1164 </div></div> 1165 </div> 1166 </div></article> 1167 1168 1169 <article class="diks-card diks-card--reversed"> 1170 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1171 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9803068">Kuopiolainen kalatuote vei ykkössijan kansainvälisessä Great Taste -kilpailussa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1172 <time class="diks-date__published" datetime="2026-09-18T12:00:00+03:00">18.9.2026 12:00</time> 1173 1174 </div> 1175<div class="diks-comment-count "> 1176 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9803068" data-coral-id="9803068"></span> 1177 </div> 1178 </div> 1179 </div></div> 1180 </div> 1181 </div></article> 1182 1183 1184 <article class="diks-card diks-card--reversed"> 1185 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1186 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paakirjoitus-mielipide/9799448"><span class="diks-ui-accent">Lukijan kuva | </span>Amiraaliperhonen ilahduttaa vielä syksylläkin â lähetä oma kuvasi julkaistavaksi</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1187 <time class="diks-date__published" datetime="2026-09-18T05:00:00+03:00">18.9.2026 5:00</time> 1188 1189 </div> 1190<div class="diks-comment-count "> 1191 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9799448" data-coral-id="9799448"></span> 1192 </div> 1193 </div> 1194 </div></div> 1195 </div> 1196 </div></article> <div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true"> 1197 <div class="diks-display-ad__unit" id="gam-ad-jattiboksi1" > 1198
1198<script>googletag.cmd.push(function() { googletag.display('gam-ad-jattiboksi1'); });</script>
1198 1199 </div> 1200 </div><div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true"> 1201 <div class="diks-display-ad__unit" id="gam-ad-mobiili1" > 1202
1202<script>googletag.cmd.push(function() { googletag.display('gam-ad-mobiili1'); });</script>
1202 1203 </div> 1204 </div> 1205 1206 1207 <article class="diks-card diks-card--reversed"> 1208 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1209 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9801395">Kuopion Rusta muuttaa Teollisuuskadulle</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1210 <time class="diks-date__published" datetime="2026-09-17T15:53:31+03:00">17.9.2026 15:53</time> 1211 1212 </div> 1213<div class="diks-comment-count "> 1214 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9801395" data-coral-id="9801395"></span> 1215 </div> 1216 </div> 1217 </div></div> 1218 </div> 1219 </div></article> 1220 1221 1222 <article class="diks-card diks-card--reversed"> 1223 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1224 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9799752">Jalankulku- ja pyöräilyväylää kunnostetaan Jynkänvuorella</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1225 <time class="diks-date__published" datetime="2026-09-17T11:30:00+03:00">17.9.2026 11:30</time> 1226 1227 </div> 1228<div class="diks-comment-count "> 1229 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9799752" data-coral-id="9799752"></span> 1230 </div> 1231 </div> 1232 </div></div> 1233 </div> 1234 </div></article> 1235 1236 1237 <article class="diks-card diks-card--reversed"> 1238 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1239 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9797093">Pohjois-Savon Lääkäriyhdistyksen Martti Hämäläinen -palkinto arvostetulle rintasyöpätutkijalle</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1240 <time class="diks-date__published" datetime="2026-09-16T13:00:00+03:00">16.9.2026 13:00</time> 1241 1242 </div> 1243<div class="diks-comment-count "> 1244 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9797093" data-coral-id="9797093"></span> 1245 </div> 1246 </div> 1247 </div></div> 1248 </div> 1249 </div></article> 1250 1251 1252 <article class="diks-card diks-card--reversed"> 1253 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1254 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9794519">Lucien Sene jäi eläkkeelle ââkahden valtakunnallisesti suositun muusikon isä suuntaa pois Savosta</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1255 <time class="diks-date__published" datetime="2026-09-16T05:00:00+03:00">16.9.2026 5:00</time> 1256 1257 </div> 1258<div class="diks-comment-count "> 1259 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9794519" data-coral-id="9794519"></span> 1260 </div> 1261 </div> 1262 </div></div> 1263 </div> 1264 </div></article> 1265 1266 1267 <article class="diks-card diks-card--reversed"> 1268 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1269 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9794555">Mediataidefestarit näkyy ympäri kaupunkia ââensimmäisen viikon huipentaa Kauppakadulla järjestettävät reivit</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1270 <time class="diks-date__published" datetime="2026-09-16T04:30:00+03:00">16.9.2026 4:30</time> 1271 1272 </div> 1273<div class="diks-comment-count "> 1274 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9794555" data-coral-id="9794555"></span> 1275 </div> 1276 </div> 1277 </div></div> 1278 </div> 1279 </div></article> 1280 1281 1282 <article class="diks-card diks-card--reversed"> 1283 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1284 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9794795">Luontokuvanäyttely johdattaa pohjoisten havumetsien ekosysteemien maailmaan</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1285 <time class="diks-date__published" datetime="2026-09-16T03:30:00+03:00">16.9.2026 3:30</time> 1286 1287 </div> 1288<div class="diks-comment-count "> 1289 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9794795" data-coral-id="9794795"></span> 1290 </div> 1291 </div> 1292 </div></div> 1293 </div> 1294 </div></article> 1295 1296 <article class="diks-card diks-card--reversed"> 1297 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1298 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paakirjoitus-mielipide/9794730"><span class="diks-ui-accent">Tero Taipaleen kolumni | </span>Elämää saaressa â tassun alla</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1299 <time class="diks-date__published" datetime="2026-09-16T03:00:00+03:00">16.9.2026 3:00</time> 1300 1301 </div> 1302<div class="diks-comment-count "> 1303 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9794730" data-coral-id="9794730"></span> 1304 </div> 1305 </div> 1306 </div></div> 1307 </div> 1308 </div></article> 1309 1310 1311 <article class="diks-card diks-card--reversed"> 1312 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1313 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9794597"><span class="diks-ui-accent">Kymmenen kysymystä | </span>Toimittaja-juontaja Olavi Rytkönen toivoisi rootsmusiikin festivaalia Kuopioon</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1314 <time class="diks-date__published" datetime="2026-09-16T02:00:00+03:00">16.9.2026 2:00</time> 1315 1316 </div> 1317<div class="diks-comment-count "> 1318 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9794597" data-coral-id="9794597"></span> 1319 </div> 1320 </div> 1321 </div></div> 1322 </div> 1323 </div></article> 1324 1325 1326 <article class="diks-card diks-card--reversed"> 1327 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1328 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9794339">Villapaidoilla vapaaoppilaspaikkoja lapsille ja nuorille</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1329 <time class="diks-date__published" datetime="2026-09-16T01:30:00+03:00">16.9.2026 1:30</time> 1330 1331 </div> 1332<div class="diks-comment-count "> 1333 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9794339" data-coral-id="9794339"></span> 1334 </div> 1335 </div> 1336 </div></div> 1337 </div> 1338 </div></article> 1339 1340 1341 <article class="diks-card diks-card--reversed"> 1342 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1343 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9794308">Musiikki- ja tanssityöpajassa opetellaan Jepuan menuettia ja polskaa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1344 <time class="diks-date__published" datetime="2026-09-16T01:00:00+03:00">16.9.2026 1:00</time> 1345 1346 </div> 1347<div class="diks-comment-count "> 1348 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9794308" data-coral-id="9794308"></span> 1349 </div> 1350 </div> 1351 </div></div> 1352 </div> 1353 </div></article> <div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true">
1354 <div class="diks-display-ad__unit" id="gam-ad-jattiboksi2" > 1355
1355<script>googletag.cmd.push(function() { googletag.display('gam-ad-jattiboksi2'); });</script>
1355 1356 </div> 1357 </div><div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true"> 1358 <div class="diks-display-ad__unit" id="gam-ad-mobiili2" > 1359
1359<script>googletag.cmd.push(function() { googletag.display('gam-ad-mobiili2'); });</script>
1359 1360 </div> 1361 </div> 1362 1363 1364 <article class="diks-card diks-card--reversed"> 1365 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1366 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9793929"><span class="diks-ui-accent">Katsomossa | </span>Addams-ilmiö rantautui Kuopioon, toiveissa erikoisnäytös halloweenina</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1367 <time class="diks-date__published" datetime="2026-09-15T13:15:00+03:00">15.9.2026 13:15</time> 1368 1369 </div> 1370<div class="diks-comment-count "> 1371 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9793929" data-coral-id="9793929"></span> 1372 </div> 1373 </div> 1374 </div></div> 1375 </div> 1376 </div></article> 1377 1378 1379 <article class="diks-card diks-card--reversed"> 1380 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1381 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9778978">Kuolonmetalli korisee jälleen Kuopion satamassa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1382 <time class="diks-date__published" datetime="2026-09-13T05:00:00+03:00">13.9.2026 5:00</time> 1383 1384 </div> 1385<div class="diks-comment-count "> 1386 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9778978" data-coral-id="9778978"></span> 1387 </div> 1388 </div> 1389 </div></div> 1390 </div> 1391 </div></article> 1392 1393 1394 <article class="diks-card diks-card--reversed"> 1395 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1396 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9784051">Saastamoisenpuiston korttelileikkipaikka saneeraukseen</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1397 <time class="diks-date__published" datetime="2026-09-11T10:10:49+03:00">11.9.2026 10:10</time> 1398 1399 </div> 1400<div class="diks-comment-count "> 1401 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9784051" data-coral-id="9784051"></span> 1402 </div> 1403 </div> 1404 </div></div> 1405 </div> 1406 </div></article> 1407 1408 1409 <article class="diks-card diks-card--reversed"> 1410 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1411 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paakirjoitus-mielipide/9775402"><span class="diks-ui-accent">Lukijan kuva | </span>Lukijoiden kuvissa loistavat syksyn värit â lähetä oma kuvasi julkaistavaksi</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1412 <time class="diks-date__published" datetime="2026-09-11T04:00:00+03:00">11.9.2026 4:00</time> 1413 1414 | Päivitetty <time class="diks-date__updated" datetime="2026-09-15T12:20:55+03:00">15.9.2026 12:20</time> 1415 </div> 1416<div class="diks-comment-count "> 1417 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9775402" data-coral-id="9775402"></span> 1418 </div> 1419 </div> 1420 </div></div> 1421 </div> 1422 </div></article> 1423 1424 1425 <article class="diks-card diks-card--reversed"> 1426 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1427 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9782579">Tahkon kesäteatteri siirtyy Louhosareenalle ââensi kesänä mukana Esko Roine ja Sinikka Sokka</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1428 <time class="diks-date__published" datetime="2026-09-10T16:15:00+03:00">10.9.2026 16:15</time> 1429 1430 </div> 1431<div class="diks-comment-count "> 1432 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9782579" data-coral-id="9782579"></span> 1433 </div> 1434 </div> 1435 </div></div> 1436 </div> 1437 </div></article> 1438 1439 1440 <article class="diks-card diks-card--reversed"> 1441 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1442 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9775848">Damilare Olalude ei halunnut, että hänen aikansa Kuopiossa menee hukkaan â teki elokuvan yhdessä 85 vapaaehtoisen kanssa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1443 <time class="diks-date__published" datetime="2026-09-09T05:00:00+03:00">9.9.2026 5:00</time> 1444 1445 </div> 1446<div class="diks-comment-count "> 1447 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9775848" data-coral-id="9775848"></span> 1448 </div> 1449 </div> 1450 </div></div> 1451 </div> 1452 </div></article> 1453 1454 1455 <article class="diks-card diks-card--reversed"> 1456 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1457 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9775810">Kuopiossa järjestetään syyskuussa kaksi isoa harrastustapahtumaa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1458 <time class="diks-date__published" datetime="2026-09-09T03:30:00+03:00">9.9.2026 3:30</time> 1459 1460 </div> 1461<div class="diks-comment-count "> 1462 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9775810" data-coral-id="9775810"></span> 1463 </div> 1464 </div> 1465 </div></div> 1466 </div> 1467 </div></article> 1468 1469 1470 <article class="diks-card diks-card--reversed"> 1471 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1472 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9775770">Kuopiolaiskirjakaupassa kirjailijoiden täyttämä syksy â Vieraana muun muassa Pate Mustajärven leski</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1473 <time class="diks-date__published" datetime="2026-09-09T03:00:00+03:00">9.9.2026 3:00</time> 1474 1475 </div> 1476<div class="diks-comment-count "> 1477 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9775770" data-coral-id="9775770"></span> 1478 </div> 1479 </div> 1480 </div></div> 1481 </div> 1482 </div></article> 1483 1484 1485 <article class="diks-card diks-card--reversed"> 1486 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1487 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9775468"><span class="diks-ui-accent">Kysely | </span>Mistä ammennat energiaa ja virtaa syksyyn?</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1488 <time class="diks-date__published" datetime="2026-09-09T02:00:00+03:00">9.9.2026 2:00</time> 1489 1490 </div> 1491<div class="diks-comment-count "> 1492 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9775468" data-coral-id="9775468"></span> 1493 </div> 1494 </div> 1495 </div></div> 1496 </div> 1497 </div></article> 1498 1499 <article class="diks-card diks-card--reversed"> 1500 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1501 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paakirjoitus-mielipide/9775327"><span class="diks-ui-accent">Wilhemiina Honkasen kolumni | </span>Oli Eeva, Katariina, Aku ja Pekka. Oli kesä.</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1502 <time class="diks-date__published" datetime="2026-09-09T01:30:00+03:00">9.9.2026 1:30</time> 1503 1504 </div> 1505<div class="diks-comment-count "> 1506 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9775327" data-coral-id="9775327"></span> 1507 </div> 1508 </div> 1509 </div></div> 1510 </div> 1511 </div></article> <div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true">
1512 <div class="diks-display-ad__unit" id="gam-ad-jattiboksi3" > 1513
1513<script>googletag.cmd.push(function() { googletag.display('gam-ad-jattiboksi3'); });</script>
1513 1514 </div> 1515 </div><div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true"> 1516 <div class="diks-display-ad__unit" id="gam-ad-mobiili3" > 1517
1517<script>googletag.cmd.push(function() { googletag.display('gam-ad-mobiili3'); });</script>
1517 1518 </div> 1519 </div> 1520 1521 1522 <article class="diks-card diks-card--reversed"> 1523 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1524 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9773960"><span class="diks-ui-accent">Kymmenen kysymystä | </span>Kirjailija Tatu Kokko poimii arkeensa virtaa erityisesti ihanasta parisuhteesta</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1525 <time class="diks-date__published" datetime="2026-09-09T01:00:00+03:00">9.9.2026 1:00</time> 1526 1527 </div> 1528<div class="diks-comment-count "> 1529 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9773960" data-coral-id="9773960"></span> 1530 </div> 1531 </div> 1532 </div></div> 1533 </div> 1534 </div></article> 1535 1536 1537 <article class="diks-card diks-card--reversed"> 1538 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1539 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9773878"><span class="diks-ui-accent">Katsomossa | </span>Miesluolassa kohtaavat kädentaidot ja voimaantumistarpeet</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1540 <time class="diks-date__published" datetime="2026-09-08T11:00:00+03:00">8.9.2026 11:00</time> 1541 1542 </div> 1543<div class="diks-comment-count "> 1544 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9773878" data-coral-id="9773878"></span> 1545 </div> 1546 </div> 1547 </div></div> 1548 </div> 1549 </div></article> 1550 1551 1552 <article class="diks-card diks-card--reversed"> 1553 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1554 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9772342">Kuopiossa etsitään jälleen vuoden vapaaehtoistekoa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1555 <time class="diks-date__published" datetime="2026-09-08T05:00:00+03:00">8.9.2026 5:00</time> 1556 1557 </div> 1558<div class="diks-comment-count "> 1559 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9772342" data-coral-id="9772342"></span> 1560 </div> 1561 </div> 1562 </div></div> 1563 </div> 1564 </div></article> 1565 1566 1567 <article class="diks-card diks-card--reversed"> 1568 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1569 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9771755">Kuopion toriparkissa nähdään viikon ajan digitaalinen taidefestivaali</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1570 <time class="diks-date__published" datetime="2026-09-07T13:30:00+03:00">7.9.2026 13:30</time> 1571 1572 | Päivitetty <time class="diks-date__updated" datetime="2026-09-07T13:55:13+03:00">7.9.2026 13:55</time> 1573 </div> 1574<div class="diks-comment-count "> 1575 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9771755" data-coral-id="9771755"></span> 1576 </div> 1577 </div> 1578 </div></div> 1579 </div> 1580 </div></article> 1581 1582 1583 <article class="diks-card diks-card--reversed"> 1584 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1585 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9752986">Levykauppayrittäjä Jyri Lipponen on Vuoden Yrittäjä</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1586 <time class="diks-date__published" datetime="2026-09-05T19:30:00+03:00">5.9.2026 19:30</time> 1587 1588 </div> 1589<div class="diks-comment-count "> 1590 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9752986" data-coral-id="9752986"></span> 1591 </div> 1592 </div> 1593 </div></div> 1594 </div> 1595 </div></article> 1596 1597 <article class="diks-card diks-card--reversed"> 1598 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1599 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9767051">Erikoissairaanhoidon laskutuksessa voi olla viivettä Pohjois-Savossa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1600 <time class="diks-date__published" datetime="2026-09-04T15:15:00+03:00">4.9.2026 15:15</time> 1601 1602 </div> 1603<div class="diks-comment-count "> 1604 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9767051" data-coral-id="9767051"></span> 1605 </div> 1606 </div> 1607 </div></div> 1608 </div> 1609 </div></article> 1610 1611 1612 <article class="diks-card diks-card--reversed"> 1613 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1614 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9759975">Remontti sulkee Lippumäen uimahallin lähes puoleksi vuodeksi</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1615 <time class="diks-date__published" datetime="2026-09-02T16:00:00+03:00">2.9.2026 16:00</time> 1616 1617 </div> 1618<div class="diks-comment-count "> 1619 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9759975" data-coral-id="9759975"></span> 1620 </div> 1621 </div> 1622 </div></div> 1623 </div> 1624 </div></article> 1625 1626 1627 <article class="diks-card diks-card--reversed"> 1628 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1629 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9753325">Parasta palvelua -kilpailu käynnistyy jälleen</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1630 <time class="diks-date__published" datetime="2026-09-01T08:00:00+03:00">1.9.2026 8:00</time> 1631 1632 </div> 1633<div class="diks-comment-count "> 1634 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9753325" data-coral-id="9753325"></span> 1635 </div> 1636 </div> 1637 </div></div> 1638 </div> 1639 </div></article> 1640 1641 1642 <article class="diks-card diks-card--reversed"> 1643 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1644 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9747139">Ilmainen sunnuntaitapahtuma yhdistää levymyyjäiset ja livemusiikin</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1645 <time class="diks-date__published" datetime="2026-09-01T04:00:00+03:00">1.9.2026 4:00</time> 1646 1647 </div> 1648<div class="diks-comment-count "> 1649 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9747139" data-coral-id="9747139"></span> 1650 </div> 1651 </div> 1652 </div></div> 1653 </div> 1654 </div></article> 1655 1656 1657 <article class="diks-card diks-card--reversed"> 1658 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1659 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9752266">
1659Opiskelijatapahtuma valtaa torin â näyttävä kulkue kampukselta keskustaan</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1660 <time class="diks-date__published" datetime="2026-08-31T16:00:00+03:00">31.8.2026 16:00</time> 1661 1662 </div> 1663<div class="diks-comment-count "> 1664 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9752266" data-coral-id="9752266"></span> 1665 </div> 1666 </div> 1667 </div></div> 1668 </div> 1669 </div></article> <div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true"> 1670 <div class="diks-display-ad__unit" id="gam-ad-jattiboksi4" > 1671
1671<script>googletag.cmd.push(function() { googletag.display('gam-ad-jattiboksi4'); });</script>
1671 1672 </div> 1673 </div><div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true"> 1674 <div class="diks-display-ad__unit" id="gam-ad-mobiili4" > 1675
1675<script>googletag.cmd.push(function() { googletag.display('gam-ad-mobiili4'); });</script>
1675 1676 </div> 1677 </div> 1678 1679 1680 <article class="diks-card diks-card--reversed"> 1681 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1682 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9752432">Power uusiin tiloihin Kuopiossa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1683 <time class="diks-date__published" datetime="2026-08-31T14:00:00+03:00">31.8.2026 14:00</time> 1684 1685 </div> 1686<div class="diks-comment-count "> 1687 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9752432" data-coral-id="9752432"></span> 1688 </div> 1689 </div> 1690 </div></div> 1691 </div> 1692 </div></article> 1693 1694 1695 <article class="diks-card diks-card--reversed"> 1696 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1697 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9747537">Seuraava Viikkosavo ilmestyy 9.9.</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1698 <time class="diks-date__published" datetime="2026-08-31T04:00:00+03:00">31.8.2026 4:00</time> 1699 1700 </div> 1701<div class="diks-comment-count "> 1702 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9747537" data-coral-id="9747537"></span> 1703 </div> 1704 </div> 1705 </div></div> 1706 </div> 1707 </div></article> 1708 1709 1710 <article class="diks-card diks-card--reversed"> 1711 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1712 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9743818">Kuopiossa on syntynyt kuluvan vuoden aikana 652 lasta</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1713 <time class="diks-date__published" datetime="2026-08-27T17:00:00+03:00">27.8.2026 17:00</time> 1714 1715 </div> 1716<div class="diks-comment-count "> 1717 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9743818" data-coral-id="9743818"></span> 1718 </div> 1719 </div> 1720 </div></div> 1721 </div> 1722 </div></article> 1723 1724 1725 <article class="diks-card diks-card--reversed"> 1726 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1727 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9742928">Minna Canth -palkinto jaetaan jälleen ensi keväänä â ehdota palkinnonsaajaa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1728 <time class="diks-date__published" datetime="2026-08-27T12:00:00+03:00">27.8.2026 12:00</time> 1729 1730 </div> 1731<div class="diks-comment-count "> 1732 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9742928" data-coral-id="9742928"></span> 1733 </div> 1734 </div> 1735 </div></div> 1736 </div> 1737 </div></article> 1738 1739 1740 <article class="diks-card diks-card--reversed"> 1741 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1742 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paakirjoitus-mielipide/9737066"><span class="diks-ui-accent">Lukijan kuva | </span>KalPan uusi pelaajavahvistus ja metsän kultaa â lähetä oma kuvasi julkaistavaksi</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1743 <time class="diks-date__published" datetime="2026-08-27T04:00:00+03:00">27.8.2026 4:00</time> 1744 1745 </div> 1746<div class="diks-comment-count "> 1747 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9737066" data-coral-id="9737066"></span> 1748 </div> 1749 </div> 1750 </div></div> 1751 </div> 1752 </div></article> 1753 1754 1755 <article class="diks-card diks-card--reversed"> 1756 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1757 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9741282">Työttömyys jatkaa kasvuaan koko maassa ja Pohjois-Savossa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1758 <time class="diks-date__published" datetime="2026-08-26T16:01:37+03:00">26.8.2026 16:01</time> 1759 1760 </div> 1761<div class="diks-comment-count "> 1762 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9741282" data-coral-id="9741282"></span> 1763 </div> 1764 </div> 1765 </div></div> 1766 </div> 1767 </div></article> 1768 1769 1770 <article class="diks-card diks-card--reversed"> 1771 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1772 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9737491">Eevastiina, 16, kirjoitti kirjan kuukaudessa eikä kertonut kellekään: "Ãidin piti hengitellä hetki"</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1773 <time class="diks-date__published" datetime="2026-08-26T05:00:00+03:00">26.8.2026 5:00</time> 1774 1775 </div> 1776<div class="diks-comment-count "> 1777 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9737491" data-coral-id="9737491"></span> 1778 </div> 1779 </div> 1780 </div></div> 1781 </div> 1782 </div></article> 1783 1784 1785 <article class="diks-card diks-card--reversed"> 1786 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1787 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9737694">Kaikille avoimessa verkkoseminaarissa käsitellään itsemurhien ehkäisyäââ suositellaan erityisesti opiskelijoille</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1788 <time class="diks-date__published" datetime="2026-08-26T04:30:00+03:00">26.8.2026 4:30</time> 1789 1790 </div> 1791<div class="diks-comment-count "> 1792 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9737694" data-coral-id="9737694"></span> 1793 </div> 1794 </div> 1795 </div></div> 1796 </div> 1797 </div></article> 1798 1799 1800 <article class="diks-card diks-card--reversed"> 1801 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1802 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9737580">Suojaan-harjoitusta voi seurata livenä verkossa â kokoaa yli 2 000 osallistujaa testaamaan Luolan väestönsuojaa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1803 <time class="diks-date__published" datetime="2026-08-26T03:00:00+03:00">26.8.2026 3:00</time> 1804 1805 </div> 1806<div class="diks-comment-count "> 1807 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9737580" data-coral-id="9737580"></span> 1808 </div> 1809 </div> 1810 </div></div> 1811 </div> 1812 </div></article> 1813 1814 1815 <article class="diks-card diks-card--reversed"> 1816 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1817 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9737657">Kaksi Minna Canth -tilaisuutta elo-syyskuussa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1818 <time class="diks-date__published" datetime="2026-08-26T02:30:00+03:00">26.8.2026 2:30</time> 1819 1820 </div> 1821<div class="diks-comment-count "> 1822 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9737657" data-coral-id="9737657"></span> 1823 </div> 1824 </div> 1825 </div></div> 1826 </div> 1827 </div></article> <nav aria-label="Arkiston sivutus"> 1828 <ul class="diks-pagination "> 1829 <li class="diks-pagination__item"></li> 1830 1831 <li class="diks-pagination__item">
1832 <a class="diks-pagination__item-link diks-pagination__item-link--active" href="https://www.viikkosavo.fi/uusimmat/sivu/1" aria-current="true">Olet sivulla 1</a> 1833 </li> 1834 1835 <li class="diks-pagination__item"><a class="diks-pagination__item-link" href="https://www.viikkosavo.fi/uusimmat/sivu/2" aria-label="Siirry seuraavalle sivulle">Seuraava</a> 1836 <span class="diks-icon diks-icon--size-m" aria-hidden="true"><svg role="img" focusable="false" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24"> 1837 <path fill-rule="evenodd" d="M13.5859 12L8.29297 6.70711L9.70718 5.29289L16.4143 12L9.70718 18.7071L8.29297 17.2929L13.5859 12Z" clip-rule="evenodd"/> 1838</svg> 1839</span></li> 1840 </ul></section> 1841 </main> 1842 <aside class="diks-section__aside diks-aside-column"> 1843 1844 <div class="diks-display-ad rs_skip" aria-hidden="true"> 1845 <div class="diks-display-ad__unit" id="gam-ad-boksi1" > 1846
1846<script>googletag.cmd.push(function() { googletag.display('gam-ad-boksi1'); });</script>
1846 1847 </div> 1848 </div> 1849 <!-- ESI start element "frontPageNews" generated at 25-09-2026 02:27:10.161351 --> 1850 <h2 class="diks-title diks-title--section" ><a class="diks-title__link" href="/" aria-label="Lue lisää etusivun juttuja">Etusivulla nyt</a></h2><ul id="etusivulla-nyt" class="diks-article-list diks-article-list--unordered" ><li class="diks-article-list__item"> 1851 1852 1853 1854 <article class="diks-card diks-card--size-xs"> 1855 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1856 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9820967">Hyvinvointi ja käsityöt valtaavat Kuopio-hallin viikonloppuna</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1857 <time class="diks-date__published" datetime="2026-09-24T21:30:00+03:00">Eilen 21:30</time> 1858 1859 </div> 1860<div class="diks-comment-count "> 1861 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9820967" data-coral-id="9820967"></span> 1862 </div> 1863 </div> 1864 </div></div> 1865 </div> 1866 </div></article> </li><li class="diks-article-list__item"> 1867 1868 1869 1870 <article class="diks-card diks-card--size-xs"> 1871 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1872 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9814363">Viikkosavo tavoittaa yli 45 000 lukijaa â digilukijoiden määrä hienoisessa kasvussa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1873 <time class="diks-date__published" datetime="2026-09-23T07:00:00+03:00">23.9.2026 7:00</time> 1874 1875 </div> 1876<div class="diks-comment-count "> 1877 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9814363" data-coral-id="9814363"></span> 1878 </div> 1879 </div> 1880 </div></div> 1881 </div> 1882 </div></article> </li><li class="diks-article-list__item"> 1883 1884 1885 1886 <article class="diks-card diks-card--size-xs"> 1887 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1888 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9813452">Tutkijoiden yö valtaa Kuopion kampuksen â mahdollisuus tutustua elämän rakennuspalikoihin ja Ursan planetaarioon</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1889 <time class="diks-date__published" datetime="2026-09-23T04:00:00+03:00">23.9.2026 4:00</time> 1890 1891 </div> 1892<div class="diks-comment-count "> 1893 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9813452" data-coral-id="9813452"></span> 1894 </div> 1895 </div> 1896 </div></div> 1897 </div> 1898 </div></article> </li><li class="diks-article-list__item"> 1899 1900 1901 <article class="diks-card diks-card--size-xs"> 1902 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1903 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paakirjoitus-mielipide/9813273"><span class="diks-ui-accent">Atte von Wrightin kolumni | </span>Viimeiselle vartille</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1904 <time class="diks-date__published" datetime="2026-09-23T03:00:00+03:00">23.9.2026 3:00</time> 1905 1906 </div> 1907<div class="diks-comment-count "> 1908 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9813273" data-coral-id="9813273"></span> 1909 </div> 1910 </div> 1911 </div></div> 1912 </div> 1913 </div></article> </li><li class="diks-article-list__item"> 1914 1915 1916 1917 <article class="diks-card diks-card--size-xs"> 1918 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1919 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9813425"><span class="diks-ui-accent">Kymmenen kysymystä | </span>Myynti- ja vientikoordinaattori Matti Kauppinen arvostaa toisessa ihmisessä eniten täsmällisyyttä</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta "> <div class="diks-date "> 1920 <time class="diks-date__published" datetime="2026-09-23T02:00:00+03:00">23.9.2026 2:00</time> 1921 1922 </div> 1923<div class="diks-comment-count "> 1924 <span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9813425" data-coral-id="9813425"></span> 1925 </div> 1926 </div> 1927 </div></div> 1928 </div> 1929 </div></article> </li></ul><!-- ESI end element "frontPageNews" --> 1930 <div class="diks-display-ad rs_skip" aria-hidden="true">
1931 <div class="diks-display-ad__unit" id="gam-ad-boksi2" > 1932
1932<script>googletag.cmd.push(function() { googletag.display('gam-ad-boksi2'); });</script>
1932 1933 </div> 1934 </div> 1935 <div class="diks-display-ad rs_skip" aria-hidden="true"> 1936 <div class="diks-display-ad__unit" id="gam-ad-mobiili5" > 1937
1937<script>googletag.cmd.push(function() { googletag.display('gam-ad-mobiili5'); });</script>
1937 1938 </div> 1939 </div><!-- ESI start element "mostReadFromCurrentPublication" generated at 25-09-2026 02:31:20.392784 --> 1940 <h2 class="diks-title diks-title--section" ><a class="diks-title__link" href="/luetuimmat/" aria-label="Lue lisää luetuimpia juttuja">Luetuimmat</a></h2><ol id="luetuimmat" class="diks-article-list diks-article-list--ordered" ><li class="diks-article-list__item"> 1941 1942 1943 1944 <article class="diks-card diks-card--size-xs"> 1945 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1946 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9794519">Lucien Sene jäi eläkkeelle ââkahden valtakunnallisesti suositun muusikon isä suuntaa pois Savosta</a></h2></div> 1947 </div> 1948 </div></article> </li><li class="diks-article-list__item"> 1949 1950 1951 1952 <article class="diks-card diks-card--size-xs"> 1953 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1954 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9813452">Tutkijoiden yö valtaa Kuopion kampuksen â mahdollisuus tutustua elämän rakennuspalikoihin ja Ursan planetaarioon</a></h2></div> 1955 </div> 1956 </div></article> </li><li class="diks-article-list__item"> 1957 1958 1959 1960 <article class="diks-card diks-card--size-xs"> 1961 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1962 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9811906">Suomalaiset kansanperinteet veti tuhansia kävijöitä kuopiolaiskauppakeskukseen</a></h2></div> 1963 </div> 1964 </div></article> </li><li class="diks-article-list__item"> 1965 1966 1967 1968 <article class="diks-card diks-card--size-xs"> 1969 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1970 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9801395">Kuopion Rusta muuttaa Teollisuuskadulle</a></h2></div> 1971 </div> 1972 </div></article> </li><li class="diks-article-list__item"> 1973 1974 1975 1976 <article class="diks-card diks-card--size-xs"> 1977 <div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper"> 1978 <div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9813425"><span class="diks-ui-accent">Kymmenen kysymystä | </span>Myynti- ja vientikoordinaattori Matti Kauppinen arvostaa toisessa ihmisessä eniten täsmällisyyttä</a></h2></div> 1979 </div> 1980 </div></article> </li></ol><!-- ESI end element "mostReadFromCurrentPublication" --> 1981 <div class="diks-display-ad rs_skip" aria-hidden="true"> 1982 <div class="diks-display-ad__unit" id="gam-ad-boksi3" > 1983
1983<script>googletag.cmd.push(function() { googletag.display('gam-ad-boksi3'); });</script>
1983 1984 </div> 1985 </div> 1986 <div class="diks-display-ad rs_skip" aria-hidden="true"> 1987 <div class="diks-display-ad__unit" id="gam-ad-mobiili6" > 1988
1988<script>googletag.cmd.push(function() { googletag.display('gam-ad-mobiili6'); });</script>
1988 1989 </div> 1990 </div> 1991 <div class="diks-display-ad rs_skip" aria-hidden="true"> 1992 <div class="diks-display-ad__unit" id="gam-ad-boksi4" > 1993
1993<script>googletag.cmd.push(function() { googletag.display('gam-ad-boksi4'); });</script>
1993 1994 </div> 1995 </div> 1996 </aside> 1997 </div> 1998 </div> 1999 </div> 2000 </div> 2001 2002 2003 <footer class="diks-footer"><div class="diks-container diks-container--narrow-mobile diks-container--full-width-before-l"> 2004 <div class="diks-footer__top"> <nav class="diks-navigation-wrapper " aria-label="Osastovalikko"><ul class="diks-navigation diks-navigation--row diks-navigation--light diks-navigation--centered diks-navigation--mobile-row diks-navigation--draggable diks-navigation--size-xs diks-navigation--active-subtle" ><li class="diks-navigation__item " ><a class="diks-navigation__link " href="https://savo.menoinfo.fi/fi-FI"draggable="false">Menoinfo - Katso täältä Pohjois-Savon tapahtumat</a></li></ul> 2005 </nav></div> 2006 </div><div class="diks-container"><div class="diks-footer__main"> 2007 <div class="diks-grid"> 2008 <div class="diks-column diks-column--span-4 diks-column--m-span-8 diks-column--l-span-4 diks-column--xl-span-4"> 2009 <p><img src="https://a.viikkosavo.fi/styles/e5576057/images/logos/viikkosavo.svg" class="diks-logo diks-logo--default diks-footer__main-logo--narrow" alt="Viikkosavo"><img src="https://a.viikkosavo.fi/styles/e5576057/images/logos/viikkosavo-white.svg" class="diks-logo diks-logo--darkmode diks-footer__main-logo--narrow" alt="Viikkosavo"></p> 2010 <p><strong>Postiosoite:</strong> Viestikatu 7 A 7, 70600 Kuopio<br><strong>Käyntiosoite:</strong> Viestikatu 7 A 7, Kuopio<br><strong>Vastaava päätoimittaja:</strong> Inka Palokangas</p></div> 2011 2012 <div class="diks-column diks-column--span-4 diks-column--m-span-8 diks-column--l-span-4 diks-column--xl-span-5"><div class="diks-footer__main-secondary-logos-container"><div class="diks-footer__main-secondary-logo"><a href="https://vastuullistajournalismia.fi/"><img src="https://a.viikkosavo.fi/styles/e5576057/images/logos/vastuullista-journalismia.png" loading="lazy" alt="Vastuullisen journalismin merkki kertoo, että sitä käyttävä media on sitoutunut noudattamaan Julkisen sanan neuvoston laatimia Journalistin ohjeita."></a></div></div><div class="diks-footer__main-links-wrapper"> 2013 <div class="diks-column diks-column--span-2"><a class="diks-footer__main-link" href="https://www.keskisuomalainen.com/tietosuojalauseke/">Tietosuojalauseke</a><a class="diks-footer__main-link" href="javascript:window.gravito.cmp.openPreferences();">Evästevalinnat</a><a class="diks-footer__main-link" href="https://www.keskisuomalainen.com/kayttoehdot/">Käyttöehdot</a><a class="diks-footer__main-link" href="https://keskisuomalainen.com/medianvapausasetus/">Medianvapausasetus</a><a class="diks-footer__main-link" href="https://oma.media.fi/tekoaly-journalismissamme/">Tekoäly journalismissamme</a></div> 2014 <div class="diks-column diks-column--span-2"><a class="diks-footer__main-link" href="https://oma.media.fi/lehti/viikkosavo/">Asiakaspalvelu</a><a class="diks-footer__main-link" href="https://www.meks.fi/mainonta/alueet/savon-media/">Mediamyynti</a><a class="diks-footer__main-link" href="https://oma.media.fi/lehti/viikkosavo/yhteystiedot/">Yhteystiedot</a></div> 2015 </div></div> 2016 2017 <div class="diks-column diks-column--span-4 diks-column--m-span-8 diks-column--l-span-4 diks-column--xl-span-5"> 2018 <h2 class="diks-footer__main-title">Sovellus</h2><p><strong>Uutissovellus</strong> sisältää tuoreet juttumme, joita ilmestyy ympäri vuorokauden vuoden jokaisena päivänä.</p><p><a class="diks-button diks-button--light" href="/asenna/" >Asenna uutissovellus</a></p> 2019 2020 2021 </div> 2022 </div> 2023 </div><div class="diks-footer__bottom"> 2024 <div class="diks-footer__bottom-row"><div class="diks-footer__bottom-logo-wrapper"><a href="https://www.keskisuomalainen.com/"><img class="diks-footer__bottom-logo" src="https://a.viikkosavo.fi/styles/e5576057/images/logos/keskisuomalainen-sign.svg" loading="lazy" alt="Keskisuomalainen Oyj"></a></div><span>Kuulumme Mediakonserni Keskisuomalaiseen</span></div> 2025 <div class="diks-footer__bottom-link-farm-wrapper"> 2026 <p><a class='diks-footer__bottom-link-farm-item' href='https://www.aamuposti.fi/'>Aamuposti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.avecmedia.fi/'>Avec</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.esaimaa.fi/'>Etelä-Saimaa</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.ess.fi/'>Etelä-Suomen Sanomat</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.forssanlehti.fi/'>Forssan Lehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.hankasalmensanomat.fi/'>Hankasalmen Sanomat </a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.heinavedenlehti.fi/'>Heinäveden Lehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.helsinginuutiset.fi/'>Helsingin Uutiset</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.hameensanomat.fi/'>Hämeen Sanomat</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.hameenlinnankaupunkiuutiset.fi/'>Hämeenlinnan Kaupunkiuutiset</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.iisalmensanomat.fi/'>Iisalmen Sanomat</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.itahame.fi/'>Itä-Häme</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.ita-savo.fi/'>Itä-Savo</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.joroistenlehti.fi/'>Joroisten Lehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.juvanlehti.fi/'>Juvan Lehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.kaakonkulma.fi/'>Kaakonkulma</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.kangasniemenlehti.fi/'>Kangasniemen Kunnallislehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.karjalainen.fi/'>Karjalainen</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.heili.fi/'>Karjalan Heili</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.karkkilalainen.fi/'>Karkkilalainen</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.keski-hame.fi/'>Keski-Häme</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.keski-uusimaa.fi/'>Keski-Uusimaa</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.keskilaakso.fi/'>Keskilaakso</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.ksml.fi/'>Keskisuomalainen</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.koillis-savo.fi/'>Koillis-Savo</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.kouvolansanomat.fi/'>Kouvolan Sanomat</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.kymensanomat.fi/'>Kymen Sanomat</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.lappeenrannanuutiset.fi/'>Lappeenrannan Uutiset</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.laukaa-konnevesi.fi/'>Laukaa-Konnevesi</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.lieksanlehti.fi/'>Lieksan Lehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.lopenlehti.fi/'>Lopen Lehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.loviisansanomat.fi/'>Loviisan Sanomat</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.luumaenlehti.fi/'>Luumäen Lehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.lansisaimaa.fi/'>Länsi-Saimaan Sanomat</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.lansi-savo.fi/'>Länsi-Savo</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.lansi-uusimaa.fi/'>Länsi-Uusimaa</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.lansivayla.fi/'>Länsiväylä</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.mattijaliisa.fi/'>Matti ja Liisa</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.meksi.fi/'>Meksi Urheilumedia</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.miilu.fi/'>Miilu</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.mikkelinkaupunkilehti.fi/'>Mikkelin Kaupunkilehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.mantsalanuutiset.fi/'>Mäntsälän Uutiset</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.aamuposti.fi/aihe/Nurmij%C3%A4rvi'>Nurmijärven Uutiset</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.outokummunseutu.fi/'>Outokummun Seutu</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.joutsenolehti.fi/'>Paikallislehti Joutseno</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.prsanomat.fi/'>Parikkalan-Rautjärven Sanomat</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.pernionseudunlehti.fi/'>Perniönseudun Lehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.pieksamaenlehti.fi/'>Pieksämäen Lehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.pielavesi-keitele.fi/'>Pielavesi-Keitele</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.pielisjokiseutu.fi/'>Pielisjokiseutu</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.pitajalainen.fi/'>Pitäjäläinen</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.pitajanuutiset.fi/'>Pitäjänuutiset</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.pogostansanomat.fi/'>Pogostan Sanomat</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.puruvesi.net/'>Puruvesi</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.pyhtaanlehti.fi/'>Pyhtäänlehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.salonjokilaakso.fi/'>Salonjokilaakso</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.sampolehti.fi/'>Sampo</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.savonsanomat.fi/'>Savon Sanomat</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.sinunsavo.fi/'>Sinun Savo</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.sisa-savolehti.fi/'>Sisä-Savo</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.sisasuomenlehti.fi/'>Sisä-Suomen Lehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.soisalonseutu.fi/'>Soisalon Seutu</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.sjl.fi/'>Suur-Jyväskylän Lehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.tamperelainen.fi/'>Tamperelainen</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.tollotin.fi/'>Töllötin</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.uusimaa.fi/'>Uusimaa</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.uutis-jousi.fi/'>Uutis-Jousi</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.uutisvuoksi.fi/'>Uutisvuoksi</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.vantaansanomat.fi/'>Vantaan Sanomat</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.vihdinuutiset.fi/'>Vihdin Uutiset</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.viikkosavo.fi/'>Viikkosavo</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.viispiikkinen.fi/'>
2026Viispiikkinen</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.viitasaarenseutu.fi/'>Viitasaaren Seutu</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.warkaudenlehti.fi/'>Warkauden Lehti</a> • <a class='diks-footer__bottom-link-farm-item' href='https://www.ylakarjala.fi/'>Ylä-Karjala</a></p><p>Kaikki sisällöt voidaan julkaista kaikissa Mediakonserni Keskisuomalaisen medioissa.</p> 2027 </div> 2028 </div></div> 2029</footer> 2030 2031 2032
2032<script> 2033 if (!DOMTokenList.prototype.replace) { 2034 // IE Polyfill 2035 DOMTokenList.prototype.replace = function (a, b) { 2036 if (this.contains(a)) { 2037 this.add(b); 2038 this.remove(a); 2039 return true; 2040 } 2041 return false; 2042 } 2043 } 2044 2045 document.querySelector('.diks-no-js').classList.replace('diks-no-js', 'diks-js'); 2046 2047 // User agent sniffing is not reliable and it's going away. 2048 // Use only to sprinkle a little bit of progressive enhancement on top. 2049 // Dear Apple, stop lying, iPad on iOS 13 is not a Mac. You're turning into 90s Microsoft. 2050 var userAgent = navigator.userAgent || navigator.vendor || window.opera; 2051 if (/android/i.test(userAgent)) { 2052 document.querySelector('html').classList.add('diks-user-agent--android'); 2053 } else if (/iPad|iPhone|iPod/i.test(userAgent) && !window.MSStream) { 2054 document.querySelector('html').classList.add('diks-user-agent--ios'); 2055 } else if (/macintosh/i.test(userAgent) && navigator.maxTouchPoints > 1) { 2056 document.querySelector('html').classList.add('diks-user-agent--ios'); 2057 } 2058</script>
2058 2059
2060<script> 2061 // Fix forEach for IE 2062 if (window.NodeList && !NodeList.prototype.forEach) { 2063 NodeList.prototype.forEach = Array.prototype.forEach; 2064 } 2065 2066 // Element.closest() needs a polyfill for older browsers. 2067 // While we only need the closest() functionality for mobile browsers, 2068 // we don't want the code to fail even on old desktop browsers. 2069 // https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill 2070 // https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Browser_compatibility 2071 if (!Element.prototype.matches) { 2072 Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector; 2073 } 2074 2075 if (!Element.prototype.closest) { 2076 Element.prototype.closest = function(s) { 2077 var el = this; 2078 2079 do { 2080 if (el.matches(s)) return el; 2081 el = el.parentElement || el.parentNode; 2082 } while (el !== null && el.nodeType === 1); 2083 return null; 2084 }; 2085 } 2086 2087 function setAriaExpanded(toggler, ariaExpandedValue) { 2088 // Set aria-expanded attribute of dropdown toggler 2089 // If the toggler contains a button, set the aria-expanded attribute for the button instead 2090 if ( toggler.querySelector('button') != null ) { 2091 toggler.querySelector('button').setAttribute('aria-expanded', ariaExpandedValue); 2092 } 2093 else { 2094 toggler.setAttribute('aria-expanded', ariaExpandedValue); 2095 } 2096 } 2097 2098 function toggleElement(target, toggleClass, toggler) { 2099 if (toggleClass) { 2100 var isOpenClass = toggleClass + '--is-open'; 2101 var isClosedClass = toggleClass + '--is-closed'; 2102 2103 if (target.classList.contains(isOpenClass)) { 2104 // Close this toggle 2105 target.classList.remove(isOpenClass); 2106 target.classList.add(isClosedClass); 2107 2108 // Set aria-expanded to false for the toggler 2109 setAriaExpanded(toggler, 'false'); 2110 2111 } else if (target.classList.contains(isClosedClass)) { 2112 // Open this toggle 2113 target.classList.remove(isClosedClass); 2114 target.classList.add(isOpenClass); 2115 2116 // Set aria-expanded to true for the toggler 2117 setAriaExpanded(toggler, 'true'); 2118 } else { 2119 // Open this toggle as a fallback 2120 target.classList.add(isOpenClass); 2121 2122 // Set aria-expanded to true for the toggler 2123 setAriaExpanded(toggler, 'true'); 2124 } 2125 } else { 2126 if (window.getComputedStyle(target).display !== 'none') { 2127 target.style.display = 'none'; 2128 } else { 2129 target.style.display = 'block'; 2130 } 2131 } 2132 }; 2133 2134 document.querySelectorAll('.js-diks-toggler').forEach(function(toggler) { 2135 var toggleId = toggler.getAttribute('data-diks-toggle'); 2136 var target = document.getElementById(toggleId); 2137 var eventListenerAttached = toggler.getAttribute('data-diks-event-click'); 2138 2139 if (target && !eventListenerAttached) { 2140 2141 // Set aria-controls of toggler 2142 if ( toggler.querySelector('button') != null ) { 2143 toggler.querySelector('button').setAttribute('aria-controls', toggleId); 2144 } 2145 else { 2146 toggler.setAttribute('aria-controls', toggleId); 2147 } 2148 2149 toggler.addEventListener('click', function(e) { 2150 e.preventDefault(); 2151 2152 var toggleClass = toggler.getAttribute('data-diks-toggle-class'); 2153 2154 if (webShareAPIEnabled(toggleId)) { 2155 share(); 2156 } else { 2157 toggleElement(target, toggleClass, toggler); 2158 } 2159 }); 2160 2161 toggler.setAttribute('data-diks-event-click', true); 2162 } 2163 }); 2164 2165 // Web Share and Clipboard API capabilities 2166 2167 function webShareAPIEnabled(toggleId) { 2168 const webShareAPIEnabled = true; 2169 const webShareAPIDropdownShareIds = ["jaa","jakopainikkeet"]; 2170 const isMobileDevice = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 2171 2172 return webShareAPIEnabled && webShareAPIDropdownShareIds.includes(toggleId) && isMobileDevice && navigator.share ? true : false; 2173 } 2174 2175 function share() { 2176 const metaTitleElement = document.querySelector('meta[property="og:title"]'); 2177 const metaDescriptionElement = document.querySelector('meta[name="description"]'); 2178 const metaUrlElement = document.querySelector('meta[property="og:url"]'); 2179 let title = ''; 2180 let description = ''; 2181 let url = document.location.href; 2182 2183 if (metaTitleElement && metaTitleElement.content) { 2184 title = metaTitleElement.content; 2185 } 2186 2187 if (metaDescriptionElement && metaDescriptionElement.content) { 2188 description = metaDescriptionElement.content; 2189 } 2190 2191 if (metaUrlElement && metaUrlElement.content) { 2192 url = metaUrlElement.content; 2193 } 2194 2195 navigator.share({ 2196 title: title, 2197 text: description, 2198 url: url 2199 }); 2200 } 2201 2202 document.querySelectorAll('.js-diks-share-clipboard').forEach(function(element) { 2203 element.addEventListener('click', function(e) { 2204 e.preventDefault(); 2205 2206 let url = document.location.href; 2207 const metaUrlElement = document.querySelector('meta[property="og:url"]'); 2208 2209 if (metaUrlElement && metaUrlElement.content) { 2210 url = metaUrlElement.content; 2211 } 2212 2213 // Copy URL to clipboard 2214 navigator.clipboard.writeText(url).then(function () { 2215 // Copying URL to clipboard succeeded 2216 const dropdownId = element.getAttribute('data-diks-dropdown-id'); 2217 // Find closest dropdown toggler 2218 let dropdownToggler = element.closest('.diks-dropdown').querySelector('.js-diks-toggler'); 2219 2220 if (dropdownId) { 2221 const dropdownElement = document.getElementById(dropdownId); 2222 2223 if (dropdownElement) { 2224 // Close currently open dropdown 2225 toggleElement(dropdownElement, 'diks-dropdown__content', dropdownToggler); 2226 } 2227 2228 // Show link copied notification text 2229 const notificationTextWrapperDiv = document.createElement('div'); 2230 const notificationTextDiv = document.createElement('div'); 2231 const notificationText = document.createTextNode('Linkki kopioitu leikepöydälle'); 2232 2233 notificationTextDiv.classList.add('diks-dropdown__notification-text'); 2234 notificationTextDiv.appendChild(notificationText); 2235 notificationTextWrapperDiv.classList.add('diks-dropdown__notification-text-wrapper'); 2236 notificationTextWrapperDiv.appendChild(notificationTextDiv); 2237 dropdownElement.parentNode.insertBefore(notificationTextWrapperDiv, null); 2238 2239 setTimeout(function () { 2240 notificationTextWrapperDiv.remove(); 2241 }, 5000); 2242 } 2243 }); 2244 }); 2245 }); 2246
2247 const initContentBlockToggleButtons = () => { 2248 const toggleContainers = document.querySelectorAll('[data-diks-init="toggle"]'); 2249 toggleContainers.forEach(container => { 2250 const toggleButton = container.querySelector('.diks-toggle-button'); 2251 const toggleContent = container.querySelector('.diks-toggle-content-container'); 2252 if (toggleButton && toggleContent) { 2253 toggleButton.addEventListener('click', () => { 2254 toggleElement(toggleContent, 'diks-toggle', toggleButton); 2255 }); 2256 } 2257 }); 2258 }; 2259 document.addEventListener('DOMContentLoaded', () => { 2260 initContentBlockToggleButtons(); 2261 }); 2262 2263</script>
2263 2264
2265<script> 2266 const useDragThreshold = true; 2267 2268 // Horizontally scrollable & draggable navigation 2269 class HorizontalScrollDragger { 2270 constructor(element) { 2271 this.slider = typeof element === 'string' ? document.querySelector(element) : element instanceof Element ? element : null; 2272 if (this.slider === null) return console.error('HorizontalScrollDragger: Element not found'); 2273 2274 this.isDown = false; 2275 this.preventClick = false; 2276 this.startX; 2277 this.scrollLeft; 2278 2279 this.dragThreshold = 5; 2280 this.dragSensitivity = 1; 2281 this.dragged = false; 2282 2283 this.init(); 2284 } 2285 2286 init() { 2287 this.slider.addEventListener('mousedown', (e) => this.handleMouseDown(e)); 2288 this.slider.addEventListener('mouseleave', () => this.handleMouseLeave()); 2289 this.slider.addEventListener('mouseup', () => this.handleMouseUp()); 2290 this.slider.addEventListener('mousemove', (e) => this.handleMouseMove(e)); 2291 this.slider.addEventListener('click', (e) => this.handleClick(e)); 2292 } 2293 2294 handleMouseDown(e) { 2295 this.isDown = true; 2296 this.slider.classList.add('diks-navigation--draggable-active'); 2297 this.startX = e.pageX - this.slider.offsetLeft; 2298 this.scrollLeft = this.slider.scrollLeft; 2299 this.preventClick = false; 2300 } 2301 2302 handleMouseLeave() { 2303 this.isDown = false; 2304 this.slider.classList.remove('diks-navigation--draggable-active'); 2305 } 2306 2307 handleMouseUp() { 2308 this.isDown = false; 2309 this.slider.classList.remove('diks-navigation--draggable-active'); 2310 } 2311 2312 handleMouseMove(e) { 2313 if (!this.isDown) return; 2314 2315 if ( useDragThreshold == true ) { 2316 const xWithThreshold = e.pageX - this.slider.offsetLeft; 2317 const delta = xWithThreshold - this.startX; 2318 2319 // If not yet dragging, check threshold 2320 if (!this.dragged && Math.abs(delta) > this.dragThreshold) { 2321 this.dragged = true; 2322 this.preventClick = true; 2323 2324 // Reset baseline so scrolling starts smoothly from here 2325 this.startX = xWithThreshold; 2326 this.scrollLeft = this.slider.scrollLeft; 2327 } 2328 2329 if (this.dragged) { 2330 e.preventDefault(); 2331 const walkWithThreshold = (xWithThreshold - this.startX) * this.dragSensitivity; // adjust sensitivity 2332 this.slider.scrollLeft = this.scrollLeft - walkWithThreshold; 2333 } 2334 } 2335 else { 2336 e.preventDefault(); 2337 const x = e.pageX - this.slider.offsetLeft; 2338 const walk = (x - this.startX) * this.dragSensitivity; // adjust sensitivity 2339 this.slider.scrollLeft = this.scrollLeft - walk; 2340 this.preventClick = true; 2341 } 2342 2343 } 2344 2345 handleClick(e) { 2346 if ( useDragThreshold == true && this.preventClick && this.dragged ) { 2347 e.preventDefault(); 2348 } 2349 else if ( useDragThreshold == false && this.preventClick) { 2350 e.preventDefault(); 2351 } 2352 } 2353 } 2354 2355 // Set the draggable navs (multiple) to handle their scrollbars 2356 let scrollableNavs = document.querySelectorAll('.diks-navigation--draggable'); 2357 2358 // Make draggable navigation draggable 2359 if ( scrollableNavs ) { 2360 scrollableNavs.forEach(function(element) { 2361 new HorizontalScrollDragger(element); 2362 }); 2363 } 2364 2365 2366 // Handle has-scrollbars class adding and removing 2367 function handleScrollableNavScrollbars(scrollableNavElement) { 2368 // If scrollable area is wider (scrollWidth) than what's visible (clientWidth) the element has scrollbars 2369 if ( scrollableNavElement.scrollWidth > scrollableNavElement.clientWidth ) { 2370 scrollableNavElement.classList.add('diks-navigation--draggable-has-scrollbars'); 2371 scrollableNavElement.parentElement.classList.add('diks-navigation-wrapper--has-scrollbars'); 2372 } 2373 // Remove the has-scrollbars class if it exists but shouldn't (element does not have scrollbars) 2374 else if ( scrollableNavElement.classList.contains('diks-navigation--draggable-has-scrollbars') ) { 2375 scrollableNavElement.classList.remove('diks-navigation--draggable-has-scrollbars'); 2376 scrollableNavElement.parentElement.classList.remove('diks-navigation-wrapper--has-scrollbars'); 2377 } 2378 } 2379 2380 // If scrollable nav exists add (or remove) necessary classes 2381 // "DOMContentLoaded" does not wait for styles to load and styles affect the size of the scrollable nav directly so we have to use "load" instead 2382 window.addEventListener('load', (event) => { 2383 if ( scrollableNavs ) {
2384 scrollableNavs.forEach(function(element) { 2385 handleScrollableNavScrollbars(element); 2386 }); 2387 } 2388 }); 2389 2390 // Check if scrollable nav has scrollbar 2391 window.addEventListener('resize', function(event){ 2392 if ( scrollableNavs ) { 2393 scrollableNavs.forEach(function(element) { 2394 handleScrollableNavScrollbars(element); 2395 }); 2396 } 2397 }); 2398</script>
2398 2399
2400<script> 2401 // Back button handling 2402 document.querySelectorAll('a.js-diks-back-button').forEach(function(item) { 2403 var referrerIsSameDomain = false; 2404 // Check if referrer is found as referrer isn't always available (browser, tab, window, bookmark, privacy). 2405 if (typeof(document.referrer) === 'string' && document.referrer.length > 0) { 2406 // Set referrerIsSameDomain to true if referrer is in the same domain as current location hostname and referrer is not the same page as current page (window.location.href) 2407 if ( document.referrer.includes(document.location.hostname) && document.referrer != window.location.href ) { 2408 referrerIsSameDomain = true; 2409 } 2410 } 2411 2412 // Overwrite link with history.go, as it also remembers scroll position but only if referrer is the same domain as current location hostname 2413 if (history.length > 1 && referrerIsSameDomain == true) { 2414 // Set referrer as back button href to enable visual cue & opening to a new window 2415 item.setAttribute('href', document.referrer); 2416 2417 // Set back button text 2418 item.querySelector('.diks-header__cta-text').innerHTML = "Takaisin"; 2419 2420 var stepsToGoBack = -1; 2421 2422 item.addEventListener('click', function(e) { 2423 e.preventDefault(); 2424 history.go(stepsToGoBack); 2425 }); 2426 } 2427 }); 2428</script>
2428 2429 2430 <link rel="stylesheet" href="/theme/css/includes/lightgallery/css/lightgallery-bundle.min.css"> 2431 <style>.lg-sub-html { background-color: rgba(0,0,0, .6); }</style> 2432
2432<script src="/theme/css/includes/lightgallery/lightgallery.min.js"></script>
2432 2433
2433<script src="/theme/css/includes/lightgallery/plugins/autoplay/lg-autoplay.min.js"></script>
2433 2434
2434<script src="/theme/css/includes/lightgallery/plugins/fullscreen/lg-fullscreen.min.js"></script>
2434 2435
2435<script src="/theme/css/includes/lightgallery/plugins/thumbnail/lg-thumbnail.min.js"></script>
2435 2436
2436<script src="/theme/css/includes/lightgallery/plugins/zoom/lg-zoom.min.js"></script>
2436 2437
2437<script> 2438 // lightGallery 2439 // Separate gallery for every .js-lightgallery 2440 // Gallery items come from .js-lightgallery .js-lightgallery__link 2441 // https://www.lightgalleryjs.com/docs/getting-started/ 2442 document.querySelectorAll('.js-diks-lightgallery').forEach(function(gallery) { 2443 var galleryImageLinks = gallery.getElementsByClassName('diks-gallery__link'); 2444 2445 // Thumbnails come from img inside the links, unless links specify data-thumbnail 2446 var thumbnailSource = (galleryImageLinks[0].hasAttribute('data-thumbnail')) ? ('data-thumbnail') : (false); 2447 2448 // Adjust certain settings depending on whether the gallery has one or more images 2449 var galleryHasMultipleImages = (galleryImageLinks.length > 1 ? true : false); 2450 2451 // Initialize 2452 lightGallery(gallery, { 2453 autoplay: galleryHasMultipleImages, 2454 counter: galleryHasMultipleImages, 2455 download: false, 2456 exThumbImage: thumbnailSource, 2457 hideControlOnEnd: true, 2458 licenseKey: "96BAAD7E-3BF04397-BBB55AE3-6D5A2C0B", 2459 loop: false, 2460 plugins: [lgAutoplay, lgFullscreen, lgThumbnail, lgZoom], 2461 selector: '.diks-gallery__link', 2462 mobileSettings: { 2463 controls: true, 2464 showCloseIcon: true 2465 }, 2466 strings: { 2467 closeGallery: 'Sulje galleria', 2468 toggleMaximize: 'Maksimointi', 2469 previousSlide: 'Edellinen', 2470 nextSlide: 'Seuraava', 2471 download: 'Lataa', 2472 playVideo: 'Katso video', 2473 mediaLoadingFailed: 'Sisällön lataus epäonnistui', 2474 }, 2475 autoplayPluginStrings: { 2476 toggleAutoplay: 'Automaattinen toisto' 2477 }, 2478 fullscreenPluginStrings: { 2479 toggleFullscreen: 'Kokoruututila' 2480 }, 2481 thumbnailPluginStrings: { 2482 toggleThumbnails: 'Pikkukuvat' 2483 }, 2484 zoomPluginStrings: { 2485 zoomIn: 'Suurenna', 2486 zoomOut: 'Pienennä', 2487 viewActualSize: 'Näytä täysikokoisena' 2488 } 2489 }); 2490 2491 // After closing LightGallery return focus to the image link that opened the gallery 2492 gallery.addEventListener('lgAfterClose', () => { 2493 galleryImageLinks[0].focus(); 2494 }); 2495 2496 }); 2497 2498 </script>
2498 2499
2500<script> 2501 function loadScript(url, callback) { 2502 var script = document.createElement("script"); 2503 script.type = "text/javascript"; 2504 if (script.readyState) { // IE 2505 script.onreadystatechange = function() { 2506 if (script.readyState === "loaded" || script.readyState === "complete") { 2507 script.onreadystatechange = null; 2508 callback(); 2509 } 2510 }; 2511 } else { // Others 2512 script.onload = function() { 2513 callback(); 2514 }; 2515 } 2516 script.src = url; 2517 document.getElementsByTagName("head")[0].appendChild(script); 2518 } 2519 function checkAudioElements() { 2520 // load audioplayer script only when audio elements are found 2521 if (document.querySelector(".init-audio-player")) { 2522 loadScript("https://a.viikkosavo.fi/styles/e5576057/js/audioplayer/diks-audioplayer.min.js", function() { 2523 DiksAudioPlayer.init({ 2524 selector: '.init-audio-player', 2525 stopOthersOnPlay: true, 2526 enableKeystrokes: true 2527 }); 2528 }); 2529 } 2530 } 2531 window.onload = (event) => { 2532 checkAudioElements(); 2533 }; 2534</script>
2534<script> 2535 // Service Worker 2536 if ('serviceWorker' in navigator) { 2537 window.addEventListener('load', function() { 2538 navigator.serviceWorker.register('/sw.js').then( 2539 function(registration) { 2540 console.log('PWA: Service worker registered to scope: ', registration.scope); 2541 }, 2542 function(err) { 2543 console.error('PWA: Service worker failed to register with error: ', err); 2544 } 2545 ); 2546 }); 2547 } 2548 2549 // Show installation option, hide generic fallback instructions 2550 function pwaShowInstallationOption() { 2551 document.querySelectorAll('.js-diks-apps-pwa-installation').forEach(function(element) { 2552 element.style.display = 'block'; 2553 }); 2554 document.querySelectorAll('.js-diks-apps-pwa-instructions').forEach(function(element) { 2555 element.style.display = 'none'; 2556 }); 2557 } 2558 2559 let deferredPrompt; 2560 var dataLayer = window.dataLayer || []; 2561 2562 // Basic installation process 2563 window.addEventListener('beforeinstallprompt', (e) => { 2564 // Stash the event so it can be triggered later 2565 deferredPrompt = e; 2566 2567 const enablePrompt = 1; 2568 2569 if(!enablePrompt) { 2570 e.preventDefault(); 2571 } 2572 2573 // Update the UI to notify the user they can install PWA 2574 pwaShowInstallationOption(); 2575 2576 // Handle installation 2577 document.querySelectorAll('.js-diks-apps-pwa-installation-button').forEach(function(button) { 2578 button.addEventListener('click', (e) => { 2579 // Show the prompt 2580 deferredPrompt.prompt(); 2581 2582 // Wait for user to respond 2583 deferredPrompt.userChoice.then((choiceResult) => { 2584 if (choiceResult.outcome === 'accepted') { 2585 console.log('PWA: Installed (prompt)'); 2586 dataLayer.push({ 2587 'event': 'PWA.installation', 2588 'eventData': 'success' 2589 }); 2590 } else { 2591 console.log('PWA: User dismissed installation prompt'); 2592 dataLayer.push({ 2593 'event': 'PWA.installation', 2594 'eventData': 'canceled' 2595 }); 2596 } 2597 deferredPrompt = null; 2598 }); 2599 }); 2600 }); 2601 }); 2602 2603 // iOS installation process (show instructions modal) 2604 if (!navigator.standalone) { 2605 var userAgent = navigator.userAgent.toLowerCase(); 2606 var iPhoneUser = (/iphone/.test(userAgent)); 2607 var iPadUser = (/ipad/.test(userAgent) || (/macintosh/.test(userAgent) && navigator.maxTouchPoints > 1)); 2608 var safariUser = (/^(?!.*(brave|chrome|crios|duckduckgo|edgeios|firefox|fxios|opios|ucbrowser|yabrowser)).*safari.*$/.test(userAgent)); 2609 2610 if (safariUser && (iPhoneUser || iPadUser)) { 2611 // Update the UI to notify the user they can install PWA 2612 pwaShowInstallationOption(); 2613 2614 // Instructions 2615 var modals = document.querySelectorAll('.js-diks-apps-pwa-ios-instructions').forEach(function(element) { 2616 // Position on screen based on device 2617 if (iPhoneUser) { 2618 element.classList.add('diks-apps__pwa-ios-modal--bottom'); 2619 } else if (iPadUser) { 2620 element.classList.add('diks-apps__pwa-ios-modal--top'); 2621 } 2622 }); 2623 2624 // Handle modal instructions from installation button 2625 document.querySelectorAll('.js-diks-apps-pwa-installation-button').forEach(function(button) { 2626 button.addEventListener('click', (e) => { 2627 // Show first modal 2628 document.querySelector('.js-diks-apps-pwa-ios-instructions').classList.toggle('diks-apps__pwa-ios-modal--is-visible'); 2629 dataLayer.push({ 2630 'event': 'PWA.instructions.shown', 2631 'eventData': 'iOS' 2632 }); 2633 }); 2634 }); 2635 } 2636 } 2637</script>
2637 2638
2638<script class="coral-script" src="//coral.prod.diks.fi/assets/js/count.js?v=9.3.1.3" defer></script>
2638 2639 2640 </body> 2641</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.