CINXE.COM

Nuori kuljettaja kaahasi Oulunsalossa yöllä: auto syöksyi lauta-aidan läpi rivitalon pihaan | 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": "11418237-prod", "page": { "category": { "pageType": "article", }, "attributes": { "accessPolicy": "paid", "articleLength": 736, "styleTree": "basic", "assetID": "11418237", "authors": ["Antti Pasanen"], "contentSourceOrganization": "Kaleva", "contentSourceOrganizationExternalId": "", "contentSourceTitle": "Kaleva", "assetType": "journalistic", "genre": "Uutinen", "category": "Onnettomuudet", "mainKeyword": "Ulosajot", "keywords": ["Oulu","Ulosajot","Poliisitehtävät","Onnettomuudet",], "version": 1, "versionID": "11929156", "visibility": "normal", "isPreview": false, "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": { "author": "Antti Pasanen", "pageID": "11418237", "issueDate": "2024-11-24T10:33:50.436955Z", "language": "fi-FI", "geoRegion": "FI", "publisher": "Kaleva", "pageTitle": "Nuori kuljettaja kaahasi Oulunsalossa yöllä: auto syöksyi lauta-aidan läpi rivitalon pihaan", "locationProtocol": document.location.protocol.slice(0, -1), "locationHost": "www.kaleva.fi", "locationPathName": "/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237", "locationHref": "https://www.kaleva.fi/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237", }, }, "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': 'http://schema.org', '@type': 'NewsArticle', 'headline': 'Nuori kuljettaja kaahasi Oulunsalossa yöllä: auto syöksyi lauta-aidan läpi rivitalon pihaan', 'slug': 'nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s', 'description': 'Yöllinen henkilöautolla kaahailu asuinkadulla päättyi rajuun ulosajoon Oulunsalossa sunnuntain puolella yötä, kertoo poliisi.', 'datePublished': '2024-11-24T10:33:50.436955+00:00', 'publisher': {'name': 'Kaleva', '@type': 'Organization', 'url': 'https://kaleva.fi'}, 'isAccessibleForFree': 'False', 'hasPart': {'@type': 'WebPageElement', 'isAccessibleForFree': 'False', 'cssSelector': '.paywall-content'}}); 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>Nuori kuljettaja kaahasi Oulunsalossa yöllä: auto syöksyi lauta-aidan läpi rivitalon pihaan | 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="Yöllinen henkilöautolla kaahailu asuinkadulla päättyi rajuun ulosajoon Oulunsalossa sunnuntain puolella yötä, kertoo poliisi."> <meta name="robots" content="noarchive"> <meta property="og:title" content="Nuori kuljettaja kaahasi Oulunsalossa yöllä: auto syöksyi lauta-aidan läpi rivitalon pihaan"> <meta property="og:description" content="Yöllinen henkilöautolla kaahailu asuinkadulla päättyi rajuun ulosajoon Oulunsalossa sunnuntain puolella yötä, kertoo poliisi."> <meta property="og:url" content="https://www.kaleva.fi/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237"> <meta property="og:image" content="https://kuvat.kaleva.media/images/v1/kalevacdn/EhWZfYacvlyxnYBxpOR-DrohoYWz-PLVpHxbdLuXJfpONAaYe-rTSm6Or_bZDMgJIB_QxD2-GxU72oEHVXbChvNYSf_W6a1V530hQgV0gLFcGqqSBSpRgV7y31Kkck8d_2Q0uPIafMWsI_td3QBm6ycdjji8VzzXpMAnj1Pu6g.jpg?format=jpeg&amp;quality=75&amp;ol=kalevafi&amp;width=1200&amp;height=630&amp;mode=crop&amp;center-x=0.46453857421875&amp;center-y=0.5308837890625"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta property="og:type" content="article"> <meta property="og:site_name" content="Kaleva"> <meta property="fb:app_id" content="499246010097508"> <link rel="canonical" href="https://www.kaleva.fi/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237"> <meta property="og:locale" content="fi_FI"> <meta property="kalevamedia:image" content="https://kuvat.kaleva.media/images/v1/kalevacdn/EhWZfYacvlyxnYBxpOR-DrohoYWz-PLVpHxbdLuXJfpONAaYe-rTSm6Or_bZDMgJIB_QxD2-GxU72oEHVXbChvNYSf_W6a1V530hQgV0gLFcGqqSBSpRgV7y31Kkck8d_2Q0uPIafMWsI_td3QBm6ycdjji8VzzXpMAnj1Pu6g.jpg?width=1290&amp;height=860&amp;center-x=0.46453857421875&amp;center-y=0.5308837890625&amp;mode=crop"> <meta name="zephr:keywords" content="oulu, ulosajot, poliisitehtavat, onnettomuudet"> <meta name="zephr:main-keyword" content="ulosajot"> <meta name="zephr:genre" content="uutinen"> <meta name="zephr:category" content="onnettomuudet"> <meta name="zephr:style-tree" content="basic"> <meta name="zephr:asset-id" content="11418237"> <meta name="zephr:asset-type" content="article"> <meta name="zephr:access-policy" content="non-free"> <meta name="zephr:author" content="Antti Pasanen"> <!--[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"> <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> <!-- Strossle SDK --><script>window.strossle=window.strossle||function(){(strossle.q=strossle.q||[]).push(arguments)};strossle('00bf6fb7-ba92-4c35-ad3d-630e6e9ff21f', '.strossle-widget');</script><script async src="https://assets.strossle.com/strossle-widget-sdk/1/strossle-widget-sdk.js"></script><!-- End Strossle SDK --> </head> <body class=""> <!-- 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 id="interstitiaali" data-placement-id="interstitiaali"></div> <script> try { Lyta.render({ adUnit: "interstitiaali", async: false, adContainer: "interstitiaali", checkVisibility: false }); } catch(error) { try { Lyta.log(error); } catch(logerror) { console.log(error); } } </script> <div id="mobiiliinterstitiaali" data-placement-id="mobiiliinterstitiaali"></div> <script> try { Lyta.render({ adUnit: "mobiiliinterstitiaali", async: false, adContainer: "mobiiliinterstitiaali", checkVisibility: false }); } catch(error) { try { Lyta.log(error); } catch(logerror) { console.log(error); } } </script> <div id="erikoismainos" data-placement-id="erikoismainos"></div> <script> try { Lyta.render({ adUnit: "erikoismainos", async: true, adContainer: "erikoismainos", checkVisibility: false }); } catch(error) { try { Lyta.log(error); } catch(logerror) { console.log(error); } } </script> <div id="mobiilierikoismainos" data-placement-id="mobiilierikoismainos"></div> <script> try { Lyta.render({ adUnit: "mobiilierikoismainos", async: true, adContainer: "mobiilierikoismainos", checkVisibility: false }); } catch(error) { try { Lyta.log(error); } catch(logerror) { console.log(error); } } </script> <div id="top-content-container"> <div id="top-content-grid" class="mdc-drawer-app-content mdc-layout-grid mdc-theme--background"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-12-desktop mdc-layout-grid__cell--span-12-tablet mdc-layout-grid__cell--span-2-mobile"> <aside class="right-now-widget m-managedListing" data-managed-listing="juuri-nyt" data-widget-title="Juuri nyt" aria-label="Juuri nyt"> <a class="right-now-widget__item right-now-widget__item--gray" href="/pohjois-pohjanmaan-mittava-tuulivoimakaava-viivast/11423277" data-managed-listing-item-asset-id="11423277" data-managed-listing-item-asset-version-id="11936342" data-widget-title="Juuri nyt" data-managed-listing-item-title="Poh­jois-Poh­jan­maan mittava tuu­li­voi­ma­kaa­va vii­väs­tyy" data-managed-listing-item-vignette="Tuulivoimalat" data-managed-listing="juuri-nyt" data-managed-listing-slot-index="1"> <h2 class="right-now-widget__title"> <span class="right-now-widget__vignette">Tuulivoimalat: </span> <span>Poh­jois-Poh­jan­maan mittava tuu­li­voi­ma­kaa­va vii­väs­tyy</span> </h2> </a> <a class="right-now-widget__item right-now-widget__item--gray" href="/poliisi-poisti-loukun-raatoineen-jalkakaytavalta-o/11421012" data-managed-listing-item-asset-id="11421012" data-managed-listing-item-asset-version-id="11935424" data-widget-title="Juuri nyt" data-managed-listing-item-title="Oulun keskustasta jalkakäytävältä löytyi loukku raatoineen" data-managed-listing-item-vignette="Metsästys" data-managed-listing="juuri-nyt" data-managed-listing-slot-index="2"> <h2 class="right-now-widget__title"> <span class="right-now-widget__vignette">Metsästys: </span> <span>Oulun kes­kus­tas­ta jal­ka­käy­tä­väl­tä löytyi loukku raa­toi­neen</span> </h2> </a> <a class="right-now-widget__item right-now-widget__item--gray" href="/anniina-koutonen-27-teki-poikkeuksellisen-ratkaisu/11396024" data-managed-listing-item-asset-id="11396024" data-managed-listing-item-asset-version-id="11935342" data-widget-title="Juuri nyt" data-managed-listing-item-title="Anniina Koutonen, 27, teki poikkeuksellisen ratkaisun ja haki Pohteelle koulupsykologiksi" data-managed-listing-item-vignette="Pohde" data-managed-listing="juuri-nyt" data-managed-listing-slot-index="3"> <h2 class="right-now-widget__title"> <span class="right-now-widget__vignette">Pohde: </span> <span>Anniina Kou­to­nen, 27, teki poik­keuk­sel­li­sen rat­kai­sun ja haki Poh­teel­le kou­lup­sy­ko­lo­gik­si</span> </h2> </a> <a id="zephr-rnw" class="right-now-widget__item right-now-widget__item--commercial" href="https://kampanjat.kalevamedia.fi/kaleva-bf-tarjous-1950-3kk/?utm_source&#61;KVA&amp;utm_medium&#61;right-now&amp;utm_campaign&#61;BF-2024" target="_BLANK" rel="sponsored" ><h2 class="right-now-widget__title"> <span class="right-now-widget__vignette">Mainos: </span><span>Black Weekend -tarjouksena Kaleva Digi, ensimmäiset 3 kk vain 19,50 €! Tilaa tästä.</span> </h2></a > <script> const elem = document.getElementById('zephr-rnw'); if (new URL(elem.href).hostname === window.location.hostname) { elem.target = ''; elem.rel = ''; } </script> <script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['right-now-widget-ad-kalevafi'] = { featureLabel: 'Right Now - KVA', outcomeId: 'transformation/50', outcomeLabel: 'BF 2024' }; </script> </aside> </div> </div> </div> </div> <aside id="paraati-ad-grid" class="mdc-drawer-app-content mdc-layout-grid" aria-label="Mainos"> <div class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-12-desktop mdc-layout-grid__cell--span-12-tablet"> <div class="ad-container ad-container--ylaparaati"> <div id="ylaparaati" data-placement-id="ylaparaati"></div> <script> try { Lyta.render({ adUnit: "ylaparaati", async: true, adContainer: "ylaparaati", checkVisibility: true }); } catch(error) { try { Lyta.log(error); } catch(logerror) { console.log(error); } } </script> </div> <div class="ad-container ad-container--mobiiliparaati"> <div id="mobiiliylaparaati" data-placement-id="mobiiliylaparaati"></div> <script> try { Lyta.render({ adUnit: "mobiiliylaparaati", async: true, adContainer: "mobiiliylaparaati", checkVisibility: true }); } catch(error) { try { Lyta.log(error); } catch(logerror) { console.log(error); } } </script> </div> </div> </div> </aside> <div id="main-grid" class="mdc-drawer-app-content mdc-layout-grid mdc-theme--background"> <main id="main-content"> <article class="article"> <header class="mdc-layout-grid__inner article__header"> <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-10-desktop mdc-layout-grid__cell--span-12-tablet mdc-layout-grid__cell--span-2-mobile"> <div class="article__badge-container"> </div> <div> <div class="asset__subscriber -medium -header"> <div class="asset__subscriberText -medium -header"> Tilaajille </div> </div> </div> <h1 class="article__headline">Nuori kul­jet­ta­ja kaahasi Ou­lun­sa­los­sa yöllä: auto syöksyi lau­ta-ai­dan läpi ri­vi­ta­lon pihaan</h1> <h2 class="article__lead"></h2> </div> </header> <section class="article__byline "> <div class="article__byline-separator"></div> <div class="article__byline-content "> <div class="article__byline-content-item article__byline-author"> <div class="article__byline-author-info"> <span class="article__byline-author-name"> Antti Pasanen </span> </div> </div> <div class="article__byline-content-item article__byline-share"> <div class="__widget_DiscussionByline" data-uninitialized="true"></div> <script> (function() { var initKey = 'data-uninitialized'; var el = document.querySelector('.__widget_DiscussionByline[' + 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.DiscussionByline, {"discussionApiHost": "https://api.kalevamedia.fi", "appSlug": "kalevafi", "threadSlug": "article-11418237", "xApiKey": "HSyHVnWuN96Lvm65vjoln7cFICoF4hDj65SEgsiz"} ) ), 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> <a class="article__byline-icon -twitter share-trigger" href="https://twitter.com/intent/tweet?text=Nuori%20kuljettaja%20kaahasi%20Oulunsalossa%20y%C3%B6ll%C3%A4%3A%20auto%20sy%C3%B6ksyi%20lauta-aidan%20l%C3%A4pi%20rivitalon%20pihaan&amp;url=https%3A//www.kaleva.fi/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237" data-share-target="twitter"></a> <a class="article__byline-icon -facebook share-trigger" href="https://www.facebook.com/sharer/sharer.php?u=https%3A//www.kaleva.fi/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237" data-share-target="facebook" data-share-quote="" data-share-url="https://www.kaleva.fi/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237"></a> <a class="article__byline-icon -whatsapp share-trigger" href="whatsapp://send?text=Nuori%20kuljettaja%20kaahasi%20Oulunsalossa%20y%C3%B6ll%C3%A4%3A%20auto%20sy%C3%B6ksyi%20lauta-aidan%20l%C3%A4pi%20rivitalon%20pihaan%20https%3A//www.kaleva.fi/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237" data-share-target="whatsapp"></a> </div> <div class="article__byline-content-item article__byline-info"> <div class="article__byline_content-info--created"> 24.11.2024 <i class="article__byline-icon -time"></i> 12:33 </div> <div class="article__byline_content-info--modified"> </div> </div> <div class="article__byline-content-item article__byline-keywords"> <a href="/aihe/ulosajot/28806" class="label__keyword label__keyword--medium">Ulosajot</a> </div> </div> <div class="article__byline-separator"></div> </section> <section class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-7"> <main class="article__body js-lyta-content "> <div style="position: relative;"> <p class="article__paragraph"> Yöllinen henkilöautolla kaahailu asuinkadulla päättyi rajuun ulosajoon Oulunsalossa sunnuntain puolella yötä, kertoo poliisi. </p> <p class="article__paragraph"> Auto lähti nuoren kuljettajan käsistä Saranpääntiellä ja syöksyi puisen aidan läpi rivitalon pihamaalle. </p> <div class="paywall-content"> <div> <div class="article__image -size_full ugc-ribbon-medium"> <div class="responsive-image-wrapper aspect-box -ratio_original " style="padding-top: 64.17556346381969%"> <img class="responsive-image article__image-image lozad" data-srcset="https://kuvat.kaleva.media/images/v1/kalevacdn/EhWZfYacvlyxnYBxpOR-DrohoYWz-PLVpHxbdLuXJfpONAaYe-rTSm6Or_bZDMgJIB_QxD2-GxU72oEHVXbChvNYSf_W6a1V530hQgV0gLFcGqqSBSpRgV7y31Kkck8d_2Q0uPIafMWsI_td3QBm6ycdjji8VzzXpMAnj1Pu6g.jpg?format=jpeg&amp;quality=70&amp;width=100&amp;height=64&amp;mode=crop&amp;center-x=0.46453857421875&amp;center-y=0.5308837890625 100w, https://kuvat.kaleva.media/images/v1/kalevacdn/EhWZfYacvlyxnYBxpOR-DrohoYWz-PLVpHxbdLuXJfpONAaYe-rTSm6Or_bZDMgJIB_QxD2-GxU72oEHVXbChvNYSf_W6a1V530hQgV0gLFcGqqSBSpRgV7y31Kkck8d_2Q0uPIafMWsI_td3QBm6ycdjji8VzzXpMAnj1Pu6g.jpg?format=jpeg&amp;quality=70&amp;width=400&amp;height=256&amp;mode=crop&amp;center-x=0.46453857421875&amp;center-y=0.5308837890625 400w, https://kuvat.kaleva.media/images/v1/kalevacdn/EhWZfYacvlyxnYBxpOR-DrohoYWz-PLVpHxbdLuXJfpONAaYe-rTSm6Or_bZDMgJIB_QxD2-GxU72oEHVXbChvNYSf_W6a1V530hQgV0gLFcGqqSBSpRgV7y31Kkck8d_2Q0uPIafMWsI_td3QBm6ycdjji8VzzXpMAnj1Pu6g.jpg?format=jpeg&amp;quality=70&amp;width=800&amp;height=513&amp;mode=crop&amp;center-x=0.46453857421875&amp;center-y=0.5308837890625 800w, https://kuvat.kaleva.media/images/v1/kalevacdn/EhWZfYacvlyxnYBxpOR-DrohoYWz-PLVpHxbdLuXJfpONAaYe-rTSm6Or_bZDMgJIB_QxD2-GxU72oEHVXbChvNYSf_W6a1V530hQgV0gLFcGqqSBSpRgV7y31Kkck8d_2Q0uPIafMWsI_td3QBm6ycdjji8VzzXpMAnj1Pu6g.jpg?format=jpeg&amp;quality=70&amp;width=1400&amp;height=898&amp;mode=crop&amp;center-x=0.46453857421875&amp;center-y=0.5308837890625 1400w, https://kuvat.kaleva.media/images/v1/kalevacdn/EhWZfYacvlyxnYBxpOR-DrohoYWz-PLVpHxbdLuXJfpONAaYe-rTSm6Or_bZDMgJIB_QxD2-GxU72oEHVXbChvNYSf_W6a1V530hQgV0gLFcGqqSBSpRgV7y31Kkck8d_2Q0uPIafMWsI_td3QBm6ycdjji8VzzXpMAnj1Pu6g.jpg?format=jpeg&amp;quality=70&amp;width=2600&amp;height=1668&amp;mode=crop&amp;center-x=0.46453857421875&amp;center-y=0.5308837890625 2600w" sizes="(max-width:768px) 767px, (max-width:1024px) 556px, 740px" data-src="https://kuvat.kaleva.media/images/v1/kalevacdn/EhWZfYacvlyxnYBxpOR-DrohoYWz-PLVpHxbdLuXJfpONAaYe-rTSm6Or_bZDMgJIB_QxD2-GxU72oEHVXbChvNYSf_W6a1V530hQgV0gLFcGqqSBSpRgV7y31Kkck8d_2Q0uPIafMWsI_td3QBm6ycdjji8VzzXpMAnj1Pu6g.jpg?format=jpeg&amp;quality=70&amp;width=1290&amp;height=827&amp;mode=crop&amp;center-x=0.46453857421875&amp;center-y=0.5308837890625" alt="Poliisipartio oli yöllä selvittelemässä tapahtumia ulosajopaikalla. Auton kattoa näkyy aidan takana."> </img></div> <div class="article__image-texts"> <div class="article__image-caption"> Poliisipartio oli yöllä selvittelemässä tapahtumia ulosajopaikalla. Auton kattoa näkyy aidan takana. </div></div></div></div></div><div style="height: 100%; max-height: 250px; position: absolute; width: 100%; bottom: 0; background-image: linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, 0) 100%);"></div> </div><link rel="stylesheet" href="https://zephr-components-prod.s3.eu-west-1.amazonaws.com/2024-03-20-rev_b53885a/styles/paywall-black-friday.css" /><link rel="stylesheet" href="https://use.typekit.net/tyt1jch.css" /><link rel="preconnect" href="https://fonts.googleapis.com" /><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Great+Vibes&family=Special+Elite&display=swap" /> <div data-theme="black-friday" data-timestamp="1733090100" class="paywall-css-container -type-pay -theme-black-friday -ignore-dark-styles" > <div class="paywall__header-img-wrapper"> <img data-src="https://zephr-components-prod.s3.eu-west-1.amazonaws.com/2024-03-20-rev_b53885a/images/black-friday-header-mobile.png" class="paywall__header-img" alt="" /> </div> <div class="paywall__content"> <h1 class="paywall__main-title a-heading__2">Black Weekend -tarjous</h1> <div class="paywall__counter"> <div class="counter__display"> <div> <div class="counter__unit-display hours a-heading__1"></div> <div class="counter__unit-label hours a-paragraph__2"></div> </div> <div class="counter__display-delimiter">:</div> <div> <div class="counter__unit-display minutes a-heading__1"></div> <div class="counter__unit-label minutes a-paragraph__2"></div> </div> <div class="counter__display-delimiter">:</div> <div> <div class="counter__unit-display seconds a-heading__1"></div> <div class="counter__unit-label seconds a-paragraph__2"></div> </div> </div> </div> <h2 class="paywall__subtitle a-paragraph__1__paywall">Ensimmäiset 3 kuukautta yhteensä 19,50 €</h2> <div class="paywall__benefits" style="display: block"></div> <div class="paywall__cta-button-stretcher"> <div class="paywall__cta--container"> <a class="paywall__cta a-button-primary no-link-styles js-cta-link js-create-account-link js-parent-frame-link" href="https://kampanjat.kalevamedia.fi/kaleva-bf-tarjous-1950-3kk/?utm_source&#61;KVA&amp;utm_medium&#61;paywall&amp;utm_campaign&#61;BF-2024" >Tilaa nyt</a > </div> <div class="paywall__benefits--horizontal" style="display: none"></div> <img class="paywall__channel-logo" /> <p class="a-paragraph__2 paywall__cta-login--container"> <span class="paywall__cta-login-text-before">Oletko jo tilaaja?</span> <a class="paywall__cta-login js-login-link js-parent-frame-link" href="/leeloo/kirjaudu/?brand&#61;kalevafi" >Kirjaudu sisään.</a > </p> </div> </div> <div class="paywall__footer-img-wrapper"> <img data-src="https://zephr-components-prod.s3.eu-west-1.amazonaws.com/2024-03-20-rev_b53885a/images/black-friday-footer-mobile.png" class="paywall__footer-img" alt="" /> </div> </div> <script defer="defer" src="https://zephr-components-prod.s3.eu-west-1.amazonaws.com/2024-03-20-rev_b53885a/bundles/wall.js"></script> <script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['paywall-kalevafi'] = { featureLabel: 'Content - KVA', outcomeId: 'transformation/71', outcomeLabel: 'BF 2024' }; </script> </main> <script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['below-article-kalevafi'] = { featureLabel: 'Below article - KVA', outcomeId: 'graph/2#4', outcomeLabel: 'Show Below article - KVA' }; </script> <div class="asset__bottom-meta"> <div class="asset__bottom-meta-row -icons"> <div class="__widget_DiscussionButton" data-uninitialized="true"></div> <script> (function() { var initKey = 'data-uninitialized'; var el = document.querySelector('.__widget_DiscussionButton[' + 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.DiscussionButton, {"discussionApiHost": "https://api.kalevamedia.fi", "appSlug": "kalevafi", "threadSlug": "article-11418237", "xApiKey": "HSyHVnWuN96Lvm65vjoln7cFICoF4hDj65SEgsiz"} ) ), 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 class="asset__bottom-meta-item -share"> <a class="asset__bottom-meta-icon -twitter share-trigger" href="https://twitter.com/intent/tweet?text=Nuori%20kuljettaja%20kaahasi%20Oulunsalossa%20y%C3%B6ll%C3%A4%3A%20auto%20sy%C3%B6ksyi%20lauta-aidan%20l%C3%A4pi%20rivitalon%20pihaan&amp;url=https%3A//www.kaleva.fi/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237" data-share-target="twitter"></a> <a class="asset__bottom-meta-icon -facebook share-trigger" href="https://www.facebook.com/sharer/sharer.php?u=https%3A//www.kaleva.fi/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237" data-share-target="facebook" data-share-quote="" data-share-url="https://www.kaleva.fi/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237"></a> <a class="asset__bottom-meta-icon -whatsapp share-trigger" href="whatsapp://send?text=Nuori%20kuljettaja%20kaahasi%20Oulunsalossa%20y%C3%B6ll%C3%A4%3A%20auto%20sy%C3%B6ksyi%20lauta-aidan%20l%C3%A4pi%20rivitalon%20pihaan%20https%3A//www.kaleva.fi/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237" data-share-target="whatsapp"></a> </div> <a class="label__report" href="mailto:oikaisu@kaleva.fi?subject=Oikaisupyynt%C3%B6%3A%20Nuori%20kuljettaja%20kaahasi%20Oulunsalossa%20y%C3%B6ll%C3%A4%3A%20auto%20sy%C3%B6ksyi%20lauta-aidan%20l%C3%A4pi%20rivitalon%20pihaan&amp;body=Pyyd%C3%A4n%20oikaisua%20sis%C3%A4lt%C3%B6%C3%B6n%3A%20https%3A//www.kaleva.fi/nuori-kuljettaja-kaahasi-oulunsalossa-yolla-auto-s/11418237%0A%0AKuvaile%20asiavirhett%C3%A4%3A%0A%0A%0AYhteystietosi%20%28nimi%20ja%20puhelinnumero%29%3A%0A%0A"> Ilmoita asiavirheestä </a> </div> <div class="asset__bottom-meta-row"> <div class="asset__bottom-meta-item -keywords"> <a href="/aihe/ulosajot/28806" class="badge__keyword badge__keyword--light">Ulosajot</a> <a href="/aihe/oulu/4568" class="badge__keyword badge__keyword--light">Oulu</a> <a href="/aihe/poliisitehtavat/42123" class="badge__keyword badge__keyword--light">Poliisitehtävät</a> <a href="/aihe/onnettomuudet/42812" class="badge__keyword badge__keyword--light">Onnettomuudet</a> </div> </div> </div> <div class="article__bottom-separator"></div> <div class="ad-container ad-container--mobile-content"> <div id="belowcontent" data-placement-id="belowcontent" class="lyta-lazy-load"></div> <script> try { Lyta.render({ adUnit: "belowcontent", async: true, adContainer: "belowcontent", checkVisibility: true }); } catch(error) { try { Lyta.log(error); } catch(logerror) { console.log(error); } } </script> </div> <div class="ad-separator"></div> <div class="__widget_TabbedContentWidget" data-uninitialized="true"></div> <script> (function() { var initKey = 'data-uninitialized'; var el = document.querySelector('.__widget_TabbedContentWidget[' + 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.TabbedContentWidget, {"title": "Lue lis\u00e4\u00e4", "imageFormat": "square", "imageSize": 100, "wrapClass": "content-widget--related-content -article", "tabs": [{"title": "Uusimmat", "query": "/api/v2/channels/kalevafi/contents/11418237/recommendations/?limit=5&asset_type=&omit=article.content%2Cgallery.items"}], "ugcRibbonVersion": "small"} ) ), 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> <aside class="mdc-layout-grid__cell mdc-layout-grid__cell--span-5 sidebar__column-container"> <div class="sidebar__column-item -ad -ad1"> <div class="sidebar-sticky-container"> <div class="ad-container ad-container--sidebar"> <div id="sidebar1" data-placement-id="sidebar1"></div> <script> try { Lyta.render({ adUnit: "sidebar1", async: true, adContainer: "sidebar1", checkVisibility: true }); } catch(error) { try { Lyta.log(error); } catch(logerror) { console.log(error); } } </script> </div> </div> </div> </aside> </section> </article> <section class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-12-desktop mdc-layout-grid__cell--span-12-tablet"> <div class="strossle-container"> <div class="strossle-widget"></div> </div> </div> </section> <div class="article-middle"> <div class="article-middle__separator"></div> </div> <section class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-7 discussion-container"> <div id="kommentit"> <div class="__widget_Discussion" data-uninitialized="true"></div> <script> (function() { var initKey = 'data-uninitialized'; var el = document.querySelector('.__widget_Discussion[' + 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.Discussion, {"discussionApiHost": "https://api.kalevamedia.fi", "appSlug": "kalevafi", "threadSlug": "article-11418237", "xApiKey": "HSyHVnWuN96Lvm65vjoln7cFICoF4hDj65SEgsiz", "loginUrl": "/leeloo/kirjaudu/?brand=kalevafi", "signupUrl": "/leeloo/kirjaudu/?luotunnus=1&brand=kalevafi"} ) ), 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> <aside class="mdc-layout-grid__cell mdc-layout-grid__cell--span-5 sidebar__column-container"> <div class="sidebar__column-item -ad -ad3"> <div class="sidebar-sticky-container"> <div class="ad-container ad-container--sidebar"> <div id="sidebar3" data-placement-id="sidebar3" class="lyta-lazy-load"></div> <script> try { Lyta.render({ adUnit: "sidebar3", async: true, adContainer: "sidebar3", checkVisibility: true }); } catch(error) { try { Lyta.log(error); } catch(logerror) { console.log(error); } } </script> </div> </div> </div> </aside> </section> <section class="mdc-layout-grid__inner"> <div class="mdc-layout-grid__cell mdc-layout-grid__cell--span-7"> <div class="content-widget--frontpage-now -ctx-article"> <div class="__widget_TabbedContentWidget" data-uninitialized="true"></div> <script> (function() { var initKey = 'data-uninitialized'; var el = document.querySelector('.__widget_TabbedContentWidget[' + 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.TabbedContentWidget, {"title": "Etusivulla nyt", "styleContext": "-ctx-frontpage-now -level-1", "imageFormat": "ratio_3x2", "imageSize": 410, "tabs": [{"title": "Uusimmat", "query": "/api/v2/channels/kalevafi/managed-listings/etusivu/?limit=30&omit=content.gallery.items"}], "ugcRibbonVersion": "small"} ) ), 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> </section> <div class="__widget_MobileMenuSnackbar" data-uninitialized="true"></div> <script> (function() { var initKey = 'data-uninitialized'; var el = document.querySelector('.__widget_MobileMenuSnackbar[' + 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.MobileMenuSnackbar, {"frontpageUrl": "https://www.kaleva.fi", "logoUrl": "/staticfiles/londo/domains/kalevafi/site/images/kalevafi--white-logo-2x.734e62591d46.png"} ) ), 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> </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":{"Sa5I45":{"isUsedInDecision":false},"5i1ISD":{"isUsedInDecision":false},"82K4WO":{"isUsedInDecision":false},"hccBMu":{"isUsedInDecision":false},"inK44G":{"isUsedInDecision":false}},"timeTrials":{},"trialTrackingDetails":[],"testGroups":{"0f4a719c-c09e-4624-a3c0-03eff11f9459":"B","14ccda8e-3e3b-451e-93fc-3167fd879801":"B","353c5fee-12cc-4331-8bc3-5b144948071b":"B","4c1044e0-afd0-42e6-aec9-30171c3664ab":"A","5174af10-eab0-4ab3-9bb3-c40e42350f4d":"A","562c2078-f232-4923-8f13-06835f23369f":"B","59cce8eb-70f3-42a7-9904-859b9ed41f21":"B","5df66a42-2684-4021-ad14-1349633d72e7":"A","6c29d879-8547-4303-bc0a-2360031236c3":"B","73533041-0c79-4cc2-a408-7be4a15b8835":"B","88ffa924-fb0c-4625-8821-37c90d1cc472":"A","a3151391-3ee7-4a73-ae28-3414f72662c8":"C","a72d7739-4960-4eff-b794-7a5adc496043":"A","a832585e-657c-45be-81d2-b062e6e144e5":"C","cd14a9e2-47ae-4579-adc9-9b3d99e2b2f0":"A","cd6a37a4-5a2e-43bb-b575-804675e816cc":"A","d73bb199-519e-493d-bd35-a7871e153356":"B","d99aeaaa-b10a-429d-bd74-eae4b106398e":"A","e186b47f-e649-4afc-9a8b-8e964178ba2a":"B"},"activeProducts":[]}; </script> </body> </html>

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