CINXE.COM

Näköislehdet | Kaleva

<!doctype html> <html lang="fi"> <head prefix="og: http://ogp.me/ns# kalevamedia: https://www.kalevamedia.fi/ns# zephr: https://www.zephr.com/ns#"> <link rel="preconnect" href="https://crop.kaleva.fi"> <link rel="preconnect" href="https://kuvat.kaleva.media"> <link rel="preconnect" href="https://fonts.gstatic.com"> <link rel="preconnect" href="https://googletagmanager.com"> <link rel="preconnect" href="https://lyta.kalevamedia.fi"> <link rel="preconnect" href="https://static.miilu.kalevakonserni.fi"> <link rel="preconnect" href="https://sp.miilu.kalevakonserni.fi"> <link rel="preconnect" href="https://ww2999.smartadserver.com"> <link rel="preconnect" href="https://creatives.sascdn.com"> <link rel="preload" href="https://ced.sascdn.com/tag/2999/smart.js" as="script"> <link rel="preload" href="https://static.miilu.kalevakonserni.fi/consent/consent.js" as="script"> <link rel="dns-prefetch" href="https://cdn.gravito.net"> <link rel="dns-prefetch" href="https://cdn.jsdelivr.net"> <link rel="preload" href="https://apps-cdn.relevant-digital.com/static/tags/61bc87a350fa1c66dc1b2c87.js" as="script"> <link rel="preconnect" href="https://prg.smartadserver.com"> <link rel="dns-prefetch" href="https://adx.adform.net"> <script> window['gtag_enable_tcf_support'] = true; var stubScriptTag = document.createElement('script'); stubScriptTag.innerHTML='"use strict";!function(){var e=function(){var e,t="__tcfapiLocator",a=[],n=window;for(;n;){try{if(n.frames[t]){e=n;break}}catch(e){}if(n===window.top)break;n=n.parent}e||(!function e(){var a=n.document,r=!!n.frames[t];if(!r)if(a.body){var s=a.createElement("iframe");s.style.cssText="display:none",s.name=t,a.body.appendChild(s)}else setTimeout(e,5);return!r}(),n.__tcfapi=function(){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return a;if("setGdprApplies"===n[0])n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0));else if("ping"===n[0]){var s={gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"};"function"==typeof n[2]&&n[2](s)}else a.push(n)},n.addEventListener("message",(function(e){var t="string"==typeof e.data,a={};try{a=t?JSON.parse(e.data):e.data}catch(e){}var n=a.__tcfapiCall;n&&window.__tcfapi(n.command,n.version,(function(a,r){var s={__tcfapiReturn:{returnValue:a,success:r,callId:n.callId}};t&&(s=JSON.stringify(s)),e&&e.source&&e.source.postMessage&&e.source.postMessage(s,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=e:e()}();' document.head.appendChild(stubScriptTag) </script> <script src="/staticfiles/webpack_bundles/utils-d66283c6acd89e7fef87.js"></script> <script src="/staticfiles/webpack_bundles/vimeoUtils-d66283c6acd89e7fef87.js"></script> <script> digitalData = { "channel": { "facebook_url": "https://www.facebook.com/KalevaOy", "domain": "www.kaleva.fi", "twitter_handle": "Kaleva_fi", "title": "Kaleva", "slug": "kalevafi", }, "pageInstanceID": "nakoislehdet-prod", "page": { "category": { "pageType": "Näköislehdet", }, "attributes": { "clientType": (function() { var client = "Browser"; var ua = navigator.userAgent || navigator.vendor || window.opera; if(ua.indexOf("FBAN") > -1) { client = "Facebook_app"; } return client; })(), "environment": "prod" }, "pageInfo": { "language": "fi-FI", "geoRegion": "FI", "publisher": "Kaleva", "pageTitle": "Näköislehdet", "locationProtocol": document.location.protocol.slice(0, -1), "locationHost": "www.kaleva.fi", "locationPathName": "/nakoislehdet/kaleva/", "locationHref": "https://www.kaleva.fi", }, }, "user": [{ "profile": { "profileID": utils.getMultipassId(), "snowplowID": utils.getSnowplowDuid() }, "signInStatus": utils.getMultipassId() ? true : false, "subscriberStatus": utils.getSubscriberStatus('kalevafi'), "activeSubscriptions": utils.getActiveSubscriptions(), "isTrialAllowed": utils.getIsTrialAllowed() }] }; </script> <script> var el = document.createElement('script'); el.type = 'application/ld+json'; el.text = JSON.stringify({ "@context":"https://schema.org","@type":"Organization","url":"https://" + digitalData.channel.domain + "/","sameAs":[digitalData.channel.facebook_url],"@id":"https://" + digitalData.channel.domain + "/#organization","name":digitalData.channel.title,"logo":""}); document.querySelector('head').appendChild(el); </script> <script> var el = document.createElement('script'); el.type = 'application/ld+json'; el.text = JSON.stringify({"@context":"https://schema.org","@type":"WebSite","@id":"#website","url":"https://" + digitalData.channel.domain + "/","name":digitalData.channel.title}); document.querySelector('head').appendChild(el); </script> <script> (function() { function nestedAttributeExists(obj, path) { var pathParts = path.split('.'); for (var i = 0; i < pathParts.length; i++) { if (!obj || !obj.hasOwnProperty(pathParts[i])) { return { status: false }; } obj = obj[pathParts[i]]; } return { status: true, value: obj }; } var initialDataLayerObject = (function() { var initialData = {}; var dateFormatter = function(date) { var d = new Date(date); d.setMilliseconds(0); return d.toISOString().replace('.000', ''); } var initialize = function(path, targetKey, defaultValue, formatter) { var pathParts = path.split('.'); var target = pathParts[pathParts.length -1]; if (targetKey) { target = targetKey; } var result = nestedAttributeExists(digitalData, path); if (result.status) { initialData[target] = result.value; } else { if (defaultValue !== undefined) { initialData[target] = defaultValue; } } if (initialData.hasOwnProperty(target) && formatter) { initialData[target] = formatter(initialData[target]); } } initialize('page.attributes.accessPolicy', 'accessPolicy'); initialize('page.attributes.articleLength'); initialize('page.attributes.styleTree'); initialize('page.attributes.assetType', undefined, undefined, function(assetType) { return assetType === 'user-generated' ? 'user' : assetType; }); initialize('page.attributes.assetID'); initialize('page.attributes.clientType'); initialize('page.attributes.environment'); initialize('page.category.pageType'); initialize('page.pageInfo.author', 'authorString'); initialize('page.attributes.authors', 'author'); initialize('page.pageInfo.issueDate', 'publicationDate', undefined, dateFormatter); initialize('page.pageInfo.effectiveDate', 'modificationDate', undefined, dateFormatter); initialize('page.attributes.contentSourceOrganization', 'sourceOrganization'); initialize('page.attributes.contentSourceTitle', 'sourceTitle'); initialize('page.attributes.contentSourceOrganizationExternalId', 'sourceOrganizationExternalID'); initialize('page.category.primaryCategory'); initialize('page.attributes.category'); initialize('page.attributes.genre'); initialize('page.attributes.mainKeyword'); initialize('page.attributes.keywords'); if (initialData.hasOwnProperty('keywords')) { initialData['keywordsString'] = initialData.keywords.join(','); } initialize('page.pageInfo.pageTitle'); initialize('page.attributes.videoDuration'); initialize('page.pageInfo.pageID'); initialize('page.pageInfo.locationHref'); initialize('channel.domain', 'channelDomain'); initialize('channel.slug', 'channelSlug'); initialize('page.attributes.version', 'assetVersion'); initialize('page.attributes.versionID', 'assetVersionID'); initialize('user.0.signInStatus', 'signInStatus'); initialize('user.0.subscriberStatus', 'subscriberStatus'); initialize('user.0.activeSubscriptions', 'activeSubscriptions'); initialize('user.0.isTrialAllowed', 'isTrialAllowed'); initialize('user.0.profile.profileID', 'userID'); initialize('product.0.productInfo.productName'); initialize('page.pageInfo.publisher'); initialize('page.attributes.itemCount'); initialize('page.attributes.itemIndex'); initialize('page.attributes.isPreview'); initialize('page.attributes.visibility'); initialize('page.attributes.planSize'); initialize('page.attributes.planLabels'); return initialData; })(); window.dataLayer = [initialDataLayerObject]; })(); </script> <script> /* Dispatch for any events that need to be reflected in analytics. */ var LorienDispatch = (function () { var handlers = []; return { registerEventHandler: function (handler, eventsOfInterest) { handlers.push({handler: handler, eventsOfInterest: eventsOfInterest}); }, dispatchEvent: function (event, value) { var i = 0; for (i = 0; i < handlers.length; i++) { if (handlers[i].eventsOfInterest.indexOf(event) > -1) { handlers[i].handler(event, value); } } } }; })(); // Event handlers LorienDispatch.registerEventHandler( function (event, value) { var message = false; if (event === 'userLogin') { message = {'signInStatus': value.signInStatus, 'subscriberStatus': value.subscriberStatus}; } else { message = value; message.event = event; } if (message) { dataLayer.push(message); } }, [ "userLogin", "managedListingClick", "managedListingDisplay", "socialMediaShare", "virtualPageView", "managedListingItemImpression", "articleReadingPosition", "snowplow", "personalizedSnackbarRecommendationImpression", "audioEvent", "managedListingDismissed", "loginWallEvent", "ePaperSearchEvent", "ePaperSearchResultEvent", "ePaperSearchClickEvent", "ePaperSearchNavigationEvent", "ePaperIssueCoverClickEvent", "ePaperIssuePaywall", "ePaperIssueLoginwall", "commentSubmitted", ] ); LorienDispatch.registerEventHandler(function (event, value) { if (event === 'userLogin') { digitalData.user[0].signInStatus = value.signInStatus; digitalData.user[0].subscriberStatus = value.subscriberStatus; } }, ["userLogin"] ); </script> <script type="text/javascript"> var SnowPlowDispatch = (function() { return { offerClaimEvent: function() { LorienDispatch.dispatchEvent('snowplow', { structuredEvent: { eventCategory: 'Offer Tracking', eventAction: 'Offer Claimed', }, _clear: true, }); }, offerViewEvent: function() { LorienDispatch.dispatchEvent('snowplow', { structuredEvent: { eventCategory: 'Offer Tracking', eventAction: 'Offer Viewed', }, _clear: true, }); } }; })() </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-P26833H');</script> <!-- End Google Tag Manager --> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>Näköislehdet | Kaleva</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://cdnjs.cloudflare.com/ajax/libs/loadjs/3.5.4/loadjs.min.js"></script> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@Kaleva_fi"> <meta name="description" content="Kaleva - Oulun alueen ja koko Pohjois-Suomen kiinnostavimmat sisällöt: uutiset, videot, kuvagalleriat, podcastit, kolumnit, lukijan kuvat, työpaikat, tapahtumat ja Fingerpori."> <meta property="og:title" content="Kaleva"> <meta property="og:description" content="Kaleva - Oulun alueen ja koko Pohjois-Suomen kiinnostavimmat sisällöt: uutiset, videot, kuvagalleriat, podcastit, kolumnit, lukijan kuvat, työpaikat, tapahtumat ja Fingerpori."> <meta property="og:url" content="https://www.kaleva.fi/nakoislehdet/kaleva/"> <meta property="og:image" content="https://crop.kaleva.fi/q6__lMCRaod1D2O9f6sv0BoQXTI=/1200x630/smart/https%3A//lorien-media-prod.s3.amazonaws.com/images/archive/2020/05/11/2020.05.11.13.15.04_kaleva_fb_jakokuva_1200.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta property="og:type" content="website"> <meta property="og:site_name" content="Kaleva"> <meta property="fb:app_id" content="499246010097508"> <link rel="canonical" href="https://www.kaleva.fi/nakoislehdet/kaleva/"> <meta property="og:locale" content="fi_FI"> <!--[if lt IE 9]> <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script> <![endif]--> <script>window._APP_GLOBALS = {"DELIVERY_API_BASE_URL": "https://api.kalevamedia.fi", "X_API_KEY": "HSyHVnWuN96Lvm65vjoln7cFICoF4hDj65SEgsiz", "FACEBOOK_CLIENT_TOKEN": "499246010097508|db3423138889adf9535ac808b328f6a1", "MY_LORIEN_BASE_URL": "https://api.kalevamedia.fi", "KEYWORDS_SUGGESTIONS_URL": "https://lorien-app-config-prod.s3.eu-west-1.amazonaws.com/v1/kalevafi/maggio/keywords/suggestions.json", "ONBOARDING_KEYWORDS_SUGGESTIONS_URL": "https://lorien-app-config-prod.s3.eu-west-1.amazonaws.com/v1/kalevafi/maggio/keywords/onboarding.json", "CHANNEL_LOGO_WHITE": "/staticfiles/londo/domains/kalevafi/site/images/kalevafi--white-logo-3x.fe6fc5e55fa7.png", "CHANNEL_LOGO_BLACK": "/staticfiles/londo/domains/kalevafi/site/images/kalevafi--logo-3x.6399d5067aea.png"};</script> <link rel="icon" href="/staticfiles/londo/images/favicons/kalevafi.74cd970a48ae.ico"> <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> <link href="/staticfiles/londo/styles/main_kalevafi.b48503772420.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" charset="UTF-8" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.min.css"> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick-theme.min.css"> <script> var LytaConfig = { site: "sites-lorien", debug: false, interstitialCookieExpiry: 60*15, queueAds: true, lazyLoadAds: true, uidCookieName: '__aduid', smart: { networkId: 2999, host: 'ww2999.smartadserver.com', forceSSL: false, siteId: 213338, pageId: 1142450 }, target: { adCategory: '', pageType : '', keywords: [] } }; LytaConfig.relevant = { enabled: true, scriptUrl: "https://apps-cdn.relevant-digital.com/static/tags/61bc87a350fa1c66dc1b2c87.js", configId: "62026411d14376cd94dbb1ca", stdCall: true, }; if (typeof digitalData.page.attributes.keywords === 'object' && digitalData.page.attributes.keywords.length > 0) { LytaConfig.target.keywords = digitalData.page.attributes.keywords; } if (typeof digitalData.page.attributes.assetID === 'string') { LytaConfig.target.assetId = digitalData.page.attributes.assetID; } if (typeof digitalData.page.category.primaryCategory === 'string') { LytaConfig.target.adCategory = digitalData.page.category.primaryCategory; } if (typeof digitalData.page.attributes.clientType === 'string') { LytaConfig.target.clientType = digitalData.page.attributes.clientType; } if (typeof digitalData.user === 'object' && digitalData.user.length === 1) { LytaConfig.target.user = digitalData.user[0]; } if (typeof digitalData.page.category.pageType === 'string') { switch (digitalData.page.category.pageType) { case 'Front page': LytaConfig.target.pageType = 'etusivu'; break; case 'article': LytaConfig.target.pageType = 'artikkeli'; break; case 'AggregationPage': case 'Cartoon list': LytaConfig.target.pageType = 'listaus'; break; case 'video': LytaConfig.target.pageType = 'videot'; break; default: LytaConfig.target.pageType = digitalData.page.category.pageType; } } </script> <script src="https://lyta.kalevamedia.fi/1.8.6/lyta.js"></script> </head> <body class="maggio js-maggio-issues"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-P26833H" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="drawer-menu-guardian"> <aside class="mdc-drawer mdc-drawer--modal"> <div class="mdc-drawer__content"> <nav class="drawer__list" aria-label="Päävalikko"> <div class="drawer__wrapper"> <ul class="drawer-menu drawer-menu--level-1 js-drawer-menu"> <li class="drawer-menu__item drawer-menu__item--level-1 drawer-menu__item--uutiset-2 -title"> <span class="drawer-menu__item-title drawer-menu__item-title--level-1 drawer-menu__item-title--uutiset-2"> Uutiset </span> <ul class="drawer-menu drawer-menu--level-2"> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--etusivu-2 -normal"> <a href="/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--etusivu-2"> Etusivu </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--oulun-seutu-2 -normal"> <a href="/oulun-seutu" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--oulun-seutu-2"> Oulun seutu </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--pohjois-suomi-2 -normal"> <a href="/pohjois-suomi" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--pohjois-suomi-2"> Pohjois-Suomi </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--forum24-2 -normal"> <a href="/forum24" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--forum24-2"> Forum24 </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--kotimaa-2 -normal"> <a href="/kotimaa" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--kotimaa-2"> Kotimaa </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--urheilu-3 -normal"> <a href="/urheilu" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--urheilu-3"> Urheilu </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--kiekko-kaleva -normal"> <a href="/kiekko-kaleva" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--kiekko-kaleva"> Kiekko-Kaleva </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--kaleva-live -normal"> <a href="/live" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--kaleva-live"> Kaleva Live </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--ulkomaat-2 -normal"> <a href="/ulkomaat" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--ulkomaat-2"> Ulkomaat </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--kulttuuri-2 -normal"> <a href="/kulttuuri" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--kulttuuri-2"> Kulttuuri </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--historia -normal"> <a href="/historia" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--historia"> Historia </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--luonto-2 -normal"> <a href="/luonto" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--luonto-2"> Luonto </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--hyva-elama-2 -normal"> <a href="/hyva-elama" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--hyva-elama-2"> Hyvä elämä </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--ruoka -normal"> <a href="/ruoka" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--ruoka"> Ruoka </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--koti-kaleva -normal"> <a href="/koti" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--koti-kaleva"> Koti-Kaleva </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--oikaisut -normal"> <a href="/oikaisut" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--oikaisut"> Oikaisut </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--haku -normal"> <a href="/haku" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--haku"> Haku </a> </li> </ul> </li> <li class="drawer-menu__item drawer-menu__item--level-1 drawer-menu__item---5 -separator"> <div class="drawer-menu__item-separator drawer-menu__item-separator--level-1"></div> </li> <li class="drawer-menu__item drawer-menu__item--level-1 drawer-menu__item--uusimmat -normal"> <a href="/uutiset" class="drawer-menu__item-link drawer-menu__item-link--level-1 drawer-menu__item-link--uusimmat"> Uusimmat </a> <ul class="drawer-menu drawer-menu--level-2"> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--galleriat-7 -normal"> <a href="/galleriat/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--galleriat-7"> Galleriat </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--videot-4 -normal"> <a href="/videot/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--videot-4"> Videot </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--lukijakuvat-ja-videot -normal"> <a href="/lukijalta" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--lukijakuvat-ja-videot"> Lukijakuvat ja -videot </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--laheta-kuva-tai-video-3 -normal"> <a href="/lukijalta/laheta" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--laheta-kuva-tai-video-3"> Lähetä kuva tai video </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--podcastit-2 -normal"> <a href="/podcastit" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--podcastit-2"> Podcastit </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--sarjakuvat -normal"> <a href="/sarjakuvat/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--sarjakuvat"> Sarjakuvat </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--pelit-2 -normal"> <a href="/ajanviete" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--pelit-2"> Pelit </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--saa-2 -normal"> <a href="/saa" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--saa-2"> Sää </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--tapahtumat-3 -normal"> <a href="https://tapahtumat.kaleva.fi/fi-FI" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--tapahtumat-3" target="_blank" rel="noopener"> Tapahtumat </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--ura -normal"> <a href="/ura" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--ura"> Ura </a> </li> </ul> </li> <li class="drawer-menu__item drawer-menu__item--level-1 drawer-menu__item--radio-kaleva -highlight"> <div class="drawer-menu__item--highlight-wrapper"> <a href="https://www.radiokaleva.fi/" class="drawer-menu__item-link drawer-menu__item-link--level-1 drawer-menu__item-link--radio-kaleva"> Radio Kaleva </a> </div> </li> <li class="drawer-menu__item drawer-menu__item--level-1 drawer-menu__item--mielipiteet-2 -title"> <a href="/mielipiteet" class="drawer-menu__item-title drawer-menu__item-title--level-1 drawer-menu__item-title--mielipiteet-2"> Mielipiteet </a> <ul class="drawer-menu drawer-menu--level-2"> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--paakirjoitukset-2 -normal"> <a href="/paakirjoitukset" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--paakirjoitukset-2"> Pääkirjoitukset </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--esseet -normal"> <a href="/esseet" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--esseet"> Esseet </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--kolumnit-2 -normal"> <a href="/kolumnit" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--kolumnit-2"> Kolumnit </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--lukijan-mielipide -normal"> <a href="/mielipiteet" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--lukijan-mielipide"> Lukijan mielipide </a> </li> </ul> </li> <li class="drawer-menu__item drawer-menu__item--level-1 drawer-menu__item---6 -separator"> <div class="drawer-menu__item-separator drawer-menu__item-separator--level-1"></div> </li> <li class="drawer-menu__item drawer-menu__item--level-1 drawer-menu__item--nakoislehdet-3 -title"> <a href="/nakoislehdet/" class="drawer-menu__item-title drawer-menu__item-title--level-1 drawer-menu__item-title--nakoislehdet-3"> Näköislehdet </a> <ul class="drawer-menu drawer-menu--level-2"> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--kaleva -normal"> <a href="/nakoislehdet/kaleva/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--kaleva"> Kaleva </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--rantalakeus -normal"> <a href="/nakoislehdet/rantalakeus/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--rantalakeus"> Rantalakeus </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--siikajokilaakso -normal"> <a href="/nakoislehdet/siikajokilaakso/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--siikajokilaakso"> Siikajokilaakso </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--iijokiseutu -normal"> <a href="/nakoislehdet/iijokiseutu/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--iijokiseutu"> Iijokiseutu </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--pyhajokiseutu -normal"> <a href="/nakoislehdet/pyhajokiseutu/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--pyhajokiseutu"> Pyhäjokiseutu </a> </li> </ul> </li> <li class="drawer-menu__item drawer-menu__item--level-1 drawer-menu__item---7 -separator"> <div class="drawer-menu__item-separator drawer-menu__item-separator--level-1"></div> </li> <li class="drawer-menu__item drawer-menu__item--level-1 drawer-menu__item--kaupallinen-yhteistyo-4 -title"> <a href="/kaupallinen-yhteistyo" class="drawer-menu__item-title drawer-menu__item-title--level-1 drawer-menu__item-title--kaupallinen-yhteistyo-4"> Kaupallinen yhteistyö </a> <ul class="drawer-menu drawer-menu--level-2"> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--pohjois-pohjanmaan-yrittajat -normal"> <a href="/ppy" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--pohjois-pohjanmaan-yrittajat"> Pohjois-Pohjanmaan Yrittäjät </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--asianajo-ja-lakiasiaintoimistot -normal"> <a href="https://sivustot.kaleva.fi/asianajajat/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--asianajo-ja-lakiasiaintoimistot" target="_blank" rel="noopener"> Asianajo- ja lakiasiaintoimistot </a> </li> </ul> </li> <li class="drawer-menu__item drawer-menu__item--level-1 drawer-menu__item--laheta-uutisvinkki-2 -highlight"> <div class="drawer-menu__item--highlight-wrapper"> <a href="/lukijalta/laheta" class="drawer-menu__item-link drawer-menu__item-link--level-1 drawer-menu__item-link--laheta-uutisvinkki-2" target="_blank" rel="noopener"> Lähetä uutisvinkki </a> </div> <ul class="drawer-menu drawer-menu--level-2"> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--tilaa-kaleva-3 -highlight"> <div class="drawer-menu__item--highlight-wrapper"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/tilaa-kaleva-3/?utm_source=sivusto&amp;utm_medium=kaleva&amp;utm_campaign=valikko" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--tilaa-kaleva-3" target="_blank" rel="noopener"> Tilaa Kaleva </a> </div> </li> </ul> </li> <li class="drawer-menu__item drawer-menu__item--level-1 drawer-menu__item--asiakaspalvelu-2 -normal"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/" class="drawer-menu__item-link drawer-menu__item-link--level-1 drawer-menu__item-link--asiakaspalvelu-2" target="_blank" rel="noopener"> Asiakaspalvelu </a> <ul class="drawer-menu drawer-menu--level-2"> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--hallitse-tilauksiasi -normal"> <a href="https://itsepalvelu.kalevamedia.fi" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--hallitse-tilauksiasi" target="_blank" rel="noopener"> Hallitse tilauksiasi </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--kumppaniedut -normal"> <a href="/kumppaniedut" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--kumppaniedut" target="_blank" rel="noopener"> Kumppaniedut </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--yhteystiedot-6 -normal"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/yhteystiedot/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--yhteystiedot-6" target="_blank" rel="noopener"> Yhteystiedot </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--palvelumme-yrityksille-5 -normal"> <a href="https://www.kalevamedia.fi/yrityksille" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--palvelumme-yrityksille-5" target="_blank" rel="noopener"> Palvelumme yrityksille </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--jata-lukijailmoitus-9 -normal"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/lukijailmoitukset/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--jata-lukijailmoitus-9" target="_blank" rel="noopener"> Jätä lukijailmoitus </a> </li> <li class="drawer-menu__item drawer-menu__item--level-2 drawer-menu__item--palaute-2 -normal"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/yhteystiedot/ota-yhteytta/" class="drawer-menu__item-link drawer-menu__item-link--level-2 drawer-menu__item-link--palaute-2" target="_blank" rel="noopener"> Palaute </a> </li> </ul> </li> </ul> </div> </nav> </div> </aside> <div class="mdc-drawer-scrim"></div> </div> <nav id="main-nav"> <div class="main-nav__row"> <div class="main-nav__row__section main-nav__row__section--align-start"> <button class="material-icons menu top-bar-menu__navigation-icon top-bar-menu__navigation-icon--menu">menu</button> <div class="main-nav__site-menu"> <div class="top-bar__wrapper"> <ul class="top-bar-menu top-bar-menu--level-1 js-top-bar-menu"> <li class="top-bar-menu__item top-bar-menu__item--level-1 top-bar-menu__item--asiakaspalvelu-16 -normal"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/" class="top-bar-menu__item-link top-bar-menu__item-link--level-1 top-bar-menu__item-link--asiakaspalvelu-16" target="_blank" rel="noopener"> Asiakaspalvelu </a> </li> <li class="top-bar-menu__item top-bar-menu__item--level-1 top-bar-menu__item--tilaa-kaleva -normal"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/tilaa-kaleva-3/?utm_source=kaleva&amp;utm_medium=navi&amp;utm_campaign=topbar" class="top-bar-menu__item-link top-bar-menu__item-link--level-1 top-bar-menu__item-link--tilaa-kaleva" target="_blank" rel="noopener"> Tilaa Kaleva </a> </li> <li class="top-bar-menu__item top-bar-menu__item--level-1 top-bar-menu__item--jata-ilmoitus-10 -normal"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/lukijailmoitukset/" class="top-bar-menu__item-link top-bar-menu__item-link--level-1 top-bar-menu__item-link--jata-ilmoitus-10" target="_blank" rel="noopener"> Jätä ilmoitus </a> </li> <li class="top-bar-menu__item top-bar-menu__item--level-1 top-bar-menu__item--palvelumme-yrityksille-4 -normal"> <a href="https://www.kalevamedia.fi/yrityksille" class="top-bar-menu__item-link top-bar-menu__item-link--level-1 top-bar-menu__item-link--palvelumme-yrityksille-4" target="_blank" rel="noopener"> Palvelumme yrityksille </a> </li> <li class="top-bar-menu__item top-bar-menu__item--level-1 top-bar-menu__item--haku-2 -normal"> <a href="/haku" class="top-bar-menu__item-link top-bar-menu__item-link--level-1 top-bar-menu__item-link--haku-2"> Haku </a> </li> </ul> </div> </div> </div> <div class="main-nav__row__section main-nav__row__section--align-end"> <a class="top-bar-menu__item-link top-bar-menu__item-link--level-1 js-user-login-link" href="/leeloo/kirjaudu/?brand=kalevafi"> <span class="material-icons top-bar-menu__navigation-icon">account_circle</span> <span class="top-bar-menu__item-link--navigation-text">Kirjaudu</span> </a> <script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['login-element'] = { featureLabel: 'zzz Login', outcomeId: 'graph/2#2', outcomeLabel: 'FeatureContentPristine' }; </script> <script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['logout-element'] = { featureLabel: 'zzz Logout', outcomeId: 'transformation/1#1', outcomeLabel: 'Remove' }; </script> </div> </div> </nav> <header id="main-header"> <div id="main-header__row"> <section class="main-header__section main-header__section--left" aria-label="Korostetut sisällöt"> <div class="main-header__section--left-logo"> <a href="/" class="main-header__logo--link"> <img class="js-paywall-channel-logo" src="/staticfiles/londo/domains/kalevafi/site/images/kalevafi--logo-2x.31853ca9aef6.png" alt="Kaleva"> </a> </div> <div class="main-header__section--left-links"> <div class="header__wrapper"> <ul class="header-menu header-menu--level-1 js-header-menu"> <li class="header-menu__item header-menu__item--level-1 header-menu__item--oulun-seutu -normal"> <a href="/oulun-seutu" class="header-menu__item-link header-menu__item-link--level-1 header-menu__item-link--oulun-seutu"> Oulun seutu </a> </li> <li class="header-menu__item header-menu__item--level-1 header-menu__item--pohjois-suomi -normal"> <a href="/pohjois-suomi" class="header-menu__item-link header-menu__item-link--level-1 header-menu__item-link--pohjois-suomi"> Pohjois-Suomi </a> </li> <li class="header-menu__item header-menu__item--level-1 header-menu__item--uusimmat-2 -normal"> <a href="/uutiset" class="header-menu__item-link header-menu__item-link--level-1 header-menu__item-link--uusimmat-2"> Uusimmat </a> </li> <li class="header-menu__item header-menu__item--level-1 header-menu__item--radio-kaleva-4 -normal"> <a href="https://www.radiokaleva.fi/" class="header-menu__item-link header-menu__item-link--level-1 header-menu__item-link--radio-kaleva-4" target="_blank" rel="noopener"> Radio Kaleva </a> </li> <li class="header-menu__item header-menu__item--level-1 header-menu__item--lukijalta-2 -normal"> <a href="/lukijalta" class="header-menu__item-link header-menu__item-link--level-1 header-menu__item-link--lukijalta-2"> Lukijalta </a> </li> <li class="header-menu__item header-menu__item--level-1 header-menu__item--nakoislehdet-4 -normal"> <a href="/nakoislehdet/kaleva" class="header-menu__item-link header-menu__item-link--level-1 header-menu__item-link--nakoislehdet-4"> Näköislehdet </a> </li> </ul> </div> </div> </section> <section class="main-header__section main-header__section--right" aria-label="Nykyinen säätila"> <div class="weather-widget weather-widget--header"> <iframe src="https://lw.foreca.com/v1/site/kaleva/widget-kaleva/?id=100643492&amp;name=Oulu" frameborder="0" scrolling="no" style="max-height: 100%; min-width: 100%; width: 100%"></iframe> </div> </section> </div> </header> <div class="maggio__primary"> <div class="top-grid mdc-drawer-app-content mdc-layout-grid"> <div class="mdc-layout-grid__inner mdc-layout-grid__inner--maggio"> <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-12"> <div class="maggio__section"> <h1 class="maggio__section__title">Näköislehdet</h1> <h2 class="maggio__subtitle">Uusimmat</h2> <script> window['newest1'] = {"results": [{"cover_url_large": "https://data.richie.app/editions-eu-images/issue/a/7/2/issue_a721f7e0-94dd-4f96-b341-158978700ce6_issue/master_preview_master_cover.png?mode=stretch\u0026height=350\u0026format=jpeg", "is_available_free": false, "list_url": "/nakoislehdet/kaleva/", "master_cover_height": 2048, "master_cover_url": "https://data.richie.app/editions-eu-images/issue/a/7/2/issue_a721f7e0-94dd-4f96-b341-158978700ce6_issue/master_preview_master_cover.png", "master_cover_width": 1393, "name": "25.11.2024", "org": "kaleva", "product": "kaleva", "product_id": "kaleva/kaleva", "product_name": "Kaleva", "published_at": "2024-11-25T00:00:00Z", "read_url": "/leeloo/nakoislehdet/v3/ab3108be-2595-4a04-9a78-073e96bb552a", "required_subscriptions": ["kaleva"], "uuid": "ab3108be-2595-4a04-9a78-073e96bb552a"}, {"cover_url_large": "https://data.richie.app/editions-eu-images/issue/6/0/f/issue_60fa9337-5a5c-4fe5-9dc8-4048ac52359b_issue/master_preview_master_cover.png?mode=stretch\u0026height=350\u0026format=jpeg", "is_available_free": false, "list_url": "/nakoislehdet/kaleva/", "master_cover_height": 2048, "master_cover_url": "https://data.richie.app/editions-eu-images/issue/6/0/f/issue_60fa9337-5a5c-4fe5-9dc8-4048ac52359b_issue/master_preview_master_cover.png", "master_cover_width": 1393, "name": "23.11.2024", "org": "kaleva", "product": "huili", "product_id": "kaleva/huili", "product_name": "Huili", "published_at": "2024-11-23T00:00:00Z", "read_url": "/leeloo/nakoislehdet/v3/29b2d29b-f567-4cab-b898-6da0e3747c09", "required_subscriptions": ["kaleva"], "uuid": "29b2d29b-f567-4cab-b898-6da0e3747c09"}, {"cover_url_large": "https://data.richie.app/editions-eu-images/issue/1/9/c/issue_19c0eb54-34e6-4fb8-a091-c8185b499e2e_issue/master_preview_master_cover.png?mode=stretch\u0026height=350\u0026format=jpeg", "is_available_free": true, "list_url": "/nakoislehdet/forum24/", "master_cover_height": 2048, "master_cover_url": "https://data.richie.app/editions-eu-images/issue/1/9/c/issue_19c0eb54-34e6-4fb8-a091-c8185b499e2e_issue/master_preview_master_cover.png", "master_cover_width": 1393, "name": "20.11.2024", "org": "forum24", "product": "forum24", "product_id": "forum24/forum24", "product_name": "Forum24", "published_at": "2024-11-20T00:00:00Z", "read_url": "/leeloo/nakoislehdet/v3/f5d0c592-4433-4624-8720-ce3d3ca58e8e", "required_subscriptions": [], "uuid": "f5d0c592-4433-4624-8720-ce3d3ca58e8e"}]}; </script> <div class="__widget_MaggioSlider" data-uninitialized="true"></div> <script> (function() { var initKey = 'data-uninitialized'; var el = document.querySelector('.__widget_MaggioSlider[' + initKey + '=true]'); el.removeAttribute(initKey); var scripts = ["/staticfiles/webpack_bundles/app-d66283c6acd89e7fef87.js"]; var loadComponent = function() { Loadable.preloadReady().then(function() { ReactDOM.render( React.createElement( Provider, { store: createLocalStore() }, React.createElement(Components.MaggioSlider, {"issuesKey": "newest1"} ) ), el ); }); }; var require = function (scripts, callbackFn) { scripts.forEach(function(script) { if (!loadjs.isDefined(script)) { loadjs(script, script); } }); loadjs.ready(scripts, callbackFn); }; require(scripts, loadComponent); })(); </script> </div> </div> </div> </div> </div> <div class="top-grid mdc-drawer-app-content mdc-layout-grid"> <link rel="stylesheet" href="https://zephr-components-prod.s3.eu-west-1.amazonaws.com/2024-03-20-rev_b53885a/styles/epaper-wall.css" /> <div class="epaper-wall epaper-wall--hidden -type-login"> <button class="epaper__close-btn modal-close-btn"> <i class="far fa-times-circle"></i> <span class="a-heading__5__grey-3">Sulje</span> </button> <div class="epaper__content-container"> <img class="epaper__thumbnail" /> <div class="epaper__text-content"> <h1 class="epaper__title a-heading__2">Lehti on _kirjautuneille_</h1> <p class="epaper__subtitle a-paragraph__1__paywall">Kirjaudu tai luo Kaleva Media -tunnus</p> <div class="epaper__benefits">Voit lukea kirjautumisen takana olevia sisältöjä&#10;Pääset kommentoimaan sisältöjä&#10;Saat oman nimimerkin</div> <a class="epaper__cta-link a-button-primary -button-medium js-cta-link js-create-account-link js-parent-frame-link" href="/leeloo/kirjaudu/?luotunnus&#61;1" >Luo tunnus</a > <p class="epaper__login-link-before-text a-paragraph__2"> <a class="epaper__login-link paywall__cta-login epaper__login-link a-paragraph__2 js-login-link js-parent-frame-link" href="/leeloo/kirjaudu/" >Kirjaudu sisään</a > </p> </div> </div> </div> <script defer="defer" src="https://zephr-components-prod.s3.eu-west-1.amazonaws.com/2024-03-20-rev_b53885a/bundles/epaper-wall.js"></script> <script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['epaper-login'] = { featureLabel: 'ePaper: Login', outcomeId: 'transformation/1', outcomeLabel: 'Default ePaper loginwall' }; </script> <link rel="stylesheet" href="https://zephr-components-prod.s3.eu-west-1.amazonaws.com/2024-03-20-rev_b53885a/styles/epaper-wall.css" /> <div class="epaper-wall epaper-wall--hidden -type-pay"> <button class="epaper__close-btn modal-close-btn"> <i class="far fa-times-circle"></i> <span class="a-heading__5__grey-3">Sulje</span> </button> <div class="epaper__content-container"> <img class="epaper__thumbnail" /> <div class="epaper__text-content"> <h1 class="epaper__title a-heading__2">Lue Kalevaa _vain 1 €/kk_</h1> <p class="epaper__subtitle a-paragraph__1__paywall">Tutustu, voit peruuttaa tilauksen koska tahansa</p> <div class="epaper__benefits">Kalevan verkkosivujen rajaton lukuoikeus&#10;Näköislehdet ja arkisto&#10;Kaleva-sovellus&#10;Kaleva Live -lähetykset&#10;Kaleva-podcastit&#10;Päivittäiset uutiset sähköpostiisi&#10;Tilaajan kumppaniedut</div> <a class="epaper__cta-link a-button-primary -button-medium js-cta-link js-create-account-link js-parent-frame-link" href="https://kampanjat.kalevamedia.fi/kaleva-1kk-1euro/?utm_source&#61;kaleva&amp;utm_medium&#61;epaper-paywall&amp;utm_campaign&#61;epaper" >Tutustu tästä</a > <p class="epaper__login-link-before-text a-paragraph__2"> Oletko jo tilaaja? <a class="epaper__login-link paywall__cta-login epaper__login-link a-paragraph__2 js-login-link js-parent-frame-link" href="/leeloo/kirjaudu/?brand&#61;kalevafi" >Kirjaudu sisään. </a > </p> </div> </div> </div> <script defer="defer" src="https://zephr-components-prod.s3.eu-west-1.amazonaws.com/2024-03-20-rev_b53885a/bundles/epaper-wall.js"></script> <script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['epaper-kalevafi'] = { featureLabel: 'ePaper: KVA', outcomeId: 'transformation/2', outcomeLabel: 'ePaper Paywall' }; </script> <div class="mdc-layout-grid__inner mdc-layout-grid__inner--maggio"> <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-12"> <div class="__widget_MaggioIssuesArchive" data-uninitialized="true"></div> <script> (function() { var initKey = 'data-uninitialized'; var el = document.querySelector('.__widget_MaggioIssuesArchive[' + initKey + '=true]'); el.removeAttribute(initKey); var scripts = ["/staticfiles/webpack_bundles/app-d66283c6acd89e7fef87.js"]; var loadComponent = function() { Loadable.preloadReady().then(function() { ReactDOM.render( React.createElement( Provider, { store: createLocalStore() }, React.createElement(Components.MaggioIssuesArchive, {"archives": [{"title": "Kaleva", "query": "limit=30&product_id=kaleva/kaleva"}, {"title": "Huili", "query": "limit=30&product_id=kaleva/huili"}, {"title": "Teemaliitteet", "query": "limit=30&product_id=kaleva/liite-journalistinen-1,kaleva/helmi,koillissanomat/rukanews"}, {"title": "Forum24", "query": "limit=30&product_id=forum24/forum24,forum24/liite-journalistinen-1"}, {"title": "Sunnuntai (arkisto)", "query": "limit=30&product_id=kaleva/sunnuntai"}, {"title": "PeTo (arkisto)", "query": "limit=30&product_id=kaleva/petoliite"}, {"title": "Kale! (arkisto)", "query": "limit=30&product_id=kaleva/kale"}, {"title": "Oulu-lehti (arkisto)", "query": "limit=30&product_id=oululehti/oululehti,oululehti/olextra"}, {"title": "Koti-Kaleva (arkisto)", "query": "limit=30&product_id=kaleva/kotikaleva"}], "issueUrlPrefix": "/leeloo/nakoislehdet/v3/"} ) ), el ); }); }; var require = function (scripts, callbackFn) { scripts.forEach(function(script) { if (!loadjs.isDefined(script)) { loadjs(script, script); } }); loadjs.ready(scripts, callbackFn); }; require(scripts, loadComponent); })(); </script> </div> </div> </div> <script src="/staticfiles/londo/site/js/maggio.3afc77fc13f2.js"></script> <div id="main-grid" class="mdc-drawer-app-content mdc-layout-grid mdc-theme--background"> <main id="main-content"> </main> </div> <footer class="footer"> <div class="mdc-layout-grid"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-3-desktop mdc-layout-grid__cell--span-4-tablet"> <section class="footer__content"> <div class="footer-main__wrapper"> <ul class="footer-main-menu footer-main-menu--level-1 js-footer-main-menu"> <li class="footer-main-menu__item footer-main-menu__item--level-1 footer-main-menu__item--tilaa-kaleva-2 -highlight"> <div class="footer-main-menu__item--highlight-wrapper"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/tilaa-kaleva-3/?utm_source=kaleva&amp;utm_medium=sfooter&amp;utm_campaign=tam22" class="footer-main-menu__item-link footer-main-menu__item-link--level-1 footer-main-menu__item-link--tilaa-kaleva-2" target="_blank" rel="noopener"> Tilaa Kaleva </a> </div> <ul class="footer-main-menu footer-main-menu--level-2"> <li class="footer-main-menu__item footer-main-menu__item--level-2 footer-main-menu__item--laheta-vinkki-kuva-tai-video -highlight"> <div class="footer-main-menu__item--highlight-wrapper"> <a href="/lukijalta/laheta" class="footer-main-menu__item-link footer-main-menu__item-link--level-2 footer-main-menu__item-link--laheta-vinkki-kuva-tai-video"> Lähetä vinkki, kuva tai video </a> </div> </li> </ul> </li> <li class="footer-main-menu__item footer-main-menu__item--level-1 footer-main-menu__item--asiakaspalvelu-5 -normal"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/" class="footer-main-menu__item-link footer-main-menu__item-link--level-1 footer-main-menu__item-link--asiakaspalvelu-5" target="_blank" rel="noopener"> Asiakaspalvelu </a> <ul class="footer-main-menu footer-main-menu--level-2"> <li class="footer-main-menu__item footer-main-menu__item--level-2 footer-main-menu__item--jata-lukijailmoitus-3 -normal"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/lukijailmoitukset/" class="footer-main-menu__item-link footer-main-menu__item-link--level-2 footer-main-menu__item-link--jata-lukijailmoitus-3" target="_blank" rel="noopener"> Jätä lukijailmoitus </a> </li> <li class="footer-main-menu__item footer-main-menu__item--level-2 footer-main-menu__item--palvelumme-yrityksille-7 -normal"> <a href="https://www.kalevamedia.fi/yrityksille" class="footer-main-menu__item-link footer-main-menu__item-link--level-2 footer-main-menu__item-link--palvelumme-yrityksille-7" target="_blank" rel="noopener"> Palvelumme yrityksille </a> </li> <li class="footer-main-menu__item footer-main-menu__item--level-2 footer-main-menu__item--kaleva-media-2 -normal"> <a href="https://www.kalevamedia.fi/" class="footer-main-menu__item-link footer-main-menu__item-link--level-2 footer-main-menu__item-link--kaleva-media-2" target="_blank" rel="noopener"> Kaleva Media </a> </li> <li class="footer-main-menu__item footer-main-menu__item--level-2 footer-main-menu__item--tietosuoja-2 -normal"> <a href="https://www.kalevamedia.fi/tietoa-meista/tietosuoja/" class="footer-main-menu__item-link footer-main-menu__item-link--level-2 footer-main-menu__item-link--tietosuoja-2" target="_blank" rel="noopener"> Tietosuoja </a> </li> <li class="footer-main-menu__item footer-main-menu__item--level-2 footer-main-menu__item--kayttoehdot-4 -normal"> <a href="https://asiakaspalvelu.kaleva.fi/kayttoehdot/" class="footer-main-menu__item-link footer-main-menu__item-link--level-2 footer-main-menu__item-link--kayttoehdot-4" target="_blank" rel="noopener"> Käyttöehdot </a> </li> </ul> </li> </ul> </div> </section> </div> <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-9-desktop mdc-layout-grid__cell--span-8-tablet"> <section class="footer__content"> <header class="footer__content__header"> Ota yhteyttä </header> <div class="footer-contacts__wrapper"> <ul class="footer-contacts-menu footer-contacts-menu--level-1 js-footer-contacts-menu"> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-1 footer-contacts-menu__item--toimitus-2 -highlight"> <div class="footer-contacts-menu__item--highlight-wrapper"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/yhteystiedot/#toimitus" class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-1 footer-contacts-menu__item-link--toimitus-2" target="_blank" rel="noopener"> Toimitus </a> </div> <ul class="footer-contacts-menu footer-contacts-menu--level-2"> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--toimituskalevafi -normal"> <a href="mailto:toimitus@kaleva.fi" class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--toimituskalevafi"> toimitus@kaleva.fi </a> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--08-5377-111 -normal"> <span class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--08-5377-111"> 08 5377 111 </span> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item---9 -separator"> <div class="footer-contacts-menu__item-separator footer-contacts-menu__item-separator--level-2"></div> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--paatoimittaja-antti-kokkonen -normal"> <span class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--paatoimittaja-antti-kokkonen"> Päätoimittaja Antti Kokkonen </span> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--postiosoite -normal"> <span class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--postiosoite"> Postiosoite: </span> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--kalevatoimitus-pl-170-90101-oulu -normal"> <span class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--kalevatoimitus-pl-170-90101-oulu"> Kaleva/toimitus PL 170, 90101 OULU </span> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--kayntiosoite -normal"> <span class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--kayntiosoite"> Käyntiosoite: </span> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--kirkkokatu-31-90100-oulu -normal"> <span class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--kirkkokatu-31-90100-oulu"> Kirkkokatu 31, 90100 OULU </span> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--julkaisija-kaleva365-oy-8 -normal"> <span class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--julkaisija-kaleva365-oy-8"> Julkaisija: Kaleva365 Oy </span> </li> </ul> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-1 footer-contacts-menu__item--asiakaspalvelu-6 -highlight"> <div class="footer-contacts-menu__item--highlight-wrapper"> <a href="https://asiakaspalvelu.kaleva.fi/kaleva/" class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-1 footer-contacts-menu__item-link--asiakaspalvelu-6" target="_blank" rel="noopener"> Asiakaspalvelu </a> </div> <ul class="footer-contacts-menu footer-contacts-menu--level-2"> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--08-5377-610 -normal"> <a href="tel:085377610" class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--08-5377-610"> 08 5377 610 </a> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--mape-921-la-917 -normal"> <span class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--mape-921-la-917"> ma–pe 9–21, la 9–17 </span> </li> </ul> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-1 footer-contacts-menu__item--palvelumme-yrityksille-6 -highlight"> <div class="footer-contacts-menu__item--highlight-wrapper"> <a href="https://www.kalevamedia.fi/yrityksille" class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-1 footer-contacts-menu__item-link--palvelumme-yrityksille-6" target="_blank" rel="noopener"> Palvelumme yrityksille </a> </div> <ul class="footer-contacts-menu footer-contacts-menu--level-2"> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--yrityksillekalevamediafi-8 -normal"> <a href="mailto:yrityksille@kalevamedia.fi" class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--yrityksillekalevamediafi-8"> yrityksille@kalevamedia.fi </a> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item---11 -separator"> <div class="footer-contacts-menu__item-separator footer-contacts-menu__item-separator--level-2"></div> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--kaleva-media-5 -normal"> <span class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--kaleva-media-5"> Kaleva Media </span> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--pl-170-90101-oulu -normal"> <span class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--pl-170-90101-oulu"> PL 170, 90101 Oulu </span> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--08-5377-180-4 -normal"> <span class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--08-5377-180-4"> 08 5377 180 </span> </li> <li class="footer-contacts-menu__item footer-contacts-menu__item--level-2 footer-contacts-menu__item--mape-816 -normal"> <span class="footer-contacts-menu__item-link footer-contacts-menu__item-link--level-2 footer-contacts-menu__item-link--mape-816"> ma–pe 8–16 </span> </li> </ul> </li> </ul> </div> </section> </div> </div> </div> <section class="subfooter" aria-label="Some linkit"> <div class="mdc-layout-grid"> <a href="/" class="subfooter__logo"> <img src="/staticfiles/londo/domains/kalevafi/site/images/kalevafi--logo-2x.31853ca9aef6.png" alt="Kaleva"> </a> <div class="subfooter__icons"> <a href="https://www.facebook.com/KalevaOy" class="subfooter__icon-link" aria-label="Lehden Facebook-sivu"> <i class="subfooter__icon -facebook"></i> </a> <a href="https://twitter.com/Kaleva_fi" class="subfooter__icon-link" aria-label="Lehden X-profiili"> <i class="subfooter__icon -twitter"></i> </a> <a href="https://www.instagram.com/kaleva_fi/" class="subfooter__icon-link" aria-label="Lehden Instagram"> <i class="subfooter__icon -instagram"></i> </a> </div> <div class="subfooter__ext-logos"> <div class="subfooter__ext-logo"> <img src="/staticfiles/londo/images/vastuullistajournalismia_150.44250113d663.png" alt="Vastuullista journalismia logo"> </div> </div> </div> </section> </footer> <script> var FB_APP_ID = '499246010097508'; </script> <script src="/staticfiles/webpack_bundles/common-d66283c6acd89e7fef87.js"></script> <script src="/staticfiles/webpack_bundles/consent-d66283c6acd89e7fef87.js"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/lozad/dist/lozad.min.js"></script> <script> var observer = lozad('.lozad', { threshold: 0.1, rootMargin: '512px 0px 512px 0px', loaded: function(el) { el.onload = function() { el.dataset['complete'] = true; } } }); observer.observe(); </script> <script src="/staticfiles/londo/site/js/ie-notice.92fbe6ee0d8c.js"></script> <script type="text/javascript"> window.Zephr = window.Zephr || {}; window.Zephr.includeOutcomes = true; window.Zephr.outcomesAsEvents = true; window.Zephr.groupFields = true; (function() { var xhr = new(XMLHttpRequest || ActiveXObject)('MSXML2.XMLHTTP.3.0'); xhr.open('GET', '/blaize/datalayer', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4) { var response; try { response = JSON.parse(xhr.response); } catch (e) { response = xhr.response; } if (xhr.status === 200) { for (var dataLayerFieldName in response) { if (!(dataLayerFieldName in window)) window[dataLayerFieldName] = []; var pageView = response[dataLayerFieldName]; var events = []; if (window.Zephr && window.Zephr.includeOutcomes && window.Zephr.outcomes) { pageView.zephrOutcomes = window.Zephr.outcomes; if (window.Zephr.outcomesAsEvents) { Object.keys(window.Zephr.outcomes || []).forEach(function(outcomeKey) { var outcomeEvent = { event: "zephr-outcome-" + outcomeKey, featureId: outcomeKey, featureLabel: window.Zephr.outcomes[outcomeKey].featureLabel, outcomeId: window.Zephr.outcomes[outcomeKey].outcomeId, outcomeLabel: window.Zephr.outcomes[outcomeKey].outcomeLabel, }; events.push(outcomeEvent); }); } } if (window.Zephr && window.Zephr.accessDetails) { Object.keys((window.Zephr.accessDetails.trials || {})).forEach(function(trialId){ var trial = window.Zephr.accessDetails.trials[trialId] if(trial.reportInDataLayer){ var usedCredits = trial.totalCredits - trial.remainingCredits if (window.Zephr.groupFields && !pageView.zephrTrials) pageView.zephrTrials = {}; var target = window.Zephr.groupFields ? pageView.zephrTrials : pageView if (trial.dataLayerCreditsUsedKey) { target[trial.dataLayerCreditsUsedKey] = usedCredits; } if (trial.dataLayerCreditsRemainingKey) { target[trial.dataLayerCreditsRemainingKey] = trial.remainingCredits; } } }); (window.Zephr.accessDetails.trialTrackingDetails || []).forEach(function(details) { var type = details.entitlementType === 'credits' ? 'credits' : 'meters'; var trial = (window.Zephr.accessDetails[type] || {})[details.entitlementId]; if (!trial) return; if (window.Zephr.groupFields && !pageView.zephrTrials) pageView.zephrTrials = {}; if (details.creditsRemainingKey) { if (window.Zephr.groupFields) { pageView.zephrTrials[details.creditsRemainingKey] = trial.remainingCredits; } else { pageView[details.creditsRemainingKey] = trial.remainingCredits; } } if (details.creditsUsedKey) { if (window.Zephr.groupFields) { pageView.zephrTrials[details.creditsUsedKey] = trial.totalCredits - trial.remainingCredits; } else { pageView[details.creditsUsedKey] = trial.totalCredits - trial.remainingCredits; } } }); try { (Object.keys(window.Zephr.accessDetails.timeTrials || {})).forEach(function(timeTrialId) { var timeTrial = window.Zephr.accessDetails.timeTrials[timeTrialId] if(timeTrial.reportInDataLayer){ if (window.Zephr.groupFields && !pageView.zephrTrials) pageView.zephrTrials = {}; var target = window.Zephr.groupFields ? pageView.zephrTrials : pageView if (timeTrial.dataLayerTrialDurationKey) { target[timeTrial.dataLayerTrialDurationKey] = timeTrial.trialDuration; } if (timeTrial.dataLayerTrialDurationUnitsKey) { target[timeTrial.dataLayerTrialDurationUnitsKey] = timeTrial.trialDurationUnits; } if (timeTrial.dataLayerTrackerEntryTimeKey) { target[timeTrial.dataLayerTrackerEntryTimeKey] = timeTrial.entryTime; } if (timeTrial.dataLayerTrackerHitsKey) { target[timeTrial.dataLayerTrackerHitsKey] = timeTrial.trackerHits; } if (timeTrial.dataLayerTrialTimeRemainingKey) { target[timeTrial.dataLayerTrialTimeRemainingKey] = timeTrial.timeRemainingInTrial; } } }); } catch (err) { console.error("Error aggregating Zephr time trials", err); } } if (Object.keys(pageView).length) { pageView.event = "zephr-pageview"; events.unshift(pageView); } if (!events.length) continue; events.forEach(function(event) { window[dataLayerFieldName].push(event); }); } var readyEvent = document.createEvent('Event'); readyEvent.initEvent('zephr.dataLayerReady', true, true); document.dispatchEvent(readyEvent); } } } xhr.send({}); })(); </script> <script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; window.Zephr.accessDetails = {"isAuthenticated":false,"accessDecisions":{},"entitlements":{},"credits":{},"meters":{},"trials":{},"timeTrials":{},"trialTrackingDetails":[],"testGroups":{"0f4a719c-c09e-4624-a3c0-03eff11f9459":"A","14ccda8e-3e3b-451e-93fc-3167fd879801":"B","353c5fee-12cc-4331-8bc3-5b144948071b":"B","4c1044e0-afd0-42e6-aec9-30171c3664ab":"B","5174af10-eab0-4ab3-9bb3-c40e42350f4d":"A","562c2078-f232-4923-8f13-06835f23369f":"A","59cce8eb-70f3-42a7-9904-859b9ed41f21":"B","5df66a42-2684-4021-ad14-1349633d72e7":"A","6c29d879-8547-4303-bc0a-2360031236c3":"A","73533041-0c79-4cc2-a408-7be4a15b8835":"A","88ffa924-fb0c-4625-8821-37c90d1cc472":"B","a3151391-3ee7-4a73-ae28-3414f72662c8":"C","a72d7739-4960-4eff-b794-7a5adc496043":"B","a832585e-657c-45be-81d2-b062e6e144e5":"C","cd14a9e2-47ae-4579-adc9-9b3d99e2b2f0":"A","cd6a37a4-5a2e-43bb-b575-804675e816cc":"B","d73bb199-519e-493d-bd35-a7871e153356":"A","d99aeaaa-b10a-429d-bd74-eae4b106398e":"B","e186b47f-e649-4afc-9a8b-8e964178ba2a":"B"},"activeProducts":[]}; </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10