PageSourceSearch

https://www.viikkosavo.fi/uusimmat/

html viikkosavo.fi collected 2026-10-02 11:42:18 UTC 210,983 bytes, 3,114 lines download raw bytes

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/2efe7af9/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/2efe7af9/styles/diks-news-darkmode.css";
15		const defaultStylesheet = "https://a.viikkosavo.fi/styles/2efe7af9/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/2efe7af9/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/2efe7af9/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/2efe7af9/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/2efe7af9/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/2efe7af9/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/2efe7af9/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 02-10-2026 14:39:32.417082 --><!-- ESI end element "recommendedTopics" --><!-- ESI start element "promotedAdvertisers" generated at 02-10-2026 14:38:58.981077 --><!-- 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/2efe7af9/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/2efe7af9/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									
1048						<article class="diks-card  diks-card--reversed diks-card--size-l diks-card--main">
1049		<div class="diks-card__main-wrapper"><div class="diks-card__image-wrapper">
1050					<picture><source srcset="https://i.media.fi/incoming/rtnkc6/11696796.jpg/alternates/WEBP_LANDSCAPE_240/11696796.webp 240w, https://i.media.fi/incoming/rtnkc6/11696796.jpg/alternates/WEBP_LANDSCAPE_480/11696796.webp 480w, https://i.media.fi/incoming/rtnkc6/11696796.jpg/alternates/WEBP_LANDSCAPE_720/11696796.webp 720w, https://i.media.fi/incoming/rtnkc6/11696796.jpg/alternates/WEBP_LANDSCAPE_960/11696796.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/rtnkc6/11696796.jpg/alternates/LANDSCAPE_720/11696796.jpg" srcset="https://i.media.fi/incoming/rtnkc6/11696796.jpg/alternates/LANDSCAPE_240/11696796.jpg 240w, https://i.media.fi/incoming/rtnkc6/11696796.jpg/alternates/LANDSCAPE_480/11696796.jpg 480w, https://i.media.fi/incoming/rtnkc6/11696796.jpg/alternates/LANDSCAPE_720/11696796.jpg 720w, https://i.media.fi/incoming/rtnkc6/11696796.jpg/alternates/LANDSCAPE_960/11696796.jpg 960w" sizes="(max-width: 504px) 480px, (max-width: 1279px) 720px, 960px" loading="lazy" decoding="sync" alt="">
1051					</picture>
1052				</div><div class="diks-card__text-wrapper">
1053				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9831162"><span class="diks-ui-accent">Lukijan kuva | </span>Kukan siemeniä ja lehtokotiloita – lähetä oma kuvasi julkaistavaksi</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1054		<time class="diks-date__published" datetime="2026-10-02T04:00:00+03:00">Tänään 4:00</time>
1055
1056			</div>
1057<div class="diks-comment-count ">
1058		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9831162" data-coral-id="9831162"></span>
1059	</div>
1060	</div>
1061						</div></div>
1062			</div>
1063		</div></article>						
1064						
1065						
1066								
1067						<article class="diks-card diks-card--reversed">
1068		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1069				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9835071">Kaksi enkeliä Kuopion Ison hautausmaan pääportin edustalle</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1070		<time class="diks-date__published" datetime="2026-09-30T17:00:00+03:00">30.9.2026 17:00</time>
1071
1072			</div>
1073<div class="diks-comment-count ">
1074		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9835071" data-coral-id="9835071"></span>
1075	</div>
1076	</div>
1077						</div></div>
1078			</div>
1079		</div></article> 						
1080						
1081						
1082								
1083						<article class="diks-card diks-card--reversed">
1084		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1085				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9834325">Sami Tervonen jatkaa KalPan päävalmentajana</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1086		<time class="diks-date__published" datetime="2026-09-30T12:30:00+03:00">30.9.2026 12:30</time>
1087
1088			</div>
1089<div class="diks-comment-count ">
1090		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9834325" data-coral-id="9834325"></span>
1091	</div>
1092	</div>
1093						</div></div>
1094			</div>
1095		</div></article> 						
1096						
1097						
1098								
1099						<article class="diks-card diks-card--reversed">
1100		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1101				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9831357">Kuopiolaisravintolassa voi kokea kahdeksan ilmaiskeikkaa lauantaina</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1102		<time class="diks-date__published" datetime="2026-09-30T05:00:00+03:00">
110230.9.2026 5:00</time>
1103
1104			</div>
1105<div class="diks-comment-count ">
1106		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9831357" data-coral-id="9831357"></span>
1107	</div>
1108	</div>
1109						</div></div>
1110			</div>
1111		</div></article> 						
1112						
1113						
1114								
1115						<article class="diks-card diks-card--reversed">
1116		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1117				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9831327">Vanhusten viikolla paljon ilmaistapahtumia Kuopiossa – osaan ohjelmasta voi osallistua myös etänä</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1118		<time class="diks-date__published" datetime="2026-09-30T04:00:00+03:00">30.9.2026 4:00</time>
1119
1120			</div>
1121<div class="diks-comment-count ">
1122		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9831327" data-coral-id="9831327"></span>
1123	</div>
1124	</div>
1125						</div></div>
1126			</div>
1127		</div></article> 						
1128						
1129						
1130								<article class="diks-card diks-card--reversed">
1131		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1132				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paakirjoitus-mielipide/9831133"><span class="diks-ui-accent">Jouni Vornasen kolumni | </span>Yhden hengen bileet</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1133		<time class="diks-date__published" datetime="2026-09-30T03:00:00+03:00">30.9.2026 3:00</time>
1134
1135			</div>
1136<div class="diks-comment-count ">
1137		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9831133" data-coral-id="9831133"></span>
1138	</div>
1139	</div>
1140						</div></div>
1141			</div>
1142		</div></article> 						
1143						
1144						
1145								<article class="diks-card diks-card--reversed">
1146		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1147				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paakirjoitus-mielipide/9831143"><span class="diks-ui-accent">Mielipide | </span>Sote-keskus kuuluu Kuopion ydinkeskustaan</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1148		<time class="diks-date__published" datetime="2026-09-30T02:00:00+03:00">30.9.2026 2:00</time>
1149
1150			</div>
1151<div class="diks-comment-count ">
1152		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9831143" data-coral-id="9831143"></span>
1153	</div>
1154	</div>
1155						</div></div>
1156			</div>
1157		</div></article> 						
1158						
1159						
1160								
1161						<article class="diks-card diks-card--reversed">
1162		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1163				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9830607">Kuopioon kaksi uutta Nosto-automaattia</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1164		<time class="diks-date__published" datetime="2026-09-29T14:00:00+03:00">29.9.2026 14:00</time>
1165
1166			</div>
1167<div class="diks-comment-count ">
1168		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9830607" data-coral-id="9830607"></span>
1169	</div>
1170	</div>
1171						</div></div>
1172			</div>
1173		</div></article> 						
1174						
1175						
1176								
1177						<article class="diks-card diks-card--reversed">
1178		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1179				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9830543">Pohjois-Savossa oli elokuussa 13 380 työtöntä</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1180		<time class="diks-date__published" datetime="2026-09-29T10:30:00+03:00">29.9.2026 10:30</time>
1181
1182			</div>
1183<div class="diks-comment-count ">
1184		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9830543" data-coral-id="9830543"></span>
1185	</div>
1186	</div>
1187						</div></div>
1188			</div>
1189		</div></article> 						
1190						
1191						
1192								
1193						<article class="diks-card diks-card--reversed">
1194		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1195				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9828245">Keskustan tietyömaat vaikuttavat liikenteeseen – lue täältä, miten</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1196		<time class="diks-date__published" datetime="2026-09-28T14:00:00+03:00">28.9.2026 14:00</time>
1197
1198			</div>
1199<div class="diks-comment-count ">
1200		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9828245" data-coral-id="9828245"></span>
1201	</div>
1202	</div>
1203						</div></div>
1204			</div>
1205		</div></article> <div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true">
1206		<div class="diks-display-ad__unit" id="gam-ad-jattiboksi1" >
1207			
1207<script>googletag.cmd.push(function() { googletag.display('gam-ad-jattiboksi1'); });</script>
1207
1208		</div>
1209	</div><div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true">
1210		<div class="diks-display-ad__unit" id="gam-ad-mobiili1" >
1211			
1211<script>googletag.cmd.push(function() { googletag.display('gam-ad-mobiili1'); });</script>
1211
1212		</div>
1213	</div>						
1214						
1215						
1216								
1217						<article class="diks-card diks-card--reversed">
1218		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1219				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9812452">Syksyn influenssarokotukset alkavat Pohjois-Savossa</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1220		<time class="diks-date__published" datetime="2026-09-26T05:00:00+03:00">26.9.2026 5:00</time>
1221
1222			</div>
1223<div class="diks-comment-count ">
1224		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9812452" data-coral-id="9812452"></span>
1225	</div>
1226	</div>
1227						</div></div>
1228			</div>
1229		</div></article> 						
1230						
1231						
1232								
1233						<article class="diks-card diks-card--reversed">
1234		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1235				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9823844">Söpöysvaroitus! – Sadat vauvat viettivät päivää vauvamaiseen tapaan teatterilla</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1236		<time class="diks-date__published" datetime="2026-09-25T15:25:26+03:00">25.9.2026 15:25</time>
1237
1238			</div>
1239<div class="diks-comment-count ">
1240		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9823844" data-coral-id="9823844"></span>
1241	</div>
1242	</div>
1243						</div></div>
1244			</div>
1245		</div></article> 						
1246						
1247						
1248								
1249						<article class="diks-card diks-card--reversed">
1250		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1251				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9813328"><span class="diks-ui-accent">Lukijan kuva | </span>Sisilisko ja kullankeltaiseen pukeutunut sieni – lähetä oma kuvasi julkaistavaksi</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1252		<time class="diks-date__published" datetime="2026-09-25T05:00:00+03:00">25.9.2026 5:00</time>
1253
1254			</div>
1255<div class="diks-comment-count ">
1256		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9813328" data-coral-id="9813328"></span>
1257	</div>
1258	</div>
1259						</div></div>
1260			</div>
1261		</div></article> 						
1262						
1263						
1264								
1265						<article class="diks-card diks-card--reversed">
1266		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1267				<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 ">
1268		<time class="diks-date__published" datetime="2026-09-24T21:30:00+03:00">24.9.2026 21:30</time>
1269
1270			</div>
1271<div class="diks-comment-count ">
1272		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9820967" data-coral-id="9820967"></span>
1273	</div>
1274	</div>
1275						</div></div>
1276			</div>
1277		</div></article> 						
1278						
1279						
1280								
1281						<article class="diks-card diks-card--reversed">
1282		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1283				<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 ">
1284		<time class="diks-date__published" datetime="2026-09-23T07:00:00+03:00">23.9.2026 7:00</time>
1285
1286			</div>
1287<div class="diks-comment-count ">
1288		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9814363" data-coral-id="9814363"></span>
1289	</div>
1290	</div>
1291						</div></div>
1292			</div>
1293		</div></article> 						
1294						
1295						
1296								
1297						<article class="diks-card diks-card--reversed">
1298		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1299				<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 ">
1300		<time class="diks-date__published" datetime="2026-09-23T04:00:00+03:00">23.9.2026 4:00</time>
1301
1302			</div>
1303<div class="diks-comment-count ">
1304		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9813452" data-coral-id="9813452"></span>
1305	</div>
1306	</div>
1307						</div></div>
1308			</div>
1309		</div></article> 						
1310						
1311						
1312								<article class="diks-card diks-card--reversed">
1313		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1314				<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 ">
1315		<time class="diks-date__published" datetime="2026-09-23T03:00:00+03:00">23.9.2026 3:00</time>
1316
1317			</div>
1318<div class="diks-comment-count ">
1319		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9813273" data-coral-id="9813273"></span>
1320	</div>
1321	</div>
1322						</div></div>
1323			</div>
1324		</div></article> 						
1325						
1326						
1327								
1328						<article class="diks-card diks-card--reversed">
1329		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1330				<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 ">
1331		<time class="diks-date__published" datetime="2026-09-23T02:00:00+03:00">23.9.2026 2:00</time>
1332
1333			</div>
1334<div class="diks-comment-count ">
1335		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9813425" data-coral-id="9813425"></span>
1336	</div>
1337	</div>
1338						</div></div>
1339			</div>
1340		</div></article> 						
1341						
1342						
1343								
1344						<article class="diks-card diks-card--reversed">
1345		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1346				<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 ">
1347		<time class="diks-date__published" datetime="2026-09-22T09:54:09+03:00">22.9.2026 9:54</time>
1348
1349			</div>
1350<div class="diks-comment-count ">
1351		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9811906" data-coral-id="9811906"></span>
1352	</div>
1353	</div>
1354						</div></div>
1355			</div>
1356		</div></article> 						
1357						
1358						
1359								
1360						<article class="diks-card diks-card--reversed">
1361		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1362				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9800893">
1362Vauvoille oma tapahtuma Kuopion kaupunginteatterilla</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1363		<time class="diks-date__published" datetime="2026-09-20T05:00:00+03:00">20.9.2026 5:00</time>
1364
1365			</div>
1366<div class="diks-comment-count ">
1367		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9800893" data-coral-id="9800893"></span>
1368	</div>
1369	</div>
1370						</div></div>
1371			</div>
1372		</div></article> <div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true">
1373		<div class="diks-display-ad__unit" id="gam-ad-jattiboksi2" >
1374			
1374<script>googletag.cmd.push(function() { googletag.display('gam-ad-jattiboksi2'); });</script>
1374
1375		</div>
1376	</div><div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true">
1377		<div class="diks-display-ad__unit" id="gam-ad-mobiili2" >
1378			
1378<script>googletag.cmd.push(function() { googletag.display('gam-ad-mobiili2'); });</script>
1378
1379		</div>
1380	</div>						
1381						
1382						
1383								
1384						<article class="diks-card diks-card--reversed">
1385		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1386				<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 ">
1387		<time class="diks-date__published" datetime="2026-09-19T05:00:00+03:00">19.9.2026 5:00</time>
1388
1389			</div>
1390<div class="diks-comment-count ">
1391		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9799900" data-coral-id="9799900"></span>
1392	</div>
1393	</div>
1394						</div></div>
1395			</div>
1396		</div></article> 						
1397						
1398						
1399								
1400						<article class="diks-card diks-card--reversed">
1401		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1402				<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 ">
1403		<time class="diks-date__published" datetime="2026-09-18T12:00:00+03:00">18.9.2026 12:00</time>
1404
1405			</div>
1406<div class="diks-comment-count ">
1407		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9803068" data-coral-id="9803068"></span>
1408	</div>
1409	</div>
1410						</div></div>
1411			</div>
1412		</div></article> 						
1413						
1414						
1415								
1416						<article class="diks-card diks-card--reversed">
1417		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1418				<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 ">
1419		<time class="diks-date__published" datetime="2026-09-18T05:00:00+03:00">18.9.2026 5:00</time>
1420
1421			</div>
1422<div class="diks-comment-count ">
1423		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9799448" data-coral-id="9799448"></span>
1424	</div>
1425	</div>
1426						</div></div>
1427			</div>
1428		</div></article> 						
1429						
1430						
1431								
1432						<article class="diks-card diks-card--reversed">
1433		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1434				<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 ">
1435		<time class="diks-date__published" datetime="2026-09-17T15:53:31+03:00">17.9.2026 15:53</time>
1436
1437			</div>
1438<div class="diks-comment-count ">
1439		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9801395" data-coral-id="9801395"></span>
1440	</div>
1441	</div>
1442						</div></div>
1443			</div>
1444		</div></article> 						
1445						
1446						
1447								
1448						<article class="diks-card diks-card--reversed">
1449		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1450				<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 ">
1451		<time class="diks-date__published" datetime="2026-09-17T11:30:00+03:00">17.9.2026 11:30</time>
1452
1453			</div>
1454<div class="diks-comment-count ">
1455		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9799752" data-coral-id="9799752"></span>
1456	</div>
1457	</div>
1458						</div></div>
1459			</div>
1460		</div></article> 						
1461						
1462						
1463								
1464						<article class="diks-card diks-card--reversed">
1465		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1466				<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 ">
1467		<time class="diks-date__published" datetime="2026-09-16T13:00:00+03:00">16.9.2026 13:00</time>
1468
1469			</div>
1470<div class="diks-comment-count ">
1471		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9797093" data-coral-id="9797093"></span>
1472	</div>
1473	</div>
1474						</div></div>
1475			</div>
1476		</div></article> 						
1477						
1478						
1479								
1480						<article class="diks-card diks-card--reversed">
1481		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1482				<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 ">
1483		<time class="diks-date__published" datetime="2026-09-16T05:00:00+03:00">16.9.2026 5:00</time>
1484
1485			</div>
1486<div class="diks-comment-count ">
1487		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9794519" data-coral-id="9794519"></span>
1488	</div>
1489	</div>
1490						</div></div>
1491			</div>
1492		</div></article> 						
1493						
1494						
1495								
1496						<article class="diks-card diks-card--reversed">
1497		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1498				<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 ">
1499		<time class="diks-date__published" datetime="2026-09-16T04:30:00+03:00">16.9.2026 4:30</time>
1500
1501			</div>
1502<div class="diks-comment-count ">
1503		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9794555" data-coral-id="9794555"></span>
1504	</div>
1505	</div>
1506						</div></div>
1507			</div>
1508		</div></article> 						
1509						
1510						
1511								
1512						<article class="diks-card diks-card--reversed">
1513		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1514				<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 ">
1515		<time class="diks-date__published" datetime="2026-09-16T03:30:00+03:00">16.9.2026 3:30</time>
1516
1517			</div>
1518<div class="diks-comment-count ">
1519		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9794795" data-coral-id="9794795"></span>
1520	</div>
1521	</div>
1522						</div></div>
1523			</div>
1524		</div></article> 						
1525						
1526						
1527								<article class="diks-card diks-card--reversed">
1528		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1529				<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 ">
1530		<time class="diks-date__published" datetime="2026-09-16T03:00:00+03:00">16.9.2026 3:00</time>
1531
1532			</div>
1533<div class="diks-comment-count ">
1534		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9794730" data-coral-id="9794730"></span>
1535	</div>
1536	</div>
1537						</div></div>
1538			</div>
1539		</div></article> <div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true">
1540		<div class="diks-display-ad__unit" id="gam-ad-jattiboksi3" >
1541			
1541<script>googletag.cmd.push(function() { googletag.display('gam-ad-jattiboksi3'); });</script>
1541
1542		</div>
1543	</div><div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true">
1544		<div class="diks-display-ad__unit" id="gam-ad-mobiili3" >
1545			
1545<script>googletag.cmd.push(function() { googletag.display('gam-ad-mobiili3'); });</script>
1545
1546		</div>
1547	</div>						
1548						
1549						
1550								
1551						<article class="diks-card diks-card--reversed">
1552		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1553				<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 ">
1554		<time class="diks-date__published" datetime="2026-09-16T02:00:00+03:00">16.9.2026 2:00</time>
1555
1556			</div>
1557<div class="diks-comment-count ">
1558		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9794597" data-coral-id="9794597"></span>
1559	</div>
1560	</div>
1561						</div></div>
1562			</div>
1563		</div></article> 						
1564						
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/9794339">Villapaidoilla vapaaoppilaspaikkoja lapsille ja nuorille</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-16T01:30:00+03:00">16.9.2026 1:30</time>
1571
1572			</div>
1573<div class="diks-comment-count ">
1574		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9794339" data-coral-id="9794339"></span>
1575	</div>
1576	</div>
1577						</div></div>
1578			</div>
1579		</div></article> 						
1580						
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/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 ">
1586		<time class="diks-date__published" datetime="2026-09-16T01:00:00+03:00">16.9.2026 1:00</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/9794308" data-coral-id="9794308"></span>
1591	</div>
1592	</div>
1593						</div></div>
1594			</div>
1595		</div></article> 						
1596						
1597						
1598								
1599						<article class="diks-card diks-card--reversed">
1600		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1601				<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 ">
1602		<time class="diks-date__published" datetime="2026-09-15T13:15:00+03:00">15.9.2026 13:15</time>
1603
1604			</div>
1605<div class="diks-comment-count ">
1606		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9793929" data-coral-id="9793929"></span>
1607	</div>
1608	</div>
1609						</div></div>
1610			</div>
1611		</div></article> 						
1612						
1613						
1614								
1615						<article class="diks-card diks-card--reversed">
1616		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1617				<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 ">
1618		<time class="diks-date__published" datetime="2026-09-13T05:00:00+03:00">13.9.2026 5:00</time>
1619
1620			</div>
1621<div class="diks-comment-count ">
1622		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9778978" data-coral-id="9778978"></span>
1623	</div>
1624	</div>
1625						</div></div>
1626			</div>
1627		</div></article> 						
1628						
1629						
1630								
1631						<article class="diks-card diks-card--reversed">
1632		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1633				<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 ">
1634		<time class="diks-date__published" datetime="2026-09-11T10:10:49+03:00">11.9.2026 10:10</time>
1635
1636			</div>
1637<div class="diks-comment-count ">
1638		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9784051" data-coral-id="9784051"></span>
1639	</div>
1640	</div>
1641						</div></div>
1642			</div>
1643		</div></article> 						
1644						
1645						
1646								
1647						<article class="diks-card diks-card--reversed">
1648		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1649				<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 ">
1650		<time class="diks-date__published" datetime="2026-09-11T04:00:00+03:00">11.9.2026 4:00</time>
1651
1652									| Päivitetty <time class="diks-date__updated" datetime="2026-09-15T12:20:55+03:00">15.9.2026 12:20</time>
1653						</div>
1654<div class="diks-comment-count ">
1655		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9775402" data-coral-id="9775402"></span>
1656	</div>
1657	</div>
1658						</div></div>
1659			</div>
1660		</div></article> 						
1661						
1662						
1663								
1664						<article class="diks-card diks-card--reversed">
1665		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1666				<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 ">
1667		<time class="diks-date__published" datetime="2026-09-10T16:15:00+03:00">10.9.2026 16:15</time>
1668
1669			</div>
1670<div class="diks-comment-count ">
1671		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9782579" data-coral-id="9782579"></span>
1672	</div>
1673	</div>
1674						</div></div>
1675			</div>
1676		</div></article> 						
1677						
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/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 ">
1683		<time class="diks-date__published" datetime="2026-09-09T05:00:00+03:00">9.9.2026 5: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/9775848" data-coral-id="9775848"></span>
1688	</div>
1689	</div>
1690						</div></div>
1691			</div>
1692		</div></article> 						
1693						
1694						
1695								
1696						<article class="diks-card diks-card--reversed">
1697		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1698				<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 ">
1699		<time class="diks-date__published" datetime="2026-09-09T03:30:00+03:00">9.9.2026 3:30</time>
1700
1701			</div>
1702<div class="diks-comment-count ">
1703		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9775810" data-coral-id="9775810"></span>
1704	</div>
1705	</div>
1706						</div></div>
1707			</div>
1708		</div></article> <div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true">
1709		<div class="diks-display-ad__unit" id="gam-ad-jattiboksi4" >
1710			
1710<script>googletag.cmd.push(function() { googletag.display('gam-ad-jattiboksi4'); });</script>
1710
1711		</div>
1712	</div><div class="diks-display-ad diks-display-ad--with-border rs_skip" aria-hidden="true">
1713		<div class="diks-display-ad__unit" id="gam-ad-mobiili4" >
1714			
1714<script>googletag.cmd.push(function() { googletag.display('gam-ad-mobiili4'); });</script>
1714
1715		</div>
1716	</div>						
1717						
1718						
1719								
1720						<article class="diks-card diks-card--reversed">
1721		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1722				<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 ">
1723		<time class="diks-date__published" datetime="2026-09-09T03:00:00+03:00">9.9.2026 3:00</time>
1724
1725			</div>
1726<div class="diks-comment-count ">
1727		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9775770" data-coral-id="9775770"></span>
1728	</div>
1729	</div>
1730						</div></div>
1731			</div>
1732		</div></article> 						
1733						
1734						
1735								
1736						<article class="diks-card diks-card--reversed">
1737		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1738				<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 ">
1739		<time class="diks-date__published" datetime="2026-09-09T02:00:00+03:00">9.9.2026 2:00</time>
1740
1741			</div>
1742<div class="diks-comment-count ">
1743		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9775468" data-coral-id="9775468"></span>
1744	</div>
1745	</div>
1746						</div></div>
1747			</div>
1748		</div></article> 						
1749						
1750						
1751								<article class="diks-card diks-card--reversed">
1752		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1753				<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 ">
1754		<time class="diks-date__published" datetime="2026-09-09T01:30:00+03:00">9.9.2026 1:30</time>
1755
1756			</div>
1757<div class="diks-comment-count ">
1758		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paakirjoitus-mielipide/9775327" data-coral-id="9775327"></span>
1759	</div>
1760	</div>
1761						</div></div>
1762			</div>
1763		</div></article> 						
1764						
1765						
1766								
1767						<article class="diks-card diks-card--reversed">
1768		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1769				<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 ">
1770		<time class="diks-date__published" datetime="2026-09-09T01:00:00+03:00">9.9.2026 1:00</time>
1771
1772			</div>
1773<div class="diks-comment-count ">
1774		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9773960" data-coral-id="9773960"></span>
1775	</div>
1776	</div>
1777						</div></div>
1778			</div>
1779		</div></article> 						
1780						
1781						
1782								
1783						<article class="diks-card diks-card--reversed">
1784		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1785				<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 ">
1786		<time class="diks-date__published" datetime="2026-09-08T11:00:00+03:00">8.9.2026 11:00</time>
1787
1788			</div>
1789<div class="diks-comment-count ">
1790		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9773878" data-coral-id="9773878"></span>
1791	</div>
1792	</div>
1793						</div></div>
1794			</div>
1795		</div></article> 						
1796						
1797						
1798								
1799						<article class="diks-card diks-card--reversed">
1800		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1801				<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 ">
1802		<time class="diks-date__published" datetime="2026-09-08T05:00:00+03:00">8.9.2026 5:00</time>
1803
1804			</div>
1805<div class="diks-comment-count ">
1806		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9772342" data-coral-id="9772342"></span>
1807	</div>
1808	</div>
1809						</div></div>
1810			</div>
1811		</div></article> 						
1812						
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/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 ">
1818		<time class="diks-date__published" datetime="2026-09-07T13:30:00+03:00">7.9.2026 13:30</time>
1819
1820									| Päivitetty <time class="diks-date__updated" datetime="2026-09-07T13:55:13+03:00">7.9.2026 13:55</time>
1821						</div>
1822<div class="diks-comment-count ">
1823		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9771755" data-coral-id="9771755"></span>
1824	</div>
1825	</div>
1826						</div></div>
1827			</div>
1828		</div></article> 						
1829						
1830						
1831								
1832						<article class="diks-card diks-card--reversed">
1833		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1834				<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 ">
1835		<time class="diks-date__published" datetime="2026-09-05T19:30:00+03:00">5.9.2026 19:30</time>
1836
1837			</div>
1838<div class="diks-comment-count ">
1839		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9752986" data-coral-id="9752986"></span>
1840	</div>
1841	</div>
1842						</div></div>
1843			</div>
1844		</div></article> 						
1845						
1846						
1847								<article class="diks-card diks-card--reversed">
1848		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1849				<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 ">
1850		<time class="diks-date__published" datetime="2026-09-04T15:15:00+03:00">4.9.2026 15:15</time>
1851
1852			</div>
1853<div class="diks-comment-count ">
1854		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9767051" data-coral-id="9767051"></span>
1855	</div>
1856	</div>
1857						</div></div>
1858			</div>
1859		</div></article> 						
1860						
1861						
1862								
1863						<article class="diks-card diks-card--reversed">
1864		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1865				<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 ">
1866		<time class="diks-date__published" datetime="2026-09-02T16:00:00+03:00">2.9.2026 16:00</time>
1867
1868			</div>
1869<div class="diks-comment-count ">
1870		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9759975" data-coral-id="9759975"></span>
1871	</div>
1872	</div>
1873						</div></div>
1874			</div>
1875		</div></article> <nav aria-label="Arkiston sivutus">
1876		<ul class="diks-pagination ">
1877			<li class="diks-pagination__item"></li>
1878
1879			<li class="diks-pagination__item">
1880				<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>
1881			</li>
1882
1883			<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>
1884					<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">
1885  <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"/>
1886</svg>
1887</span></li>
1888		</ul></section>
1889					</main>
1890					<aside class="diks-section__aside diks-aside-column">
1891						
1892		<div class="diks-display-ad  rs_skip" aria-hidden="true">
1893		<div class="diks-display-ad__unit" id="gam-ad-boksi1" >
1894			
1894<script>googletag.cmd.push(function() { googletag.display('gam-ad-boksi1'); });</script>
1894
1895		</div>
1896	</div>
1897	<!-- ESI start element "frontPageNews" generated at 02-10-2026 14:40:24.193285 -->
1898			<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">
1899											
1900						
1901						
1902								
1903						<article class="diks-card diks-card--size-xs">
1904		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1905				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9831162"><span class="diks-ui-accent">Lukijan kuva | </span>Kukan siemeniä ja lehtokotiloita – lähetä oma kuvasi julkaistavaksi</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1906		<time class="diks-date__published" datetime="2026-10-02T04:00:00+03:00">Tänään 4:00</time>
1907
1908			</div>
1909<div class="diks-comment-count ">
1910		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9831162" data-coral-id="9831162"></span>
1911	</div>
1912	</div>
1913						</div></div>
1914			</div>
1915		</div></article> 				</li><li class="diks-article-list__item">
1916											
1917						
1918						
1919								
1920						<article class="diks-card diks-card--size-xs">
1921		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1922				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9835071">Kaksi enkeliä Kuopion Ison hautausmaan pääportin edustalle</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1923		<time class="diks-date__published" datetime="2026-09-30T17:00:00+03:00">30.9.2026 17:00</time>
1924
1925			</div>
1926<div class="diks-comment-count ">
1927		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9835071" data-coral-id="9835071"></span>
1928	</div>
1929	</div>
1930						</div></div>
1931			</div>
1932		</div></article> 				</li><li class="diks-article-list__item">
1933											
1934						
1935						
1936								
1937						<article class="diks-card diks-card--size-xs">
1938		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1939				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9834325">Sami Tervonen jatkaa KalPan päävalmentajana</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1940		<time class="diks-date__published" datetime="2026-09-30T12:30:00+03:00">30.9.2026 12:30</time>
1941
1942			</div>
1943<div class="diks-comment-count ">
1944		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9834325" data-coral-id="9834325"></span>
1945	</div>
1946	</div>
1947						</div></div>
1948			</div>
1949		</div></article> 				</li><li class="diks-article-list__item">
1950											
1951						
1952						
1953								
1954						<article class="diks-card diks-card--size-xs">
1955		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1956				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9831357">Kuopiolaisravintolassa voi kokea kahdeksan ilmaiskeikkaa lauantaina</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1957		<time class="diks-date__published" datetime="2026-09-30T05:00:00+03:00">30.9.2026 5:00</time>
1958
1959			</div>
1960<div class="diks-comment-count ">
1961		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9831357" data-coral-id="9831357"></span>
1962	</div>
1963	</div>
1964						</div></div>
1965			</div>
1966		</div></article> 				</li><li class="diks-article-list__item">
1967											
1968						
1969						
1970								
1971						<article class="diks-card diks-card--size-xs">
1972		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
1973				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9831327">
1973Vanhusten viikolla paljon ilmaistapahtumia Kuopiossa – osaan ohjelmasta voi osallistua myös etänä</a></h2><div class="diks-card__meta-wrapper"><div class="diks-meta ">	<div class="diks-date ">
1974		<time class="diks-date__published" datetime="2026-09-30T04:00:00+03:00">30.9.2026 4:00</time>
1975
1976			</div>
1977<div class="diks-comment-count ">
1978		<span class="coral-count" data-coral-notext="true" data-coral-url="https://www.viikkosavo.fi/paikalliset/9831327" data-coral-id="9831327"></span>
1979	</div>
1980	</div>
1981						</div></div>
1982			</div>
1983		</div></article> 				</li></ul><!-- ESI end element "frontPageNews" -->
1984	<div class="diks-display-ad  rs_skip" aria-hidden="true">
1985		<div class="diks-display-ad__unit" id="gam-ad-boksi2" >
1986			
1986<script>googletag.cmd.push(function() { googletag.display('gam-ad-boksi2'); });</script>
1986
1987		</div>
1988	</div>
1989	<div class="diks-display-ad  rs_skip" aria-hidden="true">
1990		<div class="diks-display-ad__unit" id="gam-ad-mobiili5" >
1991			
1991<script>googletag.cmd.push(function() { googletag.display('gam-ad-mobiili5'); });</script>
1991
1992		</div>
1993	</div><!-- ESI start element "mostReadFromCurrentPublication" generated at 02-10-2026 14:39:46.142385 -->
1994			<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">
1995											
1996						
1997						
1998								<article class="diks-card diks-card--size-xs">
1999		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
2000				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paakirjoitus-mielipide/9831133"><span class="diks-ui-accent">Jouni Vornasen kolumni | </span>Yhden hengen bileet</a></h2></div>
2001			</div>
2002		</div></article> 				</li><li class="diks-article-list__item">
2003											
2004						
2005						
2006								
2007						<article class="diks-card diks-card--size-xs">
2008		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
2009				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9835071">Kaksi enkeliä Kuopion Ison hautausmaan pääportin edustalle</a></h2></div>
2010			</div>
2011		</div></article> 				</li><li class="diks-article-list__item">
2012											
2013						
2014						
2015								
2016						<article class="diks-card diks-card--size-xs">
2017		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
2018				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9831357">Kuopiolaisravintolassa voi kokea kahdeksan ilmaiskeikkaa lauantaina</a></h2></div>
2019			</div>
2020		</div></article> 				</li><li class="diks-article-list__item">
2021											
2022						
2023						
2024								
2025						<article class="diks-card diks-card--size-xs">
2026		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
2027				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9812452">Syksyn influenssarokotukset alkavat Pohjois-Savossa</a></h2></div>
2028			</div>
2029		</div></article> 				</li><li class="diks-article-list__item">
2030											
2031						
2032						
2033								
2034						<article class="diks-card diks-card--size-xs">
2035		<div class="diks-card__main-wrapper"><div class="diks-card__text-wrapper">
2036				<div class="diks-card__text-inner-wrapper"><h2 class="diks-card__title"><a class="diks-card__link" href="https://www.viikkosavo.fi/paikalliset/9831162"><span class="diks-ui-accent">Lukijan kuva | </span>Kukan siemeniä ja lehtokotiloita – lähetä oma kuvasi julkaistavaksi</a></h2></div>
2037			</div>
2038		</div></article> 				</li></ol><!-- ESI end element "mostReadFromCurrentPublication" -->
2039	<div class="diks-display-ad  rs_skip" aria-hidden="true">
2040		<div class="diks-display-ad__unit" id="gam-ad-boksi3" >
2041			
2041<script>googletag.cmd.push(function() { googletag.display('gam-ad-boksi3'); });</script>
2041
2042		</div>
2043	</div>
2044	<div class="diks-display-ad  rs_skip" aria-hidden="true">
2045		<div class="diks-display-ad__unit" id="gam-ad-mobiili6" >
2046			
2046<script>googletag.cmd.push(function() { googletag.display('gam-ad-mobiili6'); });</script>
2046
2047		</div>
2048	</div>
2049	<div class="diks-display-ad  rs_skip" aria-hidden="true">
2050		<div class="diks-display-ad__unit" id="gam-ad-boksi4" >
2051			
2051<script>googletag.cmd.push(function() { googletag.display('gam-ad-boksi4'); });</script>
2051
2052		</div>
2053	</div>
2054					</aside>
2055				</div>
2056			</div>
2057		</div>
2058	</div>
2059
2060					
2061								<footer class="diks-footer"><div class="diks-container diks-container--narrow-mobile diks-container--full-width-before-l">
2062			<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>
2063		</nav></div>
2064		</div><div class="diks-container"><div class="diks-footer__main">
2065				<div class="diks-grid">
2066					<div class="diks-column diks-column--span-4 diks-column--m-span-8 diks-column--l-span-4 diks-column--xl-span-4">
2067						<p><img src="https://a.viikkosavo.fi/styles/2efe7af9/images/logos/viikkosavo.svg" class="diks-logo diks-logo--default diks-footer__main-logo--narrow" alt="Viikkosavo"><img src="https://a.viikkosavo.fi/styles/2efe7af9/images/logos/viikkosavo-white.svg" class="diks-logo diks-logo--darkmode diks-footer__main-logo--narrow" alt="Viikkosavo"></p>
2068						<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>
2069
2070					<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/2efe7af9/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">
2071		<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>
2072		<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>
2073	</div></div>
2074
2075					<div class="diks-column diks-column--span-4 diks-column--m-span-8 diks-column--l-span-4 diks-column--xl-span-5">
2076						<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>
2077		
2078						
2079					</div>
2080				</div>
2081			</div><div class="diks-footer__bottom">
2082				<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/2efe7af9/images/logos/keskisuomalainen-sign.svg" loading="lazy" alt="Keskisuomalainen Oyj"></a></div><span>Kuulumme Mediakonserni Keskisuomalaiseen</span></div>
2083				<div class="diks-footer__bottom-link-farm-wrapper">
2084			<p><a class='diks-footer__bottom-link-farm-item' href='https://www.aamuposti.fi/'>Aamuposti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.avecmedia.fi/'>Avec</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.esaimaa.fi/'>Etelä-Saimaa</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.ess.fi/'>Etelä-Suomen Sanomat</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.forssanlehti.fi/'>Forssan Lehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.hankasalmensanomat.fi/'>Hankasalmen Sanomat </a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.heinavedenlehti.fi/'>Heinäveden Lehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.helsinginuutiset.fi/'>Helsingin Uutiset</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.hameensanomat.fi/'>Hämeen Sanomat</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.hameenlinnankaupunkiuutiset.fi/'>Hämeenlinnan Kaupunkiuutiset</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.iisalmensanomat.fi/'>Iisalmen Sanomat</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.itahame.fi/'>Itä-Häme</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.ita-savo.fi/'>Itä-Savo</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.joroistenlehti.fi/'>Joroisten Lehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.juvanlehti.fi/'>Juvan Lehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.kaakonkulma.fi/'>Kaakonkulma</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.kangasniemenlehti.fi/'>Kangasniemen Kunnallislehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.karjalainen.fi/'>Karjalainen</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.heili.fi/'>Karjalan Heili</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.karkkilalainen.fi/'>Karkkilalainen</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.keski-hame.fi/'>Keski-Häme</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.keski-uusimaa.fi/'>Keski-Uusimaa</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.keskilaakso.fi/'>Keskilaakso</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.ksml.fi/'>Keskisuomalainen</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.koillis-savo.fi/'>Koillis-Savo</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.kouvolansanomat.fi/'>Kouvolan Sanomat</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.kymensanomat.fi/'>Kymen Sanomat</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.lappeenrannanuutiset.fi/'>Lappeenrannan Uutiset</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.laukaa-konnevesi.fi/'>Laukaa-Konnevesi</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.lieksanlehti.fi/'>Lieksan Lehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.lopenlehti.fi/'>Lopen Lehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.loviisansanomat.fi/'>Loviisan Sanomat</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.luumaenlehti.fi/'>Luumäen Lehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.lansisaimaa.fi/'>Länsi-Saimaan Sanomat</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.lansi-savo.fi/'>Länsi-Savo</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.lansi-uusimaa.fi/'>Länsi-Uusimaa</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.lansivayla.fi/'>Länsiväylä</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.mattijaliisa.fi/'>Matti ja Liisa</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.meksi.fi/'>Meksi Urheilumedia</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.miilu.fi/'>Miilu</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.mikkelinkaupunkilehti.fi/'>Mikkelin Kaupunkilehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.mantsalanuutiset.fi/'>Mäntsälän Uutiset</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.aamuposti.fi/aihe/Nurmij%C3%A4rvi'>Nurmijärven Uutiset</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.outokummunseutu.fi/'>Outokummun Seutu</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.joutsenolehti.fi/'>Paikallislehti Joutseno</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.prsanomat.fi/'>Parikkalan-Rautjärven Sanomat</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.pernionseudunlehti.fi/'>Perniönseudun Lehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.pieksamaenlehti.fi/'>Pieksämäen Lehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.pielavesi-keitele.fi/'>Pielavesi-Keitele</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.pielisjokiseutu.fi/'>Pielisjokiseutu</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.pitajalainen.fi/'>Pitäjäläinen</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.pitajanuutiset.fi/'>Pitäjänuutiset</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.pogostansanomat.fi/'>Pogostan Sanomat</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.puruvesi.net/'>Puruvesi</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.pyhtaanlehti.fi/'>Pyhtäänlehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.salonjokilaakso.fi/'>Salonjokilaakso</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.sampolehti.fi/'>Sampo</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.savonsanomat.fi/'>Savon Sanomat</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.sinunsavo.fi/'>Sinun Savo</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.sisa-savolehti.fi/'>Sisä-Savo</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.sisasuomenlehti.fi/'>Sisä-Suomen Lehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.soisalonseutu.fi/'>Soisalon Seutu</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.sjl.fi/'>Suur-Jyväskylän Lehti</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.tamperelainen.fi/'>Tamperelainen</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.tollotin.fi/'>Töllötin</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.uusimaa.fi/'>Uusimaa</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.uutis-jousi.fi/'>Uutis-Jousi</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.uutisvuoksi.fi/'>Uutisvuoksi</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.vantaansanomat.fi/'>Vantaan Sanomat</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.vihdinuutiset.fi/'>Vihdin Uutiset</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.viikkosavo.fi/'>Viikkosavo</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.viispiikkinen.fi/'>
2084Viispiikkinen</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.viitasaarenseutu.fi/'>Viitasaaren Seutu</a> &bull; <a class='diks-footer__bottom-link-farm-item' href='https://www.warkaudenlehti.fi/'>Warkauden Lehti</a> &bull; <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>
2085		</div>
2086			</div></div>
2087</footer>
2088
2089		
2090					
2090<script>
2091	if (!DOMTokenList.prototype.replace) {
2092		// IE Polyfill
2093		DOMTokenList.prototype.replace = function (a, b) {
2094			if (this.contains(a)) {
2095					this.add(b);
2096					this.remove(a);
2097					return true;
2098			}
2099			return false;
2100		}
2101	}
2102
2103	document.querySelector('.diks-no-js').classList.replace('diks-no-js', 'diks-js');
2104
2105	// User agent sniffing is not reliable and it's going away.
2106	// Use only to sprinkle a little bit of progressive enhancement on top.
2107	// Dear Apple, stop lying, iPad on iOS 13 is not a Mac. You're turning into 90s Microsoft.
2108	var userAgent = navigator.userAgent || navigator.vendor || window.opera;
2109	if (/android/i.test(userAgent)) {
2110		document.querySelector('html').classList.add('diks-user-agent--android');
2111	} else if (/iPad|iPhone|iPod/i.test(userAgent) && !window.MSStream) {
2112		document.querySelector('html').classList.add('diks-user-agent--ios');
2113	} else if (/macintosh/i.test(userAgent) && navigator.maxTouchPoints > 1) {
2114		document.querySelector('html').classList.add('diks-user-agent--ios');
2115	}
2116</script>
2116
2117
2118<script>
2119	// Fix forEach for IE
2120	if (window.NodeList && !NodeList.prototype.forEach) {
2121		NodeList.prototype.forEach = Array.prototype.forEach;
2122	}
2123
2124	// Element.closest() needs a polyfill for older browsers.
2125	// While we only need the closest() functionality for mobile browsers,
2126	// we don't want the code to fail even on old desktop browsers.
2127	// https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill
2128	// https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Browser_compatibility
2129	if (!Element.prototype.matches) {
2130		Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
2131	}
2132
2133	if (!Element.prototype.closest) {
2134		Element.prototype.closest = function(s) {
2135			var el = this;
2136
2137			do {
2138				if (el.matches(s)) return el;
2139				el = el.parentElement || el.parentNode;
2140			} while (el !== null && el.nodeType === 1);
2141			return null;
2142		};
2143	}
2144
2145	function setAriaExpanded(toggler, ariaExpandedValue) {
2146		// Set aria-expanded attribute of dropdown toggler
2147		// If the toggler contains a button, set the aria-expanded attribute for the button instead
2148		if ( toggler.querySelector('button') != null ) {
2149			toggler.querySelector('button').setAttribute('aria-expanded', ariaExpandedValue);
2150		}
2151		else {
2152			toggler.setAttribute('aria-expanded', ariaExpandedValue);
2153		}
2154	}
2155
2156	function toggleElement(target, toggleClass, toggler) {
2157		if (toggleClass) {
2158			var isOpenClass = toggleClass + '--is-open';
2159			var isClosedClass = toggleClass + '--is-closed';
2160
2161			if (target.classList.contains(isOpenClass)) {
2162				// Close this toggle
2163				target.classList.remove(isOpenClass);
2164				target.classList.add(isClosedClass);
2165
2166				// Set aria-expanded to false for the toggler
2167				setAriaExpanded(toggler, 'false');
2168
2169			} else if (target.classList.contains(isClosedClass)) {
2170				// Open this toggle
2171				target.classList.remove(isClosedClass);
2172				target.classList.add(isOpenClass);
2173
2174				// Set aria-expanded to true for the toggler
2175				setAriaExpanded(toggler, 'true');
2176			} else {
2177				// Open this toggle as a fallback
2178				target.classList.add(isOpenClass);
2179
2180				// Set aria-expanded to true for the toggler
2181				setAriaExpanded(toggler, 'true');
2182			}
2183		} else {
2184			if (window.getComputedStyle(target).display !== 'none') {
2185				target.style.display = 'none';
2186			} else {
2187				target.style.display = 'block';
2188			}
2189		}
2190	};
2191
2192	document.querySelectorAll('.js-diks-toggler').forEach(function(toggler) {
2193		var toggleId = toggler.getAttribute('data-diks-toggle');
2194		var target = document.getElementById(toggleId);
2195		var eventListenerAttached = toggler.getAttribute('data-diks-event-click');
2196
2197		if (target && !eventListenerAttached) {
2198
2199			// Set aria-controls of toggler
2200			if ( toggler.querySelector('button') != null ) {
2201				toggler.querySelector('button').setAttribute('aria-controls', toggleId);
2202			}
2203			else {
2204				toggler.setAttribute('aria-controls', toggleId);
2205			}
2206
2207			toggler.addEventListener('click', function(e) {
2208				e.preventDefault();
2209
2210				var toggleClass = toggler.getAttribute('data-diks-toggle-class');
2211
2212				if (webShareAPIEnabled(toggleId)) {
2213					share();
2214				} else {
2215					toggleElement(target, toggleClass, toggler);
2216				}
2217			});
2218
2219			toggler.setAttribute('data-diks-event-click', true);
2220		}
2221	});
2222
2223	// Web Share and Clipboard API capabilities
2224
2225	function webShareAPIEnabled(toggleId) {
2226		const webShareAPIEnabled = true;
2227		const webShareAPIDropdownShareIds = ["jaa","jakopainikkeet"];
2228		const isMobileDevice = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
2229
2230		return webShareAPIEnabled && webShareAPIDropdownShareIds.includes(toggleId) && isMobileDevice && navigator.share ? true : false;
2231	}
2232
2233	function share() {
2234		const metaTitleElement = document.querySelector('meta[property="og:title"]');
2235		const metaDescriptionElement = document.querySelector('meta[name="description"]');
2236		const metaUrlElement = document.querySelector('meta[property="og:url"]');
2237		let title = '';
2238		let description = '';
2239		let url = document.location.href;
2240
2241		if (metaTitleElement && metaTitleElement.content) {
2242			title = metaTitleElement.content;
2243		}
2244
2245		if (metaDescriptionElement && metaDescriptionElement.content) {
2246			description = metaDescriptionElement.content;
2247		}
2248
2249		if (metaUrlElement && metaUrlElement.content) {
2250			url = metaUrlElement.content;
2251		}
2252
2253		navigator.share({
2254			title: title,
2255			text: description,
2256			url: url
2257		});
2258	}
2259
2260	document.querySelectorAll('.js-diks-share-clipboard').forEach(function(element) {
2261		element.addEventListener('click', function(e) {
2262			e.preventDefault();
2263
2264			let url = document.location.href;
2265			const metaUrlElement = document.querySelector('meta[property="og:url"]');
2266
2267			if (metaUrlElement && metaUrlElement.content) {
2268				url = metaUrlElement.content;
2269			}
2270
2271			// Copy URL to clipboard
2272			navigator.clipboard.writeText(url).then(function () {
2273				// Copying URL to clipboard succeeded
2274				const dropdownId = element.getAttribute('data-diks-dropdown-id');
2275				// Find closest dropdown toggler
2276				let dropdownToggler = element.closest('.diks-dropdown').querySelector('.js-diks-toggler');
2277
2278				if (dropdownId) {
2279					const dropdownElement = document.getElementById(dropdownId);
2280
2281					if (dropdownElement) {
2282						// Close currently open dropdown
2283						toggleElement(dropdownElement, 'diks-dropdown__content', dropdownToggler);
2284					}
2285
2286					// Show link copied notification text
2287					const notificationTextWrapperDiv = document.createElement('div');
2288					const notificationTextDiv = document.createElement('div');
2289					const notificationText = document.createTextNode('Linkki kopioitu leikepöydälle');
2290
2291					notificationTextDiv.classList.add('diks-dropdown__notification-text');
2292					notificationTextDiv.appendChild(notificationText);
2293					notificationTextWrapperDiv.classList.add('diks-dropdown__notification-text-wrapper');
2294					notificationTextWrapperDiv.appendChild(notificationTextDiv);
2295					dropdownElement.parentNode.insertBefore(notificationTextWrapperDiv, null);
2296
2297					setTimeout(function () {
2298						notificationTextWrapperDiv.remove();
2299					}, 5000);
2300				}
2301			});
2302		});
2303	});
2304
2305        const initContentBlockToggleButtons = () => {
2306        const toggleContainers = document.querySelectorAll('[data-diks-init="toggle"]');
2307        toggleContainers.forEach(container => {
2308            const toggleButton = container.querySelector('.diks-toggle-button');
2309            const toggleContent = container.querySelector('.diks-toggle-content-container');
2310            if (toggleButton && toggleContent) {
2311                toggleButton.addEventListener('click', () => {
2312                    toggleElement(toggleContent, 'diks-toggle', toggleButton);
2313                });
2314            }
2315        });
2316    };
2317    document.addEventListener('DOMContentLoaded', () => {
2318        initContentBlockToggleButtons();
2319    });
2320
2321</script>
2321
2322
2323<script>
2324	const useDragThreshold = true;
2325
2326	// Horizontally scrollable & draggable navigation
2327	class HorizontalScrollDragger {
2328		constructor(element) {
2329			this.slider = typeof element === 'string' ? document.querySelector(element) : element instanceof Element ? element : null;
2330			if (this.slider === null) return console.error('HorizontalScrollDragger: Element not found');
2331
2332			this.isDown = false;
2333			this.preventClick = false;
2334			this.startX;
2335			this.scrollLeft;
2336
2337			this.dragThreshold = 5;
2338			this.dragSensitivity = 1;
2339			this.dragged = false;
2340
2341			this.init();
2342		}
2343
2344		init() {
2345			this.slider.addEventListener('mousedown', (e) => this.handleMouseDown(e));
2346			this.slider.addEventListener('mouseleave', () => this.handleMouseLeave());
2347			this.slider.addEventListener('mouseup', () => this.handleMouseUp());
2348			this.slider.addEventListener('mousemove', (e) => this.handleMouseMove(e));
2349			this.slider.addEventListener('click', (e) => this.handleClick(e));
2350		}
2351
2352		handleMouseDown(e) {
2353			this.isDown = true;
2354			this.slider.classList.add('diks-navigation--draggable-active');
2355			this.startX = e.pageX - this.slider.offsetLeft;
2356			this.scrollLeft = this.slider.scrollLeft;
2357			this.preventClick = false;
2358		}
2359
2360		handleMouseLeave() {
2361			this.isDown = false;
2362			this.slider.classList.remove('diks-navigation--draggable-active');
2363		}
2364
2365		handleMouseUp() {
2366			this.isDown = false;
2367			this.slider.classList.remove('diks-navigation--draggable-active');
2368		}
2369
2370		handleMouseMove(e) {
2371			if (!this.isDown) return;
2372
2373			if ( useDragThreshold == true ) {
2374				const xWithThreshold = e.pageX - this.slider.offsetLeft;
2375				const delta = xWithThreshold - this.startX;
2376
2377				// If not yet dragging, check threshold
2378				if (!this.dragged && Math.abs(delta) > this.dragThreshold) {
2379					this.dragged = true;
2380					this.preventClick = true;
2381
2382					// Reset baseline so scrolling starts smoothly from here
2383					this.startX = xWithThreshold;
2384					this.scrollLeft = this.slider.scrollLeft;
2385				}
2386
2387				if (this.dragged) {
2388					e.preventDefault();
2389					const walkWithThreshold = (xWithThreshold - this.startX) * this.dragSensitivity; // adjust sensitivity
2390					this.slider.scrollLeft = this.scrollLeft - walkWithThreshold;
2391				}
2392			}
2393			else {
2394				e.preventDefault();
2395				const x = e.pageX - this.slider.offsetLeft;
2396				const walk = (x - this.startX) * this.dragSensitivity; // adjust sensitivity
2397				this.slider.scrollLeft = this.scrollLeft - walk;
2398				this.preventClick = true;
2399			}
2400
2401		}
2402
2403		handleClick(e) {
2404			if ( useDragThreshold == true && this.preventClick && this.dragged ) {
2405				e.preventDefault();
2406			}
2407			else if ( useDragThreshold == false && this.preventClick) {
2408				e.preventDefault();
2409			}
2410		}
2411	}
2412
2413	// Set the draggable navs (multiple) to handle their scrollbars
2414	let scrollableNavs = document.querySelectorAll('.diks-navigation--draggable');
2415
2416	// Make draggable navigation draggable
2417	if ( scrollableNavs ) {
2418		scrollableNavs.forEach(function(element) {
2419			new HorizontalScrollDragger(element);
2420		});
2421	}
2422
2423
2424	// Handle has-scrollbars class adding and removing
2425	function handleScrollableNavScrollbars(scrollableNavElement) {
2426		// If scrollable area is wider (scrollWidth) than what's visible (clientWidth) the element has scrollbars
2427		if ( scrollableNavElement.scrollWidth > scrollableNavElement.clientWidth ) {
2428			scrollableNavElement.classList.add('diks-navigation--draggable-has-scrollbars');
2429			scrollableNavElement.parentElement.classList.add('diks-navigation-wrapper--has-scrollbars');
2430		}
2431		// Remove the has-scrollbars class if it exists but shouldn't (element does not have scrollbars)
2432		else if ( scrollableNavElement.classList.contains('diks-navigation--draggable-has-scrollbars') ) {
2433			scrollableNavElement.classList.remove('diks-navigation--draggable-has-scrollbars');
2434			scrollableNavElement.parentElement.classList.remove('diks-navigation-wrapper--has-scrollbars');
2435		}
2436	}
2437
2438	// If scrollable nav exists add (or remove) necessary classes
2439	// "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
2440	window.addEventListener('load', (event) => {
2441		if ( scrollableNavs ) {
2442			scrollableNavs.forEach(function(element) {
2443				handleScrollableNavScrollbars(element);
2444			});
2445		}
2446	});
2447
2448	// Check if scrollable nav has scrollbar
2449	window.addEventListener('resize', function(event){
2450		if ( scrollableNavs ) {
2451			scrollableNavs.forEach(function(element) {
2452				handleScrollableNavScrollbars(element);
2453			});
2454		}
2455	});
2456</script>
2456
2457
2458<script>
2459	// Back button handling
2460	document.querySelectorAll('a.js-diks-back-button').forEach(function(item) {
2461		var referrerIsSameDomain = false;
2462		// Check if referrer is found as referrer isn't always available (browser, tab, window, bookmark, privacy).
2463		if (typeof(document.referrer) === 'string' && document.referrer.length > 0) {
2464			// 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)
2465			if ( document.referrer.includes(document.location.hostname) && document.referrer != window.location.href ) {
2466				referrerIsSameDomain = true;
2467			}
2468		}
2469
2470		// Overwrite link with history.go, as it also remembers scroll position but only if referrer is the same domain as current location hostname
2471		if (history.length > 1 && referrerIsSameDomain == true) {
2472			// Set referrer as back button href to enable visual cue & opening to a new window
2473			item.setAttribute('href', document.referrer);
2474
2475			// Set back button text
2476			item.querySelector('.diks-header__cta-text').innerHTML = "Takaisin";
2477			
2478			var stepsToGoBack = -1;
2479
2480			item.addEventListener('click', function(e) {
2481				e.preventDefault();
2482				history.go(stepsToGoBack);
2483			});
2484		}
2485	});
2486</script>
2486
2487
2488			<link rel="stylesheet" href="/theme/css/includes/lightgallery/css/lightgallery-bundle.min.css">
2489	<style>.lg-sub-html { background-color: rgba(0,0,0, .6); }</style>
2490	
2490<script src="/theme/css/includes/lightgallery/lightgallery.min.js"></script>
2490
2491	
2491<script src="/theme/css/includes/lightgallery/plugins/autoplay/lg-autoplay.min.js"></script>
2491
2492	
2492<script src="/theme/css/includes/lightgallery/plugins/fullscreen/lg-fullscreen.min.js"></script>
2492
2493	
2493<script src="/theme/css/includes/lightgallery/plugins/thumbnail/lg-thumbnail.min.js"></script>
2493
2494	
2494<script src="/theme/css/includes/lightgallery/plugins/zoom/lg-zoom.min.js"></script>
2494
2495	
2495<script>
2496		// lightGallery
2497		// Separate gallery for every .js-lightgallery
2498		// Gallery items come from .js-lightgallery .js-lightgallery__link
2499		// https://www.lightgalleryjs.com/docs/getting-started/
2500		document.querySelectorAll('.js-diks-lightgallery').forEach(function(gallery) {
2501			var galleryImageLinks = gallery.getElementsByClassName('diks-gallery__link');
2502
2503			// Thumbnails come from img inside the links, unless links specify data-thumbnail
2504			var thumbnailSource = (galleryImageLinks[0].hasAttribute('data-thumbnail')) ? ('data-thumbnail') : (false);
2505
2506			// Adjust certain settings depending on whether the gallery has one or more images
2507			var galleryHasMultipleImages = (galleryImageLinks.length > 1 ? true : false);
2508
2509			// Initialize
2510			lightGallery(gallery, {
2511				autoplay: galleryHasMultipleImages,
2512				counter: galleryHasMultipleImages,
2513				download: false,
2514				exThumbImage: thumbnailSource,
2515				hideControlOnEnd: true,
2516				licenseKey: "96BAAD7E-3BF04397-BBB55AE3-6D5A2C0B",
2517				loop: false,
2518				plugins: [lgAutoplay, lgFullscreen, lgThumbnail, lgZoom],
2519				selector: '.diks-gallery__link',
2520				mobileSettings: {
2521					controls: true,
2522					showCloseIcon: true
2523				},
2524				strings: {
2525					closeGallery: 'Sulje galleria',
2526					toggleMaximize: 'Maksimointi',
2527					previousSlide: 'Edellinen',
2528					nextSlide: 'Seuraava',
2529					download: 'Lataa',
2530					playVideo: 'Katso video',
2531					mediaLoadingFailed: 'Sisällön lataus epäonnistui',
2532				},
2533				autoplayPluginStrings: {
2534					toggleAutoplay: 'Automaattinen toisto'
2535				},
2536				fullscreenPluginStrings: {
2537					toggleFullscreen: 'Kokoruututila'
2538				},
2539				thumbnailPluginStrings: {
2540					toggleThumbnails: 'Pikkukuvat'
2541				},
2542				zoomPluginStrings: {
2543					zoomIn: 'Suurenna',
2544					zoomOut: 'Pienennä',
2545					viewActualSize: 'Näytä täysikokoisena'
2546				}
2547			});
2548
2549			// After closing LightGallery return focus to the image link that opened the gallery 
2550			gallery.addEventListener('lgAfterClose', () => {
2551				galleryImageLinks[0].focus();
2552			});
2553
2554		});
2555
2556	</script>
2556
2557
2558<script>
2559	function loadScript(url, callback) {
2560		var script = document.createElement("script");
2561		script.type = "text/javascript";
2562		if (script.readyState) {  // IE
2563			script.onreadystatechange = function() {
2564				if (script.readyState === "loaded" || script.readyState === "complete") {
2565					script.onreadystatechange = null;
2566					callback();
2567				}
2568			};
2569		} else {  // Others
2570			script.onload = function() {
2571				callback();
2572			};
2573		}
2574		script.src = url;
2575		document.getElementsByTagName("head")[0].appendChild(script);
2576	}
2577	function checkAudioElements() {
2578		// load audioplayer script only when audio elements are found
2579		if (document.querySelector(".init-audio-player")) {
2580			loadScript("https://a.viikkosavo.fi/styles/2efe7af9/js/audioplayer/diks-audioplayer.min.js", function() {
2581				DiksAudioPlayer.init({
2582					selector: '.init-audio-player',
2583					stopOthersOnPlay: true,
2584					enableKeystrokes: true
2585				});
2586			});
2587		}
2588	}
2589	window.onload = (event) => {
2590		checkAudioElements();
2591	};
2592</script>
2592<script>
2593    // ================================================================
2594    // Unified Content Block Component
2595    // ================================================================
2596
2597    const DiksContentBlock = (() => {
2598        // Private utility functions
2599        const utils = {
2600            setCookie: (name, value, days = 30) => {
2601                const expires = new Date();
2602                expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));
2603                document.cookie = `${name}=${encodeURIComponent(value)};expires=${expires.toUTCString()};path=/`;
2604            },
2605
2606            getCookie: (name) => {
2607                const value = `; ${document.cookie}`;
2608                const parts = value.split(`; ${name}=`);
2609                if (parts.length === 2) return decodeURIComponent(parts.pop().split(';').shift());
2610                return null;
2611            },
2612
2613            renderArticleCard: (article) => {
2614                let mainImage = article.mainImage;
2615
2616                // For ContentPackage: if mainImage is empty, get from first story in teaserStories
2617                if (article.type === 'ContentPackage' && (!mainImage || mainImage.length === 0)) {
2618                    if (article.teaserStories && article.teaserStories.length > 0) {
2619                        // Find first teaser story with a mainImage
2620                        for (const teaserStory of article.teaserStories) {
2621                            if (teaserStory.content &&
2622                                teaserStory.content.mainImage &&
2623                                teaserStory.content.mainImage.length > 0) {
2624                                mainImage = teaserStory.content.mainImage;
2625                                break;
2626                            }
2627                        }
2628                    }
2629                }
2630
2631                let imageHtml = '';
2632                if (mainImage && mainImage.length > 0) {
2633                    const imageFields = mainImage[0].content.fields;
2634                    const src = imageFields.landscape_720.href_full;
2635                    const srcset = `
2636                        ${imageFields.landscape_240.href_full} 240w,
2637                        ${imageFields.landscape_480.href_full} 480w,
2638                        ${imageFields.landscape_720.href_full} 720w,
2639                        ${imageFields.landscape_960.href_full} 960w
2640                    `;
2641                    imageHtml = `
2642                        <div class="diks-card__image-wrapper">
2643                            <img class="diks-card__image"
2644                                 src="${src}"
2645                                 loading="lazy"
2646                                 sizes="(max-width: 504px) 480px, (max-width: 1279px) 720px, 960px"
2647                                 srcset="${srcset}"
2648                                 decoding="async"
2649                                 alt="${article.headline}"
2650                                 pinger-seen="true">
2651                        </div>
2652                    `;
2653                }
2654
2655                const fullHeadline = article.headlinePrefix
2656                    ? `<span class="diks-ui-accent">${article.headlinePrefix} | </span>${article.headline}`
2657                    : article.headline;
2658
2659                const publishedDate = new Date(article.published).toLocaleString('fi-FI', {
2660                    day: 'numeric',
2661                    month: 'numeric',
2662                    year: 'numeric',
2663                    hour: 'numeric',
2664                    minute: 'numeric'
2665                });
2666
2667                return `
2668                    <article class="diks-card diks-card--size-s">
2669                        <div class="diks-card__main-wrapper">
2670                            ${imageHtml}
2671                            <div class="diks-card__text-wrapper">
2672                                <div class="diks-card__text-inner-wrapper">
2673                                    <h2 class="diks-card__title">
2674                                        <a class="diks-card__link" href="${article.href}">${fullHeadline}</a>
2675                                    </h2>
2676                                    <div class="diks-card__meta-wrapper">
2677                                        <div class="diks-meta">
2678                                            <div class="diks-date">
2679                                                <time class="diks-date__published" datetime="${article.published}">${publishedDate}</time>
2680                                            </div>
2681                                        </div>
2682                                    </div>
2683                                </div>
2684                            </div>
2685                        </div>
2686                    </article>
2687                `;
2688            },
2689
2690            getComponentType: (containerId) => {
2691                if (containerId.startsWith('diks-content-block-search-')) return 'search';
2692                if (containerId.startsWith('diks-content-block-aggregator-')) return 'aggregator';
2693                return null;
2694            },
2695
2696            getBlockId: (containerId, type) => {
2697                if (type === 'search') return containerId.replace('diks-content-block-search-', '');
2698                if (type === 'aggregator') return containerId.replace('diks-content-block-aggregator-', '');
2699                return containerId;
2700            },
2701
2702            getResultsId: (blockId, type) => {
2703                if (type === 'search') return `diks-search-results-${blockId}`;
2704                if (type === 'aggregator') return `diks-results-${blockId}`;
2705                return null;
2706            }
2707        };
2708
2709        // Build query parameters based on component type and filters
2710        const buildQueryParams = (containerId) => {
2711            const container = document.getElementById(containerId);
2712            const type = utils.getComponentType(containerId);
2713            const blockId = utils.getBlockId(containerId, type);
2714
2715            const params = new URLSearchParams({
2716                type: container.dataset.queryType || 'story',
2717                size: container.dataset.maxResults || 20
2718            });
2719
2720            if (type === 'search') {
2721                // Search-specific parameters
2722                const defaultSort = container.dataset.sort;
2723                const defaultPaywall = container.dataset.paywall;
2724                const defaultStoryTypes = container.dataset.storyTypes;
2725                const defaultTopics = container.dataset.topics;
2726                const defaultAdvertisers = container.dataset.advertisers;
2727                const dateRangeType = container.dataset.dateRangeType;
2728
2729                // Sort
2730                if (defaultSort && defaultSort !== '*') {
2731                    params.append('sort', defaultSort);
2732                }
2733
2734                // Paywall
2735                const paywallSelect = document.getElementById(`diks-search-paywall-${blockId}`);
2736                if (paywallSelect && paywallSelect.value) {
2737                    params.append('paywall', paywallSelect.value);
2738                } else if (defaultPaywall && defaultPaywall !== '*') {
2739                    params.append('paywall', defaultPaywall);
2740                }
2741
2742                // Story types
2743                let storyTypesValue = defaultStoryTypes;
2744                const storyTypesSelect = document.getElementById(`diks-search-story-types-${blockId}`);
2745                if (storyTypesSelect) {
2746                    const selectedOptions = Array.from(storyTypesSelect.selectedOptions).map(opt => opt.value);
2747                    if (selectedOptions.length > 0) {
2748                        storyTypesValue = selectedOptions.join(',');
2749                    }
2750                }
2751                if (storyTypesValue) {
2752                    params.append('storyTypes', storyTypesValue);
2753                }
2754
2755                // Topics
2756                if (defaultTopics) {
2757                    params.append('topics', defaultTopics);
2758                    const topicsOperator = container.dataset.topicsOperator || 'OR';
2759                    params.append('topicsOperator', topicsOperator);
2760                }
2761
2762                // Advertisers
2763                if (defaultAdvertisers) {
2764                    params.append('advertisers', defaultAdvertisers);
2765                    const advertisersOperator = container.dataset.advertisersOperator || 'OR';
2766                    params.append('advertisersOperator', advertisersOperator);
2767                }
2768
2769                // Date ranges
2770                const fromDateInput = document.getElementById(`diks-search-from-date-${blockId}`);
2771                const toDateInput = document.getElementById(`diks-search-to-date-${blockId}`);
2772                const monthInput = document.getElementById(`diks-search-month-${blockId}`);
2773
2774                if (dateRangeType === 'byMonth' && monthInput && monthInput.value) {
2775                    const [year, month] = monthInput.value.split('-').map(Number);
2776                    const fromDate = new Date(year, month - 1, 1, 0, 0, 0, 0);
2777                    const toDate = new Date(year, month, 0, 23, 59, 59, 999);
2778                    params.append('fromDate', fromDate.toISOString().split('.')[0] + 'Z');
2779                    params.append('toDate', toDate.toISOString().split('.')[0] + 'Z');
2780                } else {
2781                    if (fromDateInput && fromDateInput.value) {
2782                        const fromDate = new Date(fromDateInput.value);
2783                        fromDate.setHours(0, 0, 0, 0);
2784                        params.append('fromDate', fromDate.toISOString().split('.')[0] + 'Z');
2785                    }
2786                    if (toDateInput && toDateInput.value) {
2787                        const toDate = new Date(toDateInput.value);
2788                        toDate.setHours(23, 59, 59, 999);
2789                        params.append('toDate', toDate.toISOString().split('.')[0] + 'Z');
2790                    }
2791                }
2792            } else if (type === 'aggregator') {
2793                // Aggregator-specific parameters
2794                const selectedTopic = container.dataset.selectedTopic;
2795                if (selectedTopic) {
2796                    params.append('topics', selectedTopic);
2797                }
2798            }
2799
2800            return params;
2801        };
2802
2803        // Main fetch content function
2804        const fetchContent = async (containerId) => {
2805            const container = document.getElementById(containerId);
2806            const type = utils.getComponentType(containerId);
2807            const blockId = utils.getBlockId(containerId, type);
2808            const resultsId = utils.getResultsId(blockId, type);
2809            const resultsDiv = document.getElementById(resultsId);
2810
2811            if (!container || !resultsDiv) {
2812                console.error(`Content block container or results div not found: ${containerId}`);
2813                return;
2814            }
2815
2816            try {
2817                // Show loading state
2818                const loadingMessage = type === 'search'
2819                    ? '<p class="diks-content-block-search--loading">Ladataan...</p>'
2820                    : '<p class="diks-content-block-aggregator--loading">Ladataan...</p>';
2821                resultsDiv.innerHTML = loadingMessage;
2822
2823                // Build query parameters
2824                const params = buildQueryParams(containerId);
2825                const apiUrl = container.dataset.apiUrl || '/.content/items';
2826
2827                // Fetch data
2828                const response = await fetch(`${apiUrl}?${params.toString()}`, {
2829                    method: 'GET'
2830                });
2831
2832                if (!response.ok) {
2833                    throw new Error('Verkkovirhe.');
2834                }
2835
2836                const data = await response.json();
2837
2838                // Render results
2839                let html = '';
2840                if (data.items && data.items.length > 0) {
2841                    data.items.forEach(article => {
2842                        html += utils.renderArticleCard(article);
2843                    });
2844                } else {
2845                    const noResultsMessage = type === 'search'
2846                        ? '<p class="diks-content-block-search--no-results">Ei hakutuloksia.</p>'
2847                        : '<p>Ei sisältöä.</p>';
2848                    html = noResultsMessage;
2849                }
2850
2851                resultsDiv.innerHTML = html;
2852            } catch (error) {
2853                const errorMessage = type === 'search'
2854                    ? `<p class="diks-content-block-search--error">Virhe: ${error.message}</p>`
2855                    : `<p class="error">Error: ${error.message}</p>`;
2856                resultsDiv.innerHTML = errorMessage;
2857            }
2858        };
2859
2860        // Initialize search component
2861        const initializeSearch = (containerId) => {
2862            const container = document.getElementById(containerId);
2863            const blockId = utils.getBlockId(containerId, 'search');
2864            const dateRangeType = container.dataset.dateRangeType;
2865
2866            // Get UI elements
2867            const searchButton = document.getElementById(`diks-search-button-${blockId}`);
2868            const fromDateInput = document.getElementById(`diks-search-from-date-${blockId}`);
2869            const toDateInput = document.getElementById(`diks-search-to-date-${blockId}`);
2870            const monthInput = document.getElementById(`diks-search-month-${blockId}`);
2871
2872            // Set current month as default for byMonth type
2873            if (dateRangeType === 'byMonth' && monthInput) {
2874                const now = new Date();
2875                const year = now.getFullYear();
2876                const month = String(now.getMonth() + 1).padStart(2, '0');
2877                monthInput.value = `${year}-${month}`;
2878
2879                // Auto-trigger search on month change
2880                monthInput.addEventListener('change', () => fetchContent(containerId));
2881            }
2882
2883            // Search button click handler
2884            if (searchButton) {
2885                searchButton.addEventListener('click', () => fetchContent(containerId));
2886            }
2887
2888            // Enter key support
2889            [fromDateInput, toDateInput, monthInput].forEach(input => {
2890                if (input) {
2891                    input.addEventListener('keypress', (e) => {
2892                        if (e.key === 'Enter') fetchContent(containerId);
2893                    });
2894                }
2895            });
2896
2897            // Initial search
2898            fetchContent(containerId);
2899        };
2900
2901        // Initialize aggregator component
2902        const initializeAggregator = (containerId) => {
2903            const container = document.getElementById(containerId);
2904            const blockId = utils.getBlockId(containerId, 'aggregator');
2905            const topicLabels = JSON.parse(container.dataset.topicLabels || '{}');
2906            const cookieName = `selectedTopic_${blockId}`;
2907
2908            const listId = `diks-topic-list-${blockId}`;
2909            const labelId = `diks-selected-topic-label-${blockId}`;
2910            const toggleId = `diks-toggle-button-${blockId}`;
2911            const listContainerId = `diks-toggle-area-${blockId}`;
2912
2913            const topicItems = document.querySelectorAll(`#${listId} .diks-topic-list__item`);
2914            const labelElement = document.getElementById(labelId);
2915
2916            // Update topic label display
2917            const updateTopicLabel = (topic) => {
2918                if (labelElement && topicLabels[topic]) {
2919                    labelElement.textContent = topicLabels[topic];
2920                } else if (labelElement) {
2921                    labelElement.textContent = '';
2922                }
2923
2924                // Update active state
2925                topicItems.forEach(item => {
2926                    item.classList.toggle('diks-is-active', item.dataset.topic === topic);
2927                });
2928            };
2929
2930            // Handle single topic case
2931            if (Object.keys(topicLabels).length === 1) {
2932                const initialTopic = Object.keys(topicLabels)[0];
2933                container.dataset.selectedTopic = initialTopic;
2934                updateTopicLabel(initialTopic);
2935                fetchContent(containerId);
2936                return;
2937            }
2938
2939            // Handle multiple topics case
2940            if (topicItems.length > 0) {
2941                // Determine initial topic (cookie or first)
2942                const cookieTopic = utils.getCookie(cookieName);
2943                let initialTopic = topicItems[0].dataset.topic;
2944
2945                if (cookieTopic) {
2946                    const validTopic = Array.from(topicItems).some(item => item.dataset.topic === cookieTopic);
2947                    if (validTopic) {
2948                        initialTopic = cookieTopic;
2949                    }
2950                }
2951
2952                // Set up topic click handlers
2953                topicItems.forEach(item => {
2954                    item.addEventListener('click', () => {
2955                        const selectedTopic = item.dataset.topic;
2956                        container.dataset.selectedTopic = selectedTopic;
2957                        utils.setCookie(cookieName, selectedTopic);
2958                        updateTopicLabel(selectedTopic);
2959                        fetchContent(containerId);
2960
2961                        // Close toggle if open
2962                        const toggleButton = document.getElementById(toggleId);
2963                        const listContainer = document.getElementById(listContainerId);
2964                        if (toggleButton && listContainer) {
2965                            toggleButton.setAttribute('aria-expanded', 'false');
2966                            listContainer.classList.remove('diks-toggle--is-open');
2967                            listContainer.classList.add('diks-toggle--is-closed');
2968                            container.dataset.diksToggleState = 'closed';
2969                        }
2970                    });
2971                });
2972
2973                // Initial fetch
2974                container.dataset.selectedTopic = initialTopic;
2975                updateTopicLabel(initialTopic);
2976                fetchContent(containerId);
2977            }
2978        };
2979
2980        // Public API
2981        return {
2982            fetchContent,
2983            initialize: (containerId) => {
2984                const type = utils.getComponentType(containerId);
2985                if (type === 'search') {
2986                    initializeSearch(containerId);
2987                } else if (type === 'aggregator') {
2988                    initializeAggregator(containerId);
2989                }
2990            }
2991        };
2992    })();
2993
2994
2995    // ================================================================
2996    // Auto-initialize all content block components
2997    // ================================================================
2998
2999    document.addEventListener('DOMContentLoaded', () => {
3000        // Initialize all content block components (search + aggregator)
3001        const allContainers = document.querySelectorAll('[id^="diks-content-block-search-"], [id^="diks-content-block-aggregator-"]');
3002        allContainers.forEach(container => {
3003            DiksContentBlock.initialize(container.id);
3004        });
3005    });
3006</script>
vendor: 1 bytes, line 3006
3006
3007<script>
3008	// Service Worker
3009	if ('serviceWorker' in navigator) {
3010		window.addEventListener('load', function() {
3011			navigator.serviceWorker.register('/sw.js').then(
3012				function(registration) {
3013					console.log('PWA: Service worker registered to scope: ', registration.scope);
3014				},
3015				function(err) {
3016					console.error('PWA: Service worker failed to register with error: ', err);
3017				}
3018			);
3019		});
3020	}
3021
3022	// Show installation option, hide generic fallback instructions
3023	function pwaShowInstallationOption() {
3024		document.querySelectorAll('.js-diks-apps-pwa-installation').forEach(function(element) {
3025			element.style.display = 'block';
3026		});
3027		document.querySelectorAll('.js-diks-apps-pwa-instructions').forEach(function(element) {
3028			element.style.display = 'none';
3029		});
3030	}
3031
3032	let deferredPrompt;
3033	var dataLayer = window.dataLayer || [];
3034
3035	// Basic installation process
3036	window.addEventListener('beforeinstallprompt', (e) => {
3037		// Stash the event so it can be triggered later
3038		deferredPrompt = e;
3039
3040		const enablePrompt = 1;
3041
3042		if(!enablePrompt) {
3043			e.preventDefault();
3044		}
3045
3046		// Update the UI to notify the user they can install PWA
3047		pwaShowInstallationOption();
3048
3049		// Handle installation
3050		document.querySelectorAll('.js-diks-apps-pwa-installation-button').forEach(function(button) {
3051			button.addEventListener('click', (e) => {
3052				// Show the prompt
3053				deferredPrompt.prompt();
3054
3055				// Wait for user to respond
3056				deferredPrompt.userChoice.then((choiceResult) => {
3057					if (choiceResult.outcome === 'accepted') {
3058						console.log('PWA: Installed (prompt)');
3059						dataLayer.push({
3060							'event': 'PWA.installation',
3061							'eventData': 'success'
3062						});
3063					} else {
3064						console.log('PWA: User dismissed installation prompt');
3065						dataLayer.push({
3066							'event': 'PWA.installation',
3067							'eventData': 'canceled'
3068						});
3069					}
3070					deferredPrompt = null;
3071				});
3072			});
3073		});
3074	});
3075
3076	// iOS installation process (show instructions modal)
3077	if (!navigator.standalone) {
3078		var userAgent = navigator.userAgent.toLowerCase();
3079		var iPhoneUser = (/iphone/.test(userAgent));
3080		var iPadUser = (/ipad/.test(userAgent) || (/macintosh/.test(userAgent) && navigator.maxTouchPoints > 1));
3081		var safariUser = (/^(?!.*(brave|chrome|crios|duckduckgo|edgeios|firefox|fxios|opios|ucbrowser|yabrowser)).*safari.*$/.test(userAgent));
3082
3083		if (safariUser && (iPhoneUser || iPadUser)) {
3084			// Update the UI to notify the user they can install PWA
3085			pwaShowInstallationOption();
3086
3087			// Instructions
3088			var modals = document.querySelectorAll('.js-diks-apps-pwa-ios-instructions').forEach(function(element) {
3089				// Position on screen based on device
3090				if (iPhoneUser) {
3091					element.classList.add('diks-apps__pwa-ios-modal--bottom');
3092				} else if (iPadUser) {
3093					element.classList.add('diks-apps__pwa-ios-modal--top');
3094				}
3095			});
3096
3097			// Handle modal instructions from installation button
3098			document.querySelectorAll('.js-diks-apps-pwa-installation-button').forEach(function(button) {
3099				button.addEventListener('click', (e) => {
3100					// Show first modal
3101					document.querySelector('.js-diks-apps-pwa-ios-instructions').classList.toggle('diks-apps__pwa-ios-modal--is-visible');
3102					dataLayer.push({
3103						'event': 'PWA.instructions.shown',
3104						'eventData': 'iOS'
3105					});
3106				});
3107			});
3108		}
3109	}
3110</script>
3110
3111					
3111<script class="coral-script" src="//coral.prod.diks.fi/assets/js/count.js?v=9.3.1.3" defer></script>
3111
3112
3113			</body>
3114</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.