1<!DOCTYPE html> 2<html lang="fi"> 3 <head> 4 <meta charset="UTF-8"/> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>Alma Media</title> 8 9 <!-- Google Tag Manager -->
10<script>
vendor: 343 bytes, lines 10-14
10(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 11new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 12j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 13 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 14})(window,document,'script','dataLayer','
14GTM-M7JB5Q
vendor: 3 bytes, line 14
14');
14</script>
14 15<!-- End Google Tag Manager --> 16 <link rel="alternate" href="https://www.almamedia.fi/en/" hreflang="en" /> 17<link rel="alternate" href="https://www.almamedia.fi/" hreflang="fi" /> 18 19 20<meta name="robots" content="max-snippet:-1,max-image-preview:standard,max-video-preview:-1" /> 21<link rel="canonical" href="https://www.almamedia.fi/" /> 22<meta name="description" content="Alma Media rakentaa kestävää kasvua tarjoten sisältöjä ja palveluja, jotka hyödyttävät käyttäjiä arjessa, työssä ja vapaa-ajalla." /> 23<meta property="og:type" content="website" /> 24<meta property="og:locale" content="fi_FI" /> 25<meta property="og:site_name" content="Alma Media" /> 26<meta property="og:title" content="Alma Media" /> 27<meta property="og:description" content="Alma Media rakentaa kestävää kasvua tarjoten sisältöjä ja palveluja, jotka hyödyttävät käyttäjiä arjessa, työssä ja vapaa-ajalla." /> 28<meta property="og:url" content="https://www.almamedia.fi/" /> 29<meta property="og:image" content="https://www.almamedia.fi/wp-content/uploads/2021/09/li.jpg" /> 30<meta property="og:image:width" content="1140" /> 31<meta property="og:image:height" content="570" /> 32<meta name="twitter:card" content="summary_large_image" /> 33<meta name="twitter:title" content="Alma Media" /> 34<meta name="twitter:description" content="Alma Media rakentaa kestävää kasvua tarjoten sisältöjä ja palveluja, jotka hyödyttävät käyttäjiä arjessa, työssä ja vapaa-ajalla." /> 35<meta name="twitter:image" content="https://www.almamedia.fi/wp-content/uploads/2021/09/li.jpg" /> 36<meta name="google-site-verification" content="4E2XCwd7H4ACt5p-CiqpWk1bzQPbyoJQP73aIjTTL2E" />
37<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://www.almamedia.fi/#/schema/WebSite","url":"https://www.almamedia.fi/","name":"Alma Media","inLanguage":"fi","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.almamedia.fi/search/{search_term_string}/"},"query-input":"required name=search_term_string"},"publisher":{"@id":"https://www.almamedia.fi/#/schema/Organization"}},{"@type":"WebPage","@id":"https://www.almamedia.fi/","url":"https://www.almamedia.fi/","name":"Alma Media","description":"Alma Media rakentaa kestävää kasvua tarjoten sisältöjä ja palveluja, jotka hyödyttävät käyttäjiä arjessa, työssä ja vapaa-ajalla.","inLanguage":"fi","isPartOf":{"@id":"https://www.almamedia.fi/#/schema/WebSite"},"breadcrumb":{"@type":"BreadcrumbList","@id":"https://www.almamedia.fi/#/schema/BreadcrumbList","itemListElement":{"@type":"ListItem","position":1,"name":"Alma Media"}},"potentialAction":{"@type":"ReadAction","target":"https://www.almamedia.fi/"},"about":{"@id":"https://www.almamedia.fi/#/schema/Organization"}},{"@type":"Organization","@id":"https://www.almamedia.fi/#/schema/Organization","name":"Alma Media","url":"https://www.almamedia.fi/"}]}</script>
37 38 39 40<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.almamedia.fi/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.almamedia.fi%2F&lang=fi" /> 41<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.almamedia.fi/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.almamedia.fi%2F&format=xml&lang=fi" /> 42<style id="wp-img-auto-sizes-contain-inline-css"> 43img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 44/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 45</style> 46<style id="classic-theme-styles-inline-css"> 47/*! This file is auto-generated */ 48.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 49/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 50</style> 51<style id="filebird-block-filebird-gallery-style-inline-css"> 52ul.filebird-block-filebird-gallery{margin:auto!important;padding:0!important;width:100%}ul.filebird-block-filebird-gallery.layout-grid{display:grid;grid-gap:20px;align-items:stretch;grid-template-columns:repeat(var(--columns),1fr);justify-items:stretch}ul.filebird-block-filebird-gallery.layout-grid li img{border:1px solid #ccc;box-shadow:2px 2px 6px 0 rgba(0,0,0,.3);height:100%;max-width:100%;-o-object-fit:cover;object-fit:cover;width:100%}ul.filebird-block-filebird-gallery.layout-masonry{-moz-column-count:var(--columns);column-count:var(--columns);-moz-column-gap:var(--space);column-gap:var(--space);display:block;overflow:auto}ul.filebird-block-filebird-gallery.layout-masonry li{margin-bottom:var(--space)}ul.filebird-block-filebird-gallery li{list-style:none}ul.filebird-block-filebird-gallery li figure{height:100%;margin:0;padding:0;position:relative;width:100%}ul.filebird-block-filebird-gallery li figure figcaption{background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);bottom:0;box-sizing:border-box;color:#fff;font-size:.8em;margin:0;max-height:100%;overflow:auto;padding:3em .77em .7em;position:absolute;text-align:center;width:100%;z-index:2}ul.filebird-block-filebird-gallery li figure figcaption a{color:inherit}.fb-block-hover-animation-zoomIn figure{overflow:hidden}.fb-block-hover-animation-zoomIn figure img{transform:scale(1);transition:.3s ease-in-out}.fb-block-hover-animation-zoomIn figure:hover img{transform:scale(1.3)}.fb-block-hover-animation-shine figure{overflow:hidden;position:relative}.fb-block-hover-animation-shine figure:before{background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.3));content:"";display:block;height:100%;left:-75%;position:absolute;top:0;transform:skewX(-25deg);width:50%;z-index:2}.fb-block-hover-animation-shine figure:hover:before{animation:shine .75s}@keyframes shine{to{left:125%}}.fb-block-hover-animation-opacity figure{overflow:hidden}.fb-block-hover-animation-opacity figure img{opacity:1;transition:.3s ease-in-out}.fb-block-hover-animation-opacity figure:hover img{opacity:.5}.fb-block-hover-animation-grayscale figure img{filter:grayscale(100%);transition:.3s ease-in-out}.fb-block-hover-animation-grayscale figure:hover img{filter:grayscale(0)} 53 54/*# sourceURL=https://www.almamedia.fi/wp-content/plugins/filebird-pro/blocks/filebird-gallery/build/style-index.css */ 55</style> 56<style id="global-styles-inline-css"> 57:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
570) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
57.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 58:root :where(.wp-block-icon svg){width: 24px;} 59:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} 60:where(.wp-block-term-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-term-template.is-layout-grid){gap: 1.25em;} 61:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} 62:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} 63/*# sourceURL=global-styles-inline-css */ 64</style> 65<link rel='stylesheet' id='ctf_styles-css' href='https://www.almamedia.fi/wp-content/plugins/custom-twitter-feeds/css/ctf-styles.min.css?ver=2.8.0' media='all' /> 66<link rel='stylesheet' id='image-map-pro-dist-css-css' href='https://www.almamedia.fi/wp-content/plugins/image-map-pro-wordpress/css/image-map-pro.min.css?ver=5.6.8' media='' /> 67<link rel='stylesheet' id='alma/css-css' href='https://www.almamedia.fi/wp-content/themes/almamedia/dist/styles/main.css?v=221a988f52' media='all' />
68<script id="jquery-core-js" src="https://www.almamedia.fi/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 68
68
69<script id="jquery-migrate-js" src="https://www.almamedia.fi/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
69 70<link rel="https://api.w.org/" href="https://www.almamedia.fi/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.almamedia.fi/wp-json/wp/v2/pages/30478" /> 71<link rel="apple-touch-icon" sizes="180x180" href="https://www.almamedia.fi/wp-content/themes/almamedia/assets-external/favicon/apple-touch-icon.png"> 72<link rel="icon" type="image/png" sizes="32x32" href="https://www.almamedia.fi/wp-content/themes/almamedia/assets-external/favicon/favicon-32x32.png"> 73<link rel="icon" type="image/png" sizes="16x16" href="https://www.almamedia.fi/wp-content/themes/almamedia/assets-external/favicon/favicon-16x16.png"> 74<link rel="shortcut icon" href="https://www.almamedia.fi/wp-content/themes/almamedia/assets-external/favicon/favicon.ico"> 75<meta name="msapplication-TileColor" content="#ffffff"> 76<meta name="msapplication-config" content="https://www.almamedia.fi/wp-content/themes/almamedia/assets-external/favicon/browserconfig.xml"> 77<meta name="theme-color" content="#ffffff"> 78 79 80 </head> 81 82<body class="home wp-singular page-template-default page page-id-30478 wp-embed-responsive wp-theme-almamedia no-hero site"> 83<div id="site-container"> 84 85 <!-- Google Tag Manager (noscript) -->
vendor: 72 bytes, lines 85-87
85 86 <noscript> 87 <iframe src="https://www.googletagmanager.com/ns.html?id=
87GTM-M7JB5Q
vendor: 90 bytes, lines 87-90
87" 88 height="0" width="0" style="display:none;visibility:hidden"></iframe> 89 </noscript> 90
90<!-- End Google Tag Manager (noscript) --> 91 92 93 <div class="content"> 94 95 96 97 98<euroland-tool data-tool-name="aisearch" data-tool-language="fi-FI"></euroland-tool> 99 100<div id="navigation" style="height: 80px;max-height: 80px;"> 101 <div class="ui-navigation is-sticky"> 102 103 <div class="ui-multilevel ui-sticky"> 104 <div class="navi-mask"></div> 105 106 <div class="alma-mobile-breadcrump"> 107 <bdi> 108 <a href="#" class="back-button"></a><span class="page"></span> 109 </bdi> 110 </div> 111 112 <nav class="navbar navbar-default " role="navigation"> 113 114 <div class="container-fluid"> 115 <div class="navbar-header"> 116 <button type="button" class="navbar-toggle" data-toggle="collapse" 117 data-target="#bs-example-navbar-collapse-1"> 118 <span class="sr-only">Vaihda näkymää</span> 119 <bdi>Valikko</bdi> 120 <span class="icon-bar one"></span> 121 <span class="icon-bar middle"></span> 122 <span class="icon-bar two"></span> 123 </button> 124 <a class="ui-logo" href="https://www.almamedia.fi">Alma</a> 125 </div> 126 127 <div class="alma-navbar-collapse"> 128 <ul class="nav navbar-nav"> 129 <li class="alma-dropdown alma-trigger"> 130 <a class="dropdown-toggle">Tietoa meistä</a> 131 <ul class="dropdown-menu with-submenu"> 132 <li> 133 <a href="https://www.almamedia.fi/tietoa-meista/" 134 target="_self">Alma lyhyesti</a> 135 </li> 136 <li> 137 <a href="https://www.almamedia.fi/tietoa-meista/strategia/" 138 target="_self">Strategia</a> 139 </li> 140 <li> 141 <a href="https://www.almamedia.fi/tietoa-meista/tarkoitus-visio-ja-arvot/" 142 target="_self">Tarkoitus, visio ja arvot</a> 143 </li> 144 <li> 145 <a href="https://www.almamedia.fi/tietoa-meista/liiketoiminta-alueet/" 146 target="_self">Liiketoiminta-alueet</a> 147 </li> 148 </ul> 149 </li> 150 <li><a href="https://www.almamedia.fi/mainostajat/" target="_self">Mainostajat</a></li> 151 <li class="alma-dropdown alma-trigger"> 152 <a class="dropdown-toggle">Palvelut</a> 153 <ul class="dropdown-menu with-submenu"> 154 <li> 155 <a href="https://www.almamedia.fi/palvelut/" 156 target="_self">Tuotteet ja palvelut</a> 157 </li> 158 <li> 159 <a href="https://www.almamedia.fi/alma-tunnus/" 160 target="_self">Alma-tunnus</a> 161 </li> 162 <li> 163 <a href="https://www.almamedia.fi/alma-yritystunnus/" 164 target="_self">Alma-yritystunnus</a> 165 </li> 166 <li> 167 <a href="https://www.almarealestate.fi/" 168 target="_self">Alma Real Estate</a> 169 </li> 170 <li> 171 <a href="https://www.almamobility.fi/" 172 target="_self">Alma Mobility</a> 173 </li> 174 <li> 175 <a href="https://www.almamedia.fi/rekrytointi/" 176 target="_self">Alma Career</a> 177 </li> 178 <li> 179 <a href="https://www.almainsights.fi/" 180 target="_self">Alma Insights</a> 181 </li> 182 </ul> 183 </li> 184 <li class="alma-dropdown alma-trigger"> 185 <a class="dropdown-toggle">Sijoittajille</a> 186 <ul class="dropdown-menu with-submenu"> 187 <li> 188 <a href="https://www.almamedia.fi/sijoittajat/" 189 target="_self">Sijoittajille</a> 190 </li> 191 <li class="alma-dropdown-submenu alma-trigger"> 192 <a>Alma Media sijoituskohteena</a> 193 <ul class="dropdown-menu w-1"> 194 195 <li> 196 <a href="https://www.almamedia.fi/sijoittajat/alma-media-sijoituskohteena/" 197 target="_self">Alma Media sijoituskohteena</a> 198 </li> 199 200 201 202 <li> 203 <a href="https://www.almamedia.fi/sijoittajat/alma-media-sijoituskohteena/fact-sheet/" 204 target="_self">Fact sheet</a> 205 </li> 206 207 208 209 <li> 210 <a href="https://www.almamedia.fi/sijoittajat/alma-media-sijoituskohteena/liiketoim
210intamalli/" 211 target="_self">Liiketoimintamalli</a> 212 </li> 213 214 215 216 <li> 217 <a href="https://www.almamedia.fi/sijoittajat/alma-media-sijoituskohteena/toimitusjohtajan-katsaus/" 218 target="_self">Toimitusjohtajan katsaus</a> 219 </li> 220 221 222 223 <li> 224 <a href="https://www.almamedia.fi/sijoittajat/alma-media-sijoituskohteena/vastuullinen-sijoitus/" 225 target="_self">Vastuullinen sijoitus</a> 226 </li> 227 228 229 230 <li> 231 <a href="https://www.almamedia.fi/sijoittajat/alma-media-sijoituskohteena/sijoittajayhteydet/" 232 target="_self">Sijoittajayhteydet</a> 233 </li> 234 235 236 237 <li> 238 <a href="https://www.almamedia.fi/sijoittajat/alma-media-sijoituskohteena/toimintamaat/" 239 target="_self">Toimintamaat</a> 240 </li> 241 242 243 244 <li> 245 <a href="https://www.almamedia.fi/sijoittajat/alma-media-sijoituskohteena/ai-almassa/" 246 target="_self">AI Almassa</a> 247 </li> 248 249 250 </ul> 251 </li> 252 <li class="alma-dropdown-submenu alma-trigger"> 253 <a>Osake</a> 254 <ul class="dropdown-menu w-1"> 255 256 <li> 257 <a href="https://www.almamedia.fi/sijoittajat/osakkeet-ja-osakkeenomistajat/osake/" 258 target="_self">Osake</a> 259 </li> 260 261 262 263 <li> 264 <a href="https://www.almamedia.fi/sijoittajat/osakkeet-ja-osakkeenomistajat/osaketyokalut/" 265 target="_self">Osaketyökalut</a> 266 </li> 267 268 269 270 <li> 271 <a href="https://www.almamedia.fi/sijoittajat/osakkeet-ja-osakkeenomistajat/osakkeenomistajat/" 272 target="_self">Osakkeenomistajat</a> 273 </li> 274 275 276 277 <li> 278 <a href="https://www.almamedia.fi/sijoittajat/osakkeet-ja-osakkeenomistajat/sisapiirin-omistukset/" 279 target="_self">Sisäpiirin omistukset</a> 280 </li> 281 282 283 284 <li> 285 <a href="https://www.almamedia.fi/sijoittajat/osakkeet-ja-osakkeenomistajat/omien-osakkeiden-osto/" 286 target="_self">Omat osakkeet</a> 287 </li> 288 289 290 291 <li> 292 <a href="https://www.almamedia.fi/sijoittajat/osakkeet-ja-osakkeenomistajat/liputusilmoitukset/" 293 target="_self">Liputusilmoitukset</a> 294 </li> 295 296 297 298 <li> 299 <a href="https://www.almamedia.fi/sijoittajat/osakkeet-ja-osakkeenomistajat/analyytikot-ja-ennusteet/" 300 target="_self">Analyytikot ja ennusteet</a> 301 </li> 302 303 304 305 <li> 306 <a href="https://www.almamedia.fi/sijoittajat/osakkeet-ja-osakkeenomistajat/johdon-liiketoimet/" 307 target="_self">Johdon liiketoimet</a> 308 </li> 309 310 311 312 <li> 313 <a href="https://www.almamedia.fi/sijoittajat/osakkeet-ja-osakkeenomistajat/valtuutukset" 314 target="_self">Valtuutukset</a> 315 </li> 316 317 318 </ul> 319 </li> 320 <li class="alma-dropdown-submenu alma-trigger"> 321 <a>Taloustieto</a> 322 <ul class="dropdown-menu w-1"> 323 324 <li> 325 <a href="https://www.almamedia.fi/sijoittajat/taloustieto/avainluvut/" 326 target="_self">Avainluvut</a> 327 </li> 328 329 330 331 <li> 332 <a href="https://www.almamedia.fi/sijoittajat/taloustieto/taloudelliset-tavoitteet/" 333 target="_self">Taloudelliset tavoitteet</a> 334 </li> 335 336 337 338 <li> 339 <a href="https://www.almamedia.fi/sijoittajat/taloustieto/herkkyysanalyysi/" 340 target="_self">Herkkyysanalyysi</a> 341 </li> 342 343 344 345 <li> 346 <a href="https://www.almamedia.fi/sijoittajat/taloustieto/tunnuslukujen-laskentakaavat/" 347 target="_self">
347Tunnuslukujen laskentakaavat</a> 348 </li> 349 350 351 352 <li> 353 <a href="https://www.almamedia.fi/sijoittajat/taloustieto/laadintaperiaatteet/" 354 target="_self">Laadintaperiaatteet</a> 355 </li> 356 357 358 359 <li> 360 <a href="https://www.almamedia.fi/sijoittajat/taloustieto/markkinaehtoiset-velat/" 361 target="_self">Markkinaehtoiset velat</a> 362 </li> 363 364 365 </ul> 366 </li> 367 <li class="alma-dropdown-submenu alma-trigger"> 368 <a>Raportit ja esitykset</a> 369 <ul class="dropdown-menu w-1"> 370 371 <li> 372 <a href="https://www.almamedia.fi/sijoittajat/raportit-ja-esitykset/tiedotteet/" 373 target="_self">Tiedotteet</a> 374 </li> 375 376 377 378 <li> 379 <a href="https://www.almamedia.fi/sijoittajat/raportit-ja-esitykset/taloudelliset-raportit-ja-vuosikatsaukset/" 380 target="_self">Taloudelliset raportit ja vuosikatsaukset</a> 381 </li> 382 383 384 385 <li> 386 <a href="https://www.almamedia.fi/sijoittajat/raportit-ja-esitykset/esitykset/" 387 target="_self">Esitykset</a> 388 </li> 389 390 391 392 <li class="alma-dropdown-submenu alma-trigger"> 393 <a>Pääomamarkkinapäivät</a> 394 <ul class="dropdown-menu w-1"> 395 <li class="multicolumn-menu"> 396 <ul> 397 <li> 398 <a href="https://www.almamedia.fi/paaomamarkkinapaiva-2022/" 399 target="_self"> 400 Pääomamarkkinapäivä 2022 401 </a> 402 </li> 403 <li> 404 <a href="https://www.almamedia.fi/paaomamarkkinapaiva-2021/" 405 target="_self"> 406 Pääomamarkkinapäivä 2021 407 </a> 408 </li> 409 </ul> 410 <ul class="list-2"> 411 <li> 412 <a href="https://www.almamedia.fi/cmd2018/" 413 target="_self"> 414 Pääomamarkkinapäivä 2018 415 </a> 416 </li> 417 <li> 418 <a href="https://www.almamedia.fi/2017/paaomamarkkinapaiva-2017/" 419 target="_self"> 420 Pääomamarkkinapäivä 2017 421 </a> 422 </li> 423 </ul> 424 </li> 425 </ul> 426 </li> 427 428 429 430 <li> 431 <a href="https://www.almamedia.fi/sijoittajat/raportit-ja-esitykset/videot/" 432 target="_self">Videot</a> 433 </li> 434 435 436 </ul> 437 </li> 438 <li> 439 <a href="https://www.almamedia.fi/sijoittajat/sijoittajakalenteri/" 440 target="_self">Sijoittajakalenteri</a> 441 </li> 442 <li class="alma-dropdown-submenu alma-trigger"> 443 <a>Yritysostot ja -myynnit</a> 444 <ul class="dropdown-menu w-1"> 445 446 <li> 447 <a href="https://www.almamedia.fi/sijoittajat/yritysostot-ja-myynnit/alman-yritysostot-ja-myynnit/" 448 target="_self">Alman yritysostot ja -myynnit</a> 449 </li> 450 451 452 453 <li> 454 <a href="https://www.almamedia.fi/sijoittajat/yritysostot-ja-myynnit/vaihtotarjous-talentumista/" 455 target="_self">Vaihtotarjous Talentumista</a> 456 </li> 457 458 459 </ul> 460 </li> 461 <li class="alma-dropdown-submenu alma-trigger"> 462 <a>Markkinatietoa</a> 463 <ul class="dropdown-menu w-1"> 464 465 <li> 466 <a href="https://www.almamedia.fi/sijoittajat/markkinatietoa/toimintaymparisto/"
467 target="_self">Toimintaympäristö</a> 468 </li> 469 470 471 472 <li> 473 <a href="https://www.almamedia.fi/sijoittajat/markkinatietoa/nakymat/" 474 target="_self">Näkymät</a> 475 </li> 476 477 478 479 <li> 480 <a href="https://www.almamedia.fi/sijoittajat/markkinatietoa/mediamainonnan-kehitys/" 481 target="_self">Mediamainonnan kehitys</a> 482 </li> 483 484 485 486 <li> 487 <a href="https://www.almamedia.fi/sijoittajat/markkinatietoa/kilpailijat/" 488 target="_self">Kilpailijat</a> 489 </li> 490 491 492 493 <li> 494 <a href="https://www.almamedia.fi/sijoittajat/markkinatietoa/riskit/" 495 target="_self">Riskit</a> 496 </li> 497 498 499 </ul> 500 </li> 501 <li class="alma-dropdown-submenu alma-trigger"> 502 <a>Hallinnointi</a> 503 <ul class="dropdown-menu w-1"> 504 505 <li> 506 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/" 507 target="_self">Hallinnointi</a> 508 </li> 509 510 511 512 <li> 513 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/konsernin-rakenne/" 514 target="_self">Konsernin rakenne</a> 515 </li> 516 517 518 519 <li> 520 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/yhtiokokous/" 521 target="_self">Yhtiökokous</a> 522 </li> 523 524 525 526 <li> 527 <a href="/sijoittajat/hallinnointi/hallitus/" 528 target="_self">Hallitus</a> 529 </li> 530 531 532 533 <li> 534 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/nimitystoimikunta/" 535 target="_self">Nimitystoimikunta</a> 536 </li> 537 538 539 540 <li> 541 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/toimitusjohtaja-ja-muu-johto/" 542 target="_self">Toimitusjohtaja ja muu johto</a> 543 </li> 544 545 546 547 <li> 548 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/palkitseminen/" 549 target="_self">Palkitseminen</a> 550 </li> 551 552 553 554 <li> 555 <a href="/sijoittajat/markkinatietoa/riskit/" 556 target="_self">Riskienhallinta</a> 557 </li> 558 559 560 561 <li> 562 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/sisainen-valvonta-ja-tarkastus/" 563 target="_self">Sisäinen valvonta ja tarkastus</a> 564 </li> 565 566 567 568 <li> 569 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/sisapiirihallinto/" 570 target="_self">Sisäpiirihallinto</a> 571 </li> 572 573 574 575 <li> 576 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/lahipiiriliiketoimet/" 577 target="_self">Lähipiiriliiketoimet</a> 578 </li> 579 580 581 582 <li> 583 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/yhtiojarjestys/" 584 target="_self">Yhtiöjärjestys</a> 585 </li> 586 587 588 589 <li> 590 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/tilintarkastus/" 591 target="_self">Tilintarkastus</a> 592 </li> 593 594 595 596 <li> 597 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/tiedonantopolitiikka/" 598 target="_self">Tiedonantopolitiikka</a> 599 </li> 600 601 602 603 <li> 604 <a href="https://www.almamedia.fi/sijoittajat/hallinnointi/ilmoitukset-mahdollisista-vaarinkaytoksista/" 605 target="_self">Raportoi väärinkäytöksestä</a> 606 </li> 607 608 609 </ul> 610 </li> 611 </ul> 612 </li> 613 <li class="alma-dropdown alma-trigger"> 614 <a class="dropdown-toggle">Vastuullisuus</a> 615 <ul class="dropdown-menu with-submenu"> 616 <li> 617 <a href="https://www.almamedia.fi/vastuullisuus-almassa/" 618 target="_self">Vastuullisuus</a> 619 </li> 620 <li> 621 <a href="https://www.almamedia.fi/vastuullisuus-almassa/hyva-hallintotapa/" 622 target="_self">Hyvä hallintotapa</a> 623 </li> 624 <li> 625 <a href="https://www.almamedia.fi/vastuullisuus-almassa/sosiaalinen-vastuu/" 626 target="_self">Sosiaalinen vastuu</a> 627 </li> 628 <li> 629 <a href="https://www.almamedia.fi/vastuullisuus-almassa/ymparistovastuu/" 630 target="_self">Ympäristövastuu</a> 631 </li> 632 </ul> 633 </li> 634 <li class="alma-dropdown alma-trigger"> 635 <a class="dropdown-toggle">Työpaikat</a> 636 <ul class="dropdown-menu with-submenu"> 637 <li> 638 <a href="https://www.almamedia.fi/tyopaikat/" 639 target="_self">Alma työpaikkana</a> 640 </li> 641 <li> 642 <a href="https://www.almamedia.fi/tyopaikat/avoimet-tyopaikat/" 643 target="_self">Avoimet työpaikat</a> 644 </li> 645 <li> 646 <a href="https://www.almamedia.fi/tyopaikat/opiskelijoille/" 647 target="_self">Opiskelijoille</a> 648 </li> 649 <li> 650 <a href="https://www.almamedia.fi/tyopaikat/tutustu-almalaisiin/" 651 target="_self">Tutustu almalaisiin</a> 652 </li> 653 </ul> 654 </li> 655 <li><a href="/uutishuone/" target="_self">Uutishuone</a></li> 656 <li><a href="https://www.almamedia.fi/yhteystiedot/" target="_self">Yhteystiedot</a></li> 657 <li class="alma-dropdown alma-trigger ui-mobile ui-langauge-selector-mobile"> 658 <a class="dropdown-toggle">Language</a> 659 <ul class="dropdown-menu with-submenu" data-level="2"> 660 661 </ul> 662 </li> 663 </ul> 664 </div>
665 </div> 666 </nav> 667 </div> 668 669 670
670<script type="text/javascript"> 671 // override the default Bootstrap javascript 672 (function ($) { 673 674 $(function () { 675 676 var mobileBreakpoint = 960; 677 678 var sticky = ALMASmartSticky(); 679 var uiNavigation = ALMAuiMainNavigation(); 680 681 $('.ui-navigation .navbar-nav').click(function (e) { 682 e.stopPropagation(); 683 }); 684 685 $('.alma-dropdown').one('click', function (e) { 686 var _el = $(this); 687 setTimeout(function () { 688 _el.find('>.dropdown-menu').attr('data-original-height', _el.find('>.dropdown-menu').innerHeight()); 689 }, 10) 690 }); 691 692 $('.alma-dropdown').click(function (e) { 693 694 e.stopImmediatePropagation(); 695 696 if ($(this).hasClass('active')) { 697 $('body').removeClass('opened-navi'); 698 if (!$('body').hasClass('ui-mobile-navigation') && $(window).width() >= mobileBreakpoint) { 699 $('.ui-navigation').css('top', 'inherit'); 700 } 701 } else { 702 $('body').addClass('opened-navi'); 703 if (!$('body').hasClass('ui-mobile-navigation') && $(window).width() >= mobileBreakpoint) { 704 $('.ui-navigation').css('top', $(window).scrollTop()); 705 } 706 } 707 708 if ($('body').hasClass('ui-mobile-navigation')) { 709 $(this).addClass('active'); 710 } else { 711 $(this).toggleClass('active'); 712 } 713 714 $('.navbar-nav').toggleClass('light'); 715 $(this).siblings().removeClass('active'); 716 717 }); 718 719 }); 720 721 })(jQuery); 722 </script>
722 723 724 <div class="ui-langauge-selector"> 725 <div class="trigger">fi</div> 726 <div class="dropdown"> 727 <div> 728 <a href="https://www.almamedia.fi/en/" hreflang="en" lang="en" class=""> 729 <span class="ui-desktop">en</span> 730 <span class="ui-mobile">English</span> 731 </a> 732 </div> 733 <div class="selected"> 734 <a href="https://www.almamedia.fi/" hreflang="fi" lang="fi" class="1"> 735 <span class="ui-desktop">fi</span> 736 <span class="ui-mobile">Suomi</span> 737 </a> 738 </div> 739 740 </div> 741 </div> 742 743 744 <div class="ui-search"> 745 <div class="form-inline"> 746 <form action="/?s"> 747 <div class="form-group"> 748 <input type="search" name="s" title="Search input" placeholder="Hae" 749 class="form-control ui-autocomplete-input" value="" autocomplete="off"> 750 </div> 751 <button type="submit" class="btn btn-primary">Hae</button> 752 </form> 753 </div> 754 </div> 755 </div> 756</div> 757 758 759 760 <div id="main"> 761 762 <div class=" ui-bgr-concrete"> 763 764 <div class="ui-stage-container"> 765 766 767 768 769 770 771 772 <div 773 class="hero ui-tile ui-tile-marquee ui-video-marquee v2 text-center vertical-middle"> 774 <div class="tile-body">
775 <div class="ui-thumbnail" 776 style="background-image: url(''); overflow: hidden; background-size: cover; background-repeat: no-repeat; background-position: 50% 50%; position: relative; z-index: 1;"> 777 <div class="vidbg-container" 778 style="position: absolute; z-index: -1; inset: 0; overflow: hidden; background-size: cover; background-repeat: no-repeat; background-position: 50% 50%; background-image: none;"> 779 <video id="video-333490832" autoplay="" loop="" muted="" 780 style="margin: auto; position: absolute; z-index: -1; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: none; visibility: visible; opacity: 1; width: auto; height: 992px;"> 781 <source src="https://www.almamedia.fi/wp-content/uploads/2025/07/what_is_alma_15s_nettisivuille_v1-1080p.mp4" 782 type="video/mp4"> 783 </video> 784 <div 785 class="video-controls video-controls-333490832"> 786 <button class="video-controls--play-pause invisible" 787 aria-label="Toggle Video: Play/Pause" aria-pressed="true"> 788 <span class="play"> 789 <svg 790 xmlns="http://www.w3.org/2000/svg" height="16" width="12" viewbox="0 0 384 512"> 791 <!--!Font Awesome Pro 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.--> 792 <path d="M384 256L0 32V480L384 256z"/> 793 </svg> 794 </span> 795 <span class="pause"> 796 <svg xmlns="http://www.w3.org/2000/svg" height="16" width="10" 797 viewbox="0 0 320 512"><!--!Font Awesome Pro 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.--><path 798 d="M128 64H0V448H128V64zm192 0H192V448H320V64z"/></svg> 799 </span> 800 </button> 801 </div> 802 </div> 803 </div> 804 805 <div class="tile-content headline-content text-center"> 806 <div class="container"> 807 <div class="ui-transparent component-transparent" 808 data-display-text="Rohkeus kasvaa yhdessä"> 809 <svg xmlns="http://www.w3.org/2000/svg" width="455.45703125px" height="72px" 810 viewbox="0 0 455.45703125 72"> 811 <rect x="0" y="0" width="100%" height="100%" fill="#fff" 812 mask="url(#txtSubMask)"></rect> 813 <mask id="txtSubMask"> 814 <rect x="0" y="0" width="100%" height="100%" fill="#fff"></rect> 815 <text x="227.728515625" y="52" font-size="42" text-anchor="middle" fill="#000" 816 font-family="HankenGrotesk-Bold">Rohkeus kasvaa yhdessä</text> 817 </mask> 818 </svg> 819 </div> 820 <div class="intro-button"> 821 <a href="https://www.almamedia.fi/tietoa-meista/" 822 class="ui-button full">Tutustu Almaan</a> 823 </div> 824 </div> 825 </div> 826 827 </div> 828 </div> 829
829<script> 830 // Vars 831 const heroVideoElement = document.querySelector('#video-333490832'); 832 const heroVideoControls = document.querySelector('.video-controls-333490832'); 833 const playPauseButton = document.querySelector('.video-controls-333490832 .video-controls--play-pause'); 834 const controlPaddingBottom = parseInt(window.getComputedStyle(heroVideoControls, null).getPropertyValue('bottom')); 835 let targetRect = heroVideoElement.getBoundingClientRect(); 836 837 // Initial settings 838 playPauseButton.classList.add('playing'); 839 840 // If there is a need for the fixed button at start 841 if (window.innerHeight > (targetRect.bottom + targetRect.y)) { 842 heroVideoControls.classList.add('fixed'); 843 } 844 845 // Click event action 846 playPauseButton.addEventListener('click', () => { // When clicked, toggle "playing" class 847 playPauseButton.classList.toggle('playing'); 848 toggleButtonState(playPauseButton); 849 // Play / Pause depending on the "playing" state 850 if (playPauseButton.classList.contains('playing')) { 851 heroVideoElement.play(); 852 } else { 853 heroVideoElement.pause(); 854 } 855 }); 856 857 function toggleButtonState(button) { 858 let isAriaPressed = button.getAttribute('aria-pressed') === 'true'; 859 button.setAttribute('aria-pressed', isAriaPressed ? 'false' : 'true'); 860 } 861 862 // Video ended action 863 heroVideoElement.addEventListener('ended', () => { 864 playPauseButton.classList.remove('playing'); 865 }); 866 867 // Scroll action for the controls 868 // Basically stick to the bottom of the window, until the hero container end is in view. 869 // Then anchor it to the bottom of the hero element. Styles are in _hero.scss. 870 window.addEventListener('scroll', event => { // Update the bounding rect for calc 871 targetRect = heroVideoElement.getBoundingClientRect(); 872 873 if ((window.scrollY + window.innerHeight) < (targetRect.bottom + targetRect.y) + controlPaddingBottom) { 874 heroVideoControls.classList.add('fixed'); 875 } else { 876 heroVideoControls.classList.remove('fixed'); 877 } 878 879 if (window.innerHeight + playPauseButton.clientHeight < (targetRect.bottom + targetRect.y)) { 880 heroVideoControls.classList.add('fixed'); 881 } 882 }); 883 // Check if the hero area is smaller than the window height (e.g. On mobile) 884 // Load 885 window.addEventListener('load', event => { 886 window.dispatchEvent(new Event('scroll')); 887 const btnAnimationTm = window.setTimeout(function () { 888 playPauseButton.classList.remove('invisible'); 889 window.clearTimeout(btnAnimationTm); 890 }, 500); 891 }) 892 893 // Resize 894 window.addEventListener('resize', event => { 895 //console.log('resized') 896 window.dispatchEvent(new Event('scroll')); 897 }); 898 899 900 </script>
900 901 902 903 904 </div> 905 906 907 908 909 <div class="ui-featured-content featured-right h-1"> 910 <div class="featured-inner"> 911 <div class="content-holder image-holder h-1"> 912 913 <picture class="ui-thumbnail"> 914 <!--[if IE 9]> 915 <video style="display: none;"><![endif]--> 916 <source srcset="" media="(min-width: 1200px)"> 917 <source srcset="https://www.almamedia.fi/wp-content/uploads/2026/03/2025_AlmaMedia_brandimage-42-e1773922598181-1024x401.jpg" media="(min-width: 769px)"> 918 <!--[if IE 9]></video><![endif]--> 919 <img srcset="https://www.almamedia.fi/wp-content/uploads/2026/03/2025_AlmaMedia_brandimage-42-e1773922598181-1024x401.jpg" alt=""> 920 </picture> 921 </div> 922 <a target="_blank" rel="noopener noreferrer" href="https://www.almamedia.fi/sijoittajat/hallinnointi/yhtiokokous/2026/" class="featured-inner--link"> 923 <div class="content-holder content-text-holder"> 924 <div class="dark-theme ui-bgr-zorba text-holder"> 925 <div class="content "> 926 <div class="tile-heading"> 927 <h3 class="h1 secondary-heading bold">Alma Median yhtiökokous 9.4.2026</h3> 928 </div> 929 <div style="text-align:center;"> 930 <span class="ui-all-link fr"> Yhtiökokouksen materiaalit ja tärkeät päivämäärät</span> 931 </div> 932 </div> 933 </div> 934 </div> 935 </a> 936 937 </div> 938 </div> 939 940 941 942 943 944 <div class="ui-featured-content featured-left h-1"> 945 <div class="featured-inner"> 946 <div class="content-holder image-holder h-1"> 947
948 <picture class="ui-thumbnail"> 949 <!--[if IE 9]> 950 <video style="display: none;"><![endif]--> 951 <source srcset="" media="(min-width: 1200px)"> 952 <source srcset="https://www.almamedia.fi/wp-content/uploads/2025/06/5-_V8A2300-Enhanced-NR-BalticPictures.lv_-1024x576.jpg" media="(min-width: 769px)"> 953 <!--[if IE 9]></video><![endif]--> 954 <img srcset="https://www.almamedia.fi/wp-content/uploads/2025/06/5-_V8A2300-Enhanced-NR-BalticPictures.lv_-1024x576.jpg" alt=""> 955 </picture> 956 </div> 957 <a target="_blank" rel="noopener noreferrer" href="https://www.almamedia.fi/vastuullisuus-almassa/" class="featured-inner--link"> 958 <div class="content-holder content-text-holder"> 959 <div class="dark-theme ui-bgr-zorba text-holder"> 960 <div class="content "> 961 <div class="tile-heading"> 962 <h3 class="h1 secondary-heading bold">Kestävää kasvua</h3> 963 </div> 964 <div style="text-align:center;"> 965 <span class="ui-all-link fr"> Lue vastuullisuustyöstämme</span> 966 </div> 967 </div> 968 </div> 969 </div> 970 </a> 971 972 </div> 973 </div> 974 975 976 977 978 979 <div class="ui-featured-content featured-left"> 980 <div class="featured-inner"> 981 <div class="content-holder image-holder"> 982
983 <picture class="ui-thumbnail"> 984 <!--[if IE 9]> 985 <video style="display: none;"><![endif]--> 986 <source srcset="" media="(min-width: 1200px)"> 987 <source srcset="https://www.almamedia.fi/wp-content/uploads/2025/06/Alma_Media_24_1680-1024x576.jpg" media="(min-width: 769px)"> 988 <!--[if IE 9]></video><![endif]--> 989 <img srcset="https://www.almamedia.fi/wp-content/uploads/2025/06/Alma_Media_24_1680-1024x576.jpg" alt=""> 990 </picture> 991 </div> 992 <a target="" href="https://www.almamedia.fi/mainostajat/alma-mainostajalle" class="featured-inner--link"> 993 <div class="content-holder content-text-holder"> 994 <div class="dark-theme ui-bgr-zorba text-holder"> 995 <div class="content "> 996 <div class="tile-heading"> 997 <h3 class="h1 secondary-heading bold">Vaikuttavat ratkaisut mainostajalle</h3> 998 </div> 999 <div class="visible-lg tile-content"> 1000 <p>Mainosta Alman medioissa ja tavoita suomalaiset tehokkaasti</p> 1001<ul> 1002<li>Alman mediat tavoittavat 3,2 miljoonaa suomalaisista viikoittain</li> 1003<li>Laadukkaat mediaympäristöt ja monipuoliset kohdennusmahdollisuudet</li> 1004</ul> 1005<p style="text-align: left;">(Lähde: Kantar Mind Kuluttaja H1/2025)</p> 1006 1007 </div> 1008 <div style="text-align:center;"> 1009 <span class="ui-all-link fr"> Alma mainostajalle</span> 1010 </div> 1011 </div> 1012 </div> 1013 </div> 1014 </a> 1015 1016 </div> 1017 </div> 1018 1019 1020 1021 1022 1023 <div class="ui-featured-content featured-right h-1"> 1024 <div class="featured-inner"> 1025 <div class="content-holder image-holder h-1"> 1026
1027 <picture class="ui-thumbnail"> 1028 <!--[if IE 9]> 1029 <video style="display: none;"><![endif]--> 1030 <source srcset="" media="(min-width: 1200px)"> 1031 <source srcset="https://www.almamedia.fi/wp-content/uploads/2025/06/Alma_Media_2025_6-1024x450.jpg" media="(min-width: 769px)"> 1032 <!--[if IE 9]></video><![endif]--> 1033 <img srcset="https://www.almamedia.fi/wp-content/uploads/2025/06/Alma_Media_2025_6-1024x450.jpg" alt=""> 1034 </picture> 1035 </div> 1036 <a target="" href="https://www.almamedia.fi/rekrytointi/" class="featured-inner--link"> 1037 <div class="content-holder content-text-holder"> 1038 <div class="dark-theme ui-bgr-zorba text-holder"> 1039 <div class="content "> 1040 <div class="tile-heading"> 1041 <h3 class="h1 secondary-heading bold">Parempi työelämä kaikille</h3> 1042 </div> 1043 <div style="text-align:center;"> 1044 <span class="ui-all-link fr"> Alma Career</span> 1045 </div> 1046 </div> 1047 </div> 1048 </div> 1049 </a> 1050 1051 </div> 1052 </div> 1053 1054 1055 1056 1057 1058 <div class="ui-featured-content featured-left h-1"> 1059 <div class="featured-inner"> 1060 <div class="content-holder image-holder h-1"> 1061
1062 <picture class="ui-thumbnail"> 1063 <!--[if IE 9]> 1064 <video style="display: none;"><![endif]--> 1065 <source srcset="" media="(min-width: 1200px)"> 1066 <source srcset="https://www.almamedia.fi/wp-content/uploads/2025/06/Alma_Media_2024_home_3-1024x576.jpg" media="(min-width: 769px)"> 1067 <!--[if IE 9]></video><![endif]--> 1068 <img srcset="https://www.almamedia.fi/wp-content/uploads/2025/06/Alma_Media_2024_home_3-1024x576.jpg" alt=""> 1069 </picture> 1070 </div> 1071 <a target="_blank" rel="noopener noreferrer" href="https://www.almarealestate.fi/" class="featured-inner--link"> 1072 <div class="content-holder content-text-holder"> 1073 <div class="dark-theme ui-bgr-zorba text-holder"> 1074 <div class="content "> 1075 <div class="tile-heading"> 1076 <h3 class="h1 secondary-heading bold">Kumppani kiinteistöalalle</h3> 1077 </div> 1078 <div style="text-align:center;"> 1079 <span class="ui-all-link fr"> Alma Real Estate</span> 1080 </div> 1081 </div> 1082 </div> 1083 </div> 1084 </a> 1085 1086 </div> 1087 </div> 1088 1089 1090 1091 1092 1093 <div class="ui-featured-content featured-right h-1"> 1094 <div class="featured-inner"> 1095 <div class="content-holder image-holder h-1"> 1096
1097 <picture class="ui-thumbnail"> 1098 <!--[if IE 9]> 1099 <video style="display: none;"><![endif]--> 1100 <source srcset="" media="(min-width: 1200px)"> 1101 <source srcset="https://www.almamedia.fi/wp-content/uploads/2025/06/Alma_Media_2024_car_2-1024x576.jpg" media="(min-width: 769px)"> 1102 <!--[if IE 9]></video><![endif]--> 1103 <img srcset="https://www.almamedia.fi/wp-content/uploads/2025/06/Alma_Media_2024_car_2-1024x576.jpg" alt=""> 1104 </picture> 1105 </div> 1106 <a target="_blank" rel="noopener noreferrer" href="https://www.almamobility.fi/" class="featured-inner--link"> 1107 <div class="content-holder content-text-holder"> 1108 <div class="dark-theme ui-bgr-zorba text-holder"> 1109 <div class="content "> 1110 <div class="tile-heading"> 1111 <h3 class="h1 secondary-heading bold">Ratkaisut autokaupalle</h3> 1112 </div> 1113 <div style="text-align:center;"> 1114 <span class="ui-all-link fr"> Alma Mobility</span> 1115 </div> 1116 </div> 1117 </div> 1118 </div> 1119 </a> 1120 1121 </div> 1122 </div> 1123 1124 1125 1126 1127<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex"> 1128<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> 1129 <div class="gutenberg-block open-positions ui-open-positions dark-theme ui-bgr-alma"> 1130 <div class="positions-header"> 1131 <h3 class="jumbo">7</h3> 1132 <h6>Avointa työpaikkaa</h6> 1133 </div> 1134 <div class="ui-link-list"> 1135 <p><a href="https://www.almamedia.fi/job/lead-designer-alma-mobility-marketplaces/">Lead Designer â Alma Mobility Marketplaces</a></p> 1136 <p><a href="https://www.almamedia.fi/job/data-product-owner-alma-real-estate/">Data Product owner – Alma Real Estate</a></p> 1137 <p><a href="https://www.almamedia.fi/job/full-stack-data-scientist-dante-tiimiin-data-analytiikka-tekoaly/">Full Stack Data Scientist DAnTe-tiimiin (data, analytiikka & tekoäly)</a></p> 1138 <p><a href="https://www.almamedia.fi/job/performance-rewards-manager/">Performance & Rewards Manager</a></p> 1139 <p><a href="https://www.almamedia.fi/job/senior-ai-solutions-engineer/">Senior AI Solutions Engineer</a></p> 1140 </div> 1141 <a href="https://www.almamedia.fi/tyopaikat/avoimet-tyopaikat/" class="ui-all-link fr">Kaikki avoimet työpaikat</a> </div> 1142 1143</div> 1144 1145 1146 1147<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> 1148 1149 <div class="gutenberg-block featured-news ui-tile single-news-list-container"> 1150 <div class="tile-body"> 1151 <ul class="list-unstyled"> 1152 <li class="tile-content"> 1153 <div class="tile-body"> 1154 <div class="tile-text" style="max-height: 500px"> 1155 <h1 class="secondary-heading" 1156 style="max-height: 500px;display: block; overflow-wrap: break-word;"> 1157 1158 <a href="https://www.almamedia.fi/blog/2026/09/21/oikea-tieto-oikeaan-aikaan-tata-alma-insights-tuo-asiakkailleen/" 1159 style="display: inline-block;">Oikea tieto oikeaan aikaan: tätä Alma Insights tuo asiakkailleen</a> 1160 1161 </h1> 1162 </div> 1163 </div> 1164 </li> 1165 </ul> 1166 <a class="ui-all-link fr" 1167 href="https://www.almamedia.fi/blog/2026/09/21/oikea-tieto-oikeaan-aikaan-tata-alma-insights-tuo-asiakkailleen/">Lue uutinen</a> </div> 1168 </div> 1169 1170</div> 1171 1172 1173 1174<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow"> 1175 1176 <div id="latest-news-block" 1177 class="gutenberg-block latest-news news-list-container news-list-container-alt-2 ui-latest-news ui-bgr-storm-dust dark-theme"> 1178 <div class="col-md-12 col-xs-12"> 1179 <h3 class="h1 secondary-heading bold">Uusimmat tiedotteet</h3> 1180 </div> 1181 1182 1183 <div class="col-md-12 col-xs-12"> 1184 <ul class="list-unstyled"> 1185 1186 1187 1188 <li> 1189 <time>syyskuu 21, 2026</time> 1190 <h5> 1191 <a data-disclaimer="False" 1192 href="https://www.almamedia.fi/blog/2026/09/21/alma-media-oyj-omien-osakkeiden-hankinta-viikolla-38-2026/"> 1193 Alma Media Oyj: Omien osakkeiden hankinta viikolla 38, 2026 1194 </a> 1195 </h5> 1196 </li> 1197 1198 1199 1200 <li> 1201 <time>syyskuu 14, 2026</time> 1202 <h5> 1203 <a data-disclaimer="False" 1204 href="https://www.almamedia.fi/blog/2026/09/14/alma-media-oyj-omien-osakkeiden-hankinta-viikolla-37-2026/"> 1205 Alma Media Oyj: Omien osakkeiden hankinta viikolla 37, 2026 1206 </a> 1207 </h5> 1208 </li> 1209 1210 1211 1212 <li> 1213 <time>syyskuu 7, 2026</time> 1214 <h5> 1215 <a data-disclaimer="False" 1216 href="https://www.almamedia.fi/blog/2026/09/07/alma-media-oyj-omien-osakkeiden-hankinta-viikolla-36-2026/"> 1217 Alma Media Oyj: Omien osakkeiden hankinta viikolla 36, 2026 1218 </a> 1219 </h5> 1220 </li> 1221 1222 1223 1224 <li> 1225 <time>elokuu 31, 2026</time> 1226 <h5> 1227 <a data-disclaimer="False" 1228 href="https://www.almamedia.fi/blog/2026/08/31/alma-media-oyj-omien-osakkeiden-hankinta-viikolla-35-2026/"> 1229 Alma Media Oyj: Omien osakkeiden hankinta viikolla 35, 2026 1230 </a> 1231 </h5> 1232 </li> 1233 </ul> 1234 <a href="https://www.almamedia.fi/uutishuone/" class="ui-all-link fr">Kaikki tiedotteet</a> 1235 </div> 1236 </div> 1237 1238 1239
1239<script> 1240 1241 1242 window.addEventListener('load', function (event) { 1243 var cointainerId = 'latest-news-block'; 1244 var itemsSelector = '.ui-latest-news li h5 a'; 1245 1246 var container = document.getElementById(cointainerId); 1247 var items = Array.from(container.querySelectorAll(itemsSelector)); 1248 1249 var heights = []; 1250 1251 for (var i = 0; i < items.length; i++) { 1252 var height = items[i].offsetHeight; 1253 heights.push(height); 1254 } 1255 1256 if (heights.length) { 1257 shave(itemsSelector, Math.min.apply(Math, heights)); 1258 } 1259 }); 1260 </script>
1260 1261 1262</div> 1263</div> 1264 1265 1266 1267<p class="wp-block-paragraph"></p> 1268 1269 1270 1271 </div> 1272 1273 1274<footer id="footer" class="ui-footer v2 dark-theme"> 1275 <div class="ui-footer-section"> 1276 <div class="compact-row row"> 1277 <div id="TopFooterContent_T131C6E55001_Col00" class="col-xs-8 col-sm-10"> 1278 <div> 1279 <ul class="nav nav-pills-footer"> 1280 <li class="dropdown"> 1281 <a href="https://www.almamedia.fi/tietoa-meista/" target="_self">Tietoa meistä</a> 1282 </li> 1283 <li class="dropdown"> 1284 <a href="https://www.almamedia.fi/mainostajat/" target="_self">Mainostajat</a> 1285 </li> 1286 <li class="dropdown"> 1287 <a href="https://www.almamedia.fi/palvelut/" target="_self">Palvelut</a> 1288 </li> 1289 <li class="dropdown"> 1290 <a href="https://www.almamedia.fi/sijoittajat/" target="_self">Sijoittajat</a> 1291 </li> 1292 <li class="dropdown"> 1293 <a href="https://www.almamedia.fi/vastuullisuus-almassa/" target="_self">Vastuullisuus</a> 1294 </li> 1295 <li class="dropdown"> 1296 <a href="https://www.almamedia.fi/tyopaikat/" target="_self">Työpaikat</a> 1297 </li> 1298 <li class="dropdown"> 1299 <a href="https://www.almamedia.fi/uutishuone/" target="_self">Uutishuone</a> 1300 </li> 1301 <li class="dropdown"> 1302 <a href="https://www.almamedia.fi/yhteystiedot/" target="_self">Yhteystiedot</a> 1303 </li> 1304 </ul> 1305 </div> 1306 </div> 1307 <div id="TopFooterContent_T131C6E55001_Col01" class="sf_colsIn col-xs-4 col-sm-2 logo"><img 1308 class="image-widget" src="https://www.almamedia.fi/wp-content/themes/almamedia/dist/images/alma-logo-white.png" title="Alma Logo" alt="Alma Logo"> 1309 </div> 1310 </div> 1311 </div> 1312 1313 <div class="ui-footer-section social-section"> 1314 <div> 1315 <div> 1316 <ul> 1317 <li><a href="https://www.facebook.com/almamedia/" target="_blank" rel="noopener noreferrer"><img 1318 alt="Facebook" data-displaymode="Original" src="https://www.almamedia.fi/wp-content/themes/almamedia/dist/images/icon-facebook.png" 1319 title="Facebook"></a></li> 1320 <li><a href="https://twitter.com/almamedia_fi" target="_blank" rel="noopener noreferrer"><img 1321 alt="Twitter" data-displaymode="Original" src="https://www.almamedia.fi/wp-content/themes/almamedia/dist/images/icon-twitter-x.png" 1322 title="Twitter"></a></li> 1323 <li><a href="https://www.linkedin.com/company/alma-media-corporation" target="_blank" 1324 rel="noopener noreferrer"><img alt="LinkedIn" data-displaymode="Original" 1325 src="https://www.almamedia.fi/wp-content/themes/almamedia/dist/images/icon-linkedin.png" 1326 title="LinkedIn"></a></li> 1327 <li><a href="https://www.instagram.com/almamedia_fi/" target="_blank" rel="noopener noreferrer"><img 1328 alt="Instagram" data-displaymode="Original" src="https://www.almamedia.fi/wp-content/themes/almamedia/dist/images/icon-instagram.png" 1329 title="Instagram"></a></li> 1330 </ul> 1331 </div> 1332 </div> 1333 <div> 1334 <div> 1335 <ul> 1336 <li><a href="https://www.almamedia.fi/sivukartta/" target="_self">Sivukartta</a></li> 1337 <li><a href="https://www.almamedia.fi/tietosuoja/" target="_self">Tietosuoja</a></li> 1338 <li><a href="https://www.almamedia.fi/ehdot/" target="_self">Käyttöehdot</a></li> 1339 </ul> 1340 </div> 1341 </div> 1342 </div> 1343 1344 </footer> 1345 1346 1347<div class="content-router-footer ui-footer-section"> 1348 <!-- ALMA CR WIDGET: --><!--[if gte IE 9]><!--> 1349 <div class="ALMACR-container" id="ALMACR-container-ALMACR-widget-5577db28b922930e04000019" 1350 data-almacr-widget-template-version="0.0.1" data-almacr-widget-id="5577db28b922930e04000019" 1351 data-almacr-widget-publisher-id="5577db0eb922930e0800001d"> 1352 <!-- ALMA CR WIDGET: --> 1353<div 1354 class="ALMACR-container" 1355 id="ALMACR-container-ALMACR-widget-5577db28b922930e04000019" 1356 data-almacr-widget-template-version="2.0.0" 1357 data-almacr-widget-id="5577db28b922930e04000019" 1358 data-almacr-widget-publisher-id="5577db0eb922930e0800001d" 1359> 1360 <article lang="fi" class="ALMACR-widget" id="ALMACR-widget-5577db28b922930e04000019"> 1361 <almamedia-footer></almamedia-footer> 1362
vendor: 1,267 bytes, lines 1362-1366
1362<script> 1363 (function footerIIFE() { 1364 try { 1365 /*! @almamedia/footer 2 */ 1366var pn=Object.defineProperty,hn=Object.defineProperties;var _n=Object.getOwnPropertyDescriptors;var ft=Object.getOwnPropertySymbols;var Ee=Object.prototype.hasOwnProperty,Me=Object.prototype.propertyIsEnumerable;var Ae=(N,P,y)=>P in N?pn(N,P,{enumerable:!0,configurable:!0,writable:!0,value:y}):N[P]=y,R=(N,P)=>{for(var y in P||(P={}))Ee.call(P,y)&&Ae(N,y,P[y]);if(ft)for(var y of ft(P))Me.call(P,y)&&Ae(N,y,P[y]);return N},O=(N,P)=>hn(N,_n(P));var Te=(N,P)=>{var y={};for(var L in N)Ee.call(N,L)&&P.indexOf(L)<0&&(y[L]=N[L]);if(N!=null&&ft)for(var L of ft(N))P.indexOf(L)<0&&Me.call(N,L)&&(y[L]=N[L]);return y};var __almamediaFooter=(function(N){"use strict";var P,y,L,V,Kt,Lt,Ht,mt,tt,G,$t,dt,vt,kt,Dt,et={},it=[],Ce=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,nt=Array.isArray;function H(e,t){for(var i in t)e[i]=t[i];return e}function wt(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function q(e,t,i){var n,r,a,o={};for(a in t)a=="key"?n=t[a]:a=="ref"?r=t[a]:o[a]=t[a];if(arguments.length>2&&(o.children=arguments.length>3?P.call(arguments,2):i),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)o[a]===void 0&&(o[a]=e.defaultProps[a]
vendor: 12,364 bytes, line 1366
1366);return J(e,o,n,r,null)}function J(e,t,i,n,r){var a={type:e,props:t,key:i,ref:n,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:r==null?++L:r,__i:-1,__u:0};return r==null&&y.vnode!=null&&y.vnode(a),a}function $(e){return e.children}function at(e,t){this.props=e,this.context=t}function X(e,t){if(t==null)return e.__?X(e.__,e.__i+1):null;for(var i;t<e.__k.length;t++)if((i=e.__k[t])!=null&&i.__e!=null)return i.__e;return typeof e.type=="function"?X(e):null}function Ne(e){if(e.__P&&e.__d){var t=e.__v,i=t.__e,n=[],r=[],a=H({},t);a.__v=t.__v+1,y.vnode&&y.vnode(a),gt(e.__P,a,t,e.__n,e.__P.namespaceURI,32&t.__u?[i]:null,n,i==null?X(t):i,!!(32&t.__u),r),a.__v=t.__v,a.__.__k[a.__i]=a,Wt(n,a,r),t.__e=t.__=null,a.__e!=i&&It(a)}}function It(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),It(e)}function yt(e){(!e.__d&&(e.__d=!0)&&V.push(e)&&!rt.__r++||Kt!=y.debounceRendering)&&((Kt=y.debounceRendering)||Lt)(rt)}function rt(){try{for(var e,t=1;V.length;)V.length>t&&V.sort(Ht),e=V.shift(),t=V.length,Ne(e)}finally{V.length=rt.__r=0}}function Ot(e,t,i,n,r,a,o,l,h,p,v){var u,g,w,M,z,T,A,j=n&&n.__k||it,D=t.length;for(h=Pe(i,t,j,h,D),u=0;u<D;u++)(w=i.__k[u])!=null&&(g=w.__i!=-1&&j[w.__i]||et,w.__i=u,T=gt(e,w,g,r,a,o,l,h,p,v),M=w.__e,w.ref&&g.ref!=w.ref&&(g.ref&&xt(g.ref,null,w),v.push(w.ref,w.__c||M,w)),z==null&&M!=null&&(z=M),(A=!!(4&w.__u))||g.__k===w.__k?(h=Bt(w,h,e,A),A&&g.__e&&(g.__e=null)):typeof w.type=="function"&&T!==void 0?h=T:M&&(h=M.nextSibling),w.__u&=-7);return i.__e=z,h}function Pe(e,t,i,n,r){var a,o,l,h,p,v=i.length,u=v,g=0;for(e.__k=new Array(r),a=0;a<r;a++)(o=t[a])!=null&&typeof o!="boolean"&&typeof o!="function"?(typeof o=="string"||typeof o=="number"||typeof o=="bigint"||o.constructor==String?o=e.__k[a]=J(null,o,null,null,null):nt(o)?o=e.__k[a]=J($,{children:o},null,null,null):o.constructor===void 0&&o.__b>0?o=e.__k[a]=J(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):e.__k[a]=o,h=a+g,o.__=e,o.__b=e.__b+1,l=null,(p=o.__i=Ue(o,i,h,u))!=-1&&(u--,(l=i[p])&&(l.__u|=2)),l==null||l.__v==null?(p==-1&&(r>v?g--:r<v&&g++),typeof o.type!="function"&&(o.__u|=4)):p!=h&&(p==h-1?g--:p==h+1?g++:(p>h?g--:g++,o.__u|=4))):e.__k[a]=null;if(u)for(a=0;a<v;a++)(l=i[a])!=null&&(2&l.__u)==0&&(l.__e==n&&(n=X(l)),Xt(l,l));return n}function Bt(e,t,i,n){var r,a;if(typeof e.type=="function"){for(r=e.__k,a=0;r&&a<r.length;a++)r[a]&&(r[a].__=e,t=Bt(r[a],t,i,n));return t}e.__e!=t&&(n&&(t&&e.type&&!t.parentNode&&(t=X(e)),i.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function Ue(e,t,i,n){var r,a,o,l=e.key,h=e.type,p=t[i],v=p!=null&&(2&p.__u)==0;if(p===null&&l==null||v&&l==p.key&&h==p.type)return i;if(n>(v?1:0)){for(r=i-1,a=i+1;r>=0||a<t.length;)if((p=t[o=r>=0?r--:a++])!=null&&(2&p.__u)==0&&l==p.key&&h==p.type)return o}return-1}function Vt(e,t,i){t[0]=="-"?e.setProperty(t,i==null?"":i):e[t]=i==null?"":typeof i!="number"||Ce.test(t)?i:i+"px"}function ot(e,t,i,n,r){var a,o;t:if(t=="style")if(typeof i=="string")e.style.cssText=i;else{if(typeof n=="string"&&(e.style.cssText=n=""),n)for(t in n)i&&t in i||Vt(e.style,t,"");if(i)for(t in i)n&&i[t]==n[t]||Vt(e.style,t,i[t])}else if(t[0]=="o"&&t[1]=="n")a=t!=(t=t.replace($t,"$1")),o=t.toLowerCase(),t=o in e||t=="onFocusOut"||t=="onFocusIn"?o.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=i,i?n?i[G]=n[G]:(i[G]=dt,e.addEventListener(t,a?kt:vt,a)):e.removeEventListener(t,a?kt:vt,a);else{if(r=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=i==null?"":i;break t}catch(l){}typeof i=="function"||(i==null||i===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&i==1?"":i))}}function Ft(e){return function(t){if(this.l){var i=this.l[t.type+e];if(t[tt]==null)t[tt]=dt++;else if(t[tt]<i[G])return;return i(y.event?y.event(t):t)}}}function gt(e,t,i,n,r,a,o,l,h,p){var v,u,g,w,M,z,T,A,j,D,I,s,k,c,x,S=t.type;if(t.constructor!==void 0)return null;128&i.__u&&(h=!!(32&i.__u),a=[l=t.__e=i.__e]),(v=y.__b)&&v(t);t:if(typeof S=="function")try{if(A=t.props,j=S.prototype&&S.prototype.render,D=(v=S.contextType)&&n[v.__c],I=v?D?D.props.value:v.__:n,i.__c?T=(u=t.__c=i.__c).__=u.__E:(j?t.__c=u=new S(A,I):(t.__c=u=new at(A,I),u.constructor=S,u.render=Re),D&&D.sub(u),u.state||(u.state={}),u.__n=n,g=u.__d=!0,u.__h=[],u._sb=[]),j&&u.__s==null&&(u.__s=u.state),j&&S.getDerivedStateFromProps!=null&&(u.__s==u.state&&(u.__s=H({},u.__s)),H(u.__s,S.getDerivedStateFromProps(A,u.__s))),w=u.props,M=u.state,u.__v=t,g)j&&S.getDerivedStateFromProps==null&&u.componentWillMount!=null&&u.componentWillMount(),j&&u.componentDidMount!=null&&u.__h.push(u.componentDidMount);else{if(j&&S.getDerivedStateFromProps==null&&A!==w&&u.componentWillReceiveProps!=null&&u.componentWillReceiveProps(A,I),t.__v==i.__v||!u.__e&&u.shouldComponentUpdate!=null&&u.shouldComponentUpdate(A,u.__s,I)===!1){t.__v!=i.__v&&(u.props=A,u.state=u.__s,u.__d=!1),t.__e=i.__e,t.__k=i.__k,t.__k.some(function(C){C&&(C.__=t)}),it.push.apply(u.__h,u._sb),u._sb=[],u.__h.length&&o.push(u);break t}u.componentWillUpdate!=null&&u.componentWillUpdate(A,u.__s,I),j&&u.componentDidUpdate!=null&&u.__h.push(function(){u.componentDidUpdate(w,M,z)})}if(u.context=I,u.props=A,u.__P=e,u.__e=!1,s=y.__r,k=0,j)u.state=u.__s,u.__d=!1,s&&s(t),v=u.render(u.props,u.state,u.context),it.push.apply(u.__h,u._sb),u._sb=[];else do u.__d=!1,s&&s(t),v=u.render(u.props,u.state,u.context),u.state=u.__s;while(u.__d&&++k<25);u.state=u.__s,u.getChildContext!=null&&(n=H(H({},n),u.getChildContext())),j&&!g&&u.getSnapshotBeforeUpdate!=null&&(z=u.getSnapshotBeforeUpdate(w,M)),c=v!=null&&v.type===$&&v.key==null?qt(v.props.children):v,l=Ot(e,nt(c)?c:[c],t,i,n,r,a,o,l,h,p),u.base=t.__e,t.__u&=-161,u.__h.length&&o.push(u),T&&(u.__E=u.__=null)}catch(C){if(t.__v=null,h||a!=null)if(C.then){for(t.__u|=h?160:128;l&&l.nodeType==8&&l.nextSibling;)l=l.nextSibling;a[a.indexOf(l)]=null,t.__e=l}else{for(x=a.length;x--;)wt(a[x]);bt(t)}else t.__e=i.__e,t.__k=i.__k,C.then||bt(t);y.__e(C,t,i)}else a==null&&t.__v==i.__v?(t.__k=i.__k,t.__e=i.__e):l=t.__e=ze(i.__e,t,i,n,r,a,o,h,p);return(v=y.diffed)&&v(t),128&t.__u?void 0:l}function bt(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(bt))}function Wt(e,t,i){for(var n=0;n<i.length;n++)xt(i[n],i[++n],i[++n]);y.__c&&y.__c(t,e),e.some(function(r){try{e=r.__h,r.__h=[],e.some(function(a){a.call(r)})}catch(a){y.__e(a,r.__v)}})}function qt(e){return typeof e!="object"||e==null||e.__b>0?e:nt(e)?e.map(qt):H({},e)}function ze(e,t,i,n,r,a,o,l,h){var p,v,u,g,w,M,z,T=i.props||et,A=t.props,j=t.type;if(j=="svg"?r="http://www.w3.org/2000/svg":j=="math"?r="http://www.w3.org/1998/Math/MathML":r||(r="http://www.w3.org/1999/xhtml"),a!=null){for(p=0;p<a.length;p++)if((w=a[p])&&"setAttribute"in w==!!j&&(j?w.localName==j:w.nodeType==3)){e=w,a[p]=null;break}}if(e==null){if(j==null)return document.createTextNode(A);e=document.createElementNS(r,j,A.is&&A),l&&(y.__m&&y.__m(t,a),l=!1),a=null}if(j==null)T===A||l&&e.data==A||(e.data=A);else{if(a=a&&P.call(e.childNodes),!l&&a!=null)for(T={},p=0;p<e.attributes.length;p++)T[(w=e.attributes[p]).name]=w.value;for(p in T)w=T[p],p=="dangerouslySetInnerHTML"?u=w:p=="children"||p in A||p=="value"&&"defaultValue"in A||p=="checked"&&"defaultChecked"in A||ot(e,p,null,w,r);for(p in A)w=A[p],p=="children"?g=w:p=="dangerouslySetInnerHTML"?v=w:p=="value"?M=w:p=="checked"?z=w:l&&typeof w!="function"||T[p]===w||ot(e,p,w,T[p],r);if(v)l||u&&(v.__html==u.__html||v.__html==e.innerHTML)||(e.innerHTML=v.__html),t.__k=[];else if(u&&(e.innerHTML=""),Ot(t.type=="template"?e.content:e,nt(g)?g:[g],t,i,n,j=="foreignObject"?"http://www.w3.org/1999/xhtml":r,a,o,a?a[0]:i.__k&&X(i,0),l,h),a!=null)for(p=a.length;p--;)wt(a[p]);l||(p="value",j=="progress"&&M==null?e.removeAttribute("value"):M!=null&&(M!==e[p]||j=="progress"&&!M||j=="option"&&M!=T[p])&&ot(e,p,M,T[p],r),p="checked",z!=null&&z!=e[p]&&ot(e,p,z,T[p],r))}return e}function xt(e,t,i){try{if(typeof e=="function"){var n=typeof e.__u=="function";n&&e.__u(),n&&t==null||(e.__u=e(t))}else e.current=t}catch(r){y.__e(r,i)}}function Xt(e,t,i){var n,r;if(y.unmount&&y.unmount(e),(n=e.ref)&&(n.current&&n.current!=e.__e||xt(n,null,t)),(n=e.__c)!=null){if(n.componentWillUnmount)try{n.componentWillUnmount()}catch(a){y.__e(a,t)}n.base=n.__P=null}if(n=e.__k)for(r=0;r<n.length;r++)n[r]&&Xt(n[r],t,i||typeof e.type!="function");i||wt(e.__e),e.__c=e.__=e.__e=void 0}function Re(e,t,i){return this.constructor(e,i)}function st(e,t,i){var n,r,a,o;t==document&&(t=document.documentElement),y.__&&y.__(e,t),r=(n=typeof i=="function")?null:i&&i.__k||t.__k,a=[],o=[],gt(t,e=(!n&&i||t).__k=q($,null,[e]),r||et,et,t.namespaceURI,!n&&i?[i]:r?null:t.firstChild?P.call(t.childNodes):null,a,!n&&i?i:r?r.__e:t.firstChild,n,o),Wt(a,e,o)}function Gt(e,t){st(e,t,Gt)}function Jt(e,t,i){var n,r,a,o,l=H({},e.props);for(a in e.type&&e.type.defaultProps&&(o=e.type.defaultProps),t)a=="key"?n=t[a]:a=="ref"?r=t[a]:l[a]=t[a]===void 0&&o!=null?o[a]:t[a];return arguments.length>2&&(l.children=arguments.length>3?P.call(arguments,2):i),J(e.type,l,n||e.key,r||e.ref,null)}function Yt(e){function t(i){var n,r;return this.getChildContext||(n=new Set,(r={})[t.__c]=this,this.getChildContext=function(){return r},this.componentWillUnmount=function(){n=null},this.shouldComponentUpdate=function(a){this.props.value!=a.value&&n.forEach(function(o){o.__e=!0,yt(o)})},this.sub=function(a){n.add(a);var o=a.componentWillUnmount;a.componentWillUnmount=function(){n&&n.delete(a),o&&o.call(a)}}),i.children}return t.__c="__cC"+Dt++,t.__=e,t.Provider=t.__l=(t.Consumer=function(i,n){return i.children(n)}).contextType=t,t}P=it.slice,y={__e:function(e,t,i,n){for(var r,a,o;t=t.__;)if((r=t.__c)&&!r.__)try{if((a=r.constructor)&&a.getDerivedStateFromError!=null&&(r.setState(a.getDerivedStateFromError(e)),o=r.__d),r.componentDidCatch!=null&&(r.componentDidCatch(e,n||{}),o=r.__d),o)return r.__E=r}catch(l){e=l}throw e}},L=0,at.prototype.setState=function(e,t){var i;i=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=H({},this.state),typeof e=="function"&&(e=e(H({},i),this.props)),e&&H(i,e),e!=null&&this.__v&&(t&&this._sb.push(t),yt(this))},at.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),yt(this))},at.prototype.render=$,V=[],Lt=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Ht=function(e,t){return e.__v.__b-t.__v.__b},rt.__r=0,mt=Math.random().toString(8),tt="__d"+mt,G="__a"+mt,$t=/(PointerCapture)$|Capture$/i,dt=0,vt=Ft(!1),kt=Ft(!0),Dt=0;var Ke=0;function b(e,t,i,n,r,a){t||(t={});var o,l,h=t;if("ref"in h)for(l in h={},t)l=="ref"?o=t[l]:h[l]=t[l];var p={type:e,props:h,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Ke,__i:-1,__u:0,__source:r,__self:a};if(typeof e=="function"&&(o=e.defaultProps))for(l in o)h[l]===void 0&&(h[l]=o[l]);return y.vnode&&y.vnode(p),p}var Y,E,jt,Zt,St=0,Qt=[],U=y,te=U.__b,ee=U.__r,ie=U.diffed,ne=U.__c,ae=U.unmount,re=U.__;function At(e,t){U.__h&&U.__h(E,e,St||t),St=0;var i=E.__H||(E.__H={__:[],__h:[]});return e>=i.__.length&&i.__.push({}),i.__[e]}function lt(e){return St=1,Le(se,e)}function Le(e,t,i){var n=At(Y++,2);if(n.t=e,!n.__c&&(n.__=[se(void 0,t),function(l){var h=n.__N?n.__N[0]:n.__[0],p=n.t(h,l);h!==p&&(n.__N=[p,n.__[1]],n.__c.setState({}))}],n.__c=E,!E.__f)){var r=function(l,h,p){if(!n.__c.__H)return!0;var v=n.__c.__H.__.filter(function(g){return g.__c});if(v.every(function(g){return!g.__N}))return!a||a.call(this,l,h,p);var u=n.__c.props!==l;return v.some(function(g){if(g.__N){var w=g.__[0];g.__=g.__N,g.__N=void 0,w!==g.__[0]&&(u=!0)}}),a&&a.call(this,l,h,p)||u};E.__f=!0;var a=E.shouldComponentUpdate,o=E.componentWillUpdate;E.componentWillUpdate=function(l,h,p){if(this.__e){var v=a;a=void 0,r(l,h,p),a=v}o&&o.call(this,l,h,p)},E.shouldComponentUpdate=r}return n.__N||n.__}function He(e){var t=E.context[e.__c],i=At(Y++,9);return i.c=e,t?(i.__==null&&(i.__=!0,t.sub(E)),t.props.value):e.__}function $e(e){var t=At(Y++,10),i=lt();return t.__=e,E.componentDidCatch||(E.componentDidCatch=function(n,r){t.__&&t.__(n,r),i[1](n)}),[i[0],function(){i[1](void 0)}]}function De(){for(var e;
1366e=Qt.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(ut),t.__h.some(Et),t.__h=[]}catch(i){t.__h=[],U.__e(i,e.__v)}}}U.__b=function(e){E=null,te&&te(e)},U.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),re&&re(e,t)},U.__r=function(e){ee&&ee(e),Y=0;var t=(E=e.__c).__H;t&&(jt===E?(t.__h=[],E.__h=[],t.__.some(function(i){i.__N&&(i.__=i.__N),i.u=i.__N=void 0})):(t.__h.some(ut),t.__h.some(Et),t.__h=[],Y=0)),jt=E},U.diffed=function(e){ie&&ie(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Qt.push(t)!==1&&Zt===U.requestAnimationFrame||((Zt=U.requestAnimationFrame)||Ie)(De)),t.__H.__.some(function(i){i.u&&(i.__H=i.u),i.u=void 0})),jt=E=null},U.__c=function(e,t){t.some(function(i){try{i.__h.some(ut),i.__h=i.__h.filter(function(n){return!n.__||Et(n)})}catch(n){t.some(function(r){r.__h&&(r.__h=[])}),t=[],U.__e(n,i.__v)}}),ne&&ne(e,t)},U.unmount=function(e){ae&&ae(e);var t,i=e.__c;i&&i.__H&&(i.__H.__.some(function(n){try{ut(n)}catch(r){t=r}}),i.__H=void 0,t&&U.__e(t,i.__v))};var oe=typeof requestAnimationFrame=="function";function Ie(e){var t,i=function(){clearTimeout(n),oe&&cancelAnimationFrame(t),setTimeout(e)},n=setTimeout(i,35);oe&&(t=requestAnimationFrame(i))}function ut(e){var t=E,i=e.__c;typeof i=="function"&&(e.__c=void 0,i()),E=t}function Et(e){var t=E;e.__c=e.__(),E=t}function se(e,t){return typeof t=="function"?t(e):t}const Oe=Yt("fi").Provider,le=Yt(null),Be=le.Provider,Ve=()=>He(le);function Fe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ct={exports:{}},We=ct.exports,ue;function qe(){return ue||(ue=1,(function(e){(function(t){function i(s,k){var c=(s&65535)+(k&65535),x=(s>>16)+(k>>16)+(c>>16);return x<<16|c&65535}function n(s,k){return s<<k|s>>>32-k}function r(s,k,c,x,S,C){return i(n(i(i(k,s),i(x,C)),S),c)}function a(s,k,c,x,S,C,K){return r(k&c|~k&x,s,k,S,C,K)}function o(s,k,c,x,S,C,K){return r(k&x|c&~x,s,k,S,C,K)}function l(s,k,c,x,S,C,K){return r(k^c^x,s,k,S,C,K)}function h(s,k,c,x,S,C,K){return r(c^(k|~x),s,k,S,C,K)}function p(s,k){s[k>>5]|=128<<k%32,s[(k+64>>>9<<4)+14]=k;var c,x,S,C,K,_=1732584193,f=-271733879,m=-1732584194,d=271733878;for(c=0;c<s.length;c+=16)x=_,S=f,C=m,K=d,_=a(_,f,m,d,s[c],7,-680876936),d=a(d,_,f,m,s[c+1],12,-389564586),m=a(m,d,_,f,s[c+2],17,606105819),f=a(f,m,d,_,s[c+3],22,-1044525330),_=a(_,f,m,d,s[c+4],7,-176418897),d=a(d,_,f,m,s[c+5],12,1200080426),m=a(m,d,_,f,s[c+6],17,-1473231341),f=a(f,m,d,_,s[c+7],22,-45705983),_=a(_,f,m,d,s[c+8],7,1770035416),d=a(d,_,f,m,s[c+9],12,-1958414417),m=a(m,d,_,f,s[c+10],17,-42063),f=a(f,m,d,_,s[c+11],22,-1990404162),_=a(_,f,m,d,s[c+12],7,1804603682),d=a(d,_,f,m,s[c+13],12,-40341101),m=a(m,d,_,f,s[c+14],17,-1502002290),f=a(f,m,d,_,s[c+15],22,1236535329),_=o(_,f,m,d,s[c+1],5,-165796510),d=o(d,_,f,m,s[c+6],9,-1069501632),m=o(m,d,_,f,s[c+11],14,643717713),f=o(f,m,d,_,s[c],20,-373897302),_=o(_,f,m,d,s[c+5],5,-701558691),d=o(d,_,f,m,s[c+10],9,38016083),m=o(m,d,_,f,s[c+15],14,-660478335),f=o(f,m,d,_,s[c+4],20,-405537848),_=o(_,f,m,d,s[c+9],5,568446438),d=o(d,_,f,m,s[c+14],9,-1019803690),m=o(m,d,_,f,s[c+3],14,-187363961),f=o(f,m,d,_,s[c+8],20,1163531501),_=o(_,f,m,d,s[c+13],5,-1444681467),d=o(d,_,f,m,s[c+2],9,-51403784),m=o(m,d,_,f,s[c+7],14,1735328473),f=o(f,m,d,_,s[c+12],20,-1926607734),_=l(_,f,m,d,s[c+5],4,-378558),d=l(d,_,f,m,s[c+8],11,-2022574463),m=l(m,d,_,f,s[c+11],16,1839030562),f=l(f,m,d,_,s[c+14],23,-35309556),_=l(_,f,m,d,s[c+1],4,-1530992060),d=l(d,_,f,m,s[c+4],11,1272893353),m=l(m,d,_,f,s[c+7],16,-155497632),f=l(f,m,d,_,s[c+10],23,-1094730640),_=l(_,f,m,d,s[c+13],4,681279174),d=l(d,_,f,m,s[c],11,-358537222),m=l(m,d,_,f,s[c+3],16,-722521979),f=l(f,m,d,_,s[c+6],23,76029189),_=l(_,f,m,d,s[c+9],4,-640364487),d=l(d,_,f,m,s[c+12],11,-421815835),m=l(m,d,_,f,s[c+15],16,530742520),f=l(f,m,d,_,s[c+2],23,-995338651),_=h(_,f,m,d,s[c],6,-198630844),d=h(d,_,f,m,s[c+7],10,1126891415),m=h(m,d,_,f,s[c+14],15,-1416354905),f=h(f,m,d,_,s[c+5],21,-57434055),_=h(_,f,m,d,s[c+12],6,1700485571),d=h(d,_,f,m,s[c+3],10,-1894986606),m=h(m,d,_,f,s[c+10],15,-1051523),f=h(f,m,d,_,s[c+1],21,-2054922799),_=h(_,f,m,d,s[c+8],6,1873313359),d=h(d,_,f,m,s[c+15],10,-30611744),m=h(m,d,_,f,s[c+6],15,-1560198380),f=h(f,m,d,_,s[c+13],21,1309151649),_=h(_,f,m,d,s[c+4],6,-145523070),d=h(d,_,f,m,s[c+11],10,-1120210379),m=h(m,d,_,f,s[c+2],15,718787259),f=h(f,m,d,_,s[c+9],21,-343485551),_=i(_,x),f=i(f,S),m=i(m,C),d=i(d,K);return[_,f,m,d]}function v(s){var k,c="",x=s.length*32;for(k=0;k<x;k+=8)c+=String.fromCharCode(s[k>>5]>>>k%32&255);return c}function u(s){var k,c=[];for(c[(s.length>>2)-1]=void 0,k=0;k<c.length;k+=1)c[k]=0;var x=s.length*8;for(k=0;k<x;k+=8)c[k>>5]|=(s.charCodeAt(k/8)&255)<<k%32;return c}function g(s){return v(p(u(s),s.length*8))}function w(s,k){var c,x=u(s),S=[],C=[],K;for(S[15]=C[15]=void 0,x.length>16&&(x=p(x,s.length*8)),c=0;c<16;c+=1)S[c]=x[c]^909522486,C[c]=x[c]^1549556828;return K=p(S.concat(u(k)),512+k.length*8),v(p(C.concat(K),640))}function M(s){var k="0123456789abcdef",c="",x,S;for(S=0;S<s.length;S+=1)x=s.charCodeAt(S),c+=k.charAt(x>>>4&15)+k.charAt(x&15);return c}function z(s){return unescape(encodeURIComponent(s))}function T(s){return g(z(s))}function A(s){return M(T(s))}function j(s,k){return w(z(s),z(k))}function D(s,k){return M(j(s,k))}function I(s,k,c){return k?c?j(k,s):D(k,s):c?T(s):A(s)}e.exports?e.exports=I:t.md5=I})(We)})(ct)),ct.exports}var Xe=qe();const Ge=Fe(Xe);function Je(e){return Array.isArray(e)&&(e=e.join("")),Ge(e)}let B;function ce(e){return{lang:B==null?void 0:B.lang,message:e==null?void 0:e.message,abortEarly:B==null?void 0:B.abortEarly,abortPipeEarly:B==null?void 0:B.abortPipeEarly}}let Mt;function Ye(e){return Mt==null?void 0:Mt.get(e)}let Tt;function Ze(e){return Tt==null?void 0:Tt.get(e)}let Ct;function Qe(e,t){var i;return(i=Ct==null?void 0:Ct.get(e))==null?void 0:i.get(t)}function ti(e){var i,n,r;const t=typeof e;return t==="string"?'"'.concat(e,'"'):t==="number"||t==="bigint"||t==="boolean"?"".concat(e):t==="object"||t==="function"?(r=e&&((n=(i=Object.getPrototypeOf(e))==null?void 0:i.constructor)==null?void 0:n.name))!=null?r:"null":t}function F(e,t,i,n,r){var u,g,w,M,z,T,A,j;const a=r&&"input"in r?r.input:i.value,o=(g=(u=r==null?void 0:r.expected)!=null?u:e.expects)!=null?g:null,l=(w=r==null?void 0:r.received)!=null?w:ti(a),h={kind:e.kind,type:e.type,input:a,expected:o,received:l,message:"Invalid ".concat(t,": ").concat(o?"Expected ".concat(o," but r"):"R","eceived ").concat(l),requirement:e.requirement,path:r==null?void 0:r.path,issues:r==null?void 0:r.issues,lang:n.lang,abortEarly:n.abortEarly,abortPipeEarly:n.abortPipeEarly},p=e.kind==="schema",v=(j=(A=(T=(z=(M=r==null?void 0:r.message)!=null?M:e.message)!=null?z:Qe(e.reference,h.lang))!=null?T:p?Ze(h.lang):null)!=null?A:n.message)!=null?j:Ye(h.lang);v!==void 0&&(h.message=typeof v=="function"?v(h):v),p&&(i.typed=!1),i.issues?i.issues.push(h):i.issues=[h]}function Z(e){return{version:1,vendor:"valibot",validate(t){return e["~run"]({value:t},ce())}}}function ei(e,t){var n;const i=[...new Set(e)];return i.length>1?"(".concat(i.join(" ".concat(t," ")),")"):(n=i[0])!=null?n:"never"}
1366var ii=class extends Error{constructor(e){super(e[0].message),this.name="ValiError",this.issues=e}};function pe(e,t){return{kind:"validation",type:"regex",reference:pe,async:!1,expects:"".concat(e),requirement:e,message:t,"~run"(i,n){return i.typed&&!this.requirement.test(i.value)&&F(this,"format",i,n),i}}}function Nt(e){return{kind:"validation",type:"url",reference:Nt,async:!1,expects:null,requirement(t){try{return new URL(t),!0}catch(i){return!1}},message:e,"~run"(t,i){return t.typed&&!this.requirement(t.value)&&F(this,"URL",t,i),t}}}function ni(e,t,i){return typeof e.fallback=="function"?e.fallback(t,i):e.fallback}function ai(e,t,i){return typeof e.default=="function"?e.default(t,i):e.default}function Pt(e,t){return{kind:"schema",type:"array",reference:Pt,expects:"Array",async:!1,item:e,message:t,get"~standard"(){return Z(this)},"~run"(i,n){var a;const r=i.value;if(Array.isArray(r)){i.typed=!0,i.value=[];for(let o=0;o<r.length;o++){const l=r[o],h=this.item["~run"]({value:l},n);if(h.issues){const p={type:"array",origin:"value",input:r,key:o,value:l};for(const v of h.issues)v.path?v.path.unshift(p):v.path=[p],(a=i.issues)==null||a.push(v);if(i.issues||(i.issues=h.issues),n.abortEarly){i.typed=!1;break}}h.typed||(i.typed=!1),i.value.push(h.value)}}else F(this,"type",i,n);return i}}}function pt(e,t){return{kind:"schema",type:"object",reference:pt,expects:"Object",async:!1,entries:e,message:t,get"~standard"(){return Z(this)},"~run"(i,n){var a;const r=i.value;if(r&&typeof r=="object"){i.typed=!0,i.value={};for(const o in this.entries){const l=this.entries[o];if(o in r||(l.type==="exact_optional"||l.type==="optional"||l.type==="nullish")&&l.default!==void 0){const h=o in r?r[o]:ai(l),p=l["~run"]({value:h},n);if(p.issues){const v={type:"object",origin:"value",input:r,key:o,value:h};for(const u of p.issues)u.path?u.path.unshift(v):u.path=[v],(a=i.issues)==null||a.push(u);if(i.issues||(i.issues=p.issues),n.abortEarly){i.typed=!1;break}}p.typed||(i.typed=!1),i.value[o]=p.value}else if(l.fallback!==void 0)i.value[o]=ni(l);else if(l.type!=="exact_optional"&&l.type!=="optional"&&l.type!=="nullish"&&(F(this,"key",i,n,{input:void 0,expected:'"'.concat(o,'"'),path:[{type:"object",origin:"key",input:r,key:o,value:r[o]}]}),n.abortEarly))break}}else F(this,"type",i,n);return i}}}function W(e){return{kind:"schema",type:"string",reference:W,expects:"string",async:!1,message:e,get"~standard"(){return Z(this)},"~run"(t,i){return typeof t.value=="string"?t.typed=!0:F(this,"type",t,i),t}}}function he(e){let t;if(e)for(const i of e)t?t.push(...i.issues):t=i.issues;return t}function _e(e,t){return{kind:"schema",type:"union",reference:_e,expects:ei(e.map(i=>i.expects),"|"),async:!1,options:e,message:t,get"~standard"(){return Z(this)},"~run"(i,n){let r,a,o;for(const l of this.options){const h=l["~run"]({value:i.value},n);if(h.typed)if(h.issues)a?a.push(h):a=[h];else{r=h;break}else o?o.push(h):o=[h]}if(r)return r;if(a){if(a.length===1)return a[0];F(this,"type",i,n,{issues:he(a)}),i.typed=!0}else{if((o==null?void 0:o.length)===1)return o[0];F(this,"type",i,n,{issues:he(o)})}return i}}}function fe(e,t,i){const n=e["~run"]({value:t},ce(i));if(n.issues)throw new ii(n.issues);return n.value}function Ut(...e){return O(R({},e[0]),{pipe:e,get"~standard"(){return Z(this)},"~run"(t,i){for(const n of e)if(n.kind!=="metadata"){if(t.issues&&(n.kind==="schema"||n.kind==="transformation")){t.typed=!1;break}(!t.issues||!i.abortEarly&&!i.abortPipeEarly)&&(t=n["~run"](t,i))}return t}})}const ri=JSON.parse('[{"name":"Ajassa","items":[{"text":"Iltalehti.fi","url":"https://www.iltalehti.fi","title":"Uutiset, urheilu, viihde ja lifestyle","md":"[Uutiset](https://www.iltalehti.fi/uutiset \\"Uutiset\\"), [urheilu](https://www.iltalehti.fi/urheilu \\"urheilu\\"), [viihde](https://www.iltalehti.fi/viihde \\"viihde\\") ja [TV-ohjelmat](https://www.iltalehti.fi/telkku/ \\"TV-ohjelmat\\")"},{"text":"Kauppalehti","url":" https://www.kauppalehti.fi/","title":"Kauppalehti","md":"[Talousuutiset](https://www.kauppalehti.fi/uutiset \\"Talousuutiset\\"), [yritykset](https://www.kauppalehti.fi/yritykset \\"yritykset\\")
1366ja [p\xF6rssikurssit](https://www.kauppalehti.fi/porssi \\"p\xF6rssikurssit\\")"},{"text":"Talousel\xE4m\xE4","url":"https://www.talouselama.fi/","title":"Talousuutiset, taustat ja seuraukset","md":"[Talousuutiset](https://www.talouselama.fi/uutiset \\"Talousuutiset\\"), [analyysit](https://www.talouselama.fi/analyysit \\"analyysit\\") ja [yrityskaupat](https://www.talouselama.fi/aiheet/yrityskaupat \\"yritysaupat\\")"},{"text":"Uusi Suomi","url":"https://www.uusisuomi.fi/","title":"Uusi Suomi","md":"Politiikan ja yhteiskunnan uutiset ja analyysit"},{"text":"Arvopaperi","url":"https://www.arvopaperi.fi/","title":"Arvopaperi","md":"[Sijoittajan uutiset](https://www.arvopaperi.fi/uutiset \\"Sijoittajan uutiset\\"), [analyysit](https://www.arvopaperi.fi/analyysi \\"analyysit\\") ja [listautumiset](https://www.arvopaperi.fi/listautumiset \\"listautumiset\\")"},{"text":"Ampparit.com","url":"https://www.ampparit.com/","title":"Tuoreimmat uutiset","md":"[Uutiset](https://www.ampparit.com/uutiset \\"Uutiset\\"), [Urheilu](https://www.ampparit.com/urheilu \\"Urheilu\\") ja [TV-opas](https://www.ampparit.com/tv \\"TV-opas\\")"},{"text":"IL-TV","url":"https://www.iltalehti.fi/iltv/","title":"Tuoreimmat uutisvideot","md":"Tuoreimmat uutisvideot"},{"text":"P\xE4iv\xE4n s\xE4\xE4","url":"https://www.iltalehti.fi/saa/","title":"P\xE4iv\xE4n s\xE4\xE4","md":"[S\xE4\xE4ennuste](https://www.iltalehti.fi/saa/9paivaa \\"S\xE4\xE4ennuste\\") ja [sadetutkat](https://www.iltalehti.fi/saa/sadetutka \\"sadetutkat\\")"},{"text":"Konep\xF6rssi","url":"https://www.koneporssi.com/","title":"Ty\xF6koneiden ja kuljetuskaluston erikoislehti","md":"Ty\xF6koneiden ja kuljetuskaluston erikoislehti"}]},{"name":"Vapaalla","items":[{"text":"Etuovi.com","url":"https://www.etuovi.com","title":"Asunnot","md":"[Myyt\xE4v\xE4t asunnot](https://www.etuovi.com/myytavat-asunnot \\"Myyt\xE4v\xE4t asunnot\\") ja [asunnon hinta-arvio](https://www.etuovi.com/asunnon-hinta-arvio \\"asunnon hinta-arvio\\")"},{"text":"Nettiauto","url":"https://www.nettiauto.com/","title":"Vaihtoautot, heti ajoon -autot ja s\xE4hk\xF6autot","md":"[Vaihtoautot](https://www.nettiauto.com/vaihtoautot \\"Vaihtoautot\\"), [heti ajoon -autot](https://www.nettiauto.com/pikalinkit/heti-ajoon \\"heti ajoon -autot\\") ja [s\xE4hk\xF6autot](https://www.nettiauto.com/vaihtoautot/sahkoautot \\"s\xE4hk\xF6autot\\")"},{"text":"Baana","url":"https://baana.nettiauto.com/","title":"Myy autosi jopa 48 tunnissa","md":"Kilpailuta kerralla autoliikkeet ja myy autosi jopa 48 tunnissa"},{"text":"Autotalli.com","url":"https://www.autotalli.com","title":"Autotalli.com","md":"[Vaihtoautot](https://www.autotalli.com/vaihtoautot \\"Vaihtoautot\\"), [uudet autot](https://www.autotalli.com/uudet-autot/listaa \\"uudet autot\\"), [s\xE4hk\xF6autot](https://www.autotalli.com/vaihtoautot/listaa/polttoaine/sahko \\"s\xE4hk\xF6autot\\") ja [leasing-autot](https://www.autotalli.com/leasing-autot/listaa/auton_tyyppi/kaikki-sopimukset \\"leasing-autot\\")"},{"text":"AutoJerry.fi","url":"https://autojerry.fi/","title":"Kilpailuta paras autokorjaamo tai autohuolto helposti","md":"Autohuollot"},{"text":"Iltalehti","url":"https://www.iltalehti.fi/","title":"Iltalehti","md":"[Uutiset](https://www.iltalehti.fi/uutiset \\"Uutiset\\"), [muoti](https://www.iltalehti.fi/tyylicom \\"muoti\\") ja [viihde](https://www.iltalehti.fi/viihde \\"viihde\\")"},{"text":"Urakkamaailma.fi","url":"https://www.urakkamaailma.fi/","title":"L\xF6yd\xE4 remontillesi luotettava tekij\xE4","md":"L\xF6yd\xE4 remontillesi luotettava tekij\xE4"},{"text":"Katsastushinnat.fi","url":"https://katsastushinnat.fi/","title":"Suomen parhaat katsastusasemat","md":"Suomen parhaat katsastusasemat"},{"text":"IL-TV","url":"https://www.iltalehti.fi/iltv/","title":"Ideoita ja inspiraatiota","md":"Ideoita ja inspiraatiota"},{"text":"Telkku","url":"https://www.iltalehti.fi/telkku","title":"TV-ohjelmat","md":"[TV-ohjelmat](https://www.iltalehti.fi/telkku/), [TV-elokuvat](https://www.iltalehti.fi/telkku/elokuvat) ja [TV-opas](https://www.iltalehti.fi/telkku/)"},{"text":"Mikrobitti","url":"https://www.iltalehti.fi/bitti","title":"Mikrobitti","md":"[Digiuutiset](https://www.iltalehti.fi/digiuutiset \\"Digiuutiset\\"), [testit](https://www.iltalehti.fi/testi \\"testit\\") ja [oppaat](https://www.iltalehti.fi/oppaat \\"oppaat\\")"},{"text":"Vuokraovi.com","url":"https://www.vuokraovi.com","title":"Vuokraovi","md":"[Vuokra-asunnot](https://www.vuokraovi.com/haku/vuokra-asunnot \\"Vuokra-asunnot\\")"},{"text":"Etua.fi","url":"https://www.etua.fi","title":"Monipuolinen lainapalvelu","md":"[Kulutusluotot](https://www.etua.fi/kulutusluotto \\"Kulutusluotot\\"), [yrityslainat](https://www.etua.fi/yrityslaina \\"yrityslainat\\") ja [asuntolainat](https://www.etua.fi/asuntolaina \\"asuntolainat\\")"},{"text":"Kattokorko.fi","url":"https://www.kattokorko.fi","title":"Edullisin lainavertailu","md":"Edullisin lainavertailu"},{"text":"Muuttomaailma.fi","url":"https://www.muuttomaailma.fi/","title":"Muuttopalvelut","md":"Muuttopalvelut"},{"text":"Ampparit.com","url":"https://www.ampparit.com/","title":"Tuoreimmat uutiset","md":"[Uutiset](https://www.ampparit.com/uutiset \\"Uutiset\\"), [urheilu](https://www.ampparit.com/urheilu \\"Urheilu\\") ja [TV-opas](https://www.ampparit.com/tv \\"TV-opas\\")"},{"text":"Nettimoto","url":"https://www.nettimoto.com/","title":"K\xE4ytetyt moottoripy\xF6r\xE4t, m\xF6nkij\xE4t ja moottorikelkat","md":"[Moottoripy\xF6r\xE4t](https://www.nettimoto.com/pikalinkit/moottoripyorat \\"Moottoripy\xF6r\xE4t\\"), [m\xF6nkij\xE4t](https://www.nettimoto.com/pikalinkit/monkijat \\"m\xF6nkij\xE4t\\") ja [moottorikelkat](https://www.nettimoto.com/pikalinkit/moottorikelkat \\"moottorikelkat\\")"},{"text":"Nettivene","url":"https://www.nettivene.com/","title":"K\xE4ytetyt veneet, vaihtoveneet, uudet veneet","md":"[Moottoriveneet](https://www.nettivene.com/pikalinkit/moottoriveneet \\"Moottoriveneet\\"), [pulpettiveneet](https://www.nettivene.com/pikalinkit/pulpettiveneet \\"pulpettiveneet\\") ja [purjeveneet](https://www.nettivene.com/pikalinkit/purjeveneet \\"purjeveneet\\")"},{"text":"Nettikone","url":"https://www.nettikone.com/","title":"Vaihtokoneet, mets\xE4koneet ja maatalouskoneet","md":"[Kuljetuskalusto](https://www.nettikone.com/pikalinkit/kuljetuskalusto \\"Kuljetuskalusto\\"), [maatalouskoneet](https://www.nettikone.com/pikalinkit/maatalouskoneet \\"Maatalouskoneet\\") ja [mets\xE4koneet](https://www.nettikone.com/pikalinkit/metsakoneet \\"Mets\xE4koneet\\")"},{"text":"Nettim\xF6kki","url":"https://www.nettimokki.com/","title":"3000 vuokram\xF6kki\xE4 ymp\xE4ri Suomen","md":"3000 vuokram\xF6kki\xE4 ymp\xE4ri Suomen"},{"text":"Nettikaravaani","url":"https://www.nettikaravaani.com/","title":"Matkailuautot, asuntoautot ja asuntovaunut","md":"[Matkailuautot](https://www.nettikaravaani.com/pikalinkit/matkailuautot \\"Matkailuautot\\") ja [matkailuvaunut](https://www.nettikaravaani.com/pikalinkit/matkailuvaunut \\"Matkailuvaunut\\")"},{"text":"Nettivaraosa","url":"https://www.nettivaraosa.com/","title":"Varaosat ja tarvikkeet","md":"[Auton varaosat](https://www.nettivaraosa.com/pikalinkit/auton-varaosat \\"Auton varaosat\\"), [vanteet](https://www.nettivaraosa.com/vanteet \\"vanteet\\") ja [rengassarjat](https://www.nettivaraosa.com/rengassarjat \\"rengassarjat\\")"},{"text":"Rekkari.fi","url":"https://rekkari.fi/","title":"Auton, moton ja veneen rekisteritiedot","md":"Auton, moton ja veneen rekisteritiedot"},{"text":"S\xE4hk\xF6vertailu.fi","url":"https://sahkovertailu.fi/","title":"Suomen kattavin s\xE4hk\xF6n kilpailutus, halpa s\xE4hk\xF6sopimus","md":"[S\xE4hk\xF6n kilpailutus](https://sahkovertailu.fi/ \\"S\xE4hk\xF6n kilpailutus\\") ja [halpa s\xE4hk\xF6sopimus](https://sahkovertailu.fi/mista-loytyy-halvin-sahkosopimus \\"halpa s\xE4hk\xF6sopimus\\")"},{"text":"Asuntojenmyynti.fi","url":"https://www.asuntojenmyynti.fi/","title":"Kiinteist\xF6nv\xE4litt\xE4jien kilpailutus ja vertailu","md":"[Kiinteist\xF6nv\xE4litt\xE4jien kilpailutus ja vertailu](https://www.asuntojenmyynti.fi/ \\"Kiinteist\xF6nv\xE4litt\xE4jien kilpailutus ja vertailu\\")"}
1366,{"text":"Neli\xF6hinta.fi","url":"https://neliohinta.fi/","title":"Halvimmat kiinteist\xF6v\xE4litt\xE4j\xE4t ja v\xE4lityspalkkiovertailu","md":"[Halvimmat kiinteist\xF6v\xE4litt\xE4j\xE4t](https://neliohinta.fi/ \\"Halvimmat kiinteist\xF6v\xE4litt\xE4j\xE4t\\") ja [v\xE4lityspalkkiovertailu](https://neliohinta.fi/valityspalkkio/ \\"v\xE4lityspalkkiovertailu\\")"},{"text":"VertaaEnsin.fi","url":"https://www.vertaaensin.fi/","title":"Halvin s\xE4hk\xF6sopimus, s\xE4hk\xF6n hinta, lainavertailu","md":"[Halvin s\xE4hk\xF6sopimus](https://www.vertaaensin.fi/sahko/sahkon-kilpailutus \\"Halvin s\xE4hk\xF6sopimus\\"), [s\xE4hk\xF6n hinta](https://www.vertaaensin.fi/sahko/sahkon-hinta \\"s\xE4hk\xF6n hinta\\") ja [lainavertailu](https://www.vertaaensin.fi/laina \\"lainavertailu\\")"}]},{"name":"Ty\xF6ss\xE4","items":[{"text":"Kauppalehti","url":"https://www.kauppalehti.fi/","title":"Johtaminen, yritykset ja toimitilat","md":"[Johtaminen](https://www.kauppalehti.fi/aiheet/johtaminen \\"Johtaminen\\"), [yritykset](https://www.kauppalehti.fi/yritykset \\"yritykset\\") ja [toimitilat](https://toimitilat.kauppalehti.fi/ \\"toimitilat\\")"},{"text":"Jobly","url":"https://www.jobly.fi/","title":"Avoimet ty\xF6paikat","md":"Avoimet ty\xF6paikat"},{"text":"Tekniikka & Talous","url":"https://www.tekniikkatalous.fi/","title":"Teknologiauutiset ja ilmi\xF6t","md":"Teknologiauutiset ja ilmi\xF6t"},{"text":"Tivi","url":"https://www.tivi.fi/","title":"ICT-uutiset ja -ilmi\xF6t","md":"ICT-uutiset ja -ilmi\xF6t"},{"text":"Konep\xF6rssi","url":"https://www.koneporssi.com/","title":"Ty\xF6koneiden ja kuljetuskaluston erikoislehti","md":"Ty\xF6koneiden ja kuljetuskaluston erikoislehti"},{"text":"Onnity\xF6ss\xE4","url":"https://onnityossa.fi/","title":"Paremman ty\xF6el\xE4m\xE4n puolesta","md":"Paremman ty\xF6el\xE4m\xE4n puolesta"},{"text":"Nettikone","url":"https://www.nettikone.com/","title":"Vaihtokoneet, mets\xE4koneet ja maatalouskoneet","md":"[Kuljetuskalusto](https://www.nettikone.com/pikalinkit/kuljetuskalusto \\"Kuljetuskalusto\\"), [Maatalouskoneet](https://www.nettikone.com/pikalinkit/maatalouskoneet \\"Maatalouskoneet\\") ja [Mets\xE4koneet](https://www.nettikone.com/pikalinkit/metsakoneet \\"Mets\xE4koneet\\")"},{"heading":"Yrityspalvelut"},{"text":"Alma Career","url":"https://www.almacareer.com/","title":"Kansainv\xE4liset rekrytointipalvelut","md":"Kansainv\xE4liset rekrytointipalvelut"},{"text":"Property Insights","url":"https://www.almainsights.fi/kiinteistotietopalvelut/","title":"Asuntokaupan palvelut ammattilaisille","md":"Kattavaa ja luotettavaa tietoa kiinteist\xF6liiketoiminnan ammattilaisille"},{"text":"Legal Insights","url":"https://www.almainsights.fi/juridiikan-palvelut/","title":"Juridiikan hakupalvelut","md":"Asiantuntijasis\xE4ll\xF6t ja lains\xE4\xE4d\xE4nt\xF6"},{"text":"Business Insights","url":"https://www.almainsights.fi/yritystietopalvelut/","title":"Yritystietopalvelut","md":"Oikea-aikaista yritys- ja p\xE4\xE4tt\xE4j\xE4tietoa p\xE4\xE4t\xF6ksenteon tueksi"},{"text":"Kauppalehti Toimitilat ja myyt\xE4v\xE4t yritykset","url":"https://toimitilat.kauppalehti.fi/","title":"Yritysten liiketilat","md":"[Liiketilat](https://toimitilat.kauppalehti.fi/List/liiketilat \\"Liiketilat\\"), [toimitilat](https://toimitilat.kauppalehti.fi/List/toimitilat \\"toimitilat\\"), [varastot](https://toimitilat.kauppalehti.fi/List/varastot \\"varastot\\") ja myyt\xE4v\xE4t yritykset"},{"text":"Autoilun j\xE4rjestelm\xE4t","url":"https://almaajo.fi/websales/","title":"Autoilun j\xE4rjestelm\xE4t","md":"Websales, Webrent ja Autosofta"},{"text":"Nettix Pro","url":"https://almaajo.fi/nettix-pro/","title":"Nettix Pro","md":"Toiminnanohjausj\xE4rjestelm\xE4 moottoritoimialalle"},{"text":"Ammattilaisen ty\xF6kalut asuntokauppaan","url":"https://etuovi.com/mediatieto/palvelun-esittely-etuovicom/","title":"Ammattilaisen ty\xF6kalut asuntokauppaan","md":"[Kiinteist\xF6nv\xE4litt\xE4j\xE4n CRM](https://etuovi.com/mediatieto/myyntipro-2/ \\"Kiinteist\xF6nv\xE4litt\xE4j\xE4n CRM\\") ja [asuntokaupan markkinadata](https://data.etuovi.com/ \\"asuntokaupan markkinadata\\")"},{"text":"KIVI-kiinteist\xF6nv\xE4litysj\xE4rjestelm\xE4","url":"https://etuovi.com/mediatieto/kivi-kiinteistonvalitysjarjestelma/","title":"KIVI-kiinteist\xF6nv\xE4litysj\xE4rjestelm\xE4","md":"[Kirjautuminen](https://kivi.etuovi.com/ \\"Kirjautuminen\\") ja [Demo-tunnukset](https://www.etuovi.com/mediatieto/kivi-kiinteistonvalitysjarjestelma/#tilaa-demotunnukset \\"Demo-tunnukset\\")"},{"text":"DOKS","url":"https://www.doks.fi","title":"DOKS - Rahanpesulain velvoitteet, pakoteseulonta ja compliance-teht\xE4v\xE4t ","md":"Rahanpesulain velvoitteet, pakoteseulonta ja compliance-teht\xE4v\xE4t"},{"text":"Alma Kirjakauppa","url":"https://kirjakauppa.almainsights.fi","title":"Alma Kirjakauppa","md":"Bisneskirjat ja juridiikan kirjat"}]}]'),oi=pt({text:W(),url:Ut(W(),Nt()),title:W(),md:Ut(W(),pe(new RegExp('^[ \\p{L}0-9\\[\\]()\\.\\-_\\/,:;\u20AC@?+\xA9\u2013&%"\u201C\u201D\u2018\u2019#]*$',"iu")))}),si=fe(Pt(pt({name:W(),items:Pt(_e([oi,pt({heading:W()})]))})),ri);function zt(e){const t="\xE0\xE1\xE4\xE2\xE8\xE9\xEB\xEA\xEC\xED\xEF\xEE\xF2\xF3\xF6\xF4\xF9\xFA\xFC\xFB\xF1\xE7\xDF\xFF\u0153\xE6\u0155\u015B\u0144\u1E55\u1E83\u01F5\u01F9\u1E3F\u01D8\u1E8D\u017A\u1E27\xB7/_,:;",i="aaaaeeeeiiiioooouuuuncsyoarsnpwgnmuxzh------",n=new RegExp(t.split("").join("|"),"g");return e.toString().toLowerCase().replace(/\s+/g,"-").replace(n,r=>i.charAt(t.indexOf(r))).replace(/&/g,"-ja-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}const me={name:"Alma Footer",publisher:{name:"Alma-Media"}};function li(e,t){const i=new URL(fe(Ut(W(),Nt()),e));return i.searchParams.set("utm_source",document.location.hostname),i.searchParams.set("utm_medium","almainternal"),i.searchParams.set("utm_campaign","".concat(zt(me.publisher.name),"--").concat(zt(me.name))),t&&i.searchParams.set("utm_content","contentrouter_".concat(t.clientWidth,"x").concat(t.clientHeight)),i.toString()}function Q(n){var r=n,{children:e,href:t}=r,i=Te(r,["children","href"]);const a=Ve(),o=O(R({target:"_blank",rel:"noopener"},i),{href:li(t,a)});return b("a",O(R({},o),{children:e}))}const de=/\[[^\]]+\]\([^\)]+\)/,ui=/\[([^\]]+)\]/,ci=/\]\(([^" ]+)(?: ".*")?\)/,pi=/"([^"]+)"/;function hi(e){var t;return((t=e.match(ui))==null?void 0:t[1])||""}function _i(e){var t;return((t=e.match(ci))==null?void 0:t[1])||""}function fi(e){var t;return(t=e.match(pi))==null?void 0:t[1]}function mi(e){return{text:hi(e),attributes:{href:_i(e),title:fi(e)}}}function di(e){return e.split(new RegExp("(".concat(de.source,")"))).filter(t=>t!=="")}function vi(e){return e.replace(/`/g,"").replace(/~/g,"").replace(/_/g,"").replace(/\*/g,"")}function ki(e,t){const i=de.exec(e);return i?t(mi(i[0])):vi(e)}function wi({markdown:e,className:t}){const i=r=>b(Q,O(R({},r.attributes),{children:r.text})),n=di(e).map(r=>ki(r,i));return b("span",{className:t,children:n})}function yi({classPrefix:e,item:t}){return b($,{children:[b(Q,{className:"".concat(e,"__primary-link"),href:t.url,t
1366itle:t.title,children:t.text}),b(wi,{className:"".concat(e,"__md"),markdown:t.md})]})}function gi({classPrefix:e,heading:t}){return b("span",{className:"".concat(e,"__subtitle"),children:t})}const bi=5;function xi(e,t){const i="item--visible",n="item--hidden";return e||t<bi?i:n}function ji(){const[e,t]=lt(!1),i=()=>{t(!e)};return b("ul",{className:"blocks",children:si.map(n=>{const r=zt(n.name.toLowerCase());return b("li",{className:"block block--".concat(r),children:[b("span",{className:"title",children:n.name}),b("ul",{className:"items",children:[n.items.map((a,o)=>{const h=Je("heading"in a?a.heading:a.text).substring(0,10);return b("li",{className:"item ".concat(xi(e,o)),children:"heading"in a?b(gi,{classPrefix:"item",heading:a.heading}):b(yi,{classPrefix:"item",item:a})},h)}),!e&&b("li",{className:"item",children:b("button",{type:"button",className:"show-all",onClick:i,children:"N\xE4yt\xE4 kaikki"})})]})]},r)})})}const Si='<svg width="100%" height="100%" viewBox="0 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"><path d="M0,5.68l0.003,-5.68l22.558,0.045l0.075,22.576l-22.636,-0.003l0.033,-14.158l16.963,0.033l-0.042,-2.861l-16.954,0.048Zm16.987,11.288l0.003,-2.894l-11.323,0.036l0.018,2.849l11.302,0.009Z" style="fill:#fff;"/><path d="M25.367,31.059l0,-5.68l22.558,0.045l0.075,22.576l-22.636,-0.003l0.036,-14.158l16.957,0.033l-0.042,-2.861l-16.948,0.048Zm16.981,11.288l0.006,-2.894l-11.321,0.039l0.018,2.846l11.297,0.009Z" style="fill:#fff;"/><path d="M31.058,0.008l0.038,16.956l16.904,-0.001l-0.011,5.651l-22.616,0.007l-0.009,-22.621l5.694,0.008Z" style="fill:#fff;fill-rule:nonzero;"/><path d="M22.636,25.379l-0.038,22.587l-5.587,0.034l-0.093,-17.028l-2.706,0l-0.072,17.028l-5.668,0l0.028,-17.028l-2.759,0l-0.038,17.028l-5.681,0l-0.022,-22.607l22.636,-0.014Z" style="fill:#fff;fill-rule:nonzero;"/></svg>\n';function Ai(){return b($,{children:b("div",{className:"logo",dangerouslySetInnerHTML:{__html:Si}})})}const Ei="alma_cmp_v3_consent_available_repetitive";function Mi(e,t){document.addEventListener(e,t,{once:!0})}function Ti(){const[e,t]=lt(!1);return Mi(Ei,()=>{t(!0)}),b($,{children:e&&b("button",{className:"open-cmp",type:"button",onClick:()=>{window.ALMA.cmpV3.openPreferences()},children:"Ev\xE4steasetukset"})})}function Ci(){return b(Q,{href:"https://www.almamedia.fi/yhteystiedot",children:"Alma Media yhteystiedot"})}const Ni=new Date().getFullYear(),Pi="\xA9 Alma Media Oyj ".concat(Ni);function Ui(){return b(Q,{href:"https://www.almamedia.fi/",children:Pi})}function zi(){return b(Q,{rel:"privacy-policy",href:"https://www.almamedia.fi/tietosuoja",title:"Yksityisyydensuoja Alma Mediassa",children:"Tietosuoja"})}function Ri(){return b("footer",{className:"footer",children:[b(Ui,{}),b(zi,{}),b(Ti,{}),b(Ci,{})]})}const Ki=':host{all:initial;contain:content;box-sizing:border-box}:host *,:host :before,:host :after{box-sizing:inherit}.container{--size-base:16px;--size-nano:calc(var(--size-base) * .25);--size-xxs:calc(var(--size-base) * .5);--size-xs:calc(var(--size-base) * .75);--size-small:calc(var(--size-base) * .875);--size-normal:calc(var(--size-base) * 1);--size-large:calc(var(--size-base) * 1.25);--size-xl:calc(var(--size-base) * 1.5);--size-xxl:calc(var(--size-base) * 2);font-family:HelveticaNeue-Light,Helvetica Neue Light,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-weight:300;font-size:var(--size-normal);text-align:left;padding:var(--size-xs);color:#fff;gap:var(--size-normal);direction:ltr;background:#333;justify-content:left;margin:0;display:none}@supports (--css:variables) and (display:grid) and (height:calc(100% - 10px)){.container{display:grid}}.container{grid-template-areas:"a""b""c"}@media screen and (width>=767px){.container{grid-template-areas:"a b""c c"}}.logo{box-sizing:content-box;padding:var(--size-xs);aspect-ratio:1;width:64px;height:auto;margin-bottom:var(--size-xxl);grid-area:a}a{color:#aaa;text-decoration-skip-ink:auto;text-decoration:none}a:hover{color:#fff;text-decoration:underline}.blocks{gap:var(--size-large);margin:0 0 var(--size-xxl);grid-area:b;grid-template-rows:min-content min-content min-content;grid-template-columns:1fr;padding:0;list-style:none;display:grid}@media screen and (width>=767px){.blocks{grid-template-rows:min-content;grid-template-columns:1fr 1fr 1fr}}.block{padding:var(--size-xs);padding-bottom:0}.block:hover{background:#00000026}.title{font-size:var(--size-xl);font-weight:700;line-height:var(--size-xl);color:#fff;margin-block:0 var(--size-xl);vertical-align:top;display:inline-block}.items{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.item{font-size:var(--size-small);line-height:var(--size-xl);padding-block:var(--size-xxs);padding-inline:var(--size-xs);margin-inline:calc(var(--size-xs) * -1)}.item:hover{background:#0003}
1366.item.item--hidden:not(:focus):not(:active){clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.item__subtitle{font-size:var(--size-large);margin:var(--size-xxl) 0 var(--size-normal);color:#fff;font-weight:700;line-height:1.25em}.item__primary-link{color:#fff;font-weight:700;text-decoration:underline #646464}.item__primary-link:hover{text-decoration-color:#fff}.item__md:before{content:" \u2013 "}.item__md{color:#aaa}.item__md a,.item__md a:link,.item__md a:visited{text-decoration:underline #646464}.item__md a:hover{text-decoration-color:#fff}.show-all{color:inherit;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline #646464}.show-all:hover{text-decoration-color:#fff}.footer{padding:var(--size-xs);gap:var(--size-normal);font-size:var(--size-small);flex-direction:column;grid-area:c;align-items:center;display:flex}@media screen and (width>=767px){.footer{flex-direction:row}}.footer a{cursor:pointer;color:#aaa;font-weight:inherit;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline #646464;display:inline}.footer a:hover{text-decoration-color:#fff}.footer .open-cmp{cursor:pointer;color:#aaa;font-weight:inherit;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline #646464;display:inline}.footer .open-cmp:hover{text-decoration-color:#fff}';function Li(){return b($,{children:b("style",{dangerouslySetInnerHTML:{__html:Ki}})})}function Hi(e){return e instanceof Element}function $i(e){const[t,i]=lt(null);return b("div",{className:"container",ref:r=>Hi(r)&&i(r),children:b(Be,{value:t,children:b(Oe,{value:e.lang,children:[b(Li,{}),b(Ai,{}),b(ji,{}),b(Ri,{})]})})})}var ve;(function(e){e.fatal="fatal",e.error="error",e.warning="warning",e.log="log",e.info="info",e.debug="debug",e.critical="critical"})(ve||(ve={}));const Di=/^\s*at (?:(.*?) ?\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Ii=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js))(?::(\d+))?(?::(\d+))?\s*$/i,Oi=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,ht="?",Bi="X-Sentry-Auth",Vi=/^(?:(\w+):)\/\/(?:([\w-]+)(?::(\w+))?@)([\w.-]+)(?::(\d+))?\/(.+)/;function Fi(e){if(!e.stack)return null;const t=[],i=e.stack.split("\n");let n,r;for(let a=0;a<i.length;++a){if(n=Di.exec(i[a]))r={filename:n[2]&&n[2].indexOf("address at ")===0?n[2].substr(11):n[2],function:n[1]||ht,lineno:n[3]?+n[3]:null,colno:n[4]?+n[4]:null};else if(n=Oi.exec(i[a]))r={filename:n[2],function:n[1]||ht,lineno:+n[3],colno:n[4]?+n[4]:null};else if(n=Ii.exec(i[a]))a===0&&!n[5]&&e.columnNumber!==void 0&&(t[0].column=e.columnNumber+1),r={filename:n[3],function:n[1]||ht,lineno:n[4]?+n[4]:null,colno:n[5]?+n[5]:null};else continue;!r.function&&r.lineno&&(r.function=ht),t.push(r)}return t.length?{value:ke(e),type:e.name,stacktrace:{frames:t.reverse()}}:null}function ke(e){return(e&&e.message||"No error message").split("\n").filter(i=>!!i)[0]}function Wi(e){try{const t=Fi(e);if(t)return t}catch(t){}return{value:ke(e),type:e&&e.name,stacktrace:{frames:[]}}}function qi(){return"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}class Xi{constructor(t){if(t&&t.dsn){const i=Vi.exec(t.dsn),n=i?i.slice(1):[],r=n[5].split("/"),a=r.slice(0,-1).join("/");this.apiUrl=n[0]+"://"+n[3]+(n[4]?":"+n[4]:"")+(a?"/"+a:"")+"/api/"+r.pop()+"/store/",this.authHeader="Sentry sentry_version=7,sentry_key="+n[1]+(n[2]?",sentry_secret="+n[2]:"")}this.environment=t&&t.environment}prepare(t){return O(R({},this.getRequestBlank()),{exception:{values:[Wi(t)]}})}report(t){this.send(this.prepare(t))}send(t){!this.apiUrl||!t||this.createRequest(t)}createRequest(t){const i=new XMLHttpRequest;i.open("POST",this.apiUrl,!0),i.setRequestHeader("Content-type","application/json"),i.setRequestHeader(Bi,this.authHeader||""),i.send(JSON.stringify(t))}getRequestBlank(){return{platform:"javascript",event_id:qi(),sdk:{name:"micro-sentry.javascript.core",version:"0.0.0"},timestamp:Date.now()/1e3,environment:this.environment}}}function we(e,t){return Object.prototype.toString.call(t)==="[object RegExp]"?t.test(e):typeof t=="string"?e.indexOf(t)!==-1:!1}const ye=100;function Gi(){return window}
1366class Rt extends Xi{constructor(t,i=Gi()){super(t),this.options=t,this.window=i,this.breadcrumbsKeyName="breadcrumbs",this.destroyed=!1,this._state={};const{plugins:n=[],beforeSend:r=v=>v,beforeBreadcrumb:a=v=>v,blacklistUrls:o=[],ignoreErrors:l=[],release:h=void 0,maxBreadcrumbs:p=ye}=this.options||{};this.plugins=n.map(v=>new v(this)),this.beforeSend=r,this.beforeBreadcrumb=a,this.blacklistUrls=o,this.ignoreErrors=l,this.release=h,this.maxBreadcrumbs=p>=0?p:ye}get state(){return this._state}clearState(){this._state={}}setTags(t){return this.setKeyState("tags",R({},t)),this}setTag(t,i){return this.extendState({tags:{[t]:i}}),this}setExtra(t,i){return this.extendState({extra:{[t]:i}}),this}setExtras(t){return this.setKeyState("extra",R({},t)),this}setUser(t){return this.setKeyState("user",t?R({},t):void 0),this}clone(){const t=new Rt(O(R({},this.options),{plugins:[]}));return t.extendState(this.state),t}withScope(t){const i=this.clone();t(i),i.destroy(),this.setBreadcrumbs(void 0)}addBreadcrumb(t){const i=this.beforeBreadcrumb(t);i&&(this.extendState({[this.breadcrumbsKeyName]:[R({timestamp:Date.now()/1e3},i)]}),this.trimBreadcrumbs())}setBreadcrumbs(t){this.setKeyState(this.breadcrumbsKeyName,t),this.trimBreadcrumbs()}captureMessage(t,i){this.send(O(R({},this.getRequestBlank()),{message:t,level:i}))}destroy(){this.destroyed=!0,this.plugins.forEach(t=>{t.destroy&&t.destroy()})}isIgnoredError(t){return this.ignoreErrors.length?this.getPossibleEventMessages(t).some(i=>this.ignoreErrors.some(n=>we(i,n))):!1}extractQueryString(t){let i=t;if(i){i.startsWith("/")&&(i="http://prefix".concat(i));try{const n=new URL(i).search.slice(1);return n.length?n:void 0}catch(n){return}}}getRequestBlank(){const t=this.window.location.toString();return R(O(R({request:{url:t,query_string:this.extractQueryString(t),headers:{"User-Agent":this.window.navigator.userAgent}}},super.getRequestBlank()),{sdk:{name:"micro-sentry.javascript.browser",version:"0.0.0"}}),this.state)}send(t){if(this.destroyed||this.isDeniedUrl(t)||this.isIgnoredError(t))return;const i=this.beforeSend(R({release:this.release},t));i&&(super.send(i),this.setBreadcrumbs(void 0))}getPossibleEventMessages(t){if(t.message)return[t.message];if(t.exception)try{const{type:i="",value:n=""}=t.exception.values&&t.exception.values[0]||{};return["".concat(n),"".concat(i,": ").concat(n)]}catch(i){return[]}return[]}isDeniedUrl(t){if(!this.blacklistUrls.length)return!1;const i=this.getEventFilterUrl(t);return i?this.blacklistUrls.some(n=>we(i,n)):!1}getEventFilterUrl(t){try{if(t.exception){const i=t.exception.values&&t.exception.values[0].stacktrace&&t.exception.values[0].stacktrace.frames;return i&&i[i.length-1].filename||null}return null}catch(i){return null}}extendState(t){this._state=Object.keys(t).reduce((i,n)=>{const r=this._state[n],a=Array.isArray(r)?r:null,o=t[n],l=Array.isArray(o)?o:null;return O(R({},i),{[n]:a||l?[...a||[],...l||[]]:R(R({},typeof r!="string"?r:{}),typeof o!="string"?o:{})})},this._state)}setKeyState(t,i){this._state[t]=i}getKeyState(t){return this._state[t]}trimBreadcrumbs(){var i;const t=this.getKeyState(this.breadcrumbsKeyName);t&&((i=t.length)!=null?i:0)>this.maxBreadcrumbs&&this.setKeyState(this.breadcrumbsKeyName,this.maxBreadcrumbs>0?t.slice(-this.maxBreadcrumbs):[])}}const Ji=new Rt({dsn:"https://[email protected]/4506991592603648",ignoreErrors:[],beforeSend:e=>(e.user&&(e.user.ip_address=void 0),console.debug("Reporting:",e),e)});function Yi(e){Ji.report(e)}function Zi({children:e}){const[t]=$e();return t&&(console.error(t),Yi(t)),b($,{children:typeof t=="undefined"&&e})}function _t(){return _t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},_t.apply(this,arguments)}function ge(e,t){if(e==null)return{};var i,n,r={},a=Object.keys(e);for(n=0;n<a.length;n++)t.indexOf(i=a[n])>=0||(r[i]=e[i]);return r}var Qi=["context","children"],tn=["useFragment"];function en(e,t,i,n){function r(){var a,o=Reflect.construct(HTMLElement,[],r);return o._vdomComponent=e,n&&n.shadow?(o._root=o.attachShadow({mode:n.mode||"open",serializable:(a=n.serializable)!=null&&a}),n.adoptedStyleSheets&&(o._root.adoptedStyleSheets=n.adoptedStyleSheets)):o._root=o,o}return(r.prototype=Object.create(HTMLElement.prototype)).constructor=r,r.prototype.connectedCallback=function(){an.call(this,n)},r.prototype.attributeChangedCallback=rn,r.prototype.disconnectedCallback=on,i=i||e.observedAttributes||Object.keys(e.propTypes||{}),r.observedAttributes=i,e.formAssociated&&(r.formAssociated=!0),i.forEac
1366h(function(a){Object.defineProperty(r.prototype,a,{get:function(){return this._vdom?this._vdom.props[a]:this._props[a]},set:function(o){this._vdom?this.attributeChangedCallback(a,null,o):(this._props||(this._props={}),this._props[a]=o);var l=typeof o;o!=null&&l!=="string"&&l!=="boolean"&&l!=="number"||this.setAttribute(a,o)}})}),customElements.define(t,r),r}function nn(e){this.getChildContext=function(){return e.context};var t=e.children,i=ge(e,Qi);return Jt(t,i)}function an(e){var t=new CustomEvent("_preact",{detail:{},bubbles:!0,cancelable:!0});this.dispatchEvent(t),this._vdom=q(nn,_t({},this._props,{context:t.detail.context}),je(this,this._vdomComponent,e)),(this.hasAttribute("hydrate")?Gt:st)(this._vdom,this._root)}function be(e){return e.replace(/-(\w)/g,function(t,i){return i?i.toUpperCase():""})}function rn(e,t,i){if(this._vdom){var n={};n[e]=i=i==null?void 0:i,n[be(e)]=i,this._vdom=Jt(this._vdom,n),st(this._vdom,this._root)}}function on(){st(this._vdom=null,this._root)}function xe(e,t){var i=this,n=e.useFragment,r=ge(e,tn);return q(n?$:"slot",_t({},r,{ref:function(a){a?(i.ref=a,i._listener||(i._listener=function(o){o.stopPropagation(),o.detail.context=t},a.addEventListener("_preact",i._listener))):i.ref.removeEventListener("_preact",i._listener)}}))}function je(e,t,i){if(e.nodeType===3)return e.data;if(e.nodeType!==1)return null;var n=[],r={},a=0,o=e.attributes,l=e.childNodes;for(a=o.length;a--;)o[a].name!=="slot"&&(r[o[a].name]=o[a].value,r[be(o[a].name)]=o[a].value);for(a=l.length;a--;){var h=je(l[a],null,i),p=l[a].slot;p?r[p]=q(xe,{name:p},h):n[a]=h}var v=!(!i||!i.shadow),u=t?q(xe,{useFragment:!v},n):n;return!v&&t&&(e.innerHTML=""),q(t||e.nodeName.toLowerCase(),r,u)}function sn(e,t,i=[]){if(!un(t)){console.error("<".concat(t,"> is not an Alma Media web component. Please use a valid tag name."));return}if(!ln()){console.error("<".concat(t,"> Shadow DOM v1 is not supported in this browser."));return}customElements.get(t)?console.warn("<".concat(t,"> is already defined in the custom elements registry.")):en(e,t,i,{shadow:!0})}function ln(){return typeof document.head.attachShadow=="function"}function un(e){return e.startsWith("almamedia-")}const cn="almamedia-footer";function Se(e){const{lang:t="fi"}=e;return b(Zi,{children:b($i,{lang:t})})}return sn(Se,cn,["lang"]),N.AlmaFooter=Se,Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}),N})({}); 1367/*! Build time: 2026-04-28T07:58:34.230Z */ 1368 } 1369 catch (e) { 1370 console.error('Error rendering Alma Footer', e); 1371 } 1372 })(); 1373 </script>
1373 1374 </article> 1375</div> 1376<!--/ ALMA CR WIDGET --> 1377<!-- ALMACR:CONTENT_OK --> 1378 1379<!-- ALMACR:CLIENT:WORDPRESS:INFO:TRANSIENT_CACHE_SHORT:HIT --> 1380 1381 </div> 1382</div> <!--<![endif]--> <!--[if lt IE 9]><!--> 1383</div> 1384
1384<script type="speculationrules"> 1385{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/almamedia/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 1386</script>
1386 1387<style id="core-block-supports-inline-css"> 1388.wp-container-core-columns-is-layout-8f761849{flex-wrap:nowrap;} 1389/*# sourceURL=core-block-supports-inline-css */ 1390</style>
1391<script id="image-map-pro-dist-js-js" src="https://www.almamedia.fi/wp-content/plugins/image-map-pro-wordpress/js/image-map-pro.min.js?ver=5.6.8"></script>
vendor: 1 bytes, line 1391
1391
1392<script id="pll_cookie_script-js-after"> 1393(function() { 1394 var expirationDate = new Date(); 1395 expirationDate.setTime( expirationDate.getTime() + 31536000 * 1000 ); 1396 document.cookie = "pll_language=fi; expires=" + expirationDate.toUTCString() + "; path=/; secure; SameSite=Lax"; 1397 }()); 1398 1399//# sourceURL=pll_cookie_script-js-after 1400</script>
vendor: 1 bytes, line 1400
1400
1401<script id="block-jquery-colorbox-js" src="https://www.almamedia.fi/wp-content/themes/almamedia/assets-external/jquery.colorbox-min.js?ver=7.0.5"></script>
vendor: 1 bytes, line 1401
1401
1402<script id="alma/vendor-js" src="https://www.almamedia.fi/wp-content/themes/almamedia/dist/scripts/vendor.js"></script>
vendor: 1 bytes, line 1402
1402
1403<script id="alma/js-js-extra"> 1404var settings = {"network_home_url":"https://www.almamedia.fi/","home_url":"https://www.almamedia.fi","ajax_url":"https://www.almamedia.fi/wp-admin/admin-ajax.php","theme_settings":{"Almamedia_alma_accordion_active_menu_item":"","Almamedia_alma_accordion_archive":"","Almamedia_alma_accordion_description":"","Almamedia_alma_accordion_slug":"","Almamedia_alma_accordion_title":"","Almamedia_alma_case_active_menu_item":"","Almamedia_alma_case_archive":"","Almamedia_alma_case_description":"","Almamedia_alma_case_slug":"mainostajat/caset","Almamedia_alma_case_title":"","Almamedia_alma_contact_active_menu_item":"","Almamedia_alma_contact_archive":"","Almamedia_alma_contact_description":"","Almamedia_alma_contact_slug":"contact","Almamedia_alma_contact_title":"","Almamedia_alma_job_active_menu_item":"","Almamedia_alma_job_archive":"","Almamedia_alma_job_description":"","Almamedia_alma_job_slug":"job","Almamedia_alma_job_title":"","Almamedia_alma_sus_case_active_menu_item":"","Almamedia_alma_sus_case_archive":"","Almamedia_alma_sus_case_description":"","Almamedia_alma_sus_case_slug":"","Almamedia_alma_sus_case_title":"","Almamedia_alma_twitter_active_menu_item":"","Almamedia_alma_twitter_archive":"","Almamedia_alma_twitter_description":"","Almamedia_alma_twitter_slug":"","Almamedia_alma_twitter_title":"","Almamedia_tellu_contact_active_menu_item":"","Almamedia_tellu_contact_archive":"","Almamedia_tellu_contact_description":"","Almamedia_tellu_contact_slug":"","Almamedia_tellu_contact_title":"","doc_body_content":"","doc_head_content":""}}; 1405//# sourceURL=alma%2Fjs-js-extra 1406</script>
vendor: 1 bytes, line 1406
1406
1407<script id="alma/js-js" src="https://www.almamedia.fi/wp-content/themes/almamedia/dist/scripts/main.js"></script>
1407 1408 1409 </div> 1410 1411 1412 </div> 1413 1414
1414<script type="speculationrules"> 1415{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/almamedia/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 1416</script>
1416 1417 1418 1419 1420 1421</div>
1422<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a40085b8bcc73bdc',t:'MTc5MDIzOTYyNQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
1422</body> 1423</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.