PageSourceSearch

https://www.almamedia.fi/

html almamedia.fi collected 2026-09-24 08:47:05 UTC 128,882 bytes, 1,423 lines download raw bytes

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&#038;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&#038;format=xml&#038;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 &#8211; 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 &amp; tekoäly)</a></p>
1138							<p><a href="https://www.almamedia.fi/job/performance-rewards-manager/">Performance &amp; 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.