1<!doctype html> 2<html lang="fi" data-theme="joensuu"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1"> 6 7
7<script 8 id="Cookiebot" 9 data-culture="fi" 10 src="https://consent.cookiebot.com/uc.js" 11 data-cbid="141e5939-6ad0-48d4-be65-ceba8df7d25e" 12 type="text/javascript" 13 async> 14 </script>
14 15 16
16<script> 17 (function(){ 18 const colors = ["#0026E1", "#FFFCD6", "#DCF9FF", "#FCE6FF"]; 19 const savedColor = sessionStorage.getItem("gradientColor") || colors[0]; 20 let idx = colors.indexOf(savedColor); 21 22 if (idx === -1) { 23 idx = 0; 24 } 25 26 // Set initial background and pass the same color to the SVG via CSS. 27 document.write( 28 '<style>.gradient-scroll{background-color:' + savedColor + ';--shape-color:' + savedColor + '}</style>' 29 ); 30 31 // Sync the data attribute early so headings, etc. match the color. 32 document.addEventListener("DOMContentLoaded", function(){ 33 const el = document.querySelector(".gradient-scroll"); 34 35 if (el) { 36 el.setAttribute("data-bg-index", idx); 37 } 38 }); 39 })(); 40 </script>
40 41 42 <title>Joensuu - Helppo hengittää</title> 43<link rel="alternate" href="https://www.joensuu.fi/" hreflang="fi" /> 44<link rel="alternate" href="https://www.joensuu.fi/en/" hreflang="en" /> 45 46<!-- The SEO Framework tehnyt Sybre Waaijer --> 47<meta name="robots" content="max-snippet:-1,max-image-preview:large,max-video-preview:-1" /> 48<link rel="canonical" href="https://www.joensuu.fi/" /> 49<meta name="theme-color" content="#1259f5" /> 50<meta property="og:type" content="website" /> 51<meta property="og:locale" content="fi_FI" /> 52<meta property="og:site_name" content="Joensuu" /> 53<meta property="og:title" content="Joensuu" /> 54<meta property="og:url" content="https://www.joensuu.fi/" /> 55<meta property="og:image" content="https://www.joensuu.fi/app/uploads/2026/03/cropped-somejako_Joensuu.jpg" /> 56<meta property="og:image:width" content="2559" /> 57<meta property="og:image:height" content="1344" /> 58<meta name="twitter:card" content="summary_large_image" /> 59<meta name="twitter:title" content="Joensuu" /> 60<meta name="twitter:image" content="https://www.joensuu.fi/app/uploads/2026/03/cropped-somejako_Joensuu.jpg" />
61<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://www.joensuu.fi/#/schema/WebSite","url":"https://www.joensuu.fi/","name":"Joensuu","description":"Helppo hengittää","inLanguage":"fi","publisher":{"@id":"https://www.joensuu.fi/#/schema/Organization"}},{"@type":"WebPage","@id":"https://www.joensuu.fi/","url":"https://www.joensuu.fi/","name":"Joensuu - Helppo hengittää","inLanguage":"fi","isPartOf":{"@id":"https://www.joensuu.fi/#/schema/WebSite"},"breadcrumb":{"@type":"BreadcrumbList","@id":"https://www.joensuu.fi/#/schema/BreadcrumbList","itemListElement":{"@type":"ListItem","position":1,"name":"Joensuu"}},"potentialAction":{"@type":"ReadAction","target":"https://www.joensuu.fi/"},"about":{"@id":"https://www.joensuu.fi/#/schema/Organization"}},{"@type":"Organization","@id":"https://www.joensuu.fi/#/schema/Organization","name":"Joensuu","url":"https://www.joensuu.fi/","logo":{"@type":"ImageObject","url":"https://www.joensuu.fi/app/uploads/2025/06/cropped-joensuu.png","contentUrl":"https://www.joensuu.fi/app/uploads/2025/06/cropped-joensuu.png","width":512,"height":512,"contentSize":"16225"}}]}</script>
61 62<!-- / The SEO Framework tehnyt Sybre Waaijer | 2.31ms meta | 0.27ms boot --> 63 64<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.joensuu.fi/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.joensuu.fi%2F&lang=fi" /> 65<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.joensuu.fi/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.joensuu.fi%2F&format=xml&lang=fi" /> 66<style id='wp-img-auto-sizes-contain-inline-css'> 67img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 68/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 69</style> 70<style id='wp-block-paragraph-inline-css'> 71.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg} 72/*# sourceURL=https://www.joensuu.fi/wp-includes/blocks/paragraph/style.min.css */ 73</style> 74<style id='wp-block-heading-inline-css'> 75h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg} 76/*# sourceURL=https://www.joensuu.fi/wp-includes/blocks/heading/style.min.css */ 77</style> 78<style id='wp-emoji-styles-inline-css'> 79 80 img.wp-smiley, img.emoji { 81 display: inline !important; 82 border: none !important; 83 box-shadow: none !important; 84 height: 1em !important; 85 width: 1em !important; 86 margin: 0 0.07em !important; 87 vertical-align: -0.1em !important; 88 background: none !important; 89 padding: 0 !important; 90 } 91/*# sourceURL=wp-emoji-styles-inline-css */ 92</style> 93<link rel='stylesheet' id='wp-block-library-css' href='https://www.joensuu.fi/wp-includes/css/dist/block-library/style.min.css?ver=798760783' media='all' /> 94 95<style id='global-styles-inline-css'> 96: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--color--theme-white: #FFFFFF;
96--wp--preset--color--theme-alabaster: #F0EBDD;--wp--preset--color--theme-nyanza: #DBEDD3;--wp--preset--color--theme-pale-purple: #EDD3EA;--wp--preset--color--theme-misty-rose: #EDD3D3;--wp--preset--color--theme-timberwolf: #DCD6D6;--wp--preset--color--theme-black: #000000;--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,0) 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--spacing--xs: var(--wp--custom--spacing--xs);--wp--preset--spacing--s: var(--wp--custom--spacing--s);--wp--preset--spacing--m: var(--wp--custom--spacing--m);--wp--preset--spacing--l: var(--wp--custom--spacing--l);--wp--preset--spacing--xl: var(--wp--custom--spacing--xl);--wp--preset--spacing--xxl: var(--wp--custom--spacing--xxl);--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);}.wp-block-heading{--wp--preset--font-size--small: var(--wp--custom--font-size--small);--wp--preset--font-size--medium: var(--wp--custom--font-size--medium);--wp--preset--font-size--large: var(--wp--custom--font-size--large);--wp--preset--font-size--x-large: var(--wp--custom--font-size--xl);--wp--preset--font-size--xx-large: var(--wp--custom--font-size--xxl);}:root { --wp--style--global--content-size: var(--content-size);--wp--style--global--wide-size: var(--wide-size); }:where(body) { margin: 0; }.wp-site-blocks { padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom); }.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) { padding-right: 0; padding-left: 0; }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) > .alignfull { margin-left: 0; margin-right: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: var(--wp--preset--spacing--l); margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: var(--wp--preset--spacing--l); }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: var(--wp--preset--spacing--l);margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: var(--wp--preset--spacing--l);margin-block-end: 0;}:root :where(.is-layout-flex){gap: var(--wp--preset--spacing--l);}:root :where(.is-layout-grid){gap: var(--wp--preset--spacing--l);}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained >
96 :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}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{--wp--style--root--padding-top: 0px;--wp--style--root--padding-right: 1.5rem;--wp--style--root--padding-bottom: 0px;--wp--style--root--padding-left: 1.5rem;}a:where(:not(.wp-element-button)){text-decoration: underline;}: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-theme-white-color{color: var(--wp--preset--color--theme-white) !important;}.has-theme-alabaster-color{color: var(--wp--preset--color--theme-alabaster) !important;}.has-theme-nyanza-color{color: var(--wp--preset--color--theme-nyanza) !important;}.has-theme-pale-purple-color{color: var(--wp--preset--color--theme-pale-purple) !important;}.has-theme-misty-rose-color{color: var(--wp--preset--color--theme-misty-rose) !important;}.has-theme-timberwolf-color{color: var(--wp--preset--color--theme-timberwolf) !important;}.has-theme-black-color{color: var(--wp--preset--color--theme-black) !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-theme-white-background-color{background-color: var(--wp--preset--color--theme-white) !important;}.has-theme-alabaster-background-color{background-color: var(--wp--preset--color--theme-alabaster) !important;}.has-theme-nyanza-background-color{background-color: var(--wp--preset--color--theme-nyanza) !important;}.has-theme-pale-purple-background-color{background-color: var(--wp--preset--color--theme-pale-purple) !important;}.has-theme-misty-rose-background-color{background-color: var(--wp--preset--color--theme-misty-rose) !important;}.has-theme-timberwolf-background-color{background-color: var(--wp--preset--color--theme-timberwolf) !important;}.has-theme-black-background-color{background-color: var(--wp--preset--color--theme-black) !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-theme-white-border-color{border-color: var(--wp--preset--color--theme-white) !important;}.has-theme-alabaster-border-color{border-color: var(--wp--preset--color--theme-alabaster) !important;}.has-theme-nyanza-border-color{border-color: var(--wp--preset--color--theme-nyanza) !important;}.has-theme-pale-purple-border-color{border-color: var(--wp--preset--color--theme-pale-purple) !important;}.has-theme-misty-rose-border-color{border-color: var(--wp--preset--color--theme-misty-rose) !important;}.has-theme-timberwolf-border-color{border-color: var(--wp--preset--color--theme-timberwolf) !important;}.has-theme-black-border-color{border-color: var(--wp--preset--color--theme-black) !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;}
96.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;}.wp-block-heading.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.wp-block-heading.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.wp-block-heading.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.wp-block-heading.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.wp-block-heading.has-xx-large-font-size{font-size: var(--wp--preset--font-size--xx-large) !important;} 97/*# sourceURL=global-styles-inline-css */ 98</style> 99
100<script id="joe_inline_scripts-js-before"> 101window.globalVariables = Object.assign({}, window.globalVariables || {}, {"homeUrl":"https:\/\/www.joensuu.fi\/","blogPath":null,"locale":"fi","externalLinkSrText":"avautuu ulkoiselle sivustolle"}); const globalVariables = window.globalVariables; 102//# sourceURL=joe_inline_scripts-js-before 103</script>
103 104<link rel="https://api.w.org/" href="https://www.joensuu.fi/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.joensuu.fi/wp-json/wp/v2/pages/8" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.joensuu.fi/xmlrpc.php?rsd" /> 105 106<link rel="preload" as="style" href="https://www.joensuu.fi/app/themes/joensuu/public/build/assets/app-MqYJPu75.css" /><link rel="preload" as="style" href="https://www.joensuu.fi/app/themes/joensuu/public/build/assets/app-DHBATib1.css" /><link rel="modulepreload" as="script" href="https://www.joensuu.fi/app/themes/joensuu/public/build/assets/app-DDY07Cje.js" /><link rel="modulepreload" as="script" href="https://www.joensuu.fi/app/themes/joensuu/public/build/assets/_commonjsHelpers-cqllCxmf.js" /><link rel="stylesheet" href="https://www.joensuu.fi/app/themes/joensuu/public/build/assets/app-MqYJPu75.css" /><link rel="stylesheet" href="https://www.joensuu.fi/app/themes/joensuu/public/build/assets/app-DHBATib1.css" />
106<script type="module" src="https://www.joensuu.fi/app/themes/joensuu/public/build/assets/app-DDY07Cje.js"></script>
106 107<link rel="icon" href="https://www.joensuu.fi/app/uploads/2025/06/cropped-joensuu-150x150.png" sizes="32x32" /> 108<link rel="icon" href="https://www.joensuu.fi/app/uploads/2025/06/cropped-joensuu.png" sizes="192x192" /> 109<link rel="apple-touch-icon" href="https://www.joensuu.fi/app/uploads/2025/06/cropped-joensuu.png" /> 110<meta name="msapplication-TileImage" content="https://www.joensuu.fi/app/uploads/2025/06/cropped-joensuu.png" /> 111 </head> 112 113 <body class="home wp-singular page-template page-template-template-front-page page page-id-8 wp-embed-responsive wp-theme-joensuu w-screen relative text-black font-sans"> 114 115
115<script data-cookieconsent="ignore" type="text/javascript"> 116(function(window, document, dataLayerName, id) { 117window[dataLayerName]=window[dataLayerName]||[],window[dataLayerName].push({start:(new Date).getTime(),event:"stg.start"});var scripts=document.getElementsByTagName('script')[0],tags=document.createElement('script'); 118var qP=[];dataLayerName!=="dataLayer"&&qP.push("data_layer_name="+dataLayerName);var qPString=qP.length>0?("?"+qP.join("&")):""; 119tags.async=!0,tags.src="https://joensuu.containers.piwik.pro/"+id+".js"+qPString,scripts.parentNode.insertBefore(tags,scripts); 120!function(a,n,i){a[n]=a[n]||{};for(var c=0;c<i.length;c++)!function(i){a[n][i]=a[n][i]||{},a[n][i].api=a[n][i].api||function(){var a=[].slice.call(arguments,0);"string"==typeof a[0]&&window[dataLayerName].push({event:n+"."+i+":"+a[0],parameters:[].slice.call(arguments,1)})}}(i[c])}(window,"ppms",["tm","cm"]); 121})(window, document, 'dataLayer', 'a654cac0-25b8-4e13-900f-7914cd74d7c2'); 122</script>
122 123 <div id="app"> 124 125 <a href="#main" class="sr-only focus:not-sr-only text-accent !absolute top-16 left-16 !py-6 !px-8 bg-white inline-block fit-content skip-to-main ">Siirry sisältöön</a> 126 127 128 <header 129 id="header" 130 class="absolute top-0 left-0 w-full z-50 " 131 x-bind:class=" 132 { 133 'nav-state--active-delay': isOpen || isOpenDelay, 134 } 135 " 136 x-bind:data-header-nav-active="isOpen" 137 x-data=" 138 { 139 searchIsOpen: false, 140 searchIsOpenDelayShort: false, 141 searchIsOpenDelay: false, 142 isOpen: false, 143 isOpenDelayShort: false, 144 isOpenDelay: false, 145 closedMainNavWithEscape: false, 146 closedSearchWithEscape: false, 147 closedMobileSearchWithEscape: false, 148 mobileSearchIsOpen: false, 149 mobileSearchIsOpenDelayShort: false, 150 mobileSearchIsOpenDelay: false, 151 langSwitcherIsOpenDelayShort: false, 152 langSwitcherIsOpenDelay: false, 153 langSwitcherIsOpen: false, 154 } 155 " 156 x-init=" 157 $watch('isOpen', value => { 158 setTimeout(() => { isOpenDelay = value }, 700); 159 setTimeout(() => { isOpenDelayShort = value }, 30); 160 }); 161 $watch('langSwitcherIsOpen', value => { 162 setTimeout(() => { langSwitcherIsOpenDelay = value }, 700); 163 setTimeout(() => { langSwitcherIsOpenDelayShort = value }, 30); 164 }); 165 $watch('searchIsOpen', value => { 166 setTimeout(() => { searchIsOpenDelay = value }, 700); 167 setTimeout(() => { searchIsOpenDelayShort = value }, 30); 168 if (value) { 169 setTimeout(() => { document.getElementById('site-search-header')?.focus(); }, 300); 170 } 171 }); 172 $watch(() => isOpen || searchIsOpen || mobileSearchIsOpen || langSwitcherIsOpen, value => { 173 if (value) { 174 document.documentElement.classList.add('scroll-locked'); 175 } else { 176 document.documentElement.classList.remove('scroll-locked'); 177 } 178 } 179 ); 180 " 181 x-trap="isOpen" 182 > 183 184 <div class="header-container"> 185 <div id="header-controls" class="header-controls relative w-full h-full flex items-center text-accent"> 186 <div class="container px-18 md:px-24 mx-auto relative z-20"> 187 <div class="flex justify-between items-center font-semibold text-base 2xl:text-baseb gap-32 front-page-logo-container" x-bind:class="isOpen ? '!hidden' : ''"> 188 <a class="header-logo max-w-[9rem] md:max-w-[12rem]" href="https://www.joensuu.fi/"> 189 <svg class="w-full h-auto header-logo--color" role="img" alt="" aria-hidden="true" width="198" height="23" viewBox="0 0 198 23" fill="none" xmlns="http://www.w3.org/2000/svg"> 190<g> 191<path fill-rule="evenodd" clip-rule="evenodd" d="M129.412 9.91726L124.306 8.93529C122.358 8.54494 120.916 8.05701 120.916 6.47122C120.916 4.64147 122.863 3.58631 125.596 3.58631C129.065 3.58631 131.365 5.09891 132.656 7.10554L135.973 4.22063C133.83 1.75656 130.355 0 125.602 0C119.833 0 116.011 2.74463 116.011 6.75178C116.011 10.4418 118.975 12.1679 122.717 12.8693L128.256 13.8878C130.325 14.3087 131.846 14.8393 131.846 16.4556C131.846 18.389 129.503 19.4076 126.387 19.4076C122.955 19.4076 119.644 17.9987 117.849 15.2906L114.769 18.4927C117.07 21.3044 121.281 22.9939 126.387 22.9939C132.157 22.9939 136.758 20.5664 136.758 16.2787C136.758 12.5521 134.031 10.7955 129.43 9.91116L129.412 9.91726ZM13.8893 14.2782C13.8893 17.3704 12.5626 19.2002 9.48314 19.2002C6.40368 19.2002 4.8396 17.2058 4.96741 13.961H0.00739743C-0.187351 19.554 3.47636 23 9.44054 23C14.8205 23 18.8372 20.048 18.8372 14.5587V0.420846H13.8833V14.2782H13.8893ZM61.0672 13.0827H72.1375V9.35615H61.0672V4.18405H75.7647V0.420861H56.2715V22.5792H76.1116V18.816H61.0672V13.0827ZM90.5778 0.420861L102.354 15.6139V0.420861H106.876V22.5792H102.549L89.5675 6.15408V22.5792H85.0822V0.420861H90.5778ZM193.119 0.420861V12.9059C193.119 16.9496 190.977 19.2368 187.076 19.2368C183.175 19.2368 181.075 16.9496 181.075 12.9059V0.420861H176.164V13.5036C176.164 19.9748 181.191 23 187.082 23C192.973 23 198 19.9748 198 13.5036V0.420861H193.125H193.119ZM155.849 19.2368C159.75 19.2368 161.892 16.9496 161.892 12.9059V0.420861H166.767V13.5036C166.767 19.9748 161.74 23 155.849 23C149.958 23 144.931 19.9748 144.931 13.5036V0.420861H149.842V12.9059C149.842 16.9496 151.948 19.2368 155.849 19.2368ZM30.37 11.3201C30.37 7.69716 33.3034 4.75736 36.9184 4.75736C40.5334 4.75736 43.4668 7.69716 43.4668 11.3201C43.4668 14.943 40.5334 17.8828 36.9184 17.8828C33.3034 17.8828 30.37 14.943 30.37 11.3201Z" fill="#0026E1"/> 192</g> 193</svg> 194 <svg class="w-full h-auto header-logo--white" role="img" alt="" aria-hidden="true" width="198" height="23" viewBox="0 0 198 23" fill="none" xmlns="http://www.w3.org/2000/svg"> 195<g> 196<path fill-rule="evenodd" clip-rule="evenodd" d="M129.412 9.91726L124.306 8.93529C122.358 8.54494 120.916 8.05701 120.916 6.47122C120.916 4.64147 122.863 3.58631 125.596 3.58631C129.065 3.58631 131.365 5.09891 132.656 7.10554L135.973 4.22063C133.83 1.75656 130.355 0 125.602 0C119.833 0 116.011 2.74463 116.011 6.75178C116.011 10.4418 118.975 12.1679 122.717 12.8693L128.256 13.8878C130.325 14.3087 131.846 14.8393 131.846 16.4556C131.846 18.389 129.503 19.4076 126.387 19.4076C122.955 19.4076 119.644 17.9987 117.849 15.2906L114.769 18.4927C117.07 21.3044 121.281 22.9939 126.387 22.9939C132.157 22.9939 136.758 20.5664 136.758 16.2787C136.758 12.5521 134.031 10.7955 129.43 9.91116L129.412 9.91726ZM13.8893 14.2782C13.8893 17.3704 12.5626 19.2002 9.48314 19.2002C6.40368 19.2002 4.8396 17.2058 4.96741 13.961H0.00739743C-0.187351 19.554 3.47636 23 9.44054 23C14.8205 23 18.8372 20.048 18.8372 14.5587V0.420846H13.8833V14.2782H13.8893ZM61.0672 13.0827H72.1375V9.35615H61.0672V4.18405H75.7647V0.420861H56.2715V22.5792H76.1116V18.816H61.0672V13.0827ZM90.5778 0.420861L102.354 15.6139V0.420861H106.876V22.5792H102.549L89.5675 6.15408V22.5792H85.0822V0.420861H90.5778ZM193.119 0.420861V12.9059C193.119 16.9496 190.977 19.2368 187.076 19.2368C183.175 19.2368 181.075 16.9496 181.075 12.9059V0.420861H176.164V13.5036C176.164 19.9748 181.191 23 187.082 23C192.973 23 198 19.9748 198 13.5036V0.420861H193.125H193.119ZM155.849 19.2368C159.75 19.2368 161.892 16.9496 161.892 12.9059V0.420861H166.767V13.5036C166.767 19.9748 161.74 23 155.849 23C149.958 23 144.931 19.9748 144.931 13.5036V0.420861H149.842V12.9059C149.842 16.9496 151.948 19.2368 155.849 19.2368ZM30.37 11.3201C30.37 7.69716 33.3034 4.75736 36.9184 4.75736C40.5334 4.75736 43.4668 7.69716 43.4668 11.3201C43.4668 14.943 40.5334 17.8828 36.9184 17.8828C33.3034 17.8828 30.37 14.943 30.37 11.3201Z" fill="#ffffff"/> 197</g> 198</svg>
198 <span class="sr-only">Siirry etusivulle</span> 199 </a> 200 201 <div class="header-icons relative flex gap-32 md:gap-36 2xl:gap-48 transition duration-300 font-mono font-600 text-white md:bg-white md:text-accent md:pb-4"> 202 <button 203 type="button" 204 x-ref="searchToggleButton" 205 class="nav-toggle hidden md:flex gap-2 2xl:gap-4 items-center justify-center group animated-underline-invert-accent" 206 aria-controls="site-search" 207 :aria-expanded="searchIsOpen" 208 x-on:click.throttle.700ms="searchIsOpen = !searchIsOpen; setTimeout(() => { isOpen = false }, 150)" 209 x-bind:class="searchIsOpen ? 'md:hidden' : ''" 210> 211 <span> 212 <span class="font-mono" aria-hidden="true">Hae</span> 213 <span class="sr-only">Avaa haku</span> 214 </span> 215 <svg class="inherit-color-fill w-24 h-24" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 216<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 217<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 218</mask> 219<g> 220<path d="M15.9157 17.9473L10.854 12.8857C10.4453 13.1598 9.99429 13.3759 9.50109 13.5338C9.0079 13.6917 8.47693 13.7707 7.90818 13.7707C6.44818 13.7707 5.20457 13.2571 4.17734 12.2298C3.15026 11.2028 2.63672 9.95942 2.63672 8.49984C2.63672 7.04025 3.15026 5.79692 4.17734 4.76984C5.20457 3.74262 6.44797 3.229 7.90755 3.229C9.36714 3.229 10.6105 3.74262 11.6376 4.76984C12.6648 5.79692 13.1784 7.04046 13.1784 8.50046C13.1784 9.07713 13.0994 9.6081 12.9415 10.0934C12.7836 10.5787 12.5676 11.0218 12.2934 11.4228L17.3667 16.508L15.9157 17.9473ZM7.90755 11.729C8.80908 11.729 9.57262 11.4162 10.1982 10.7907C10.8239 10.165 11.1367 9.40137 11.1367 8.49984C11.1367 7.59831 10.8239 6.8347 10.1982 6.209C9.57262 5.58345 8.80908 5.27067 7.90755 5.27067C7.00602 5.27067 6.24241 5.58345 5.61672 6.209C4.99116 6.8347 4.67839 7.59831 4.67839 8.49984C4.67839 9.40137 4.99116 10.165 5.61672 10.7907C6.24241 11.4162 7.00602 11.729 7.90755 11.729Z" fill="#0026E1"/> 221</g> 222</svg></button> 223 224<button 225 type="button" 226 x-ref="mobileSearchButton" 227 class="nav-toggle flex md:hidden items-center justify-center" 228 x-bind:aria-label="mobileSearchIsOpen ? 'Sulje haku' : 'Avaa haku'" 229 aria-controls="mobile-site-search" 230 :aria-expanded="mobileSearchIsOpen" 231 x-on:click.throttle.700ms="mobileSearchIsOpen = !mobileSearchIsOpen; setTimeout(() => { isOpen = false }, 150)" 232> 233 <svg class="inherit-color-fill w-24 h-24" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 234<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 235<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 236</mask> 237<g> 238<path d="M15.9157 17.9473L10.854 12.8857C10.4453 13.1598 9.99429 13.3759 9.50109 13.5338C9.0079 13.6917 8.47693 13.7707 7.90818 13.7707C6.44818 13.7707 5.20457 13.2571 4.17734 12.2298C3.15026 11.2028 2.63672 9.95942 2.63672 8.49984C2.63672 7.04025 3.15026 5.79692 4.17734 4.76984C5.20457 3.74262 6.44797 3.229 7.90755 3.229C9.36714 3.229 10.6105 3.74262 11.6376 4.76984C12.6648 5.79692 13.1784 7.04046 13.1784 8.50046C13.1784 9.07713 13.0994 9.6081 12.9415 10.0934C12.7836 10.5787 12.5676 11.0218 12.2934 11.4228L17.3667 16.508L15.9157 17.9473ZM7.90755 11.729C8.80908 11.729 9.57262 11.4162 10.1982 10.7907C10.8239 10.165 11.1367 9.40137 11.1367 8.49984C11.1367 7.59831 10.8239 6.8347 10.1982 6.209C9.57262 5.58345 8.80908 5.27067 7.90755 5.27067C7.00602 5.27067 6.24241 5.58345 5.61672 6.209C4.99116 6.8347 4.67839 7.59831 4.67839 8.49984C4.67839 9.40137 4.99116 10.165 5.61672 10.7907C6.24241 11.4162 7.00602 11.729 7.90755 11.729Z" fill="#0026E1"/> 239</g> 240</svg></button> 241 242 <button 243 type="button" 244 class="nav-toggle flex md:hidden items-center justify-center" 245 aria-label="Avaa kielivalikko" 246 aria-controls="lang-switcher" 247 :aria-expanded="langSwitcherIsOpen" 248 x-on:click.throttle.700ms="langSwitcherIsOpen = !langSwitcherIsOpen; setTimeout(() => { isOpen = false }, 150)" 249> 250 <svg class="w-24 h-24 inherit-color-fill" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 251<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 252<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 253</mask> 254<g> 255<path d="M9.99807 18.9004C8.84585 18.9004 7.76009 18.6803 6.74078 18.24C5.72148 17.7999 4.8296 17.1975 4.06516 16.4329C3.30057 15.6685 2.69821 14.7766 2.25807 13.7573C1.8178 12.738 1.59766 11.6522 1.59766 10.5C1.59766 9.34183 1.8178 8.25454 2.25807 7.23815C2.69821 6.2219 3.30057 5.33155 4.06516 4.56711C4.8296 3.8
2550252 5.72148 3.20016 6.74078 2.76003C7.76009 2.31975 8.84585 2.09961 9.99807 2.09961C11.1563 2.09961 12.2436 2.31975 13.2599 2.76003C14.2762 3.20016 15.1665 3.80252 15.931 4.56711C16.6956 5.33155 17.2979 6.2219 17.7381 7.23815C18.1784 8.25454 18.3985 9.34183 18.3985 10.5C18.3985 11.6522 18.1784 12.738 17.7381 13.7573C17.2979 14.7766 16.6956 15.6685 15.931 16.4329C15.1665 17.1975 14.2762 17.7999 13.2599 18.24C12.2436 18.6803 11.1563 18.9004 9.99807 18.9004ZM9.97453 16.8079C10.1793 16.5875 10.3997 16.1564 10.6358 15.5146C10.8719 14.8727 11.0524 14.1776 11.1774 13.4294H8.80703C8.93203 14.1776 9.10668 14.8727 9.33099 15.5146C9.5553 16.1564 9.76981 16.5875 9.97453 16.8079ZM8.13766 16.5996C7.92752 16.1986 7.75738 15.7273 7.62724 15.1857C7.4971 14.644 7.38342 14.0586 7.2862 13.4294H4.37766C4.75682 14.2054 5.27384 14.8707 5.9287 15.4252C6.5837 15.98 7.32002 16.3714 8.13766 16.5996ZM11.8233 16.5996C12.6409 16.3714 13.3811 15.98 14.0439 15.4252C14.7065 14.8707 15.2275 14.2054 15.6068 13.4294H12.6983C12.6011 14.0586 12.4834 14.644 12.3454 15.1857C12.2074 15.7273 12.0334 16.1986 11.8233 16.5996ZM3.82682 11.9646H7.0987C7.07092 11.7007 7.05356 11.4443 7.04661 11.1952C7.03967 10.9461 7.0362 10.7004 7.0362 10.4584C7.0362 10.2084 7.03967 9.96773 7.04661 9.73648C7.05356 9.50523 7.07092 9.27155 7.0987 9.03544H3.82682C3.75738 9.29141 3.70877 9.53704 3.68099 9.77232C3.65321 10.0075 3.63932 10.25 3.63932 10.5C3.63932 10.7421 3.65321 10.9827 3.68099 11.2219C3.70877 11.4611 3.75738 11.7086 3.82682 11.9646ZM8.61953 11.9646H11.3649C11.3927 11.6868 11.4061 11.4304 11.4052 11.1952C11.4043 10.96 11.4039 10.7282 11.4039 10.5C11.4039 10.2639 11.4043 10.0268 11.4052 9.78857C11.4061 9.55037 11.3927 9.29933 11.3649 9.03544H8.61953C8.59175 9.29933 8.57439 9.55037 8.56745 9.78857C8.5605 10.0268 8.55703 10.2639 8.55703 10.5C8.55703 10.7282 8.5605 10.9634 8.56745 11.2057C8.57439 11.4477 8.59175 11.7007 8.61953 11.9646ZM12.8858 11.9646H16.1458C16.2152 11.7086 16.2638 11.4611 16.2916 11.2219C16.3194 10.9827 16.3333 10.7421 16.3333 10.5C16.3333 10.25 16.3194 10.004 16.2916 9.7619C16.2638 9.51968 16.2152 9.27753 16.1458 9.03544H12.8858C12.9056 9.29933 12.9171 9.55384 12.9202 9.79898C12.9232 10.0441 12.9247 10.2917 12.9247 10.5417C12.9247 10.7838 12.9232 11.0225 12.9202 11.2577C12.9171 11.4929 12.9056 11.7285 12.8858 11.9646ZM12.6983 7.55898H15.6068C15.2275 6.78301 14.7065 6.11961 14.0439 5.56878C13.3811 5.01808 12.6409 4.62864 11.8233 4.40044C12.0334 4.80141 12.2074 5.27072 12.3454 5.80836C12.4834 6.34614 12.6011 6.92968 12.6983 7.55898ZM8.80703 7.55898H11.1774C11.0602 6.81079 10.8836 6.11766 10.6474 5.47961C10.4113 4.84169 10.187 4.41252 9.97453 4.19211C9.76981 4.41252 9.5553 4.84169 9.33099 5.47961C9.10668 6.11766 8.93203 6.81079 8.80703 7.55898ZM4.37766 7.55898H7.2862C7.38342 6.92968 7.4971 6.34614 7.62724 5.80836C7.75738 5.27072 7.92752 4.80141 8.13766 4.40044C7.32002 4.62864 6.5837 5.01808 5.9287 5.56878C5.27384 6.11961 4.75682 6.78301 4.37766 7.55898Z" fill="#0026E1"/> 256</g> 257</svg></button> 258 <div class="gap-4 md:gap-6 2xl:gap-8 items-center justify-center hidden md:flex "> 259 <ul class="uppercase flex gap-4 md:gap-6 2xl:gap-8" aria-label="Valitse kieli"> 260 <li class="flex items-center"> 261 <a href="https://www.joensuu.fi/" lang="fi" aria-label="Suomi" class="animated-underline-invert-accent !no-underline" aria-current="true" > 262 <span> 263 <span class="font-mono" aria-hidden="true">fi</span> 264 <span class="sr-only">Suomi</span> 265 </span> 266 </a> 267 </li> 268 <li class="flex items-center"> 269 <a href="https://www.joensuu.fi/en/" lang="en-US" aria-label="English" class="animated-underline-invert-accent !no-underline" > 270 <span> 271 <span class="font-mono" aria-hidden="true">en</span> 272 <span class="sr-only">English</span> 273 </span> 274 </a> 275 </li> 276 </ul> 277 278 <svg class="w-24 h-24 inherit-color-fill" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 279<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 280<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 281</mask> 282<g> 283<path d="M9.99807 18.9004C8.84585 18.9004 7.76009 18.6803 6.74078 18.24C5.72148 17.7999 4.8296 17.1975 4.06516 16.4329C3.30057 15.6685 2.69821 14.7766 2.25807 13.7573C1.8178 12.738 1.59766 11.6522 1.59766 10.5C1.59766 9.34183 1.8178 8.25454 2.25807 7.23815C2.69821 6.2219 3.30057 5.33155 4.06516 4.56711C4.8296 3.8
2830252 5.72148 3.20016 6.74078 2.76003C7.76009 2.31975 8.84585 2.09961 9.99807 2.09961C11.1563 2.09961 12.2436 2.31975 13.2599 2.76003C14.2762 3.20016 15.1665 3.80252 15.931 4.56711C16.6956 5.33155 17.2979 6.2219 17.7381 7.23815C18.1784 8.25454 18.3985 9.34183 18.3985 10.5C18.3985 11.6522 18.1784 12.738 17.7381 13.7573C17.2979 14.7766 16.6956 15.6685 15.931 16.4329C15.1665 17.1975 14.2762 17.7999 13.2599 18.24C12.2436 18.6803 11.1563 18.9004 9.99807 18.9004ZM9.97453 16.8079C10.1793 16.5875 10.3997 16.1564 10.6358 15.5146C10.8719 14.8727 11.0524 14.1776 11.1774 13.4294H8.80703C8.93203 14.1776 9.10668 14.8727 9.33099 15.5146C9.5553 16.1564 9.76981 16.5875 9.97453 16.8079ZM8.13766 16.5996C7.92752 16.1986 7.75738 15.7273 7.62724 15.1857C7.4971 14.644 7.38342 14.0586 7.2862 13.4294H4.37766C4.75682 14.2054 5.27384 14.8707 5.9287 15.4252C6.5837 15.98 7.32002 16.3714 8.13766 16.5996ZM11.8233 16.5996C12.6409 16.3714 13.3811 15.98 14.0439 15.4252C14.7065 14.8707 15.2275 14.2054 15.6068 13.4294H12.6983C12.6011 14.0586 12.4834 14.644 12.3454 15.1857C12.2074 15.7273 12.0334 16.1986 11.8233 16.5996ZM3.82682 11.9646H7.0987C7.07092 11.7007 7.05356 11.4443 7.04661 11.1952C7.03967 10.9461 7.0362 10.7004 7.0362 10.4584C7.0362 10.2084 7.03967 9.96773 7.04661 9.73648C7.05356 9.50523 7.07092 9.27155 7.0987 9.03544H3.82682C3.75738 9.29141 3.70877 9.53704 3.68099 9.77232C3.65321 10.0075 3.63932 10.25 3.63932 10.5C3.63932 10.7421 3.65321 10.9827 3.68099 11.2219C3.70877 11.4611 3.75738 11.7086 3.82682 11.9646ZM8.61953 11.9646H11.3649C11.3927 11.6868 11.4061 11.4304 11.4052 11.1952C11.4043 10.96 11.4039 10.7282 11.4039 10.5C11.4039 10.2639 11.4043 10.0268 11.4052 9.78857C11.4061 9.55037 11.3927 9.29933 11.3649 9.03544H8.61953C8.59175 9.29933 8.57439 9.55037 8.56745 9.78857C8.5605 10.0268 8.55703 10.2639 8.55703 10.5C8.55703 10.7282 8.5605 10.9634 8.56745 11.2057C8.57439 11.4477 8.59175 11.7007 8.61953 11.9646ZM12.8858 11.9646H16.1458C16.2152 11.7086 16.2638 11.4611 16.2916 11.2219C16.3194 10.9827 16.3333 10.7421 16.3333 10.5C16.3333 10.25 16.3194 10.004 16.2916 9.7619C16.2638 9.51968 16.2152 9.27753 16.1458 9.03544H12.8858C12.9056 9.29933 12.9171 9.55384 12.9202 9.79898C12.9232 10.0441 12.9247 10.2917 12.9247 10.5417C12.9247 10.7838 12.9232 11.0225 12.9202 11.2577C12.9171 11.4929 12.9056 11.7285 12.8858 11.9646ZM12.6983 7.55898H15.6068C15.2275 6.78301 14.7065 6.11961 14.0439 5.56878C13.3811 5.01808 12.6409 4.62864 11.8233 4.40044C12.0334 4.80141 12.2074 5.27072 12.3454 5.80836C12.4834 6.34614 12.6011 6.92968 12.6983 7.55898ZM8.80703 7.55898H11.1774C11.0602 6.81079 10.8836 6.11766 10.6474 5.47961C10.4113 4.84169 10.187 4.41252 9.97453 4.19211C9.76981 4.41252 9.5553 4.84169 9.33099 5.47961C9.10668 6.11766 8.93203 6.81079 8.80703 7.55898ZM4.37766 7.55898H7.2862C7.38342 6.92968 7.4971 6.34614 7.62724 5.80836C7.75738 5.27072 7.92752 4.80141 8.13766 4.40044C7.32002 4.62864 6.5837 5.01808 5.9287 5.56878C5.27384 6.11961 4.75682 6.78301 4.37766 7.55898Z" fill="#0026E1"/> 284</g> 285</svg></div> 286 287<button 288 type="button" 289 x-ref="mainNavButton" 290 class="nav-toggle menu-toggle-main flex items-center justify-center group gap-2 2xl:gap-4 font-sans font-600 text-base 2xl:text-baseb relative animated-underline-invert-accent" 291 aria-controls="navbar" 292 :aria-expanded="isOpen" 293 aria-label="Avaa valikko" 294 x-on:click.throttle.700ms="isOpen = true" 295> 296 <span> 297 <span class="hidden md:block font-mono">Valikko</span> 298 </span> 299 <span> 300 <svg class="w-24 h-24 inherit-color-fill" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 301<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 302<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 303</mask> 304<g> 305<path d="M2.59766 15.577V13.5354H17.3985V15.577H2.59766ZM2.59766 11.5208V9.4791H17.3985V11.5208H2.59766ZM2.59766 7.46452V5.42285H17.3985V7.46452H2.59766Z" fill="#0026E1"/> 306</g> 307</svg> </span> 308</button> 309 <div 310 x-data="{ prevOpen: false, closedSearchWithEscape: false }" 311 x-effect=" 312 if (searchIsOpen && !prevOpen) { 313 $nextTick(() => { 314 $refs.searchInput?.focus(); 315 prevOpen = true; 316 closedSearchWithEscape = false;
317 }); 318 } else if (!searchIsOpen && prevOpen) { 319 if (closedSearchWithEscape) { 320 $nextTick(() => { 321 $refs.searchToggleButton?.focus(); 322 }); 323 } 324 prevOpen = false; 325 } 326 " 327 @keydown.escape.window=" 328 if (searchIsOpen && !isOpen && !mobileSearchIsOpen && !langSwitcherIsOpen) { 329 closedSearchWithEscape = true; 330 searchIsOpen = false; 331 } 332" 333 class="hidden md:block invisible w-[15rem] lg:w-[20rem] absolute top-1/2 -translate-y-1/2 -left-[17rem] lg:-left-[22rem]" 334 x-bind:class="searchIsOpen || searchIsOpenDelay ? '!visible' : ''" 335 x-show="searchIsOpen" 336> 337 338 <form role="search" method="get" class="search-form relative w-full" action="https://www.joensuu.fi/" @click.outside="searchIsOpen = false"> 339 <label> 340 <span class="sr-only"> 341 Hae sivustolta 342 </span> 343 344 <input type="hidden" name="site" value="Joensuu" /> 345 346 <input 347 id="site-search-header" 348 x-ref="searchInput" 349 type="search" 350 class="w-full bg-white text-grey-700 font-normal text-base font-sans border-2 border-accent py-8 px-12 rounded-xs shadow-input" 351 placeholder="Kirjoita hakusana" 352 value="" 353 name="s" 354 required 355 > 356 </label> 357 358 <button 359 type="submit" 360 class="cursor-pointer absolute top-1/2 -translate-y-1/2 right-12" 361 > 362 <span class="sr-only"> 363 Hae 364 </span> 365 <span> 366 <svg class="w-20 h-20 inherit-color-fill" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 367<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 368<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 369</mask> 370<g> 371<path d="M15.9157 17.9473L10.854 12.8857C10.4453 13.1598 9.99429 13.3759 9.50109 13.5338C9.0079 13.6917 8.47693 13.7707 7.90818 13.7707C6.44818 13.7707 5.20457 13.2571 4.17734 12.2298C3.15026 11.2028 2.63672 9.95942 2.63672 8.49984C2.63672 7.04025 3.15026 5.79692 4.17734 4.76984C5.20457 3.74262 6.44797 3.229 7.90755 3.229C9.36714 3.229 10.6105 3.74262 11.6376 4.76984C12.6648 5.79692 13.1784 7.04046 13.1784 8.50046C13.1784 9.07713 13.0994 9.6081 12.9415 10.0934C12.7836 10.5787 12.5676 11.0218 12.2934 11.4228L17.3667 16.508L15.9157 17.9473ZM7.90755 11.729C8.80908 11.729 9.57262 11.4162 10.1982 10.7907C10.8239 10.165 11.1367 9.40137 11.1367 8.49984C11.1367 7.59831 10.8239 6.8347 10.1982 6.209C9.57262 5.58345 8.80908 5.27067 7.90755 5.27067C7.00602 5.27067 6.24241 5.58345 5.61672 6.209C4.99116 6.8347 4.67839 7.59831 4.67839 8.49984C4.67839 9.40137 4.99116 10.165 5.61672 10.7907C6.24241 11.4162 7.00602 11.729 7.90755 11.729Z" fill="#0026E1"/> 372</g> 373</svg> </span> 374 </button> 375 376 </form> 377</div> 378 379 </div> 380 </div> 381 </div> 382 </div> 383 384 <div 385 role="dialog" 386 aria-modal="true" 387 x-init="closedMainNavWithEscape = false" 388 x-effect=" 389 if (!isOpen && closedMainNavWithEscape) { 390 $nextTick(() => { 391 if ($refs.mainNavButton && typeof $refs.mainNavButton.focus === 'function') { 392 $refs.mainNavButton.focus(); 393 } 394 closedMainNavWithEscape = false;
395 }); 396 } 397 " 398 x-cloak 399 class="header-overlay fixed inset-0 flex flex-col bg-header-footer text-white transition duration-300 invisible white-focus" 400 x-bind:class="isOpen || isOpenDelay ? '!visible' : ''" 401 x-show="isOpen" 402 x-trap="isOpen" 403 @keydown.escape.window=" 404 if (isOpen && !searchIsOpen && !mobileSearchIsOpen && !langSwitcherIsOpen) { 405 closedMainNavWithEscape = true; 406 isOpen = false; 407 } 408 " 409 x-transition:enter="ease-out" 410 x-transition:enter-start="opacity-0" 411 x-transition:enter-end="opacity-100" 412 x-transition:leave="ease-in" 413 x-transition:leave-start="opacity-100" 414 x-transition:leave-end="opacity-0" 415 id="header-nav-scrollable" 416 x-trap.inert.noscroll="isOpen" 417> 418 <div class="header-overlay-controls fixed z-50 top-0 left-0 right-0 w-full flex items-center"> 419 <div class="container px-18 md:px-24 mx-auto"> 420 <div class="flex justify-between items-center"> 421 <div class="max-w-[9rem] md:max-w-[12rem]"> 422 <svg class="w-full h-auto" role="img" alt="" aria-hidden="true" width="198" height="23" viewBox="0 0 198 23" fill="none" xmlns="http://www.w3.org/2000/svg"> 423<g> 424<path fill-rule="evenodd" clip-rule="evenodd" d="M129.412 9.91726L124.306 8.93529C122.358 8.54494 120.916 8.05701 120.916 6.47122C120.916 4.64147 122.863 3.58631 125.596 3.58631C129.065 3.58631 131.365 5.09891 132.656 7.10554L135.973 4.22063C133.83 1.75656 130.355 0 125.602 0C119.833 0 116.011 2.74463 116.011 6.75178C116.011 10.4418 118.975 12.1679 122.717 12.8693L128.256 13.8878C130.325 14.3087 131.846 14.8393 131.846 16.4556C131.846 18.389 129.503 19.4076 126.387 19.4076C122.955 19.4076 119.644 17.9987 117.849 15.2906L114.769 18.4927C117.07 21.3044 121.281 22.9939 126.387 22.9939C132.157 22.9939 136.758 20.5664 136.758 16.2787C136.758 12.5521 134.031 10.7955 129.43 9.91116L129.412 9.91726ZM13.8893 14.2782C13.8893 17.3704 12.5626 19.2002 9.48314 19.2002C6.40368 19.2002 4.8396 17.2058 4.96741 13.961H0.00739743C-0.187351 19.554 3.47636 23 9.44054 23C14.8205 23 18.8372 20.048 18.8372 14.5587V0.420846H13.8833V14.2782H13.8893ZM61.0672 13.0827H72.1375V9.35615H61.0672V4.18405H75.7647V0.420861H56.2715V22.5792H76.1116V18.816H61.0672V13.0827ZM90.5778 0.420861L102.354 15.6139V0.420861H106.876V22.5792H102.549L89.5675 6.15408V22.5792H85.0822V0.420861H90.5778ZM193.119 0.420861V12.9059C193.119 16.9496 190.977 19.2368 187.076 19.2368C183.175 19.2368 181.075 16.9496 181.075 12.9059V0.420861H176.164V13.5036C176.164 19.9748 181.191 23 187.082 23C192.973 23 198 19.9748 198 13.5036V0.420861H193.125H193.119ZM155.849 19.2368C159.75 19.2368 161.892 16.9496 161.892 12.9059V0.420861H166.767V13.5036C166.767 19.9748 161.74 23 155.849 23C149.958 23 144.931 19.9748 144.931 13.5036V0.420861H149.842V12.9059C149.842 16.9496 151.948 19.2368 155.849 19.2368ZM30.37 11.3201C30.37 7.69716 33.3034 4.75736 36.9184 4.75736C40.5334 4.75736 43.4668 7.69716 43.4668 11.3201C43.4668 14.943 40.5334 17.8828 36.9184 17.8828C33.3034 17.8828 30.37 14.943 30.37 11.3201Z" fill="#ffffff"/> 425</g> 426</svg></div> 427 428 <div class="flex gap-32 md:gap-36 2xl:gap-48 text-white header-overlay-control-focusable md:pb-4"> 429 <button 430 class="-mr-[0.2rem] md:mr-0 animated-underline-invert-white nav-toggle flex items-center justify-center cursor-pointer text-base 2xl:text-baseb font-mono font-600 gap-2 2xl:gap-4 relative" 431 aria-label="Sulje valikko" 432 x-on:click=" 433 closedMainNavWithEscape = true; 434 isOpen = false; 435 " 436 > 437 <span> 438 <span class="hidden md:block"> 439 Sulje 440 </span> 441 </span> 442 <svg class="w-20 h-20 mt-[0.2rem]" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 443<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 444<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 445</mask> 446<g> 447<path d="M6.06437 15.8768L4.625 14.4374L8.5625 10.4999L4.625 6.56242L6.06437 5.12305L10.0019 9.06055L13.9394 5.12305L15.3788 6.56242L11.4413 10.4999L15.3788 14.4374L13.9394 15.8768L10.0019 11.9393L6.06437 15.8768Z" fill="white"/> 448</g> 449</svg> 450 <svg class="pointer-events-none hidden md:block w-[42.5rem] h-[48.125rem] absolute -top-[40.5rem] -right-[13rem]" role="img" aria-hidden="true" width="680" height="770" viewB
450ox="0 0 680 770" fill="none" xmlns="http://www.w3.org/2000/svg"> 451<path d="M679.5 9.66602V483.959C679.5 575.887 644.632 646.573 586.412 694.286C528.18 742.01 446.542 766.787 352.959 766.787C249.162 766.787 165.481 737.888 108.597 685.597C51.8175 633.401 21.681 557.848 24.9277 464.294H196.717C194.497 518.621 206.947 562.575 233.393 592.979C259.929 623.489 300.488 640.279 354.224 640.279C407.948 640.279 446.457 624.87 471.523 596.368C496.579 567.878 508.13 526.389 508.13 474.386V9.66602H679.5ZM122.008 0.5C189.179 0.5 243.516 53.0469 243.516 117.935C243.516 182.618 188.968 235.369 121.797 235.369C54.6278 235.369 0.500051 182.62 0.5 117.935C0.5 53.2501 54.8374 0.50012 122.008 0.5Z" stroke="white"/> 452</svg> </button> 453 </div> 454 </div> 455 </div> 456 </div> 457 458 <div class="flex flex-col md:justify-center mt-128 mb-32 md:my-auto"> 459 <div class="container px-18 md:px-24 mx-auto"> 460 <div class="flex flex-col transition duration-500 gap-48"> 461 <nav 462 id="navbar" 463 class="md:py-128" 464 aria-label="Päävalikko" 465 x-data="{ subOpen: { 466 1: null, 467 2: null, 468 3: null, 469 } }" 470 > 471 <ul class="flex flex-col gap-12 2xl:gap-16 opacity-100 items-baseline relative"> 472 <li 473 class="py-4 transition duration-500 w-full md:w-[30%] 2xl:w-[27%]" 474 x-bind:class="!isOpenDelayShort ? 'opacity-0' : 'opacity-100'" 475 > 476 <span 477 class="group nav-item nav-item-main flex flex-nowrap gap-8 transition duration-500" 478 x-bind:class="subOpen[1] == '35' ? 'nav-item-active' : ''" 479 x-bind:style="!isOpenDelayShort ? { 'transition-delay': '0ms', transform: 'translateY(1.5rem)' } : { 'transition-delay': '0ms' }" 480 > 481 <a 482 href="https://www.joensuu.fi/arjen-palvelut/" 483 class="!no-underline flex-1 font-display text-base 2xl:text-baseb very-low-text-3xl leading-normal" 484 x-bind:class="subOpen[1] == '35' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 485 > 486 <span class="!w-auto">Arjen palvelut</span> 487 </a> 488 <button 489 :aria-expanded="subOpen[1] == '35'" 490 class="submenu-toggle cursor-pointer shrink-0 w-24 h-24 ml-auto flex justify-center items-center" 491 @click=" 492 if(subOpen[1] == '35') { 493 subOpen[1] = null; 494 } else { 495 subOpen[1] = '35'; 496 }; 497 subOpen[2] = null; 498 subOpen[3] = null; 499 " 500 > 501 <span class="block"> 502 <span 503 class="shrink-0 block transform transition duration-300 mx-auto menu-plus scale-130 mr-[0.3rem] md:mr-0" 504 x-bind:class="subOpen[1] == '35' ? 'menu-plus-active text-menu-hover' : ''" 505 aria-hidden="true"> 506 <span x-bind:class="subOpen[1] == '35' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 507<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 508<rect width="24" height="24" fill="#D9D9D9"/> 509</mask> 510<g> 511<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 512</g> 513</svg></span> 514
515 <span x-bind:class="subOpen[1] == '35' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 516<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 517<rect width="24" height="24" fill="#D9D9D9"/> 518</mask> 519<g> 520<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 521</g> 522</svg></span> 523 </span> 524 <span class="sr-only" x-bind:class="subOpen[1] == '35' ? 'hidden' : ''">Avaa "Arjen palvelut" alavalikko</span> 525 <span class="sr-only" x-bind:class="subOpen[1] == '35' ? '' : 'hidden'">Sulje "Arjen palvelut" alavalikko</span> 526 </span> 527 </button> 528 </span> 529 <div 530 x-cloak 531 class="md:absolute md:top-0 transition-all transform duration-500 pl-24 md:pl-0 grid z-20 md:mt-4 2xl:mt-9 3xl:mt-8 md:left-1/3 md:max-w-[33%] 2xl:left-[31%] 2xl:max-w-[31%]" 532 x-bind:class="subOpen[1] == '35' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 533 x-bind:style="subOpen[1] == '35' && !subOpen[2] && { maxHeight: '540px' }" 534 > 535 <ul 536 class="flex flex-col gap-12 2xl:gap-16 transition duration-500 my-24 md:my-0 md:-mt-[0.4rem]" 537 x-bind:class="!isOpenDelayShort ? 'opacity-0 translate-y-32' : 'opacity-100 translate-y-0'" 538 > 539 <li class="w-full pb-8 pr-4 md:pr-0"> 540 <span 541 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 542 x-bind:class="subOpen[2] == '1998' ? 'nav-item-active' : ''" 543 > 544 <a 545 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 546 href="https://www.joensuu.fi/arjen-palvelut/asuminen/" 547 x-bind:class="subOpen[2] == '1998' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 548 > 549 <span>Asuminen</span> 550 </a> 551 <button 552 :aria-expanded="subOpen[2] == '1998'" 553 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 554 @click=" 555 if(subOpen[2] == '1998') { 556 subOpen[2] = null; 557 } else { 558 subOpen[2] = '1998'; 559 }; 560 subOpen[3] = null; 561 subOpen[4] = null; 562 " 563 > 564 <span class="block"> 565 <span 566 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 567 x-bind:class="subOpen[2] == '1998' ? 'menu-plus-active text-menu-hover' : ''" 568 aria-hidden="true"> 569 <span x-bind:class="subOpen[2] == '1998' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 570<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 571<rect width="24" height="24" fill="#D9D9D9"/> 572</mask> 573<g> 574<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 575</g> 576</svg></span> 577 578 <span x-bind:class="subOpen[2] == '1998' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 579<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 580<rect width="24" height="24" fill="#D9D9D9"/> 581</mask> 582<g> 583<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 584</g> 585</svg></span> 586 </span>
587 <span class="sr-only" x-bind:class="subOpen[2] == '1998' ? 'hidden' : ''"> 588 Avaa "Asuminen" alavalikko 589 </span> 590 <span class="sr-only" x-bind:class="subOpen[2] == '1998' ? '' : 'hidden'"> 591 Sulje "Asuminen" alavalikko 592 </span> 593 </span> 594 </button> 595 </span> 596 <div 597 x-cloak 598 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 599 x-bind:class="subOpen[2] == '1998' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 600 x-bind:style="subOpen[2] == '1998' && !subOpen[3] && { maxHeight: '360px' }" 601 > 602 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 603 <li class="w-full pb-8 pr-4 md:pr-0"> 604 <span 605 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 606 x-bind:class="subOpen[3] == '2169' ? 'nav-item-active' : ''" 607 > 608 <a 609 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 610 href="https://www.joensuu.fi/arjen-palvelut/asuminen/vuokra-asunnot/" 611 x-bind:class="subOpen[3] == '2169' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 612 > 613 <span>Vuokra-asunnot</span> 614 </a> 615 </span> 616 </li> 617 618 <li class="w-full pb-8 pr-4 md:pr-0"> 619 <span 620 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 621 x-bind:class="subOpen[3] == '2168' ? 'nav-item-active' : ''" 622 > 623 <a 624 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 625 href="https://www.joensuu.fi/arjen-palvelut/asuminen/asumisneuvonta/" 626 x-bind:class="subOpen[3] == '2168' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 627 > 628 <span>Asumisneuvonta</span> 629 </a> 630 </span> 631 </li> 632 633 <li class="w-full pb-8 pr-4 md:pr-0"> 634 <span 635 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 636 x-bind:class="subOpen[3] == '2167' ? 'nav-item-active' : ''" 637 > 638 <a 639 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 640 href="https://www.joensuu.fi/arjen-palvelut/asuminen/jatehuolto/" 641 x-bind:class="subOpen[3] == '2167' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 642 > 643 <span>Jätehuolto</span> 644 </a> 645 </span> 646 </li> 647 648 <li class="w-full pb-8 pr-4 md:pr-0"> 649 <span 650 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 651 x-bind:class="subOpen[3] == '2166' ? 'nav-item-active' : ''" 652 > 653 <a 654 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 655 href="https://www.joensuu.fi/arjen-palvelut/asuminen/vesihuolto/" 656 x-bind:class="subOpen[3] == '2166' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 657 > 658 <span>Vesihuolto</span> 659 </a> 660 </span> 661 </li> 662 663 <li class="w-full pb-8 pr-4 md:pr-0"> 664 <span 665 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 666 x-bind:class="subOpen[3] == '2165' ? 'nav-item-active' : ''" 667 > 668 <a 669 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 670 href="https://www.joensuu.fi/arjen-palvelut/asuminen/hulevedet/" 671 x-bind:class="subOpen[3] == '2165' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 672 > 673 <span>Hulevedet</span> 674 </a> 675 </span> 676 </li> 677 678 <li class="w-full pb-8 pr-4 md:pr-0"> 679 <span 680 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 681 x-bind:class="subOpen[3] == '2164' ? 'nav-item-active' : ''" 682 > 683 <a 684 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 685 href="https://www.joensuu.fi/arjen-palvelut/asuminen/kierratyskeskus-kiertamo/" 686 x-bind:class="subOpen[3] == '2164' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 687 >
688 <span>Kierrätysmyymälä Kiertämö</span> 689 </a> 690 </span> 691 </li> 692 693 </ul> 694 </div> 695 </li> 696 697 <li class="w-full pb-8 pr-4 md:pr-0"> 698 <span 699 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 700 x-bind:class="subOpen[2] == '1997' ? 'nav-item-active' : ''" 701 > 702 <a 703 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 704 href="https://www.joensuu.fi/arjen-palvelut/rakentaminen/" 705 x-bind:class="subOpen[2] == '1997' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 706 > 707 <span>Rakentaminen</span> 708 </a> 709 <button 710 :aria-expanded="subOpen[2] == '1997'" 711 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 712 @click=" 713 if(subOpen[2] == '1997') { 714 subOpen[2] = null; 715 } else { 716 subOpen[2] = '1997'; 717 }; 718 subOpen[3] = null; 719 subOpen[4] = null; 720 " 721 > 722 <span class="block"> 723 <span 724 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 725 x-bind:class="subOpen[2] == '1997' ? 'menu-plus-active text-menu-hover' : ''" 726 aria-hidden="true"> 727 <span x-bind:class="subOpen[2] == '1997' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 728<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 729<rect width="24" height="24" fill="#D9D9D9"/> 730</mask> 731<g> 732<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 733</g> 734</svg></span> 735 736 <span x-bind:class="subOpen[2] == '1997' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 737<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 738<rect width="24" height="24" fill="#D9D9D9"/> 739</mask> 740<g> 741<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 742</g> 743</svg></span> 744 </span> 745 <span class="sr-only" x-bind:class="subOpen[2] == '1997' ? 'hidden' : ''"> 746 Avaa "Rakentaminen" alavalikko 747 </span> 748 <span class="sr-only" x-bind:class="subOpen[2] == '1997' ? '' : 'hidden'"> 749 Sulje "Rakentaminen" alavalikko 750 </span> 751 </span> 752 </button> 753 </span> 754 <div 755 x-cloak 756 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 757 x-bind:class="subOpen[2] == '1997' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 758 x-bind:style="subOpen[2] == '1997' && !subOpen[3] && { maxHeight: '360px' }" 759 > 760 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 761 <li class="w-full pb-8 pr-4 md:pr-0"> 762 <span 763 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 764 x-bind:class="subOpen[3] == '2188' ? 'nav-item-active' : ''" 765 > 766 <a 767 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 768 href="https://www.joensuu.fi/arjen-palvelut/rakentaminen/tontit/" 769 x-bind:class="subOpen[3] == '2188' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 770 > 771 <span>Tontit</span> 772 </a> 773 </span> 774 </li> 775 776 <li class="w-full pb-8 pr-4 md:pr-0"> 777 <span 778 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16"
779 x-bind:class="subOpen[3] == '13748' ? 'nav-item-active' : ''" 780 > 781 <a 782 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 783 href="https://www.joensuu.fi/arjen-palvelut/rakentaminen/rakennusvalvonta/" 784 x-bind:class="subOpen[3] == '13748' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 785 > 786 <span>Rakennusvalvonta</span> 787 </a> 788 </span> 789 </li> 790 791 <li class="w-full pb-8 pr-4 md:pr-0"> 792 <span 793 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 794 x-bind:class="subOpen[3] == '20209' ? 'nav-item-active' : ''" 795 > 796 <a 797 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 798 href="https://www.joensuu.fi/arjen-palvelut/rakentaminen/rasitteet/" 799 x-bind:class="subOpen[3] == '20209' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 800 > 801 <span>Rasitteet</span> 802 </a> 803 </span> 804 </li> 805 806 <li class="w-full pb-8 pr-4 md:pr-0"> 807 <span 808 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 809 x-bind:class="subOpen[3] == '2193' ? 'nav-item-active' : ''" 810 > 811 <a 812 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 813 href="https://www.joensuu.fi/arjen-palvelut/rakentaminen/kiinteistotoimitukset/" 814 x-bind:class="subOpen[3] == '2193' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 815 > 816 <span>Kiinteistötoimitukset</span> 817 </a> 818 </span> 819 </li> 820 821 <li class="w-full pb-8 pr-4 md:pr-0"> 822 <span 823 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 824 x-bind:class="subOpen[3] == '5650' ? 'nav-item-active' : ''" 825 > 826 <a 827 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 828 href="https://www.joensuu.fi/arjen-palvelut/rakentaminen/kartat-ja-paikkatieto/" 829 x-bind:class="subOpen[3] == '5650' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 830 > 831 <span>Kartat ja paikkatieto</span> 832 </a> 833 </span> 834 </li> 835 836 <li class="w-full pb-8 pr-4 md:pr-0"> 837 <span 838 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 839 x-bind:class="subOpen[3] == '34098' ? 'nav-item-active' : ''" 840 > 841 <a 842 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 843 href="https://www.joensuu.fi/arjen-palvelut/rakentaminen/pientalorakentajan-opas-ja-maksut/" 844 x-bind:class="subOpen[3] == '34098' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 845 > 846 <span>Pientalorakentajan opas ja maksut</span> 847 </a> 848 </span> 849 </li> 850 851 </ul> 852 </div> 853 </li> 854 855 <li class="w-full pb-8 pr-4 md:pr-0"> 856 <span 857 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 858 x-bind:class="subOpen[2] == '1996' ? 'nav-item-active' : ''" 859 > 860 <a 861 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 862 href="https://www.joensuu.fi/arjen-palvelut/varhaiskasvatus-ja-esiopetus/" 863 x-bind:class="subOpen[2] == '1996' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 864 > 865 <span>Varhaiskasvatus ja esiopetus</span> 866 </a> 867 <button 868 :aria-expanded="subOpen[2] == '1996'" 869 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 870 @click=" 871 if(subOpen[2] == '1996') { 872 subOpen[2] = null; 873 } else { 874 subOpen[2] = '1996'; 875 }; 876 subOpen[3] = null; 877 subOpen[4] = null; 878 " 879 >
880 <span class="block"> 881 <span 882 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 883 x-bind:class="subOpen[2] == '1996' ? 'menu-plus-active text-menu-hover' : ''" 884 aria-hidden="true"> 885 <span x-bind:class="subOpen[2] == '1996' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 886<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 887<rect width="24" height="24" fill="#D9D9D9"/> 888</mask> 889<g> 890<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 891</g> 892</svg></span> 893 894 <span x-bind:class="subOpen[2] == '1996' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 895<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 896<rect width="24" height="24" fill="#D9D9D9"/> 897</mask> 898<g> 899<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 900</g> 901</svg></span> 902 </span> 903 <span class="sr-only" x-bind:class="subOpen[2] == '1996' ? 'hidden' : ''"> 904 Avaa "Varhaiskasvatus ja esiopetus" alavalikko 905 </span> 906 <span class="sr-only" x-bind:class="subOpen[2] == '1996' ? '' : 'hidden'"> 907 Sulje "Varhaiskasvatus ja esiopetus" alavalikko 908 </span> 909 </span> 910 </button> 911 </span> 912 <div 913 x-cloak 914 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 915 x-bind:class="subOpen[2] == '1996' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 916 x-bind:style="subOpen[2] == '1996' && !subOpen[3] && { maxHeight: '120px' }" 917 > 918 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 919 <li class="w-full pb-8 pr-4 md:pr-0"> 920 <span 921 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 922 x-bind:class="subOpen[3] == '2201' ? 'nav-item-active' : ''" 923 > 924 <a 925 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 926 href="https://www.joensuu.fi/arjen-palvelut/varhaiskasvatus-ja-esiopetus/paivakodit-ja-perhepaivahoito/" 927 x-bind:class="subOpen[3] == '2201' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 928 > 929 <span>Päiväkodit ja perhepäivähoito</span> 930 </a> 931 </span> 932 </li> 933 934 <li class="w-full pb-8 pr-4 md:pr-0"> 935 <span 936 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 937 x-bind:class="subOpen[3] == '2200' ? 'nav-item-active' : ''" 938 > 939 <a 940 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 941 href="https://www.joensuu.fi/arjen-palvelut/varhaiskasvatus-ja-esiopetus/esiopetus/" 942 x-bind:class="subOpen[3] == '2200' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 943 > 944 <span>Esiopetus</span> 945 </a> 946 </span> 947 </li> 948 949 </ul> 950 </div> 951 </li> 952 953 <li class="w-full pb-8 pr-4 md:pr-0"> 954 <span 955 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 956 x-bind:class="subOpen[2] == '1995' ? 'nav-item-active' : ''" 957 > 958 <a 959 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 960 href="https://www.joensuu.fi/arjen-palvelut/perusopetus/" 961 x-bind:class="subOpen[2] == '1995' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 962 >
963 <span>Perusopetus</span> 964 </a> 965 <button 966 :aria-expanded="subOpen[2] == '1995'" 967 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 968 @click=" 969 if(subOpen[2] == '1995') { 970 subOpen[2] = null; 971 } else { 972 subOpen[2] = '1995'; 973 }; 974 subOpen[3] = null; 975 subOpen[4] = null; 976 " 977 > 978 <span class="block"> 979 <span 980 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 981 x-bind:class="subOpen[2] == '1995' ? 'menu-plus-active text-menu-hover' : ''" 982 aria-hidden="true"> 983 <span x-bind:class="subOpen[2] == '1995' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 984<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 985<rect width="24" height="24" fill="#D9D9D9"/> 986</mask> 987<g> 988<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 989</g> 990</svg></span> 991 992 <span x-bind:class="subOpen[2] == '1995' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 993<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 994<rect width="24" height="24" fill="#D9D9D9"/> 995</mask> 996<g> 997<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 998</g> 999</svg></span> 1000 </span> 1001 <span class="sr-only" x-bind:class="subOpen[2] == '1995' ? 'hidden' : ''"> 1002 Avaa "Perusopetus" alavalikko 1003 </span> 1004 <span class="sr-only" x-bind:class="subOpen[2] == '1995' ? '' : 'hidden'"> 1005 Sulje "Perusopetus" alavalikko 1006 </span> 1007 </span> 1008 </button> 1009 </span> 1010 <div 1011 x-cloak 1012 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 1013 x-bind:class="subOpen[2] == '1995' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 1014 x-bind:style="subOpen[2] == '1995' && !subOpen[3] && { maxHeight: '420px' }" 1015 > 1016 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 1017 <li class="w-full pb-8 pr-4 md:pr-0"> 1018 <span 1019 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1020 x-bind:class="subOpen[3] == '7160' ? 'nav-item-active' : ''" 1021 > 1022 <a 1023 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1024 href="https://www.joensuu.fi/arjen-palvelut/perusopetus/peruskoulut/" 1025 x-bind:class="subOpen[3] == '7160' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1026 > 1027 <span>Peruskoulut</span> 1028 </a> 1029 </span> 1030 </li> 1031 1032 <li class="w-full pb-8 pr-4 md:pr-0"> 1033 <span 1034 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1035 x-bind:class="subOpen[3] == '7164' ? 'nav-item-active' : ''" 1036 > 1037 <a 1038 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1039 href="https://www.joensuu.fi/arjen-palvelut/perusopetus/kouluun-ilmoittautuminen/" 1040 x-bind:class="subOpen[3] == '7164' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1041 > 1042 <span>Kouluun ilmoittautuminen</span> 1043 </a> 1044 </span> 1045 </li> 1046 1047 <li class="w-full pb-8 pr-4 md:pr-0"> 1048 <span 1049 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1050 x-bind:class="subOpen[3] == '7163' ? 'nav-item-active' : ''" 1051 > 1052 <a 1053 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1054 href="https://www.joensuu.fi/arjen-palvelut/perusopetus/koulukuljetukset/" 1055 x-bind:class="subOpen[3] == '7163' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1056 >
1057 <span>Koulukuljetukset</span> 1058 </a> 1059 </span> 1060 </li> 1061 1062 <li class="w-full pb-8 pr-4 md:pr-0"> 1063 <span 1064 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1065 x-bind:class="subOpen[3] == '7162' ? 'nav-item-active' : ''" 1066 > 1067 <a 1068 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1069 href="https://www.joensuu.fi/arjen-palvelut/perusopetus/koulujen-tyo-ja-loma-ajat/" 1070 x-bind:class="subOpen[3] == '7162' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1071 > 1072 <span>Koulujen työ- ja loma-ajat</span> 1073 </a> 1074 </span> 1075 </li> 1076 1077 <li class="w-full pb-8 pr-4 md:pr-0"> 1078 <span 1079 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1080 x-bind:class="subOpen[3] == '20212' ? 'nav-item-active' : ''" 1081 > 1082 <a 1083 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1084 href="https://www.joensuu.fi/arjen-palvelut/perusopetus/oppimisen-tuki/" 1085 x-bind:class="subOpen[3] == '20212' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1086 > 1087 <span>Oppimisen tuki</span> 1088 </a> 1089 </span> 1090 </li> 1091 1092 <li class="w-full pb-8 pr-4 md:pr-0"> 1093 <span 1094 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1095 x-bind:class="subOpen[3] == '7161' ? 'nav-item-active' : ''" 1096 > 1097 <a 1098 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1099 href="https://www.joensuu.fi/arjen-palvelut/perusopetus/iltapaivatoiminta/" 1100 x-bind:class="subOpen[3] == '7161' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1101 > 1102 <span>Iltapäivätoiminta</span> 1103 </a> 1104 </span> 1105 </li> 1106 1107 <li class="w-full pb-8 pr-4 md:pr-0"> 1108 <span 1109 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1110 x-bind:class="subOpen[3] == '2209' ? 'nav-item-active' : ''" 1111 > 1112 <a 1113 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1114 href="https://www.joensuu.fi/arjen-palvelut/perusopetus/kieli-ja-kulttuuriryhmien-opetus/" 1115 x-bind:class="subOpen[3] == '2209' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1116 > 1117 <span>Kieli- ja kulttuuriryhmien opetus</span> 1118 </a> 1119 </span> 1120 </li> 1121 1122 </ul> 1123 </div> 1124 </li> 1125 1126 <li class="w-full pb-8 pr-4 md:pr-0"> 1127 <span 1128 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1129 x-bind:class="subOpen[2] == '1994' ? 'nav-item-active' : ''" 1130 > 1131 <a 1132 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 1133 href="https://www.joensuu.fi/arjen-palvelut/lukiot-ja-muut-oppilaitokset/" 1134 x-bind:class="subOpen[2] == '1994' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1135 > 1136 <span>Lukiot ja muut oppilaitokset</span> 1137 </a> 1138 <button 1139 :aria-expanded="subOpen[2] == '1994'" 1140 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 1141 @click=" 1142 if(subOpen[2] == '1994') { 1143 subOpen[2] = null; 1144 } else { 1145 subOpen[2] = '1994'; 1146 }; 1147 subOpen[3] = null; 1148 subOpen[4] = null; 1149 " 1150 > 1151 <span class="block"> 1152 <span 1153 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 1154 x-bind:class="subOpen[2] == '1994' ? 'menu-plus-active text-menu-hover' : ''" 1155 aria-hidden="true"> 1156 <span x-bind:class="subOpen[2] == '1994' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1157<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1158<rect width="24" height="24" fill="#D9D9D9"/> 1159</mask> 1160<g> 1161<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 1162</g> 1163</svg></span> 1164
1165 <span x-bind:class="subOpen[2] == '1994' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1166<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1167<rect width="24" height="24" fill="#D9D9D9"/> 1168</mask> 1169<g> 1170<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 1171</g> 1172</svg></span> 1173 </span> 1174 <span class="sr-only" x-bind:class="subOpen[2] == '1994' ? 'hidden' : ''"> 1175 Avaa "Lukiot ja muut oppilaitokset" alavalikko 1176 </span> 1177 <span class="sr-only" x-bind:class="subOpen[2] == '1994' ? '' : 'hidden'"> 1178 Sulje "Lukiot ja muut oppilaitokset" alavalikko 1179 </span> 1180 </span> 1181 </button> 1182 </span> 1183 <div 1184 x-cloak 1185 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 1186 x-bind:class="subOpen[2] == '1994' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 1187 x-bind:style="subOpen[2] == '1994' && !subOpen[3] && { maxHeight: '420px' }" 1188 > 1189 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 1190 <li class="w-full pb-8 pr-4 md:pr-0"> 1191 <span 1192 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1193 x-bind:class="subOpen[3] == '2227' ? 'nav-item-active' : ''" 1194 > 1195 <a 1196 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1197 href="https://www.joensuu.fi/arjen-palvelut/lukiot-ja-muut-oppilaitokset/lukioon-hakeminen-ja-kieliohjelmat/" 1198 x-bind:class="subOpen[3] == '2227' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1199 > 1200 <span>Lukioon hakeminen ja kieliohjelmat</span> 1201 </a> 1202 </span> 1203 </li> 1204 1205 <li class="w-full pb-8 pr-4 md:pr-0"> 1206 <span 1207 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1208 x-bind:class="subOpen[3] == '2226' ? 'nav-item-active' : ''" 1209 > 1210 <a 1211 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1212 href="https://www.joensuu.fi/arjen-palvelut/lukiot-ja-muut-oppilaitokset/lyseon-lukio/" 1213 x-bind:class="subOpen[3] == '2226' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1214 > 1215 <span>Lyseon lukio</span> 1216 </a> 1217 </span> 1218 </li> 1219 1220 <li class="w-full pb-8 pr-4 md:pr-0"> 1221 <span 1222 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1223 x-bind:class="subOpen[3] == '2225' ? 'nav-item-active' : ''" 1224 > 1225 <a 1226 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1227 href="https://www.joensuu.fi/arjen-palvelut/lukiot-ja-muut-oppilaitokset/pyhaselan-lukio/" 1228 x-bind:class="subOpen[3] == '2225' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1229 > 1230 <span>Pyhäselän lukio</span> 1231 </a> 1232 </span> 1233 </li> 1234 1235 <li class="w-full pb-8 pr-4 md:pr-0"> 1236 <span 1237 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1238 x-bind:class="subOpen[3] == '2224' ? 'nav-item-active' : ''" 1239 > 1240 <a 1241 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1242 href="https://www.joensuu.fi/arjen-palvelut/lukiot-ja-muut-oppilaitokset/yhteiskoulun-lukio/" 1243 x-bind:class="subOpen[3] == '2224' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1244 > 1245 <span>Yhteiskoulun lukio</span> 1246 </a> 1247 </span> 1248 </li> 1249 1250 <li class="w-full pb-8 pr-4 md:pr-0"> 1251 <span 1252 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1253 x-bind:class="subOpen[3] == '9736' ? 'nav-item-active' : ''" 1254 > 1255 <a 1256 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1257 href="https://www.joensuu.fi/arjen-palvelut/lukiot-ja-muut-oppilaitokset/aikuislukio/" 1258 x-bind:class="subOpen[3] == '9736' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1259 >
1260 <span>Aikuislukio</span> 1261 </a> 1262 </span> 1263 </li> 1264 1265 <li class="w-full pb-8 pr-4 md:pr-0"> 1266 <span 1267 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1268 x-bind:class="subOpen[3] == '24927' ? 'nav-item-active' : ''" 1269 > 1270 <a 1271 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1272 href="https://www.joensuu.fi/arjen-palvelut/lukiot-ja-muut-oppilaitokset/muut-lukiot/" 1273 x-bind:class="subOpen[3] == '24927' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1274 > 1275 <span>Muut lukiot</span> 1276 </a> 1277 </span> 1278 </li> 1279 1280 <li class="w-full pb-8 pr-4 md:pr-0"> 1281 <span 1282 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1283 x-bind:class="subOpen[3] == '2223' ? 'nav-item-active' : ''" 1284 > 1285 <a 1286 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1287 href="https://www.joensuu.fi/arjen-palvelut/lukiot-ja-muut-oppilaitokset/ammatilliset-oppilaitokset-ja-korkeakoulut/" 1288 x-bind:class="subOpen[3] == '2223' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1289 > 1290 <span>Ammatilliset oppilaitokset ja korkeakoulut</span> 1291 </a> 1292 </span> 1293 </li> 1294 1295 </ul> 1296 </div> 1297 </li> 1298 1299 <li class="w-full pb-8 pr-4 md:pr-0"> 1300 <span 1301 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1302 x-bind:class="subOpen[2] == '1993' ? 'nav-item-active' : ''" 1303 > 1304 <a 1305 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 1306 href="https://www.joensuu.fi/arjen-palvelut/kotoutumispalvelut/" 1307 x-bind:class="subOpen[2] == '1993' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1308 > 1309 <span>Kotoutumispalvelut</span> 1310 </a> 1311 </span> 1312 </li> 1313 1314 <li class="w-full pb-8 pr-4 md:pr-0"> 1315 <span 1316 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1317 x-bind:class="subOpen[2] == '2001' ? 'nav-item-active' : ''" 1318 > 1319 <a 1320 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 1321 href="https://www.joensuu.fi/arjen-palvelut/liikenne-kadut-ja-kunnossapito/" 1322 x-bind:class="subOpen[2] == '2001' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1323 > 1324 <span>Liikenne, kadut ja kunnossapito</span> 1325 </a> 1326 <button 1327 :aria-expanded="subOpen[2] == '2001'" 1328 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 1329 @click=" 1330 if(subOpen[2] == '2001') { 1331 subOpen[2] = null; 1332 } else { 1333 subOpen[2] = '2001'; 1334 }; 1335 subOpen[3] = null; 1336 subOpen[4] = null; 1337 " 1338 > 1339 <span class="block"> 1340 <span 1341 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 1342 x-bind:class="subOpen[2] == '2001' ? 'menu-plus-active text-menu-hover' : ''" 1343 aria-hidden="true"> 1344 <span x-bind:class="subOpen[2] == '2001' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1345<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1346<rect width="24" height="24" fill="#D9D9D9"/> 1347</mask> 1348<g> 1349<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 1350</g> 1351</svg></span> 1352 1353 <span x-bind:class="subOpen[2] == '2001' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1354<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1355<rect width="24" height="24" fill="#D9D9D9"/> 1356</mask> 1357<g> 1358<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 1359</g> 1360</svg></span> 1361 </span>
1362 <span class="sr-only" x-bind:class="subOpen[2] == '2001' ? 'hidden' : ''"> 1363 Avaa "Liikenne, kadut ja kunnossapito" alavalikko 1364 </span> 1365 <span class="sr-only" x-bind:class="subOpen[2] == '2001' ? '' : 'hidden'"> 1366 Sulje "Liikenne, kadut ja kunnossapito" alavalikko 1367 </span> 1368 </span> 1369 </button> 1370 </span> 1371 <div 1372 x-cloak 1373 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 1374 x-bind:class="subOpen[2] == '2001' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 1375 x-bind:style="subOpen[2] == '2001' && !subOpen[3] && { maxHeight: '480px' }" 1376 > 1377 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 1378 <li class="w-full pb-8 pr-4 md:pr-0"> 1379 <span 1380 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1381 x-bind:class="subOpen[3] == '2254' ? 'nav-item-active' : ''" 1382 > 1383 <a 1384 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1385 href="https://www.joensuu.fi/arjen-palvelut/liikenne-kadut-ja-kunnossapito/joukkoliikenne/" 1386 x-bind:class="subOpen[3] == '2254' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1387 > 1388 <span>Joukkoliikenne</span> 1389 </a> 1390 </span> 1391 </li> 1392 1393 <li class="w-full pb-8 pr-4 md:pr-0"> 1394 <span 1395 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1396 x-bind:class="subOpen[3] == '2261' ? 'nav-item-active' : ''" 1397 > 1398 <a 1399 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1400 href="https://www.joensuu.fi/arjen-palvelut/liikenne-kadut-ja-kunnossapito/pysakointi/" 1401 x-bind:class="subOpen[3] == '2261' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1402 > 1403 <span>Pysäköinti</span> 1404 </a> 1405 </span> 1406 </li> 1407 1408 <li class="w-full pb-8 pr-4 md:pr-0"> 1409 <span 1410 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1411 x-bind:class="subOpen[3] == '2260' ? 'nav-item-active' : ''" 1412 > 1413 <a 1414 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1415 href="https://www.joensuu.fi/arjen-palvelut/liikenne-kadut-ja-kunnossapito/pysakoinninvalvonta/" 1416 x-bind:class="subOpen[3] == '2260' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1417 > 1418 <span>Pysäköinninvalvonta</span> 1419 </a> 1420 </span> 1421 </li> 1422 1423 <li class="w-full pb-8 pr-4 md:pr-0"> 1424 <span 1425 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1426 x-bind:class="subOpen[3] == '2257' ? 'nav-item-active' : ''" 1427 > 1428 <a 1429 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1430 href="https://www.joensuu.fi/arjen-palvelut/liikenne-kadut-ja-kunnossapito/katujen-talvihoito/" 1431 x-bind:class="subOpen[3] == '2257' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1432 > 1433 <span>Katualueiden talvihoito</span> 1434 </a> 1435 </span> 1436 </li> 1437 1438 <li class="w-full pb-8 pr-4 md:pr-0"> 1439 <span 1440 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1441 x-bind:class="subOpen[3] == '2256' ? 'nav-item-active' : ''" 1442 > 1443 <a 1444 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1445 href="https://www.joensuu.fi/arjen-palvelut/liikenne-kadut-ja-kunnossapito/katujen-kesahoito/" 1446 x-bind:class="subOpen[3] == '2256' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1447 > 1448 <span>Katualueiden kesähoito</span> 1449 </a> 1450 </span> 1451 </li> 1452 1453 <li class="w-full pb-8 pr-4 md:pr-0"> 1454 <span 1455 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1456 x-bind:class="subOpen[3] == '2255' ? 'nav-item-active' : ''" 1457 > 1458 <a 1459 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1460 href="https://www.joensuu.fi/arjen-palvelut/liikenne-kadut-ja-kunnossapito/pyoraily/" 1461 x-bind:class="subOpen[3] == '2255' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1462 >
1463 <span>Pyöräily</span> 1464 </a> 1465 </span> 1466 </li> 1467 1468 <li class="w-full pb-8 pr-4 md:pr-0"> 1469 <span 1470 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1471 x-bind:class="subOpen[3] == '2259' ? 'nav-item-active' : ''" 1472 > 1473 <a 1474 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1475 href="https://www.joensuu.fi/arjen-palvelut/liikenne-kadut-ja-kunnossapito/yksityistiet/" 1476 x-bind:class="subOpen[3] == '2259' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1477 > 1478 <span>Yksityistiet</span> 1479 </a> 1480 </span> 1481 </li> 1482 1483 <li class="w-full pb-8 pr-4 md:pr-0"> 1484 <span 1485 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1486 x-bind:class="subOpen[3] == '2258' ? 'nav-item-active' : ''" 1487 > 1488 <a 1489 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1490 href="https://www.joensuu.fi/arjen-palvelut/liikenne-kadut-ja-kunnossapito/ulkovalaistus/" 1491 x-bind:class="subOpen[3] == '2258' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1492 > 1493 <span>Ulkovalaistus</span> 1494 </a> 1495 </span> 1496 </li> 1497 1498 </ul> 1499 </div> 1500 </li> 1501 1502 <li class="w-full pb-8 pr-4 md:pr-0"> 1503 <span 1504 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1505 x-bind:class="subOpen[2] == '1992' ? 'nav-item-active' : ''" 1506 > 1507 <a 1508 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 1509 href="https://www.joensuu.fi/arjen-palvelut/ymparisto-ja-luonto/" 1510 x-bind:class="subOpen[2] == '1992' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1511 > 1512 <span>Ympäristö ja luonto</span> 1513 </a> 1514 <button 1515 :aria-expanded="subOpen[2] == '1992'" 1516 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 1517 @click=" 1518 if(subOpen[2] == '1992') { 1519 subOpen[2] = null; 1520 } else { 1521 subOpen[2] = '1992'; 1522 }; 1523 subOpen[3] = null; 1524 subOpen[4] = null; 1525 " 1526 > 1527 <span class="block"> 1528 <span 1529 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 1530 x-bind:class="subOpen[2] == '1992' ? 'menu-plus-active text-menu-hover' : ''" 1531 aria-hidden="true"> 1532 <span x-bind:class="subOpen[2] == '1992' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1533<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1534<rect width="24" height="24" fill="#D9D9D9"/> 1535</mask> 1536<g> 1537<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 1538</g> 1539</svg></span> 1540 1541 <span x-bind:class="subOpen[2] == '1992' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1542<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1543<rect width="24" height="24" fill="#D9D9D9"/> 1544</mask> 1545<g> 1546<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 1547</g> 1548</svg></span> 1549 </span> 1550 <span class="sr-only" x-bind:class="subOpen[2] == '1992' ? 'hidden' : ''"> 1551 Avaa "Ympäristö ja luonto" alavalikko 1552 </span> 1553 <span class="sr-only" x-bind:class="subOpen[2] == '1992' ? '' : 'hidden'"> 1554 Sulje "Ympäristö ja luonto" alavalikko 1555 </span> 1556 </span> 1557 </button> 1558 </span> 1559 <div 1560 x-cloak 1561 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 1562 x-bind:class="subOpen[2] == '1992' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 1563 x-bind:style="subOpen[2] == '1992' && !subOpen[3] && { maxHeight: '240px' }" 1564 > 1565 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 1566 <li class="w-full pb-8 pr-4 md:pr-0"> 1567 <span 1568 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1569 x-bind:class="subOpen[3] == '2276' ? 'nav-item-active' : ''" 1570 > 1571 <a 1572 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1573 href="https://www.joensuu.fi/arjen-palvelut/ymparisto-ja-luonto/ympariston-suojelun-luvat-ja-ilmoitukset/" 1574 x-bind:class="subOpen[3] == '2276' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1575 >
1576 <span>Ympäristönsuojelun luvat ja ilmoitukset</span> 1577 </a> 1578 </span> 1579 </li> 1580 1581 <li class="w-full pb-8 pr-4 md:pr-0"> 1582 <span 1583 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1584 x-bind:class="subOpen[3] == '2275' ? 'nav-item-active' : ''" 1585 > 1586 <a 1587 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1588 href="https://www.joensuu.fi/arjen-palvelut/ymparisto-ja-luonto/ympariston-tila/" 1589 x-bind:class="subOpen[3] == '2275' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1590 > 1591 <span>Ympäristön tila</span> 1592 </a> 1593 </span> 1594 </li> 1595 1596 <li class="w-full pb-8 pr-4 md:pr-0"> 1597 <span 1598 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1599 x-bind:class="subOpen[3] == '2274' ? 'nav-item-active' : ''" 1600 > 1601 <a 1602 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1603 href="https://www.joensuu.fi/arjen-palvelut/ymparisto-ja-luonto/puunkaato-ja-maisematyolupa/" 1604 x-bind:class="subOpen[3] == '2274' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1605 > 1606 <span>Puunkaato ja maisematyölupa</span> 1607 </a> 1608 </span> 1609 </li> 1610 1611 <li class="w-full pb-8 pr-4 md:pr-0"> 1612 <span 1613 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1614 x-bind:class="subOpen[3] == '2273' ? 'nav-item-active' : ''" 1615 > 1616 <a 1617 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1618 href="https://www.joensuu.fi/arjen-palvelut/ymparisto-ja-luonto/puistokummit/" 1619 x-bind:class="subOpen[3] == '2273' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1620 > 1621 <span>Puistokummit</span> 1622 </a> 1623 </span> 1624 </li> 1625 1626 </ul> 1627 </div> 1628 </li> 1629 1630 <li class="w-full pb-8 pr-4 md:pr-0"> 1631 <span 1632 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1633 x-bind:class="subOpen[2] == '1991' ? 'nav-item-active' : ''" 1634 > 1635 <a 1636 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 1637 href="https://www.joensuu.fi/arjen-palvelut/tyonhaku/" 1638 x-bind:class="subOpen[2] == '1991' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1639 > 1640 <span>Työnhaku</span> 1641 </a> 1642 <button 1643 :aria-expanded="subOpen[2] == '1991'" 1644 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 1645 @click=" 1646 if(subOpen[2] == '1991') { 1647 subOpen[2] = null; 1648 } else { 1649 subOpen[2] = '1991'; 1650 }; 1651 subOpen[3] = null; 1652 subOpen[4] = null; 1653 " 1654 > 1655 <span class="block"> 1656 <span 1657 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 1658 x-bind:class="subOpen[2] == '1991' ? 'menu-plus-active text-menu-hover' : ''" 1659 aria-hidden="true"> 1660 <span x-bind:class="subOpen[2] == '1991' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1661<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1662<rect width="24" height="24" fill="#D9D9D9"/> 1663</mask> 1664<g> 1665<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 1666</g> 1667</svg></span> 1668 1669 <span x-bind:class="subOpen[2] == '1991' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1670<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1671<rect width="24" height="24" fill="#D9D9D9"/> 1672</mask> 1673<g> 1674<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 1675</g> 1676</svg></span> 1677 </span>
1678 <span class="sr-only" x-bind:class="subOpen[2] == '1991' ? 'hidden' : ''"> 1679 Avaa "Työnhaku" alavalikko 1680 </span> 1681 <span class="sr-only" x-bind:class="subOpen[2] == '1991' ? '' : 'hidden'"> 1682 Sulje "Työnhaku" alavalikko 1683 </span> 1684 </span> 1685 </button> 1686 </span> 1687 <div 1688 x-cloak 1689 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 1690 x-bind:class="subOpen[2] == '1991' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 1691 x-bind:style="subOpen[2] == '1991' && !subOpen[3] && { maxHeight: '180px' }" 1692 > 1693 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 1694 <li class="w-full pb-8 pr-4 md:pr-0"> 1695 <span 1696 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1697 x-bind:class="subOpen[3] == '2968' ? 'nav-item-active' : ''" 1698 > 1699 <a 1700 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1701 href="https://www.joensuu.fi/arjen-palvelut/tyonhaku/tyottomaksi-ilmoittautuminen/" 1702 x-bind:class="subOpen[3] == '2968' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1703 > 1704 <span>Työttömäksi ilmoittautuminen</span> 1705 </a> 1706 </span> 1707 </li> 1708 1709 <li class="w-full pb-8 pr-4 md:pr-0"> 1710 <span 1711 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1712 x-bind:class="subOpen[3] == '2967' ? 'nav-item-active' : ''" 1713 > 1714 <a 1715 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1716 href="https://www.joensuu.fi/arjen-palvelut/tyonhaku/palvelut-tyonhakijalle/" 1717 x-bind:class="subOpen[3] == '2967' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1718 > 1719 <span>Palvelut työnhakijalle</span> 1720 </a> 1721 </span> 1722 </li> 1723 1724 <li class="w-full pb-8 pr-4 md:pr-0"> 1725 <span 1726 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1727 x-bind:class="subOpen[3] == '2966' ? 'nav-item-active' : ''" 1728 > 1729 <a 1730 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1731 href="https://www.joensuu.fi/arjen-palvelut/tyonhaku/asiointi-ja-yhteydenotto/" 1732 x-bind:class="subOpen[3] == '2966' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1733 > 1734 <span>Asiointi ja yhteydenotto</span> 1735 </a> 1736 </span> 1737 </li> 1738 1739 </ul> 1740 </div> 1741 </li> 1742 1743 </ul> 1744 </div> 1745 </li> 1746 <li 1747 class="py-4 transition duration-500 w-full md:w-[30%] 2xl:w-[27%]" 1748 x-bind:class="!isOpenDelayShort ? 'opacity-0' : 'opacity-100'" 1749 > 1750 <span 1751 class="group nav-item nav-item-main flex flex-nowrap gap-8 transition duration-500" 1752 x-bind:class="subOpen[1] == '1955' ? 'nav-item-active' : ''" 1753 x-bind:style="!isOpenDelayShort ? { 'transition-delay': '20ms', transform: 'translateY(1.5rem)' } : { 'transition-delay': '20ms' }" 1754 > 1755 <a 1756 href="https://www.joensuu.fi/vapaa-aika/" 1757 class="!no-underline flex-1 font-display text-base 2xl:text-baseb very-low-text-3xl leading-normal" 1758 x-bind:class="subOpen[1] == '1955' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1759 > 1760 <span class="!w-auto">Vapaa-aika</span> 1761 </a> 1762 <button 1763 :aria-expanded="subOpen[1] == '1955'" 1764 class="submenu-toggle cursor-pointer shrink-0 w-24 h-24 ml-auto flex justify-center items-center" 1765 @click=" 1766 if(subOpen[1] == '1955') { 1767 subOpen[1] = null; 1768 } else { 1769 subOpen[1] = '1955'; 1770 }; 1771 subOpen[2] = null; 1772 subOpen[3] = null; 1773 " 1774 >
1775 <span class="block"> 1776 <span 1777 class="shrink-0 block transform transition duration-300 mx-auto menu-plus scale-130 mr-[0.3rem] md:mr-0" 1778 x-bind:class="subOpen[1] == '1955' ? 'menu-plus-active text-menu-hover' : ''" 1779 aria-hidden="true"> 1780 <span x-bind:class="subOpen[1] == '1955' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1781<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1782<rect width="24" height="24" fill="#D9D9D9"/> 1783</mask> 1784<g> 1785<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 1786</g> 1787</svg></span> 1788 1789 <span x-bind:class="subOpen[1] == '1955' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1790<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1791<rect width="24" height="24" fill="#D9D9D9"/> 1792</mask> 1793<g> 1794<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 1795</g> 1796</svg></span> 1797 </span> 1798 <span class="sr-only" x-bind:class="subOpen[1] == '1955' ? 'hidden' : ''">Avaa "Vapaa-aika" alavalikko</span> 1799 <span class="sr-only" x-bind:class="subOpen[1] == '1955' ? '' : 'hidden'">Sulje "Vapaa-aika" alavalikko</span> 1800 </span> 1801 </button> 1802 </span> 1803 <div 1804 x-cloak 1805 class="md:absolute md:top-0 transition-all transform duration-500 pl-24 md:pl-0 grid z-20 md:mt-4 2xl:mt-9 3xl:mt-8 md:left-1/3 md:max-w-[33%] 2xl:left-[31%] 2xl:max-w-[31%]" 1806 x-bind:class="subOpen[1] == '1955' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 1807 x-bind:style="subOpen[1] == '1955' && !subOpen[2] && { maxHeight: '480px' }" 1808 > 1809 <ul 1810 class="flex flex-col gap-12 2xl:gap-16 transition duration-500 my-24 md:my-0 md:-mt-[0.4rem]" 1811 x-bind:class="!isOpenDelayShort ? 'opacity-0 translate-y-32' : 'opacity-100 translate-y-0'" 1812 > 1813 <li class="w-full pb-8 pr-4 md:pr-0"> 1814 <span 1815 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1816 x-bind:class="subOpen[2] == '2023' ? 'nav-item-active' : ''" 1817 > 1818 <a 1819 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 1820 href="https://www.joensuu.fi/vapaa-aika/kulttuuri-ja-kirjastot/" 1821 x-bind:class="subOpen[2] == '2023' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1822 > 1823 <span>Kulttuuri ja kirjastot</span> 1824 </a> 1825 <button 1826 :aria-expanded="subOpen[2] == '2023'" 1827 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 1828 @click=" 1829 if(subOpen[2] == '2023') { 1830 subOpen[2] = null; 1831 } else { 1832 subOpen[2] = '2023'; 1833 }; 1834 subOpen[3] = null; 1835 subOpen[4] = null; 1836 " 1837 > 1838 <span class="block"> 1839 <span 1840 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 1841 x-bind:class="subOpen[2] == '2023' ? 'menu-plus-active text-menu-hover' : ''" 1842 aria-hidden="true">
1843 <span x-bind:class="subOpen[2] == '2023' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1844<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1845<rect width="24" height="24" fill="#D9D9D9"/> 1846</mask> 1847<g> 1848<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 1849</g> 1850</svg></span> 1851 1852 <span x-bind:class="subOpen[2] == '2023' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1853<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1854<rect width="24" height="24" fill="#D9D9D9"/> 1855</mask> 1856<g> 1857<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 1858</g> 1859</svg></span> 1860 </span> 1861 <span class="sr-only" x-bind:class="subOpen[2] == '2023' ? 'hidden' : ''"> 1862 Avaa "Kulttuuri ja kirjastot" alavalikko 1863 </span> 1864 <span class="sr-only" x-bind:class="subOpen[2] == '2023' ? '' : 'hidden'"> 1865 Sulje "Kulttuuri ja kirjastot" alavalikko 1866 </span> 1867 </span> 1868 </button> 1869 </span> 1870 <div 1871 x-cloak 1872 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 1873 x-bind:class="subOpen[2] == '2023' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 1874 x-bind:style="subOpen[2] == '2023' && !subOpen[3] && { maxHeight: '300px' }" 1875 > 1876 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 1877 <li class="w-full pb-8 pr-4 md:pr-0"> 1878 <span 1879 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1880 x-bind:class="subOpen[3] == '5322' ? 'nav-item-active' : ''" 1881 > 1882 <a 1883 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1884 href="https://www.joensuu.fi/vapaa-aika/kulttuuri-ja-kirjastot/museot/" 1885 x-bind:class="subOpen[3] == '5322' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1886 > 1887 <span>Museot</span> 1888 </a> 1889 </span> 1890 </li> 1891 1892 <li class="w-full pb-8 pr-4 md:pr-0"> 1893 <span 1894 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1895 x-bind:class="subOpen[3] == '2975' ? 'nav-item-active' : ''" 1896 > 1897 <a 1898 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1899 href="https://www.joensuu.fi/vapaa-aika/kulttuuri-ja-kirjastot/kirjastot/" 1900 x-bind:class="subOpen[3] == '2975' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1901 > 1902 <span>Kirjastot</span> 1903 </a> 1904 </span> 1905 </li> 1906 1907 <li class="w-full pb-8 pr-4 md:pr-0"> 1908 <span 1909 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1910 x-bind:class="subOpen[3] == '20163' ? 'nav-item-active' : ''" 1911 > 1912 <a 1913 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1914 href="https://www.joensuu.fi/vapaa-aika/kulttuuri-ja-kirjastot/kaupunginorkesteri/" 1915 x-bind:class="subOpen[3] == '20163' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1916 > 1917 <span>Kaupunginorkesteri</span> 1918 </a> 1919 </span> 1920 </li> 1921 1922 <li class="w-full pb-8 pr-4 md:pr-0"> 1923 <span 1924 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16"
1925 x-bind:class="subOpen[3] == '20162' ? 'nav-item-active' : ''" 1926 > 1927 <a 1928 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1929 href="https://www.joensuu.fi/vapaa-aika/kulttuuri-ja-kirjastot/kaupunginteatteri/" 1930 x-bind:class="subOpen[3] == '20162' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1931 > 1932 <span>Kaupunginteatteri</span> 1933 </a> 1934 </span> 1935 </li> 1936 1937 <li class="w-full pb-8 pr-4 md:pr-0"> 1938 <span 1939 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1940 x-bind:class="subOpen[3] == '2502' ? 'nav-item-active' : ''" 1941 > 1942 <a 1943 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 1944 href="https://www.joensuu.fi/vapaa-aika/kulttuuri-ja-kirjastot/grafiikan-paja/" 1945 x-bind:class="subOpen[3] == '2502' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1946 > 1947 <span>Grafiikanpaja</span> 1948 </a> 1949 </span> 1950 </li> 1951 1952 </ul> 1953 </div> 1954 </li> 1955 1956 <li class="w-full pb-8 pr-4 md:pr-0"> 1957 <span 1958 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 1959 x-bind:class="subOpen[2] == '2024' ? 'nav-item-active' : ''" 1960 > 1961 <a 1962 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 1963 href="https://www.joensuu.fi/vapaa-aika/liikunta-ja-ulkoilupaikat/" 1964 x-bind:class="subOpen[2] == '2024' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 1965 > 1966 <span>Liikunta- ja ulkoilupaikat</span> 1967 </a> 1968 <button 1969 :aria-expanded="subOpen[2] == '2024'" 1970 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 1971 @click=" 1972 if(subOpen[2] == '2024') { 1973 subOpen[2] = null; 1974 } else { 1975 subOpen[2] = '2024'; 1976 }; 1977 subOpen[3] = null; 1978 subOpen[4] = null; 1979 " 1980 > 1981 <span class="block"> 1982 <span 1983 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 1984 x-bind:class="subOpen[2] == '2024' ? 'menu-plus-active text-menu-hover' : ''" 1985 aria-hidden="true"> 1986 <span x-bind:class="subOpen[2] == '2024' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1987<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1988<rect width="24" height="24" fill="#D9D9D9"/> 1989</mask> 1990<g> 1991<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 1992</g> 1993</svg></span> 1994 1995 <span x-bind:class="subOpen[2] == '2024' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1996<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 1997<rect width="24" height="24" fill="#D9D9D9"/> 1998</mask> 1999<g> 2000<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 2001</g> 2002</svg></span> 2003 </span> 2004 <span class="sr-only" x-bind:class="subOpen[2] == '2024' ? 'hidden' : ''"> 2005 Avaa "Liikunta- ja ulkoilupaikat" alavalikko 2006 </span> 2007 <span class="sr-only" x-bind:class="subOpen[2] == '2024' ? '' : 'hidden'"> 2008 Sulje "Liikunta- ja ulkoilupaikat" alavalikko 2009 </span> 2010 </span> 2011 </button> 2012 </span> 2013 <div 2014 x-cloak 2015 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 2016 x-bind:class="subOpen[2] == '2024' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 2017 x-bind:style="subOpen[2] == '2024' && !subOpen[3] && { maxHeight: '300px' }" 2018 > 2019 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 2020 <li class="w-full pb-8 pr-4 md:pr-0"> 2021 <span 2022 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2023 x-bind:class="subOpen[3] == '20286' ? 'nav-item-active' : ''" 2024 > 2025 <a 2026 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2027 href="https://www.joensuu.fi/vapaa-aika/liikunta-ja-ulkoilupaikat/vesikko/" 2028 x-bind:class="subOpen[3] == '20286' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2029 >
2030 <span>Virkistysuimala Vesikko</span> 2031 </a> 2032 </span> 2033 </li> 2034 2035 <li class="w-full pb-8 pr-4 md:pr-0"> 2036 <span 2037 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2038 x-bind:class="subOpen[3] == '20287' ? 'nav-item-active' : ''" 2039 > 2040 <a 2041 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2042 href="https://www.joensuu.fi/vapaa-aika/liikunta-ja-ulkoilupaikat/rantakylan-uimahalli/" 2043 x-bind:class="subOpen[3] == '20287' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2044 > 2045 <span>Rantakylän uimahalli</span> 2046 </a> 2047 </span> 2048 </li> 2049 2050 <li class="w-full pb-8 pr-4 md:pr-0"> 2051 <span 2052 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2053 x-bind:class="subOpen[3] == '20288' ? 'nav-item-active' : ''" 2054 > 2055 <a 2056 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2057 href="https://www.joensuu.fi/vapaa-aika/liikunta-ja-ulkoilupaikat/sisaliikunta/" 2058 x-bind:class="subOpen[3] == '20288' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2059 > 2060 <span>Sisäliikunta</span> 2061 </a> 2062 </span> 2063 </li> 2064 2065 <li class="w-full pb-8 pr-4 md:pr-0"> 2066 <span 2067 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2068 x-bind:class="subOpen[3] == '20289' ? 'nav-item-active' : ''" 2069 > 2070 <a 2071 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2072 href="https://www.joensuu.fi/vapaa-aika/liikunta-ja-ulkoilupaikat/ulkoliikunta/" 2073 x-bind:class="subOpen[3] == '20289' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2074 > 2075 <span>Ulkoliikunta</span> 2076 </a> 2077 </span> 2078 </li> 2079 2080 <li class="w-full pb-8 pr-4 md:pr-0"> 2081 <span 2082 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2083 x-bind:class="subOpen[3] == '20290' ? 'nav-item-active' : ''" 2084 > 2085 <a 2086 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2087 href="https://www.joensuu.fi/vapaa-aika/liikunta-ja-ulkoilupaikat/ulkoilu-ja-reitit/" 2088 x-bind:class="subOpen[3] == '20290' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2089 > 2090 <span>Ulkoilualueet, luontopolut ja retkeilyreitit</span> 2091 </a> 2092 </span> 2093 </li> 2094 2095 </ul> 2096 </div> 2097 </li> 2098 2099 <li class="w-full pb-8 pr-4 md:pr-0"> 2100 <span 2101 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2102 x-bind:class="subOpen[2] == '2026' ? 'nav-item-active' : ''" 2103 > 2104 <a 2105 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 2106 href="https://www.joensuu.fi/vapaa-aika/tekemista-liikkujalle/" 2107 x-bind:class="subOpen[2] == '2026' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2108 > 2109 <span>Tekemistä liikkujalle</span> 2110 </a> 2111 <button 2112 :aria-expanded="subOpen[2] == '2026'" 2113 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 2114 @click=" 2115 if(subOpen[2] == '2026') { 2116 subOpen[2] = null; 2117 } else { 2118 subOpen[2] = '2026'; 2119 }; 2120 subOpen[3] = null; 2121 subOpen[4] = null; 2122 " 2123 > 2124 <span class="block"> 2125 <span 2126 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 2127 x-bind:class="subOpen[2] == '2026' ? 'menu-plus-active text-menu-hover' : ''" 2128 aria-hidden="true"> 2129 <span x-bind:class="subOpen[2] == '2026' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2130<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2131<rect width="24" height="24" fill="#D9D9D9"/> 2132</mask> 2133<g> 2134<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 2135</g> 2136</svg></span> 2137
2138 <span x-bind:class="subOpen[2] == '2026' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2139<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2140<rect width="24" height="24" fill="#D9D9D9"/> 2141</mask> 2142<g> 2143<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 2144</g> 2145</svg></span> 2146 </span> 2147 <span class="sr-only" x-bind:class="subOpen[2] == '2026' ? 'hidden' : ''"> 2148 Avaa "Tekemistä liikkujalle" alavalikko 2149 </span> 2150 <span class="sr-only" x-bind:class="subOpen[2] == '2026' ? '' : 'hidden'"> 2151 Sulje "Tekemistä liikkujalle" alavalikko 2152 </span> 2153 </span> 2154 </button> 2155 </span> 2156 <div 2157 x-cloak 2158 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 2159 x-bind:class="subOpen[2] == '2026' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 2160 x-bind:style="subOpen[2] == '2026' && !subOpen[3] && { maxHeight: '180px' }" 2161 > 2162 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 2163 <li class="w-full pb-8 pr-4 md:pr-0"> 2164 <span 2165 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2166 x-bind:class="subOpen[3] == '5333' ? 'nav-item-active' : ''" 2167 > 2168 <a 2169 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2170 href="https://www.joensuu.fi/vapaa-aika/tekemista-liikkujalle/vauvauinnit-ja-uimakoulut/" 2171 x-bind:class="subOpen[3] == '5333' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2172 > 2173 <span>Vauvauinnit ja uimakoulut</span> 2174 </a> 2175 </span> 2176 </li> 2177 2178 <li class="w-full pb-8 pr-4 md:pr-0"> 2179 <span 2180 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2181 x-bind:class="subOpen[3] == '20292' ? 'nav-item-active' : ''" 2182 > 2183 <a 2184 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2185 href="https://www.joensuu.fi/vapaa-aika/tekemista-liikkujalle/ohjattu-liikunta-ja-avoimet-vuorot/" 2186 x-bind:class="subOpen[3] == '20292' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2187 > 2188 <span>Ohjattu liikunta ja avoimet vuorot</span> 2189 </a> 2190 </span> 2191 </li> 2192 2193 <li class="w-full pb-8 pr-4 md:pr-0"> 2194 <span 2195 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2196 x-bind:class="subOpen[3] == '20293' ? 'nav-item-active' : ''" 2197 > 2198 <a 2199 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2200 href="https://www.joensuu.fi/vapaa-aika/tekemista-liikkujalle/soveltava-ja-senioriliikunta/" 2201 x-bind:class="subOpen[3] == '20293' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2202 > 2203 <span>Soveltava liikunta ja senioriliikunta</span> 2204 </a> 2205 </span> 2206 </li> 2207 2208 </ul> 2209 </div> 2210 </li> 2211 2212 <li class="w-full pb-8 pr-4 md:pr-0"> 2213 <span 2214 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2215 x-bind:class="subOpen[2] == '2025' ? 'nav-item-active' : ''" 2216 > 2217 <a 2218 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 2219 href="https://www.joensuu.fi/vapaa-aika/huippu-urheilu/" 2220 x-bind:class="subOpen[2] == '2025' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2221 >
2222 <span>Huippu-urheilu</span> 2223 </a> 2224 <button 2225 :aria-expanded="subOpen[2] == '2025'" 2226 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 2227 @click=" 2228 if(subOpen[2] == '2025') { 2229 subOpen[2] = null; 2230 } else { 2231 subOpen[2] = '2025'; 2232 }; 2233 subOpen[3] = null; 2234 subOpen[4] = null; 2235 " 2236 > 2237 <span class="block"> 2238 <span 2239 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 2240 x-bind:class="subOpen[2] == '2025' ? 'menu-plus-active text-menu-hover' : ''" 2241 aria-hidden="true"> 2242 <span x-bind:class="subOpen[2] == '2025' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2243<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2244<rect width="24" height="24" fill="#D9D9D9"/> 2245</mask> 2246<g> 2247<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 2248</g> 2249</svg></span> 2250 2251 <span x-bind:class="subOpen[2] == '2025' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2252<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2253<rect width="24" height="24" fill="#D9D9D9"/> 2254</mask> 2255<g> 2256<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 2257</g> 2258</svg></span> 2259 </span> 2260 <span class="sr-only" x-bind:class="subOpen[2] == '2025' ? 'hidden' : ''"> 2261 Avaa "Huippu-urheilu" alavalikko 2262 </span> 2263 <span class="sr-only" x-bind:class="subOpen[2] == '2025' ? '' : 'hidden'"> 2264 Sulje "Huippu-urheilu" alavalikko 2265 </span> 2266 </span> 2267 </button> 2268 </span> 2269 <div 2270 x-cloak 2271 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 2272 x-bind:class="subOpen[2] == '2025' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 2273 x-bind:style="subOpen[2] == '2025' && !subOpen[3] && { maxHeight: '60px' }" 2274 > 2275 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 2276 <li class="w-full pb-8 pr-4 md:pr-0"> 2277 <span 2278 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2279 x-bind:class="subOpen[3] == '6673' ? 'nav-item-active' : ''" 2280 > 2281 <a 2282 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2283 href="https://www.joensuu.fi/vapaa-aika/huippu-urheilu/joensuun-urheiluakatemia/" 2284 x-bind:class="subOpen[3] == '6673' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2285 > 2286 <span>Joensuun Urheiluakatemia</span> 2287 </a> 2288 </span> 2289 </li> 2290 2291 </ul> 2292 </div> 2293 </li> 2294 2295 <li class="w-full pb-8 pr-4 md:pr-0"> 2296 <span 2297 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2298 x-bind:class="subOpen[2] == '2027' ? 'nav-item-active' : ''" 2299 > 2300 <a 2301 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 2302 href="https://www.joensuu.fi/vapaa-aika/tapahtumat/" 2303 x-bind:class="subOpen[2] == '2027' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2304 > 2305 <span>Tapahtumat</span> 2306 </a> 2307 <button 2308 :aria-expanded="subOpen[2] == '2027'" 2309 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 2310 @click=" 2311 if(subOpen[2] == '2027') { 2312 subOpen[2] = null; 2313 } else { 2314 subOpen[2] = '2027'; 2315 }; 2316 subOpen[3] = null; 2317 subOpen[4] = null; 2318 " 2319 >
2320 <span class="block"> 2321 <span 2322 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 2323 x-bind:class="subOpen[2] == '2027' ? 'menu-plus-active text-menu-hover' : ''" 2324 aria-hidden="true"> 2325 <span x-bind:class="subOpen[2] == '2027' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2326<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2327<rect width="24" height="24" fill="#D9D9D9"/> 2328</mask> 2329<g> 2330<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 2331</g> 2332</svg></span> 2333 2334 <span x-bind:class="subOpen[2] == '2027' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2335<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2336<rect width="24" height="24" fill="#D9D9D9"/> 2337</mask> 2338<g> 2339<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 2340</g> 2341</svg></span> 2342 </span> 2343 <span class="sr-only" x-bind:class="subOpen[2] == '2027' ? 'hidden' : ''"> 2344 Avaa "Tapahtumat" alavalikko 2345 </span> 2346 <span class="sr-only" x-bind:class="subOpen[2] == '2027' ? '' : 'hidden'"> 2347 Sulje "Tapahtumat" alavalikko 2348 </span> 2349 </span> 2350 </button> 2351 </span> 2352 <div 2353 x-cloak 2354 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 2355 x-bind:class="subOpen[2] == '2027' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 2356 x-bind:style="subOpen[2] == '2027' && !subOpen[3] && { maxHeight: '480px' }" 2357 > 2358 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 2359 <li class="w-full pb-8 pr-4 md:pr-0"> 2360 <span 2361 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2362 x-bind:class="subOpen[3] == '2302' ? 'nav-item-active' : ''" 2363 > 2364 <a 2365 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2366 href="https://www.joensuu.fi/vapaa-aika/tapahtumat/suven-avaus/" 2367 x-bind:class="subOpen[3] == '2302' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2368 > 2369 <span>Suven avaus</span> 2370 </a> 2371 </span> 2372 </li> 2373 2374 <li class="w-full pb-8 pr-4 md:pr-0"> 2375 <span 2376 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2377 x-bind:class="subOpen[3] == '20642' ? 'nav-item-active' : ''" 2378 > 2379 <a 2380 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2381 href="https://www.joensuu.fi/vapaa-aika/tapahtumat/joen-yo/" 2382 x-bind:class="subOpen[3] == '20642' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2383 > 2384 <span>Joen Yö</span> 2385 </a> 2386 </span> 2387 </li> 2388 2389 <li class="w-full pb-8 pr-4 md:pr-0"> 2390 <span 2391 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2392 x-bind:class="subOpen[3] == '2304' ? 'nav-item-active' : ''" 2393 > 2394 <a 2395 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2396 href="https://www.joensuu.fi/vapaa-aika/tapahtumat/joensuu-paiva/" 2397 x-bind:class="subOpen[3] == '2304' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2398 > 2399 <span>Joensuu-päivä</span> 2400 </a> 2401 </span> 2402 </li> 2403 2404 <li class="w-full pb-8 pr-4 md:pr-0"> 2405 <span 2406 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16"
2407 x-bind:class="subOpen[3] == '3498' ? 'nav-item-active' : ''" 2408 > 2409 <a 2410 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2411 href="https://www.joensuu.fi/vapaa-aika/tapahtumat/kulttuuritupsahdukset/" 2412 x-bind:class="subOpen[3] == '3498' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2413 > 2414 <span>Kulttuuritupsahdukset</span> 2415 </a> 2416 </span> 2417 </li> 2418 2419 <li class="w-full pb-8 pr-4 md:pr-0"> 2420 <span 2421 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2422 x-bind:class="subOpen[3] == '2300' ? 'nav-item-active' : ''" 2423 > 2424 <a 2425 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2426 href="https://www.joensuu.fi/vapaa-aika/tapahtumat/kulttuurikimara/" 2427 x-bind:class="subOpen[3] == '2300' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2428 > 2429 <span>Kulttuurikimara</span> 2430 </a> 2431 </span> 2432 </li> 2433 2434 <li class="w-full pb-8 pr-4 md:pr-0"> 2435 <span 2436 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2437 x-bind:class="subOpen[3] == '2301' ? 'nav-item-active' : ''" 2438 > 2439 <a 2440 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2441 href="https://www.joensuu.fi/vapaa-aika/tapahtumat/lasten-ja-nuorten-kulttuurikimarainen/" 2442 x-bind:class="subOpen[3] == '2301' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2443 > 2444 <span>Lasten ja nuorten kulttuurikimarainen</span> 2445 </a> 2446 </span> 2447 </li> 2448 2449 <li class="w-full pb-8 pr-4 md:pr-0"> 2450 <span 2451 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2452 x-bind:class="subOpen[3] == '2299' ? 'nav-item-active' : ''" 2453 > 2454 <a 2455 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2456 href="https://www.joensuu.fi/vapaa-aika/tapahtumat/vuosittaiset-juhlapaivat/" 2457 x-bind:class="subOpen[3] == '2299' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2458 > 2459 <span>Vuosittaiset juhlapäivät</span> 2460 </a> 2461 </span> 2462 </li> 2463 2464 <li class="w-full pb-8 pr-4 md:pr-0"> 2465 <span 2466 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2467 x-bind:class="subOpen[3] == '20320' ? 'nav-item-active' : ''" 2468 > 2469 <a 2470 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2471 href="https://www.joensuu.fi/vapaa-aika/tapahtumat/tekemista-lomalle/" 2472 x-bind:class="subOpen[3] == '20320' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2473 > 2474 <span>Tekemistä lomalle</span> 2475 </a> 2476 </span> 2477 </li> 2478 2479 </ul> 2480 </div> 2481 </li> 2482 2483 <li class="w-full pb-8 pr-4 md:pr-0"> 2484 <span 2485 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2486 x-bind:class="subOpen[2] == '2028' ? 'nav-item-active' : ''" 2487 > 2488 <a 2489 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 2490 href="https://www.joensuu.fi/vapaa-aika/konservatorio-ja-kansalaisopisto/" 2491 x-bind:class="subOpen[2] == '2028' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2492 > 2493 <span>Konservatorio ja kansalaisopisto</span> 2494 </a> 2495 <button 2496 :aria-expanded="subOpen[2] == '2028'" 2497 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 2498 @click=" 2499 if(subOpen[2] == '2028') { 2500 subOpen[2] = null; 2501 } else { 2502 subOpen[2] = '2028'; 2503 }; 2504 subOpen[3] = null; 2505 subOpen[4] = null; 2506 " 2507 >
2508 <span class="block"> 2509 <span 2510 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 2511 x-bind:class="subOpen[2] == '2028' ? 'menu-plus-active text-menu-hover' : ''" 2512 aria-hidden="true"> 2513 <span x-bind:class="subOpen[2] == '2028' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2514<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2515<rect width="24" height="24" fill="#D9D9D9"/> 2516</mask> 2517<g> 2518<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 2519</g> 2520</svg></span> 2521 2522 <span x-bind:class="subOpen[2] == '2028' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2523<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2524<rect width="24" height="24" fill="#D9D9D9"/> 2525</mask> 2526<g> 2527<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 2528</g> 2529</svg></span> 2530 </span> 2531 <span class="sr-only" x-bind:class="subOpen[2] == '2028' ? 'hidden' : ''"> 2532 Avaa "Konservatorio ja kansalaisopisto" alavalikko 2533 </span> 2534 <span class="sr-only" x-bind:class="subOpen[2] == '2028' ? '' : 'hidden'"> 2535 Sulje "Konservatorio ja kansalaisopisto" alavalikko 2536 </span> 2537 </span> 2538 </button> 2539 </span> 2540 <div 2541 x-cloak 2542 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 2543 x-bind:class="subOpen[2] == '2028' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 2544 x-bind:style="subOpen[2] == '2028' && !subOpen[3] && { maxHeight: '180px' }" 2545 > 2546 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 2547 <li class="w-full pb-8 pr-4 md:pr-0"> 2548 <span 2549 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2550 x-bind:class="subOpen[3] == '5361' ? 'nav-item-active' : ''" 2551 > 2552 <a 2553 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2554 href="https://www.joensuu.fi/vapaa-aika/konservatorio-ja-kansalaisopisto/konservatorio/" 2555 x-bind:class="subOpen[3] == '5361' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2556 > 2557 <span>Konservatorio</span> 2558 </a> 2559 </span> 2560 </li> 2561 2562 <li class="w-full pb-8 pr-4 md:pr-0"> 2563 <span 2564 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2565 x-bind:class="subOpen[3] == '7868' ? 'nav-item-active' : ''" 2566 > 2567 <a 2568 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2569 href="https://www.joensuu.fi/vapaa-aika/konservatorio-ja-kansalaisopisto/kansalaisopisto/" 2570 x-bind:class="subOpen[3] == '7868' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2571 > 2572 <span>Kansalaisopisto</span> 2573 </a> 2574 </span> 2575 </li> 2576 2577 <li class="w-full pb-8 pr-4 md:pr-0"> 2578 <span 2579 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2580 x-bind:class="subOpen[3] == '7867' ? 'nav-item-active' : ''" 2581 > 2582 <a 2583 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2584 href="https://www.joensuu.fi/vapaa-aika/konservatorio-ja-kansalaisopisto/taiteen-perusopetus/" 2585 x-bind:class="subOpen[3] == '7867' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2586 >
2587 <span>Taiteen perusopetus</span> 2588 </a> 2589 </span> 2590 </li> 2591 2592 </ul> 2593 </div> 2594 </li> 2595 2596 <li class="w-full pb-8 pr-4 md:pr-0"> 2597 <span 2598 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2599 x-bind:class="subOpen[2] == '2030' ? 'nav-item-active' : ''" 2600 > 2601 <a 2602 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 2603 href="https://www.joensuu.fi/vapaa-aika/vapaa-ajanviettopaikat/" 2604 x-bind:class="subOpen[2] == '2030' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2605 > 2606 <span>Vapaa-ajanviettopaikat</span> 2607 </a> 2608 <button 2609 :aria-expanded="subOpen[2] == '2030'" 2610 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 2611 @click=" 2612 if(subOpen[2] == '2030') { 2613 subOpen[2] = null; 2614 } else { 2615 subOpen[2] = '2030'; 2616 }; 2617 subOpen[3] = null; 2618 subOpen[4] = null; 2619 " 2620 > 2621 <span class="block"> 2622 <span 2623 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 2624 x-bind:class="subOpen[2] == '2030' ? 'menu-plus-active text-menu-hover' : ''" 2625 aria-hidden="true"> 2626 <span x-bind:class="subOpen[2] == '2030' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2627<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2628<rect width="24" height="24" fill="#D9D9D9"/> 2629</mask> 2630<g> 2631<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 2632</g> 2633</svg></span> 2634 2635 <span x-bind:class="subOpen[2] == '2030' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2636<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2637<rect width="24" height="24" fill="#D9D9D9"/> 2638</mask> 2639<g> 2640<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 2641</g> 2642</svg></span> 2643 </span> 2644 <span class="sr-only" x-bind:class="subOpen[2] == '2030' ? 'hidden' : ''"> 2645 Avaa "Vapaa-ajanviettopaikat" alavalikko 2646 </span> 2647 <span class="sr-only" x-bind:class="subOpen[2] == '2030' ? '' : 'hidden'"> 2648 Sulje "Vapaa-ajanviettopaikat" alavalikko 2649 </span> 2650 </span> 2651 </button> 2652 </span> 2653 <div 2654 x-cloak 2655 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 2656 x-bind:class="subOpen[2] == '2030' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 2657 x-bind:style="subOpen[2] == '2030' && !subOpen[3] && { maxHeight: '480px' }" 2658 > 2659 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 2660 <li class="w-full pb-8 pr-4 md:pr-0"> 2661 <span 2662 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2663 x-bind:class="subOpen[3] == '2330' ? 'nav-item-active' : ''" 2664 > 2665 <a 2666 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2667 href="https://www.joensuu.fi/vapaa-aika/vapaa-ajanviettopaikat/leikkipaikat/" 2668 x-bind:class="subOpen[3] == '2330' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2669 > 2670 <span>Leikkipaikat</span> 2671 </a> 2672 </span> 2673 </li> 2674 2675 <li class="w-full pb-8 pr-4 md:pr-0"> 2676 <span 2677 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2678 x-bind:class="subOpen[3] == '2331' ? 'nav-item-active' : ''" 2679 > 2680 <a 2681 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2682 href="https://www.joensuu.fi/vapaa-aika/vapaa-ajanviettopaikat/koirapuistot/" 2683 x-bind:class="subOpen[3] == '2331' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2684 >
2685 <span>Koirapuistot</span> 2686 </a> 2687 </span> 2688 </li> 2689 2690 <li class="w-full pb-8 pr-4 md:pr-0"> 2691 <span 2692 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2693 x-bind:class="subOpen[3] == '2326' ? 'nav-item-active' : ''" 2694 > 2695 <a 2696 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2697 href="https://www.joensuu.fi/vapaa-aika/vapaa-ajanviettopaikat/puistot/" 2698 x-bind:class="subOpen[3] == '2326' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2699 > 2700 <span>Puistot</span> 2701 </a> 2702 </span> 2703 </li> 2704 2705 <li class="w-full pb-8 pr-4 md:pr-0"> 2706 <span 2707 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2708 x-bind:class="subOpen[3] == '2329' ? 'nav-item-active' : ''" 2709 > 2710 <a 2711 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2712 href="https://www.joensuu.fi/vapaa-aika/vapaa-ajanviettopaikat/viljelypalstat/" 2713 x-bind:class="subOpen[3] == '2329' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2714 > 2715 <span>Viljelypalstat</span> 2716 </a> 2717 </span> 2718 </li> 2719 2720 <li class="w-full pb-8 pr-4 md:pr-0"> 2721 <span 2722 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2723 x-bind:class="subOpen[3] == '2327' ? 'nav-item-active' : ''" 2724 > 2725 <a 2726 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2727 href="https://www.joensuu.fi/vapaa-aika/vapaa-ajanviettopaikat/siirtolapuutarhat/" 2728 x-bind:class="subOpen[3] == '2327' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2729 > 2730 <span>Siirtolapuutarhat</span> 2731 </a> 2732 </span> 2733 </li> 2734 2735 <li class="w-full pb-8 pr-4 md:pr-0"> 2736 <span 2737 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2738 x-bind:class="subOpen[3] == '2325' ? 'nav-item-active' : ''" 2739 > 2740 <a 2741 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2742 href="https://www.joensuu.fi/vapaa-aika/vapaa-ajanviettopaikat/matonpesupaikat/" 2743 x-bind:class="subOpen[3] == '2325' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2744 > 2745 <span>Matonpesupaikat</span> 2746 </a> 2747 </span> 2748 </li> 2749 2750 <li class="w-full pb-8 pr-4 md:pr-0"> 2751 <span 2752 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2753 x-bind:class="subOpen[3] == '2324' ? 'nav-item-active' : ''" 2754 > 2755 <a 2756 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2757 href="https://www.joensuu.fi/vapaa-aika/vapaa-ajanviettopaikat/kohtaamispaikat/" 2758 x-bind:class="subOpen[3] == '2324' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2759 > 2760 <span>Kohtaamispaikat</span> 2761 </a> 2762 </span> 2763 </li> 2764 2765 <li class="w-full pb-8 pr-4 md:pr-0"> 2766 <span 2767 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2768 x-bind:class="subOpen[3] == '2328' ? 'nav-item-active' : ''" 2769 > 2770 <a 2771 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2772 href="https://www.joensuu.fi/vapaa-aika/vapaa-ajanviettopaikat/yleisten-alueiden-wc-tilat/" 2773 x-bind:class="subOpen[3] == '2328' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2774 > 2775 <span>Yleisten alueiden WC-tilat</span> 2776 </a> 2777 </span> 2778 </li> 2779 2780 </ul> 2781 </div> 2782 </li> 2783 2784 <li class="w-full pb-8 pr-4 md:pr-0"> 2785 <span 2786 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2787 x-bind:class="subOpen[2] == '2029' ? 'nav-item-active' : ''" 2788 > 2789 <a 2790 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 2791 href="https://www.joensuu.fi/vapaa-aika/nuorille/" 2792 x-bind:class="subOpen[2] == '2029' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2793 >
2794 <span>Nuorille</span> 2795 </a> 2796 <button 2797 :aria-expanded="subOpen[2] == '2029'" 2798 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 2799 @click=" 2800 if(subOpen[2] == '2029') { 2801 subOpen[2] = null; 2802 } else { 2803 subOpen[2] = '2029'; 2804 }; 2805 subOpen[3] = null; 2806 subOpen[4] = null; 2807 " 2808 > 2809 <span class="block"> 2810 <span 2811 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 2812 x-bind:class="subOpen[2] == '2029' ? 'menu-plus-active text-menu-hover' : ''" 2813 aria-hidden="true"> 2814 <span x-bind:class="subOpen[2] == '2029' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2815<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2816<rect width="24" height="24" fill="#D9D9D9"/> 2817</mask> 2818<g> 2819<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 2820</g> 2821</svg></span> 2822 2823 <span x-bind:class="subOpen[2] == '2029' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2824<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2825<rect width="24" height="24" fill="#D9D9D9"/> 2826</mask> 2827<g> 2828<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 2829</g> 2830</svg></span> 2831 </span> 2832 <span class="sr-only" x-bind:class="subOpen[2] == '2029' ? 'hidden' : ''"> 2833 Avaa "Nuorille" alavalikko 2834 </span> 2835 <span class="sr-only" x-bind:class="subOpen[2] == '2029' ? '' : 'hidden'"> 2836 Sulje "Nuorille" alavalikko 2837 </span> 2838 </span> 2839 </button> 2840 </span> 2841 <div 2842 x-cloak 2843 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 2844 x-bind:class="subOpen[2] == '2029' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 2845 x-bind:style="subOpen[2] == '2029' && !subOpen[3] && { maxHeight: '420px' }" 2846 > 2847 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 2848 <li class="w-full pb-8 pr-4 md:pr-0"> 2849 <span 2850 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2851 x-bind:class="subOpen[3] == '2381' ? 'nav-item-active' : ''" 2852 > 2853 <a 2854 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2855 href="https://www.joensuu.fi/vapaa-aika/nuorille/nuorisotilat/" 2856 x-bind:class="subOpen[3] == '2381' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2857 > 2858 <span>Nuorisotilat</span> 2859 </a> 2860 </span> 2861 </li> 2862 2863 <li class="w-full pb-8 pr-4 md:pr-0"> 2864 <span 2865 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2866 x-bind:class="subOpen[3] == '7979' ? 'nav-item-active' : ''" 2867 > 2868 <a 2869 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2870 href="https://www.joensuu.fi/vapaa-aika/nuorille/k789-kortti/" 2871 x-bind:class="subOpen[3] == '7979' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2872 > 2873 <span>Nuorisokortti ja edut</span> 2874 </a> 2875 </span> 2876 </li> 2877 2878 <li class="w-full pb-8 pr-4 md:pr-0"> 2879 <span 2880 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2881 x-bind:class="subOpen[3] == '7980' ? 'nav-item-active' : ''" 2882 > 2883 <a 2884 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2885 href="https://www.joensuu.fi/vapaa-aika/nuorille/harrastamisen-suomen-malli/" 2886 x-bind:class="subOpen[3] == '7980' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2887 >
2888 <span>Harrastamisen Suomen malli Joensuussa</span> 2889 </a> 2890 </span> 2891 </li> 2892 2893 <li class="w-full pb-8 pr-4 md:pr-0"> 2894 <span 2895 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2896 x-bind:class="subOpen[3] == '7981' ? 'nav-item-active' : ''" 2897 > 2898 <a 2899 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2900 href="https://www.joensuu.fi/vapaa-aika/nuorille/etsiva-nuorisotyo/" 2901 x-bind:class="subOpen[3] == '7981' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2902 > 2903 <span>Etsivä nuorisotyö</span> 2904 </a> 2905 </span> 2906 </li> 2907 2908 <li class="w-full pb-8 pr-4 md:pr-0"> 2909 <span 2910 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2911 x-bind:class="subOpen[3] == '7982' ? 'nav-item-active' : ''" 2912 > 2913 <a 2914 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2915 href="https://www.joensuu.fi/vapaa-aika/nuorille/liikuva-nuorisotyo/" 2916 x-bind:class="subOpen[3] == '7982' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2917 > 2918 <span>Liikkuva nuorisotyö</span> 2919 </a> 2920 </span> 2921 </li> 2922 2923 <li class="w-full pb-8 pr-4 md:pr-0"> 2924 <span 2925 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2926 x-bind:class="subOpen[3] == '7983' ? 'nav-item-active' : ''" 2927 > 2928 <a 2929 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2930 href="https://www.joensuu.fi/vapaa-aika/nuorille/harrastepankki/" 2931 x-bind:class="subOpen[3] == '7983' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2932 > 2933 <span>Harrastepankki</span> 2934 </a> 2935 </span> 2936 </li> 2937 2938 <li class="w-full pb-8 pr-4 md:pr-0"> 2939 <span 2940 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 2941 x-bind:class="subOpen[3] == '43137' ? 'nav-item-active' : ''" 2942 > 2943 <a 2944 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 2945 href="https://www.joensuu.fi/vapaa-aika/nuorille/tukea-harrastamiseen/" 2946 x-bind:class="subOpen[3] == '43137' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2947 > 2948 <span>Tukea harrastamiseen</span> 2949 </a> 2950 </span> 2951 </li> 2952 2953 </ul> 2954 </div> 2955 </li> 2956 2957 </ul> 2958 </div> 2959 </li> 2960 <li 2961 class="py-4 transition duration-500 w-full md:w-[30%] 2xl:w-[27%]" 2962 x-bind:class="!isOpenDelayShort ? 'opacity-0' : 'opacity-100'" 2963 > 2964 <span 2965 class="group nav-item nav-item-main flex flex-nowrap gap-8 transition duration-500" 2966 x-bind:class="subOpen[1] == '1956' ? 'nav-item-active' : ''" 2967 x-bind:style="!isOpenDelayShort ? { 'transition-delay': '40ms', transform: 'translateY(1.5rem)' } : { 'transition-delay': '40ms' }" 2968 > 2969 <a 2970 href="https://www.joensuu.fi/yritykset-ja-yhteisot/" 2971 class="!no-underline flex-1 font-display text-base 2xl:text-baseb very-low-text-3xl leading-normal" 2972 x-bind:class="subOpen[1] == '1956' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 2973 > 2974 <span class="!w-auto">Yritykset ja yhteisöt</span> 2975 </a> 2976 <button 2977 :aria-expanded="subOpen[1] == '1956'" 2978 class="submenu-toggle cursor-pointer shrink-0 w-24 h-24 ml-auto flex justify-center items-center" 2979 @click=" 2980 if(subOpen[1] == '1956') { 2981 subOpen[1] = null; 2982 } else { 2983 subOpen[1] = '1956'; 2984 }; 2985 subOpen[2] = null; 2986 subOpen[3] = null; 2987 " 2988 >
2989 <span class="block"> 2990 <span 2991 class="shrink-0 block transform transition duration-300 mx-auto menu-plus scale-130 mr-[0.3rem] md:mr-0" 2992 x-bind:class="subOpen[1] == '1956' ? 'menu-plus-active text-menu-hover' : ''" 2993 aria-hidden="true"> 2994 <span x-bind:class="subOpen[1] == '1956' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 2995<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 2996<rect width="24" height="24" fill="#D9D9D9"/> 2997</mask> 2998<g> 2999<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 3000</g> 3001</svg></span> 3002 3003 <span x-bind:class="subOpen[1] == '1956' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3004<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3005<rect width="24" height="24" fill="#D9D9D9"/> 3006</mask> 3007<g> 3008<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 3009</g> 3010</svg></span> 3011 </span> 3012 <span class="sr-only" x-bind:class="subOpen[1] == '1956' ? 'hidden' : ''">Avaa "Yritykset ja yhteisöt" alavalikko</span> 3013 <span class="sr-only" x-bind:class="subOpen[1] == '1956' ? '' : 'hidden'">Sulje "Yritykset ja yhteisöt" alavalikko</span> 3014 </span> 3015 </button> 3016 </span> 3017 <div 3018 x-cloak 3019 class="md:absolute md:top-0 transition-all transform duration-500 pl-24 md:pl-0 grid z-20 md:mt-4 2xl:mt-9 3xl:mt-8 md:left-1/3 md:max-w-[33%] 2xl:left-[31%] 2xl:max-w-[31%]" 3020 x-bind:class="subOpen[1] == '1956' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 3021 x-bind:style="subOpen[1] == '1956' && !subOpen[2] && { maxHeight: '300px' }" 3022 > 3023 <ul 3024 class="flex flex-col gap-12 2xl:gap-16 transition duration-500 my-24 md:my-0 md:-mt-[0.4rem]" 3025 x-bind:class="!isOpenDelayShort ? 'opacity-0 translate-y-32' : 'opacity-100 translate-y-0'" 3026 > 3027 <li class="w-full pb-8 pr-4 md:pr-0"> 3028 <span 3029 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3030 x-bind:class="subOpen[2] == '2046' ? 'nav-item-active' : ''" 3031 > 3032 <a 3033 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 3034 href="https://www.joensuu.fi/yritykset-ja-yhteisot/palvelut-yrityksille-ja-tyonantajille/" 3035 x-bind:class="subOpen[2] == '2046' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3036 > 3037 <span>Palvelut yrityksille ja työnantajille</span> 3038 </a> 3039 <button 3040 :aria-expanded="subOpen[2] == '2046'" 3041 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 3042 @click=" 3043 if(subOpen[2] == '2046') { 3044 subOpen[2] = null; 3045 } else { 3046 subOpen[2] = '2046'; 3047 }; 3048 subOpen[3] = null; 3049 subOpen[4] = null; 3050 " 3051 > 3052 <span class="block">
3053 <span 3054 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 3055 x-bind:class="subOpen[2] == '2046' ? 'menu-plus-active text-menu-hover' : ''" 3056 aria-hidden="true"> 3057 <span x-bind:class="subOpen[2] == '2046' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3058<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3059<rect width="24" height="24" fill="#D9D9D9"/> 3060</mask> 3061<g> 3062<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 3063</g> 3064</svg></span> 3065 3066 <span x-bind:class="subOpen[2] == '2046' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3067<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3068<rect width="24" height="24" fill="#D9D9D9"/> 3069</mask> 3070<g> 3071<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 3072</g> 3073</svg></span> 3074 </span> 3075 <span class="sr-only" x-bind:class="subOpen[2] == '2046' ? 'hidden' : ''"> 3076 Avaa "Palvelut yrityksille ja työnantajille" alavalikko 3077 </span> 3078 <span class="sr-only" x-bind:class="subOpen[2] == '2046' ? '' : 'hidden'"> 3079 Sulje "Palvelut yrityksille ja työnantajille" alavalikko 3080 </span> 3081 </span> 3082 </button> 3083 </span> 3084 <div 3085 x-cloak 3086 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 3087 x-bind:class="subOpen[2] == '2046' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 3088 x-bind:style="subOpen[2] == '2046' && !subOpen[3] && { maxHeight: '180px' }" 3089 > 3090 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 3091 <li class="w-full pb-8 pr-4 md:pr-0"> 3092 <span 3093 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3094 x-bind:class="subOpen[3] == '25083' ? 'nav-item-active' : ''" 3095 > 3096 <a 3097 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3098 href="https://www.joensuu.fi/yritykset-ja-yhteisot/palvelut-yrityksille-ja-tyonantajille/tyollisyys-ja-rekrytointi/" 3099 x-bind:class="subOpen[3] == '25083' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3100 > 3101 <span>Työllisyys ja rekrytointi</span> 3102 </a> 3103 </span> 3104 </li> 3105 3106 <li class="w-full pb-8 pr-4 md:pr-0"> 3107 <span 3108 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3109 x-bind:class="subOpen[3] == '4329' ? 'nav-item-active' : ''" 3110 > 3111 <a 3112 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3113 href="https://www.joensuu.fi/yritykset-ja-yhteisot/palvelut-yrityksille-ja-tyonantajille/luvat-ja-sopimukset-yleisilla-alueilla/" 3114 x-bind:class="subOpen[3] == '4329' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3115 > 3116 <span>Luvat ja sopimukset yleisillä alueilla</span> 3117 </a> 3118 </span> 3119 </li> 3120 3121 <li class="w-full pb-8 pr-4 md:pr-0"> 3122 <span 3123 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3124 x-bind:class="subOpen[3] == '15167' ? 'nav-item-active' : ''" 3125 > 3126 <a 3127 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3128 href="https://www.joensuu.fi/yritykset-ja-yhteisot/palvelut-yrityksille-ja-tyonantajille/korjausrakentaminen/" 3129 x-bind:class="subOpen[3] == '15167' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3130 >
3131 <span>Korjausrakentaminen</span> 3132 </a> 3133 </span> 3134 </li> 3135 3136 </ul> 3137 </div> 3138 </li> 3139 3140 <li class="w-full pb-8 pr-4 md:pr-0"> 3141 <span 3142 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3143 x-bind:class="subOpen[2] == '2045' ? 'nav-item-active' : ''" 3144 > 3145 <a 3146 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 3147 href="https://www.joensuu.fi/yritykset-ja-yhteisot/palvelut-yhdistyksille/" 3148 x-bind:class="subOpen[2] == '2045' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3149 > 3150 <span>Palvelut yhdistyksille</span> 3151 </a> 3152 </span> 3153 </li> 3154 3155 <li class="w-full pb-8 pr-4 md:pr-0"> 3156 <span 3157 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3158 x-bind:class="subOpen[2] == '2044' ? 'nav-item-active' : ''" 3159 > 3160 <a 3161 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 3162 href="https://www.joensuu.fi/yritykset-ja-yhteisot/tapahtumajarjestajille/" 3163 x-bind:class="subOpen[2] == '2044' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3164 > 3165 <span>Tapahtumajärjestäjille</span> 3166 </a> 3167 <button 3168 :aria-expanded="subOpen[2] == '2044'" 3169 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 3170 @click=" 3171 if(subOpen[2] == '2044') { 3172 subOpen[2] = null; 3173 } else { 3174 subOpen[2] = '2044'; 3175 }; 3176 subOpen[3] = null; 3177 subOpen[4] = null; 3178 " 3179 > 3180 <span class="block"> 3181 <span 3182 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 3183 x-bind:class="subOpen[2] == '2044' ? 'menu-plus-active text-menu-hover' : ''" 3184 aria-hidden="true"> 3185 <span x-bind:class="subOpen[2] == '2044' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3186<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3187<rect width="24" height="24" fill="#D9D9D9"/> 3188</mask> 3189<g> 3190<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 3191</g> 3192</svg></span> 3193 3194 <span x-bind:class="subOpen[2] == '2044' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3195<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3196<rect width="24" height="24" fill="#D9D9D9"/> 3197</mask> 3198<g> 3199<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 3200</g> 3201</svg></span> 3202 </span> 3203 <span class="sr-only" x-bind:class="subOpen[2] == '2044' ? 'hidden' : ''"> 3204 Avaa "Tapahtumajärjestäjille" alavalikko 3205 </span> 3206 <span class="sr-only" x-bind:class="subOpen[2] == '2044' ? '' : 'hidden'"> 3207 Sulje "Tapahtumajärjestäjille" alavalikko 3208 </span> 3209 </span> 3210 </button> 3211 </span> 3212 <div 3213 x-cloak 3214 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 3215 x-bind:class="subOpen[2] == '2044' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 3216 x-bind:style="subOpen[2] == '2044' && !subOpen[3] && { maxHeight: '300px' }" 3217 > 3218 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 3219 <li class="w-full pb-8 pr-4 md:pr-0"> 3220 <span 3221 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3222 x-bind:class="subOpen[3] == '2931' ? 'nav-item-active' : ''" 3223 > 3224 <a 3225 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3226 href="https://www.joensuu.fi/yritykset-ja-yhteisot/tapahtumajarjestajille/tapahtuma-alueet/" 3227 x-bind:class="subOpen[3] == '2931' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3228 >
3229 <span>Tapahtuma-alueet</span> 3230 </a> 3231 </span> 3232 </li> 3233 3234 <li class="w-full pb-8 pr-4 md:pr-0"> 3235 <span 3236 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3237 x-bind:class="subOpen[3] == '2930' ? 'nav-item-active' : ''" 3238 > 3239 <a 3240 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3241 href="https://www.joensuu.fi/yritykset-ja-yhteisot/tapahtumajarjestajille/tapahtumaluvat/" 3242 x-bind:class="subOpen[3] == '2930' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3243 > 3244 <span>Tapahtumaluvat</span> 3245 </a> 3246 </span> 3247 </li> 3248 3249 <li class="w-full pb-8 pr-4 md:pr-0"> 3250 <span 3251 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3252 x-bind:class="subOpen[3] == '25591' ? 'nav-item-active' : ''" 3253 > 3254 <a 3255 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3256 href="https://www.joensuu.fi/yritykset-ja-yhteisot/tapahtumajarjestajille/mainospaikat/" 3257 x-bind:class="subOpen[3] == '25591' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3258 > 3259 <span>Mainospaikat</span> 3260 </a> 3261 </span> 3262 </li> 3263 3264 <li class="w-full pb-8 pr-4 md:pr-0"> 3265 <span 3266 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3267 x-bind:class="subOpen[3] == '2929' ? 'nav-item-active' : ''" 3268 > 3269 <a 3270 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3271 href="https://www.joensuu.fi/yritykset-ja-yhteisot/tapahtumajarjestajille/ohjeet-tapahtumajarjestajille/" 3272 x-bind:class="subOpen[3] == '2929' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3273 > 3274 <span>Ohjeet tapahtumajärjestäjille</span> 3275 </a> 3276 </span> 3277 </li> 3278 3279 <li class="w-full pb-8 pr-4 md:pr-0"> 3280 <span 3281 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3282 x-bind:class="subOpen[3] == '2928' ? 'nav-item-active' : ''" 3283 > 3284 <a 3285 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3286 href="https://www.joensuu.fi/yritykset-ja-yhteisot/tapahtumajarjestajille/koulumajoitus/" 3287 x-bind:class="subOpen[3] == '2928' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3288 > 3289 <span>Koulumajoitus</span> 3290 </a> 3291 </span> 3292 </li> 3293 3294 </ul> 3295 </div> 3296 </li> 3297 3298 <li class="w-full pb-8 pr-4 md:pr-0"> 3299 <span 3300 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3301 x-bind:class="subOpen[2] == '2043' ? 'nav-item-active' : ''" 3302 > 3303 <a 3304 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 3305 href="https://www.joensuu.fi/yritykset-ja-yhteisot/pohjois-karjalan-hankintatoimi/" 3306 x-bind:class="subOpen[2] == '2043' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3307 > 3308 <span>Pohjois-Karjalan hankintatoimi</span> 3309 </a> 3310 <button 3311 :aria-expanded="subOpen[2] == '2043'" 3312 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 3313 @click=" 3314 if(subOpen[2] == '2043') { 3315 subOpen[2] = null; 3316 } else { 3317 subOpen[2] = '2043'; 3318 }; 3319 subOpen[3] = null; 3320 subOpen[4] = null; 3321 " 3322 > 3323 <span class="block"> 3324 <span 3325 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 3326 x-bind:class="subOpen[2] == '2043' ? 'menu-plus-active text-menu-hover' : ''" 3327 aria-hidden="true"> 3328 <span x-bind:class="subOpen[2] == '2043' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3329<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3330<rect width="24" height="24" fill="#D9D9D9"/> 3331</mask> 3332<g> 3333<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 3334</g> 3335</svg></span> 3336
3337 <span x-bind:class="subOpen[2] == '2043' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3338<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3339<rect width="24" height="24" fill="#D9D9D9"/> 3340</mask> 3341<g> 3342<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 3343</g> 3344</svg></span> 3345 </span> 3346 <span class="sr-only" x-bind:class="subOpen[2] == '2043' ? 'hidden' : ''"> 3347 Avaa "Pohjois-Karjalan hankintatoimi" alavalikko 3348 </span> 3349 <span class="sr-only" x-bind:class="subOpen[2] == '2043' ? '' : 'hidden'"> 3350 Sulje "Pohjois-Karjalan hankintatoimi" alavalikko 3351 </span> 3352 </span> 3353 </button> 3354 </span> 3355 <div 3356 x-cloak 3357 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 3358 x-bind:class="subOpen[2] == '2043' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 3359 x-bind:style="subOpen[2] == '2043' && !subOpen[3] && { maxHeight: '120px' }" 3360 > 3361 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 3362 <li class="w-full pb-8 pr-4 md:pr-0"> 3363 <span 3364 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3365 x-bind:class="subOpen[3] == '20359' ? 'nav-item-active' : ''" 3366 > 3367 <a 3368 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3369 href="https://www.joensuu.fi/yritykset-ja-yhteisot/pohjois-karjalan-hankintatoimi/tilaajalle/" 3370 x-bind:class="subOpen[3] == '20359' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3371 > 3372 <span>Tilaajalle</span> 3373 </a> 3374 </span> 3375 </li> 3376 3377 <li class="w-full pb-8 pr-4 md:pr-0"> 3378 <span 3379 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3380 x-bind:class="subOpen[3] == '20360' ? 'nav-item-active' : ''" 3381 > 3382 <a 3383 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3384 href="https://www.joensuu.fi/yritykset-ja-yhteisot/pohjois-karjalan-hankintatoimi/tarjoajalle/" 3385 x-bind:class="subOpen[3] == '20360' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3386 > 3387 <span>Tarjoajalle</span> 3388 </a> 3389 </span> 3390 </li> 3391 3392 </ul> 3393 </div> 3394 </li> 3395 3396 <li class="w-full pb-8 pr-4 md:pr-0"> 3397 <span 3398 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3399 x-bind:class="subOpen[2] == '2042' ? 'nav-item-active' : ''" 3400 > 3401 <a 3402 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 3403 href="https://www.joensuu.fi/yritykset-ja-yhteisot/yritystontit-ja-kiinteistot/" 3404 x-bind:class="subOpen[2] == '2042' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3405 > 3406 <span>Yritystontit ja kiinteistöt</span> 3407 </a> 3408 <button 3409 :aria-expanded="subOpen[2] == '2042'" 3410 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 3411 @click=" 3412 if(subOpen[2] == '2042') { 3413 subOpen[2] = null; 3414 } else { 3415 subOpen[2] = '2042'; 3416 }; 3417 subOpen[3] = null; 3418 subOpen[4] = null; 3419 " 3420 > 3421 <span class="block"> 3422 <span 3423 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 3424 x-bind:class="subOpen[2] == '2042' ? 'menu-plus-active text-menu-hover' : ''" 3425 aria-hidden="true">
3426 <span x-bind:class="subOpen[2] == '2042' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3427<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3428<rect width="24" height="24" fill="#D9D9D9"/> 3429</mask> 3430<g> 3431<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 3432</g> 3433</svg></span> 3434 3435 <span x-bind:class="subOpen[2] == '2042' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3436<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3437<rect width="24" height="24" fill="#D9D9D9"/> 3438</mask> 3439<g> 3440<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 3441</g> 3442</svg></span> 3443 </span> 3444 <span class="sr-only" x-bind:class="subOpen[2] == '2042' ? 'hidden' : ''"> 3445 Avaa "Yritystontit ja kiinteistöt" alavalikko 3446 </span> 3447 <span class="sr-only" x-bind:class="subOpen[2] == '2042' ? '' : 'hidden'"> 3448 Sulje "Yritystontit ja kiinteistöt" alavalikko 3449 </span> 3450 </span> 3451 </button> 3452 </span> 3453 <div 3454 x-cloak 3455 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 3456 x-bind:class="subOpen[2] == '2042' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 3457 x-bind:style="subOpen[2] == '2042' && !subOpen[3] && { maxHeight: '180px' }" 3458 > 3459 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 3460 <li class="w-full pb-8 pr-4 md:pr-0"> 3461 <span 3462 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3463 x-bind:class="subOpen[3] == '2409' ? 'nav-item-active' : ''" 3464 > 3465 <a 3466 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3467 href="https://www.joensuu.fi/yritykset-ja-yhteisot/yritystontit-ja-kiinteistot/tulevat-kilpailutukset-ja-myytavat-kohteet/" 3468 x-bind:class="subOpen[3] == '2409' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3469 > 3470 <span>Tulevat kilpailutukset ja myytävät kohteet</span> 3471 </a> 3472 </span> 3473 </li> 3474 3475 <li class="w-full pb-8 pr-4 md:pr-0"> 3476 <span 3477 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3478 x-bind:class="subOpen[3] == '2408' ? 'nav-item-active' : ''" 3479 > 3480 <a 3481 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3482 href="https://www.joensuu.fi/yritykset-ja-yhteisot/yritystontit-ja-kiinteistot/tontit-ammattirakentajille/" 3483 x-bind:class="subOpen[3] == '2408' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3484 > 3485 <span>Tontit ammattirakentajille</span> 3486 </a> 3487 </span> 3488 </li> 3489 3490 <li class="w-full pb-8 pr-4 md:pr-0"> 3491 <span 3492 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3493 x-bind:class="subOpen[3] == '2407' ? 'nav-item-active' : ''" 3494 > 3495 <a 3496 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3497 href="https://www.joensuu.fi/yritykset-ja-yhteisot/yritystontit-ja-kiinteistot/yritystontit/" 3498 x-bind:class="subOpen[3] == '2407' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3499 > 3500 <span>Yritystontit</span> 3501 </a> 3502 </span> 3503 </li> 3504 3505 </ul> 3506 </div> 3507 </li> 3508 3509 </ul> 3510 </div> 3511 </li> 3512 <li 3513 class="py-4 transition duration-500 w-full md:w-[30%] 2xl:w-[27%]" 3514 x-bind:class="!isOpenDelayShort ? 'opacity-0' : 'opacity-100'" 3515 >
3516 <span 3517 class="group nav-item nav-item-main flex flex-nowrap gap-8 transition duration-500" 3518 x-bind:class="subOpen[1] == '1957' ? 'nav-item-active' : ''" 3519 x-bind:style="!isOpenDelayShort ? { 'transition-delay': '60ms', transform: 'translateY(1.5rem)' } : { 'transition-delay': '60ms' }" 3520 > 3521 <a 3522 href="https://www.joensuu.fi/kaupunki-ja-kehitys/" 3523 class="!no-underline flex-1 font-display text-base 2xl:text-baseb very-low-text-3xl leading-normal" 3524 x-bind:class="subOpen[1] == '1957' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3525 > 3526 <span class="!w-auto">Kaupunki ja kehitys</span> 3527 </a> 3528 <button 3529 :aria-expanded="subOpen[1] == '1957'" 3530 class="submenu-toggle cursor-pointer shrink-0 w-24 h-24 ml-auto flex justify-center items-center" 3531 @click=" 3532 if(subOpen[1] == '1957') { 3533 subOpen[1] = null; 3534 } else { 3535 subOpen[1] = '1957'; 3536 }; 3537 subOpen[2] = null; 3538 subOpen[3] = null; 3539 " 3540 > 3541 <span class="block"> 3542 <span 3543 class="shrink-0 block transform transition duration-300 mx-auto menu-plus scale-130 mr-[0.3rem] md:mr-0" 3544 x-bind:class="subOpen[1] == '1957' ? 'menu-plus-active text-menu-hover' : ''" 3545 aria-hidden="true"> 3546 <span x-bind:class="subOpen[1] == '1957' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3547<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3548<rect width="24" height="24" fill="#D9D9D9"/> 3549</mask> 3550<g> 3551<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 3552</g> 3553</svg></span> 3554 3555 <span x-bind:class="subOpen[1] == '1957' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3556<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3557<rect width="24" height="24" fill="#D9D9D9"/> 3558</mask> 3559<g> 3560<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 3561</g> 3562</svg></span> 3563 </span> 3564 <span class="sr-only" x-bind:class="subOpen[1] == '1957' ? 'hidden' : ''">Avaa "Kaupunki ja kehitys" alavalikko</span> 3565 <span class="sr-only" x-bind:class="subOpen[1] == '1957' ? '' : 'hidden'">Sulje "Kaupunki ja kehitys" alavalikko</span> 3566 </span> 3567 </button> 3568 </span> 3569 <div 3570 x-cloak 3571 class="md:absolute md:top-0 transition-all transform duration-500 pl-24 md:pl-0 grid z-20 md:mt-4 2xl:mt-9 3xl:mt-8 md:left-1/3 md:max-w-[33%] 2xl:left-[31%] 2xl:max-w-[31%]" 3572 x-bind:class="subOpen[1] == '1957' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 3573 x-bind:style="subOpen[1] == '1957' && !subOpen[2] && { maxHeight: '360px' }" 3574 > 3575 <ul 3576 class="flex flex-col gap-12 2xl:gap-16 transition duration-500 my-24 md:my-0 md:-mt-[0.4rem]" 3577 x-bind:class="!isOpenDelayShort ? 'opacity-0 translate-y-32' : 'opacity-100 translate-y-0'" 3578 > 3579 <li class="w-full pb-8 pr-4 md:pr-0"> 3580 <span 3581 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3582 x-bind:class="subOpen[2] == '2065' ? 'nav-item-active' : ''" 3583 > 3584 <a 3585 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 3586 href="https://www.joensuu.fi/kaupunki-ja-kehitys/meidan-joensuu/" 3587 x-bind:class="subOpen[2] == '2065' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3588 >
3589 <span>Meidän Joensuu</span> 3590 </a> 3591 <button 3592 :aria-expanded="subOpen[2] == '2065'" 3593 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 3594 @click=" 3595 if(subOpen[2] == '2065') { 3596 subOpen[2] = null; 3597 } else { 3598 subOpen[2] = '2065'; 3599 }; 3600 subOpen[3] = null; 3601 subOpen[4] = null; 3602 " 3603 > 3604 <span class="block"> 3605 <span 3606 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 3607 x-bind:class="subOpen[2] == '2065' ? 'menu-plus-active text-menu-hover' : ''" 3608 aria-hidden="true"> 3609 <span x-bind:class="subOpen[2] == '2065' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3610<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3611<rect width="24" height="24" fill="#D9D9D9"/> 3612</mask> 3613<g> 3614<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 3615</g> 3616</svg></span> 3617 3618 <span x-bind:class="subOpen[2] == '2065' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3619<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3620<rect width="24" height="24" fill="#D9D9D9"/> 3621</mask> 3622<g> 3623<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 3624</g> 3625</svg></span> 3626 </span> 3627 <span class="sr-only" x-bind:class="subOpen[2] == '2065' ? 'hidden' : ''"> 3628 Avaa "Meidän Joensuu" alavalikko 3629 </span> 3630 <span class="sr-only" x-bind:class="subOpen[2] == '2065' ? '' : 'hidden'"> 3631 Sulje "Meidän Joensuu" alavalikko 3632 </span> 3633 </span> 3634 </button> 3635 </span> 3636 <div 3637 x-cloak 3638 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 3639 x-bind:class="subOpen[2] == '2065' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 3640 x-bind:style="subOpen[2] == '2065' && !subOpen[3] && { maxHeight: '360px' }" 3641 > 3642 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 3643 <li class="w-full pb-8 pr-4 md:pr-0"> 3644 <span 3645 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3646 x-bind:class="subOpen[3] == '2945' ? 'nav-item-active' : ''" 3647 > 3648 <a 3649 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3650 href="https://www.joensuu.fi/kaupunki-ja-kehitys/meidan-joensuu/muuta-meille/" 3651 x-bind:class="subOpen[3] == '2945' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3652 > 3653 <span>Muuta meille</span> 3654 </a> 3655 </span> 3656 </li> 3657 3658 <li class="w-full pb-8 pr-4 md:pr-0"> 3659 <span 3660 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3661 x-bind:class="subOpen[3] == '5592' ? 'nav-item-active' : ''" 3662 > 3663 <a 3664 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3665 href="https://www.joensuu.fi/kaupunki-ja-kehitys/meidan-joensuu/saapuminen-joensuuhun/" 3666 x-bind:class="subOpen[3] == '5592' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3667 > 3668 <span>Saapuminen Joensuuhun</span> 3669 </a> 3670 </span> 3671 </li> 3672 3673 <li class="w-full pb-8 pr-4 md:pr-0"> 3674 <span 3675 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3676 x-bind:class="subOpen[3] == '2887' ? 'nav-item-active' : ''" 3677 > 3678 <a 3679 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3680 href="https://www.joensuu.fi/kaupunki-ja-kehitys/meidan-joensuu/carelicum/" 3681 x-bind:class="subOpen[3] == '2887' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3682 >
3683 <span>Carelicum</span> 3684 </a> 3685 </span> 3686 </li> 3687 3688 <li class="w-full pb-8 pr-4 md:pr-0"> 3689 <span 3690 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3691 x-bind:class="subOpen[3] == '4105' ? 'nav-item-active' : ''" 3692 > 3693 <a 3694 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3695 href="https://www.joensuu.fi/kaupunki-ja-kehitys/meidan-joensuu/tietoa-joensuusta/" 3696 x-bind:class="subOpen[3] == '4105' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3697 > 3698 <span>Tietoa Joensuusta</span> 3699 </a> 3700 </span> 3701 </li> 3702 3703 <li class="w-full pb-8 pr-4 md:pr-0"> 3704 <span 3705 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3706 x-bind:class="subOpen[3] == '3562' ? 'nav-item-active' : ''" 3707 > 3708 <a 3709 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3710 href="https://www.joensuu.fi/kaupunki-ja-kehitys/meidan-joensuu/pitajat/" 3711 x-bind:class="subOpen[3] == '3562' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3712 > 3713 <span>Pitäjät</span> 3714 </a> 3715 </span> 3716 </li> 3717 3718 <li class="w-full pb-8 pr-4 md:pr-0"> 3719 <span 3720 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3721 x-bind:class="subOpen[3] == '4756' ? 'nav-item-active' : ''" 3722 > 3723 <a 3724 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3725 href="https://www.joensuu.fi/kaupunki-ja-kehitys/meidan-joensuu/arvot/" 3726 x-bind:class="subOpen[3] == '4756' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3727 > 3728 <span>Arvot</span> 3729 </a> 3730 </span> 3731 </li> 3732 3733 </ul> 3734 </div> 3735 </li> 3736 3737 <li class="w-full pb-8 pr-4 md:pr-0"> 3738 <span 3739 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3740 x-bind:class="subOpen[2] == '2064' ? 'nav-item-active' : ''" 3741 > 3742 <a 3743 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 3744 href="https://www.joensuu.fi/kaupunki-ja-kehitys/hyvinvointi-ja-yhteisollisyys/" 3745 x-bind:class="subOpen[2] == '2064' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3746 > 3747 <span>Hyvinvointi ja yhteisöllisyys</span> 3748 </a> 3749 <button 3750 :aria-expanded="subOpen[2] == '2064'" 3751 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 3752 @click=" 3753 if(subOpen[2] == '2064') { 3754 subOpen[2] = null; 3755 } else { 3756 subOpen[2] = '2064'; 3757 }; 3758 subOpen[3] = null; 3759 subOpen[4] = null; 3760 " 3761 > 3762 <span class="block"> 3763 <span 3764 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 3765 x-bind:class="subOpen[2] == '2064' ? 'menu-plus-active text-menu-hover' : ''" 3766 aria-hidden="true"> 3767 <span x-bind:class="subOpen[2] == '2064' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3768<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3769<rect width="24" height="24" fill="#D9D9D9"/> 3770</mask> 3771<g> 3772<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 3773</g> 3774</svg></span> 3775 3776 <span x-bind:class="subOpen[2] == '2064' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3777<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3778<rect width="24" height="24" fill="#D9D9D9"/> 3779</mask> 3780<g> 3781<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 3782</g> 3783</svg></span> 3784 </span>
3785 <span class="sr-only" x-bind:class="subOpen[2] == '2064' ? 'hidden' : ''"> 3786 Avaa "Hyvinvointi ja yhteisöllisyys" alavalikko 3787 </span> 3788 <span class="sr-only" x-bind:class="subOpen[2] == '2064' ? '' : 'hidden'"> 3789 Sulje "Hyvinvointi ja yhteisöllisyys" alavalikko 3790 </span> 3791 </span> 3792 </button> 3793 </span> 3794 <div 3795 x-cloak 3796 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 3797 x-bind:class="subOpen[2] == '2064' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 3798 x-bind:style="subOpen[2] == '2064' && !subOpen[3] && { maxHeight: '300px' }" 3799 > 3800 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 3801 <li class="w-full pb-8 pr-4 md:pr-0"> 3802 <span 3803 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3804 x-bind:class="subOpen[3] == '2398' ? 'nav-item-active' : ''" 3805 > 3806 <a 3807 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3808 href="https://www.joensuu.fi/kaupunki-ja-kehitys/hyvinvointi-ja-yhteisollisyys/lapsi-ystavallinen-kunta/" 3809 x-bind:class="subOpen[3] == '2398' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3810 > 3811 <span>Lapsiystävällinen kunta</span> 3812 </a> 3813 </span> 3814 </li> 3815 3816 <li class="w-full pb-8 pr-4 md:pr-0"> 3817 <span 3818 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3819 x-bind:class="subOpen[3] == '2397' ? 'nav-item-active' : ''" 3820 > 3821 <a 3822 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3823 href="https://www.joensuu.fi/kaupunki-ja-kehitys/hyvinvointi-ja-yhteisollisyys/kulttuuriohjelma/" 3824 x-bind:class="subOpen[3] == '2397' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3825 > 3826 <span>Kulttuuriohjelma 2021-2026</span> 3827 </a> 3828 </span> 3829 </li> 3830 3831 <li class="w-full pb-8 pr-4 md:pr-0"> 3832 <span 3833 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3834 x-bind:class="subOpen[3] == '2396' ? 'nav-item-active' : ''" 3835 > 3836 <a 3837 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3838 href="https://www.joensuu.fi/kaupunki-ja-kehitys/hyvinvointi-ja-yhteisollisyys/liikkuva-joensuu/" 3839 x-bind:class="subOpen[3] == '2396' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3840 > 3841 <span>Liikkuva Joensuu</span> 3842 </a> 3843 </span> 3844 </li> 3845 3846 <li class="w-full pb-8 pr-4 md:pr-0"> 3847 <span 3848 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3849 x-bind:class="subOpen[3] == '2395' ? 'nav-item-active' : ''" 3850 > 3851 <a 3852 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3853 href="https://www.joensuu.fi/kaupunki-ja-kehitys/hyvinvointi-ja-yhteisollisyys/voimaa-vanhuuteen/" 3854 x-bind:class="subOpen[3] == '2395' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3855 > 3856 <span>Voimaa vanhuuteen</span> 3857 </a> 3858 </span> 3859 </li> 3860 3861 <li class="w-full pb-8 pr-4 md:pr-0"> 3862 <span 3863 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3864 x-bind:class="subOpen[3] == '2394' ? 'nav-item-active' : ''" 3865 > 3866 <a 3867 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3868 href="https://www.joensuu.fi/kaupunki-ja-kehitys/hyvinvointi-ja-yhteisollisyys/hyvinvoinnin-ja-terveyden-edistaminen/" 3869 x-bind:class="subOpen[3] == '2394' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3870 >
3871 <span>Hyvinvoinnin ja terveyden edistäminen</span> 3872 </a> 3873 </span> 3874 </li> 3875 3876 </ul> 3877 </div> 3878 </li> 3879 3880 <li class="w-full pb-8 pr-4 md:pr-0"> 3881 <span 3882 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3883 x-bind:class="subOpen[2] == '2063' ? 'nav-item-active' : ''" 3884 > 3885 <a 3886 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 3887 href="https://www.joensuu.fi/kaupunki-ja-kehitys/kehittaminen-ja-innovaatiot/" 3888 x-bind:class="subOpen[2] == '2063' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3889 > 3890 <span>Kehittäminen ja innovaatiot</span> 3891 </a> 3892 <button 3893 :aria-expanded="subOpen[2] == '2063'" 3894 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 3895 @click=" 3896 if(subOpen[2] == '2063') { 3897 subOpen[2] = null; 3898 } else { 3899 subOpen[2] = '2063'; 3900 }; 3901 subOpen[3] = null; 3902 subOpen[4] = null; 3903 " 3904 > 3905 <span class="block"> 3906 <span 3907 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 3908 x-bind:class="subOpen[2] == '2063' ? 'menu-plus-active text-menu-hover' : ''" 3909 aria-hidden="true"> 3910 <span x-bind:class="subOpen[2] == '2063' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3911<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3912<rect width="24" height="24" fill="#D9D9D9"/> 3913</mask> 3914<g> 3915<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 3916</g> 3917</svg></span> 3918 3919 <span x-bind:class="subOpen[2] == '2063' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3920<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 3921<rect width="24" height="24" fill="#D9D9D9"/> 3922</mask> 3923<g> 3924<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 3925</g> 3926</svg></span> 3927 </span> 3928 <span class="sr-only" x-bind:class="subOpen[2] == '2063' ? 'hidden' : ''"> 3929 Avaa "Kehittäminen ja innovaatiot" alavalikko 3930 </span> 3931 <span class="sr-only" x-bind:class="subOpen[2] == '2063' ? '' : 'hidden'"> 3932 Sulje "Kehittäminen ja innovaatiot" alavalikko 3933 </span> 3934 </span> 3935 </button> 3936 </span> 3937 <div 3938 x-cloak 3939 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 3940 x-bind:class="subOpen[2] == '2063' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 3941 x-bind:style="subOpen[2] == '2063' && !subOpen[3] && { maxHeight: '360px' }" 3942 > 3943 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 3944 <li class="w-full pb-8 pr-4 md:pr-0"> 3945 <span 3946 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3947 x-bind:class="subOpen[3] == '6189' ? 'nav-item-active' : ''" 3948 > 3949 <a 3950 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3951 href="https://www.joensuu.fi/kaupunki-ja-kehitys/kehittaminen-ja-innovaatiot/strategia/" 3952 x-bind:class="subOpen[3] == '6189' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3953 >
3954 <span>Strategia ja ohjelmat</span> 3955 </a> 3956 </span> 3957 </li> 3958 3959 <li class="w-full pb-8 pr-4 md:pr-0"> 3960 <span 3961 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3962 x-bind:class="subOpen[3] == '6190' ? 'nav-item-active' : ''" 3963 > 3964 <a 3965 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3966 href="https://www.joensuu.fi/kaupunki-ja-kehitys/kehittaminen-ja-innovaatiot/metsapaakaupunki/" 3967 x-bind:class="subOpen[3] == '6190' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3968 > 3969 <span>Metsäpääkaupunki Joensuu</span> 3970 </a> 3971 </span> 3972 </li> 3973 3974 <li class="w-full pb-8 pr-4 md:pr-0"> 3975 <span 3976 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3977 x-bind:class="subOpen[3] == '4185' ? 'nav-item-active' : ''" 3978 > 3979 <a 3980 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3981 href="https://www.joensuu.fi/kaupunki-ja-kehitys/kehittaminen-ja-innovaatiot/fotoniikka/" 3982 x-bind:class="subOpen[3] == '4185' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3983 > 3984 <span>Fotoniikka</span> 3985 </a> 3986 </span> 3987 </li> 3988 3989 <li class="w-full pb-8 pr-4 md:pr-0"> 3990 <span 3991 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 3992 x-bind:class="subOpen[3] == '5350' ? 'nav-item-active' : ''" 3993 > 3994 <a 3995 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 3996 href="https://www.joensuu.fi/kaupunki-ja-kehitys/kehittaminen-ja-innovaatiot/hiilineutraali-joensuu/" 3997 x-bind:class="subOpen[3] == '5350' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 3998 > 3999 <span>Hiilineutraali Joensuu</span> 4000 </a> 4001 </span> 4002 </li> 4003 4004 <li class="w-full pb-8 pr-4 md:pr-0"> 4005 <span 4006 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4007 x-bind:class="subOpen[3] == '26051' ? 'nav-item-active' : ''" 4008 > 4009 <a 4010 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4011 href="https://www.joensuu.fi/kaupunki-ja-kehitys/kehittaminen-ja-innovaatiot/liikenteen-kehittaminen/" 4012 x-bind:class="subOpen[3] == '26051' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4013 > 4014 <span>Liikenteen kehittäminen</span> 4015 </a> 4016 </span> 4017 </li> 4018 4019 <li class="w-full pb-8 pr-4 md:pr-0"> 4020 <span 4021 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4022 x-bind:class="subOpen[3] == '5584' ? 'nav-item-active' : ''" 4023 > 4024 <a 4025 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4026 href="https://www.joensuu.fi/kaupunki-ja-kehitys/kehittaminen-ja-innovaatiot/hankkeet/" 4027 x-bind:class="subOpen[3] == '5584' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4028 > 4029 <span>Hankkeet</span> 4030 </a> 4031 </span> 4032 </li> 4033 4034 </ul> 4035 </div> 4036 </li> 4037 4038 <li class="w-full pb-8 pr-4 md:pr-0"> 4039 <span 4040 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4041 x-bind:class="subOpen[2] == '2062' ? 'nav-item-active' : ''" 4042 > 4043 <a 4044 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 4045 href="https://www.joensuu.fi/kaupunki-ja-kehitys/suunnittelu-ja-rakentaminen/" 4046 x-bind:class="subOpen[2] == '2062' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4047 > 4048 <span>Suunnittelu ja rakentaminen</span> 4049 </a> 4050 <button 4051 :aria-expanded="subOpen[2] == '2062'" 4052 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 4053 @click=" 4054 if(subOpen[2] == '2062') { 4055 subOpen[2] = null; 4056 } else { 4057 subOpen[2] = '2062'; 4058 }; 4059 subOpen[3] = null; 4060 subOpen[4] = null; 4061 " 4062 >
4063 <span class="block"> 4064 <span 4065 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 4066 x-bind:class="subOpen[2] == '2062' ? 'menu-plus-active text-menu-hover' : ''" 4067 aria-hidden="true"> 4068 <span x-bind:class="subOpen[2] == '2062' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4069<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4070<rect width="24" height="24" fill="#D9D9D9"/> 4071</mask> 4072<g> 4073<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 4074</g> 4075</svg></span> 4076 4077 <span x-bind:class="subOpen[2] == '2062' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4078<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4079<rect width="24" height="24" fill="#D9D9D9"/> 4080</mask> 4081<g> 4082<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 4083</g> 4084</svg></span> 4085 </span> 4086 <span class="sr-only" x-bind:class="subOpen[2] == '2062' ? 'hidden' : ''"> 4087 Avaa "Suunnittelu ja rakentaminen" alavalikko 4088 </span> 4089 <span class="sr-only" x-bind:class="subOpen[2] == '2062' ? '' : 'hidden'"> 4090 Sulje "Suunnittelu ja rakentaminen" alavalikko 4091 </span> 4092 </span> 4093 </button> 4094 </span> 4095 <div 4096 x-cloak 4097 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 4098 x-bind:class="subOpen[2] == '2062' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 4099 x-bind:style="subOpen[2] == '2062' && !subOpen[3] && { maxHeight: '300px' }" 4100 > 4101 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 4102 <li class="w-full pb-8 pr-4 md:pr-0"> 4103 <span 4104 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4105 x-bind:class="subOpen[3] == '2529' ? 'nav-item-active' : ''" 4106 > 4107 <a 4108 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4109 href="https://www.joensuu.fi/kaupunki-ja-kehitys/suunnittelu-ja-rakentaminen/kaavoitus/" 4110 x-bind:class="subOpen[3] == '2529' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4111 > 4112 <span>Kaavoitus</span> 4113 </a> 4114 </span> 4115 </li> 4116 4117 <li class="w-full pb-8 pr-4 md:pr-0"> 4118 <span 4119 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4120 x-bind:class="subOpen[3] == '3344' ? 'nav-item-active' : ''" 4121 > 4122 <a 4123 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4124 href="https://www.joensuu.fi/kaupunki-ja-kehitys/suunnittelu-ja-rakentaminen/katujen-ja-puistojen-suunnittelu/" 4125 x-bind:class="subOpen[3] == '3344' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4126 > 4127 <span>Katujen ja puistojen suunnittelu</span> 4128 </a> 4129 </span> 4130 </li> 4131 4132 <li class="w-full pb-8 pr-4 md:pr-0"> 4133 <span 4134 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4135 x-bind:class="subOpen[3] == '2906' ? 'nav-item-active' : ''" 4136 > 4137 <a 4138 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4139 href="https://www.joensuu.fi/kaupunki-ja-kehitys/suunnittelu-ja-rakentaminen/kaupungin-rakentaminen/" 4140 x-bind:class="subOpen[3] == '2906' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4141 >
4142 <span>Kaupungin rakentaminen</span> 4143 </a> 4144 </span> 4145 </li> 4146 4147 <li class="w-full pb-8 pr-4 md:pr-0"> 4148 <span 4149 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4150 x-bind:class="subOpen[3] == '4108' ? 'nav-item-active' : ''" 4151 > 4152 <a 4153 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4154 href="https://www.joensuu.fi/kaupunki-ja-kehitys/suunnittelu-ja-rakentaminen/maanhankinta/" 4155 x-bind:class="subOpen[3] == '4108' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4156 > 4157 <span>Maanhankinta</span> 4158 </a> 4159 </span> 4160 </li> 4161 4162 <li class="w-full pb-8 pr-4 md:pr-0"> 4163 <span 4164 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4165 x-bind:class="subOpen[3] == '4107' ? 'nav-item-active' : ''" 4166 > 4167 <a 4168 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4169 href="https://www.joensuu.fi/kaupunki-ja-kehitys/suunnittelu-ja-rakentaminen/metsien-hoito/" 4170 x-bind:class="subOpen[3] == '4107' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4171 > 4172 <span>Metsien hoito</span> 4173 </a> 4174 </span> 4175 </li> 4176 4177 </ul> 4178 </div> 4179 </li> 4180 4181 <li class="w-full pb-8 pr-4 md:pr-0"> 4182 <span 4183 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4184 x-bind:class="subOpen[2] == '2061' ? 'nav-item-active' : ''" 4185 > 4186 <a 4187 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 4188 href="https://www.joensuu.fi/kaupunki-ja-kehitys/avustukset/" 4189 x-bind:class="subOpen[2] == '2061' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4190 > 4191 <span>Avustukset</span> 4192 </a> 4193 <button 4194 :aria-expanded="subOpen[2] == '2061'" 4195 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 4196 @click=" 4197 if(subOpen[2] == '2061') { 4198 subOpen[2] = null; 4199 } else { 4200 subOpen[2] = '2061'; 4201 }; 4202 subOpen[3] = null; 4203 subOpen[4] = null; 4204 " 4205 > 4206 <span class="block"> 4207 <span 4208 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 4209 x-bind:class="subOpen[2] == '2061' ? 'menu-plus-active text-menu-hover' : ''" 4210 aria-hidden="true"> 4211 <span x-bind:class="subOpen[2] == '2061' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4212<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4213<rect width="24" height="24" fill="#D9D9D9"/> 4214</mask> 4215<g> 4216<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 4217</g> 4218</svg></span> 4219 4220 <span x-bind:class="subOpen[2] == '2061' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4221<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4222<rect width="24" height="24" fill="#D9D9D9"/> 4223</mask> 4224<g> 4225<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 4226</g> 4227</svg></span> 4228 </span> 4229 <span class="sr-only" x-bind:class="subOpen[2] == '2061' ? 'hidden' : ''"> 4230 Avaa "Avustukset" alavalikko 4231 </span> 4232 <span class="sr-only" x-bind:class="subOpen[2] == '2061' ? '' : 'hidden'"> 4233 Sulje "Avustukset" alavalikko 4234 </span> 4235 </span> 4236 </button> 4237 </span> 4238 <div 4239 x-cloak 4240 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 4241 x-bind:class="subOpen[2] == '2061' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 4242 x-bind:style="subOpen[2] == '2061' && !subOpen[3] && { maxHeight: '420px' }" 4243 > 4244 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 4245 <li class="w-full pb-8 pr-4 md:pr-0"> 4246 <span 4247 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4248 x-bind:class="subOpen[3] == '5362' ? 'nav-item-active' : ''" 4249 > 4250 <a 4251 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md"
4252 href="https://www.joensuu.fi/kaupunki-ja-kehitys/avustukset/asukasosallisuuden-avustukset/" 4253 x-bind:class="subOpen[3] == '5362' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4254 > 4255 <span>Asukasosallisuuden avustukset</span> 4256 </a> 4257 </span> 4258 </li> 4259 4260 <li class="w-full pb-8 pr-4 md:pr-0"> 4261 <span 4262 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4263 x-bind:class="subOpen[3] == '6111' ? 'nav-item-active' : ''" 4264 > 4265 <a 4266 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4267 href="https://www.joensuu.fi/kaupunki-ja-kehitys/avustukset/kulttuuriavustukset/" 4268 x-bind:class="subOpen[3] == '6111' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4269 > 4270 <span>Kulttuuriavustukset</span> 4271 </a> 4272 </span> 4273 </li> 4274 4275 <li class="w-full pb-8 pr-4 md:pr-0"> 4276 <span 4277 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4278 x-bind:class="subOpen[3] == '6117' ? 'nav-item-active' : ''" 4279 > 4280 <a 4281 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4282 href="https://www.joensuu.fi/kaupunki-ja-kehitys/avustukset/nuorisoavustukset/" 4283 x-bind:class="subOpen[3] == '6117' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4284 > 4285 <span>Nuorisoavustukset</span> 4286 </a> 4287 </span> 4288 </li> 4289 4290 <li class="w-full pb-8 pr-4 md:pr-0"> 4291 <span 4292 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4293 x-bind:class="subOpen[3] == '13424' ? 'nav-item-active' : ''" 4294 > 4295 <a 4296 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4297 href="https://www.joensuu.fi/kaupunki-ja-kehitys/avustukset/urheilu-ja-liikuntaseurojen-avustukset/" 4298 x-bind:class="subOpen[3] == '13424' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4299 > 4300 <span>Urheilu- ja liikuntaseurojen avustukset</span> 4301 </a> 4302 </span> 4303 </li> 4304 4305 <li class="w-full pb-8 pr-4 md:pr-0"> 4306 <span 4307 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4308 x-bind:class="subOpen[3] == '13438' ? 'nav-item-active' : ''" 4309 > 4310 <a 4311 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4312 href="https://www.joensuu.fi/kaupunki-ja-kehitys/avustukset/tapahtuma-avustukset/" 4313 x-bind:class="subOpen[3] == '13438' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4314 > 4315 <span>Tapahtuma-avustukset</span> 4316 </a> 4317 </span> 4318 </li> 4319 4320 <li class="w-full pb-8 pr-4 md:pr-0"> 4321 <span 4322 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4323 x-bind:class="subOpen[3] == '13477' ? 'nav-item-active' : ''" 4324 > 4325 <a 4326 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4327 href="https://www.joensuu.fi/kaupunki-ja-kehitys/avustukset/albert-vartiaisen-rahasto/" 4328 x-bind:class="subOpen[3] == '13477' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4329 > 4330 <span>Albert Vartiaisen rahasto</span> 4331 </a> 4332 </span> 4333 </li> 4334 4335 <li class="w-full pb-8 pr-4 md:pr-0"> 4336 <span 4337 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4338 x-bind:class="subOpen[3] == '20369' ? 'nav-item-active' : ''" 4339 > 4340 <a 4341 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4342 href="https://www.joensuu.fi/kaupunki-ja-kehitys/avustukset/apurahat-ja-stipendit-yksityishenkiloille/" 4343 x-bind:class="subOpen[3] == '20369' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4344 > 4345 <span>Apurahat ja stipendit yksityishenkilöille</span> 4346 </a> 4347 </span> 4348 </li> 4349 4350 </ul> 4351 </div> 4352 </li> 4353 4354 <li class="w-full pb-8 pr-4 md:pr-0"> 4355 <span 4356 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4357 x-bind:class="subOpen[2] == '2060' ? 'nav-item-active' : ''" 4358 > 4359 <a 4360 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 4361 href="https://www.joensuu.fi/kaupunki-ja-kehitys/toihin-kaupungille/" 4362 x-bind:class="subOpen[2] == '2060' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4363 >
4364 <span>Töihin kaupungille</span> 4365 </a> 4366 <button 4367 :aria-expanded="subOpen[2] == '2060'" 4368 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 4369 @click=" 4370 if(subOpen[2] == '2060') { 4371 subOpen[2] = null; 4372 } else { 4373 subOpen[2] = '2060'; 4374 }; 4375 subOpen[3] = null; 4376 subOpen[4] = null; 4377 " 4378 > 4379 <span class="block"> 4380 <span 4381 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 4382 x-bind:class="subOpen[2] == '2060' ? 'menu-plus-active text-menu-hover' : ''" 4383 aria-hidden="true"> 4384 <span x-bind:class="subOpen[2] == '2060' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4385<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4386<rect width="24" height="24" fill="#D9D9D9"/> 4387</mask> 4388<g> 4389<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 4390</g> 4391</svg></span> 4392 4393 <span x-bind:class="subOpen[2] == '2060' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4394<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4395<rect width="24" height="24" fill="#D9D9D9"/> 4396</mask> 4397<g> 4398<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 4399</g> 4400</svg></span> 4401 </span> 4402 <span class="sr-only" x-bind:class="subOpen[2] == '2060' ? 'hidden' : ''"> 4403 Avaa "Töihin kaupungille" alavalikko 4404 </span> 4405 <span class="sr-only" x-bind:class="subOpen[2] == '2060' ? '' : 'hidden'"> 4406 Sulje "Töihin kaupungille" alavalikko 4407 </span> 4408 </span> 4409 </button> 4410 </span> 4411 <div 4412 x-cloak 4413 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 4414 x-bind:class="subOpen[2] == '2060' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 4415 x-bind:style="subOpen[2] == '2060' && !subOpen[3] && { maxHeight: '360px' }" 4416 > 4417 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 4418 <li class="w-full pb-8 pr-4 md:pr-0"> 4419 <span 4420 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4421 x-bind:class="subOpen[3] == '11319' ? 'nav-item-active' : ''" 4422 > 4423 <a 4424 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4425 href="https://www.joensuu.fi/kaupunki-ja-kehitys/toihin-kaupungille/joensuu-tyonantajana/" 4426 x-bind:class="subOpen[3] == '11319' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4427 > 4428 <span>Joensuu työnantajana</span> 4429 </a> 4430 </span> 4431 </li> 4432 4433 <li class="w-full pb-8 pr-4 md:pr-0"> 4434 <span 4435 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4436 x-bind:class="subOpen[3] == '9782' ? 'nav-item-active' : ''" 4437 > 4438 <a 4439 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4440 href="https://www.joensuu.fi/kaupunki-ja-kehitys/toihin-kaupungille/avoimet-tyopaikat/" 4441 x-bind:class="subOpen[3] == '9782' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4442 > 4443 <span>Avoimet työpaikat</span> 4444 </a> 4445 </span> 4446 </li> 4447 4448 <li class="w-full pb-8 pr-4 md:pr-0"> 4449 <span 4450 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4451 x-bind:class="subOpen[3] == '9780' ? 'nav-item-active' : ''" 4452 > 4453 <a 4454 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4455 href="https://www.joensuu.fi/kaupunki-ja-kehitys/toihin-kaupungille/harjoittelu-tyokokeilu-ja-siviilipalvelus/" 4456 x-bind:class="subOpen[3] == '9780' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4457 >
4458 <span>Harjoittelu, työkokeilu ja siviilipalvelus</span> 4459 </a> 4460 </span> 4461 </li> 4462 4463 <li class="w-full pb-8 pr-4 md:pr-0"> 4464 <span 4465 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4466 x-bind:class="subOpen[3] == '9779' ? 'nav-item-active' : ''" 4467 > 4468 <a 4469 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4470 href="https://www.joensuu.fi/kaupunki-ja-kehitys/toihin-kaupungille/kesatyot/" 4471 x-bind:class="subOpen[3] == '9779' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4472 > 4473 <span>Kesätyöt</span> 4474 </a> 4475 </span> 4476 </li> 4477 4478 <li class="w-full pb-8 pr-4 md:pr-0"> 4479 <span 4480 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4481 x-bind:class="subOpen[3] == '9778' ? 'nav-item-active' : ''" 4482 > 4483 <a 4484 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4485 href="https://www.joensuu.fi/kaupunki-ja-kehitys/toihin-kaupungille/toihin-varhaiskasvatukseen/" 4486 x-bind:class="subOpen[3] == '9778' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4487 > 4488 <span>Töihin varhaiskasvatukseen</span> 4489 </a> 4490 </span> 4491 </li> 4492 4493 <li class="w-full pb-8 pr-4 md:pr-0"> 4494 <span 4495 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4496 x-bind:class="subOpen[3] == '9777' ? 'nav-item-active' : ''" 4497 > 4498 <a 4499 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4500 href="https://www.joensuu.fi/kaupunki-ja-kehitys/toihin-kaupungille/toihin-opettajaksi/" 4501 x-bind:class="subOpen[3] == '9777' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4502 > 4503 <span>Töihin opettajaksi</span> 4504 </a> 4505 </span> 4506 </li> 4507 4508 </ul> 4509 </div> 4510 </li> 4511 4512 </ul> 4513 </div> 4514 </li> 4515 <li 4516 class="py-4 transition duration-500 w-full md:w-[30%] 2xl:w-[27%]" 4517 x-bind:class="!isOpenDelayShort ? 'opacity-0' : 'opacity-100'" 4518 > 4519 <span 4520 class="group nav-item nav-item-main flex flex-nowrap gap-8 transition duration-500" 4521 x-bind:class="subOpen[1] == '1961' ? 'nav-item-active' : ''" 4522 x-bind:style="!isOpenDelayShort ? { 'transition-delay': '80ms', transform: 'translateY(1.5rem)' } : { 'transition-delay': '80ms' }" 4523 > 4524 <a 4525 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/" 4526 class="!no-underline flex-1 font-display text-base 2xl:text-baseb very-low-text-3xl leading-normal" 4527 x-bind:class="subOpen[1] == '1961' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4528 > 4529 <span class="!w-auto">Hallinto ja päätöksenteko</span> 4530 </a> 4531 <button 4532 :aria-expanded="subOpen[1] == '1961'" 4533 class="submenu-toggle cursor-pointer shrink-0 w-24 h-24 ml-auto flex justify-center items-center" 4534 @click=" 4535 if(subOpen[1] == '1961') { 4536 subOpen[1] = null; 4537 } else { 4538 subOpen[1] = '1961'; 4539 }; 4540 subOpen[2] = null; 4541 subOpen[3] = null; 4542 " 4543 > 4544 <span class="block">
4545 <span 4546 class="shrink-0 block transform transition duration-300 mx-auto menu-plus scale-130 mr-[0.3rem] md:mr-0" 4547 x-bind:class="subOpen[1] == '1961' ? 'menu-plus-active text-menu-hover' : ''" 4548 aria-hidden="true"> 4549 <span x-bind:class="subOpen[1] == '1961' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4550<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4551<rect width="24" height="24" fill="#D9D9D9"/> 4552</mask> 4553<g> 4554<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 4555</g> 4556</svg></span> 4557 4558 <span x-bind:class="subOpen[1] == '1961' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4559<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4560<rect width="24" height="24" fill="#D9D9D9"/> 4561</mask> 4562<g> 4563<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 4564</g> 4565</svg></span> 4566 </span> 4567 <span class="sr-only" x-bind:class="subOpen[1] == '1961' ? 'hidden' : ''">Avaa "Hallinto ja päätöksenteko" alavalikko</span> 4568 <span class="sr-only" x-bind:class="subOpen[1] == '1961' ? '' : 'hidden'">Sulje "Hallinto ja päätöksenteko" alavalikko</span> 4569 </span> 4570 </button> 4571 </span> 4572 <div 4573 x-cloak 4574 class="md:absolute md:top-0 transition-all transform duration-500 pl-24 md:pl-0 grid z-20 md:mt-4 2xl:mt-9 3xl:mt-8 md:left-1/3 md:max-w-[33%] 2xl:left-[31%] 2xl:max-w-[31%]" 4575 x-bind:class="subOpen[1] == '1961' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 4576 x-bind:style="subOpen[1] == '1961' && !subOpen[2] && { maxHeight: '420px' }" 4577 > 4578 <ul 4579 class="flex flex-col gap-12 2xl:gap-16 transition duration-500 my-24 md:my-0 md:-mt-[0.4rem]" 4580 x-bind:class="!isOpenDelayShort ? 'opacity-0 translate-y-32' : 'opacity-100 translate-y-0'" 4581 > 4582 <li class="w-full pb-8 pr-4 md:pr-0"> 4583 <span 4584 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4585 x-bind:class="subOpen[2] == '2087' ? 'nav-item-active' : ''" 4586 > 4587 <a 4588 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 4589 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/osallistu-ja-vaikuta/" 4590 x-bind:class="subOpen[2] == '2087' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4591 > 4592 <span>Osallistu ja vaikuta</span> 4593 </a> 4594 <button 4595 :aria-expanded="subOpen[2] == '2087'" 4596 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 4597 @click=" 4598 if(subOpen[2] == '2087') { 4599 subOpen[2] = null; 4600 } else { 4601 subOpen[2] = '2087'; 4602 }; 4603 subOpen[3] = null; 4604 subOpen[4] = null; 4605 " 4606 > 4607 <span class="block"> 4608 <span 4609 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 4610 x-bind:class="subOpen[2] == '2087' ? 'menu-plus-active text-menu-hover' : ''" 4611 aria-hidden="true">
4612 <span x-bind:class="subOpen[2] == '2087' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4613<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4614<rect width="24" height="24" fill="#D9D9D9"/> 4615</mask> 4616<g> 4617<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 4618</g> 4619</svg></span> 4620 4621 <span x-bind:class="subOpen[2] == '2087' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4622<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4623<rect width="24" height="24" fill="#D9D9D9"/> 4624</mask> 4625<g> 4626<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 4627</g> 4628</svg></span> 4629 </span> 4630 <span class="sr-only" x-bind:class="subOpen[2] == '2087' ? 'hidden' : ''"> 4631 Avaa "Osallistu ja vaikuta" alavalikko 4632 </span> 4633 <span class="sr-only" x-bind:class="subOpen[2] == '2087' ? '' : 'hidden'"> 4634 Sulje "Osallistu ja vaikuta" alavalikko 4635 </span> 4636 </span> 4637 </button> 4638 </span> 4639 <div 4640 x-cloak 4641 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 4642 x-bind:class="subOpen[2] == '2087' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 4643 x-bind:style="subOpen[2] == '2087' && !subOpen[3] && { maxHeight: '420px' }" 4644 > 4645 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 4646 <li class="w-full pb-8 pr-4 md:pr-0"> 4647 <span 4648 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4649 x-bind:class="subOpen[3] == '2894' ? 'nav-item-active' : ''" 4650 > 4651 <a 4652 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4653 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/osallistu-ja-vaikuta/kuntalaisaloite/" 4654 x-bind:class="subOpen[3] == '2894' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4655 > 4656 <span>Kuntalaisaloite</span> 4657 </a> 4658 </span> 4659 </li> 4660 4661 <li class="w-full pb-8 pr-4 md:pr-0"> 4662 <span 4663 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16"
4664 x-bind:class="subOpen[3] == '2893' ? 'nav-item-active' : ''" 4665 > 4666 <a 4667 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4668 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/osallistu-ja-vaikuta/kyselyt/" 4669 x-bind:class="subOpen[3] == '2893' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4670 > 4671 <span>Kyselyt</span> 4672 </a> 4673 </span> 4674 </li> 4675 4676 <li class="w-full pb-8 pr-4 md:pr-0"> 4677 <span 4678 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4679 x-bind:class="subOpen[3] == '10725' ? 'nav-item-active' : ''" 4680 > 4681 <a 4682 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4683 href="https://www.joensuu.fi/ajankohtaista/kuulutukset/" 4684 x-bind:class="subOpen[3] == '10725' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4685 > 4686 <span>Kuulutukset</span> 4687 </a> 4688 </span> 4689 </li> 4690 4691 <li class="w-full pb-8 pr-4 md:pr-0"> 4692 <span 4693 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4694 x-bind:class="subOpen[3] == '2891' ? 'nav-item-active' : ''" 4695 > 4696 <a 4697 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4698 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/osallistu-ja-vaikuta/vammaisneuvosto/" 4699 x-bind:class="subOpen[3] == '2891' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4700 > 4701 <span>Vammaisneuvosto</span> 4702 </a> 4703 </span> 4704 </li> 4705 4706 <li class="w-full pb-8 pr-4 md:pr-0"> 4707 <span 4708 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4709 x-bind:class="subOpen[3] == '2890' ? 'nav-item-active' : ''" 4710 > 4711 <a 4712 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4713 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/osallistu-ja-vaikuta/vanhusneuvosto/" 4714 x-bind:class="subOpen[3] == '2890' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4715 > 4716 <span>Vanhusneuvosto</span> 4717 </a> 4718 </span> 4719 </li> 4720 4721 <li class="w-full pb-8 pr-4 md:pr-0"> 4722 <span 4723 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4724 x-bind:class="subOpen[3] == '2889' ? 'nav-item-active' : ''" 4725 > 4726 <a 4727 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4728 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/osallistu-ja-vaikuta/nuorisovaltuusto/" 4729 x-bind:class="subOpen[3] == '2889' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4730 > 4731 <span>Nuorisovaltuusto</span> 4732 </a> 4733 </span> 4734 </li> 4735 4736 <li class="w-full pb-8 pr-4 md:pr-0"> 4737 <span 4738 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4739 x-bind:class="subOpen[3] == '2888' ? 'nav-item-active' : ''" 4740 > 4741 <a 4742 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4743 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/osallistu-ja-vaikuta/vaalit/" 4744 x-bind:class="subOpen[3] == '2888' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4745 > 4746 <span>Vaalit</span> 4747 </a> 4748 </span> 4749 </li> 4750 4751 </ul> 4752 </div> 4753 </li> 4754 4755 <li class="w-full pb-8 pr-4 md:pr-0"> 4756 <span 4757 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4758 x-bind:class="subOpen[2] == '2086' ? 'nav-item-active' : ''" 4759 > 4760 <a 4761 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 4762 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/talous/" 4763 x-bind:class="subOpen[2] == '2086' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4764 >
4765 <span>Talous</span> 4766 </a> 4767 <button 4768 :aria-expanded="subOpen[2] == '2086'" 4769 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 4770 @click=" 4771 if(subOpen[2] == '2086') { 4772 subOpen[2] = null; 4773 } else { 4774 subOpen[2] = '2086'; 4775 }; 4776 subOpen[3] = null; 4777 subOpen[4] = null; 4778 " 4779 > 4780 <span class="block"> 4781 <span 4782 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 4783 x-bind:class="subOpen[2] == '2086' ? 'menu-plus-active text-menu-hover' : ''" 4784 aria-hidden="true"> 4785 <span x-bind:class="subOpen[2] == '2086' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4786<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4787<rect width="24" height="24" fill="#D9D9D9"/> 4788</mask> 4789<g> 4790<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 4791</g> 4792</svg></span> 4793 4794 <span x-bind:class="subOpen[2] == '2086' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4795<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4796<rect width="24" height="24" fill="#D9D9D9"/> 4797</mask> 4798<g> 4799<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 4800</g> 4801</svg></span> 4802 </span> 4803 <span class="sr-only" x-bind:class="subOpen[2] == '2086' ? 'hidden' : ''"> 4804 Avaa "Talous" alavalikko 4805 </span> 4806 <span class="sr-only" x-bind:class="subOpen[2] == '2086' ? '' : 'hidden'"> 4807 Sulje "Talous" alavalikko 4808 </span> 4809 </span> 4810 </button> 4811 </span> 4812 <div 4813 x-cloak 4814 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 4815 x-bind:class="subOpen[2] == '2086' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 4816 x-bind:style="subOpen[2] == '2086' && !subOpen[3] && { maxHeight: '240px' }" 4817 > 4818 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 4819 <li class="w-full pb-8 pr-4 md:pr-0"> 4820 <span 4821 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4822 x-bind:class="subOpen[3] == '5325' ? 'nav-item-active' : ''" 4823 > 4824 <a 4825 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4826 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/talous/talousarvio/" 4827 x-bind:class="subOpen[3] == '5325' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4828 > 4829 <span>Talousarvio</span> 4830 </a> 4831 </span> 4832 </li> 4833 4834 <li class="w-full pb-8 pr-4 md:pr-0"> 4835 <span 4836 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4837 x-bind:class="subOpen[3] == '5324' ? 'nav-item-active' : ''" 4838 > 4839 <a 4840 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4841 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/talous/talouden-seuranta/" 4842 x-bind:class="subOpen[3] == '5324' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4843 > 4844 <span>Talouden seuranta</span> 4845 </a> 4846 </span> 4847 </li> 4848 4849 <li class="w-full pb-8 pr-4 md:pr-0"> 4850 <span 4851 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4852 x-bind:class="subOpen[3] == '5323' ? 'nav-item-active' : ''" 4853 > 4854 <a 4855 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4856 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/talous/tilinpaatos/" 4857 x-bind:class="subOpen[3] == '5323' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4858 >
4859 <span>Tilinpäätös</span> 4860 </a> 4861 </span> 4862 </li> 4863 4864 <li class="w-full pb-8 pr-4 md:pr-0"> 4865 <span 4866 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4867 x-bind:class="subOpen[3] == '15722' ? 'nav-item-active' : ''" 4868 > 4869 <a 4870 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4871 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/talous/laskutus-ja-maksaminen/" 4872 x-bind:class="subOpen[3] == '15722' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4873 > 4874 <span>Laskutus ja maksaminen</span> 4875 </a> 4876 </span> 4877 </li> 4878 4879 </ul> 4880 </div> 4881 </li> 4882 4883 <li class="w-full pb-8 pr-4 md:pr-0"> 4884 <span 4885 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4886 x-bind:class="subOpen[2] == '2085' ? 'nav-item-active' : ''" 4887 > 4888 <a 4889 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 4890 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/organisaatio/" 4891 x-bind:class="subOpen[2] == '2085' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4892 > 4893 <span>Organisaatio</span> 4894 </a> 4895 <button 4896 :aria-expanded="subOpen[2] == '2085'" 4897 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 4898 @click=" 4899 if(subOpen[2] == '2085') { 4900 subOpen[2] = null; 4901 } else { 4902 subOpen[2] = '2085'; 4903 }; 4904 subOpen[3] = null; 4905 subOpen[4] = null; 4906 " 4907 > 4908 <span class="block"> 4909 <span 4910 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 4911 x-bind:class="subOpen[2] == '2085' ? 'menu-plus-active text-menu-hover' : ''" 4912 aria-hidden="true"> 4913 <span x-bind:class="subOpen[2] == '2085' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4914<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4915<rect width="24" height="24" fill="#D9D9D9"/> 4916</mask> 4917<g> 4918<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 4919</g> 4920</svg></span> 4921 4922 <span x-bind:class="subOpen[2] == '2085' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 4923<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 4924<rect width="24" height="24" fill="#D9D9D9"/> 4925</mask> 4926<g> 4927<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 4928</g> 4929</svg></span> 4930 </span> 4931 <span class="sr-only" x-bind:class="subOpen[2] == '2085' ? 'hidden' : ''"> 4932 Avaa "Organisaatio" alavalikko 4933 </span> 4934 <span class="sr-only" x-bind:class="subOpen[2] == '2085' ? '' : 'hidden'"> 4935 Sulje "Organisaatio" alavalikko 4936 </span> 4937 </span> 4938 </button> 4939 </span> 4940 <div 4941 x-cloak 4942 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 4943 x-bind:class="subOpen[2] == '2085' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 4944 x-bind:style="subOpen[2] == '2085' && !subOpen[3] && { maxHeight: '540px' }" 4945 > 4946 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 4947 <li class="w-full pb-8 pr-4 md:pr-0"> 4948 <span 4949 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4950 x-bind:class="subOpen[3] == '13570' ? 'nav-item-active' : ''" 4951 > 4952 <a 4953 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4954 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/organisaatio/joensuu-konserni/" 4955 x-bind:class="subOpen[3] == '13570' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4956 >
4957 <span>Joensuu konserni</span> 4958 </a> 4959 </span> 4960 </li> 4961 4962 <li class="w-full pb-8 pr-4 md:pr-0"> 4963 <span 4964 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4965 x-bind:class="subOpen[3] == '13569' ? 'nav-item-active' : ''" 4966 > 4967 <a 4968 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4969 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/organisaatio/kaupunginjohto/" 4970 x-bind:class="subOpen[3] == '13569' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4971 > 4972 <span>Kaupunginjohto</span> 4973 </a> 4974 </span> 4975 </li> 4976 4977 <li class="w-full pb-8 pr-4 md:pr-0"> 4978 <span 4979 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4980 x-bind:class="subOpen[3] == '5338' ? 'nav-item-active' : ''" 4981 > 4982 <a 4983 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4984 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/organisaatio/hyvinvoinnin-toimiala/" 4985 x-bind:class="subOpen[3] == '5338' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 4986 > 4987 <span>Hyvinvoinnin toimiala</span> 4988 </a> 4989 </span> 4990 </li> 4991 4992 <li class="w-full pb-8 pr-4 md:pr-0"> 4993 <span 4994 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 4995 x-bind:class="subOpen[3] == '13568' ? 'nav-item-active' : ''" 4996 > 4997 <a 4998 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 4999 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/organisaatio/kaupunkiympariston-toimiala/" 5000 x-bind:class="subOpen[3] == '13568' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5001 > 5002 <span>Kaupunkiympäristön toimiala</span> 5003 </a> 5004 </span> 5005 </li> 5006 5007 <li class="w-full pb-8 pr-4 md:pr-0"> 5008 <span 5009 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5010 x-bind:class="subOpen[3] == '13572' ? 'nav-item-active' : ''" 5011 > 5012 <a 5013 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5014 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/organisaatio/konsernipalvelut/" 5015 x-bind:class="subOpen[3] == '13572' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5016 > 5017 <span>Konsernipalvelut</span> 5018 </a> 5019 </span> 5020 </li> 5021 5022 <li class="w-full pb-8 pr-4 md:pr-0"> 5023 <span 5024 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5025 x-bind:class="subOpen[3] == '13575' ? 'nav-item-active' : ''" 5026 > 5027 <a 5028 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5029 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/organisaatio/sisainen-tarkastus/" 5030 x-bind:class="subOpen[3] == '13575' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5031 > 5032 <span>Sisäinen tarkastus</span> 5033 </a> 5034 </span> 5035 </li> 5036 5037 <li class="w-full pb-8 pr-4 md:pr-0"> 5038 <span 5039 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5040 x-bind:class="subOpen[3] == '13566' ? 'nav-item-active' : ''" 5041 > 5042 <a 5043 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5044 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/organisaatio/ystavyyskaupungit-ja-verkostot/" 5045 x-bind:class="subOpen[3] == '13566' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5046 > 5047 <span>Ystävyyskaupungit ja verkostot</span> 5048 </a> 5049 </span> 5050 </li> 5051 5052 <li class="w-full pb-8 pr-4 md:pr-0"> 5053 <span 5054 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5055 x-bind:class="subOpen[3] == '13565' ? 'nav-item-active' : ''" 5056 > 5057 <a 5058 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5059 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/organisaatio/vieraanvaraisuus/" 5060 x-bind:class="subOpen[3] == '13565' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5061 >
5062 <span>Vieraanvaraisuus</span> 5063 </a> 5064 </span> 5065 </li> 5066 5067 <li class="w-full pb-8 pr-4 md:pr-0"> 5068 <span 5069 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5070 x-bind:class="subOpen[3] == '13567' ? 'nav-item-active' : ''" 5071 > 5072 <a 5073 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5074 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/organisaatio/pohjois-karjalan-tyollisyysalue/" 5075 x-bind:class="subOpen[3] == '13567' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5076 > 5077 <span>Pohjois-Karjalan työllisyysalue</span> 5078 </a> 5079 </span> 5080 </li> 5081 5082 </ul> 5083 </div> 5084 </li> 5085 5086 <li class="w-full pb-8 pr-4 md:pr-0"> 5087 <span 5088 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5089 x-bind:class="subOpen[2] == '2084' ? 'nav-item-active' : ''" 5090 > 5091 <a 5092 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 5093 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/paatoksenteko/" 5094 x-bind:class="subOpen[2] == '2084' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5095 > 5096 <span>Päätöksenteko</span> 5097 </a> 5098 <button 5099 :aria-expanded="subOpen[2] == '2084'" 5100 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 5101 @click=" 5102 if(subOpen[2] == '2084') { 5103 subOpen[2] = null; 5104 } else { 5105 subOpen[2] = '2084'; 5106 }; 5107 subOpen[3] = null; 5108 subOpen[4] = null; 5109 " 5110 > 5111 <span class="block"> 5112 <span 5113 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 5114 x-bind:class="subOpen[2] == '2084' ? 'menu-plus-active text-menu-hover' : ''" 5115 aria-hidden="true"> 5116 <span x-bind:class="subOpen[2] == '2084' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5117<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 5118<rect width="24" height="24" fill="#D9D9D9"/> 5119</mask> 5120<g> 5121<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 5122</g> 5123</svg></span> 5124 5125 <span x-bind:class="subOpen[2] == '2084' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5126<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 5127<rect width="24" height="24" fill="#D9D9D9"/> 5128</mask> 5129<g> 5130<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 5131</g> 5132</svg></span> 5133 </span> 5134 <span class="sr-only" x-bind:class="subOpen[2] == '2084' ? 'hidden' : ''"> 5135 Avaa "Päätöksenteko" alavalikko 5136 </span> 5137 <span class="sr-only" x-bind:class="subOpen[2] == '2084' ? '' : 'hidden'"> 5138 Sulje "Päätöksenteko" alavalikko 5139 </span> 5140 </span> 5141 </button> 5142 </span> 5143 <div 5144 x-cloak 5145 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 5146 x-bind:class="subOpen[2] == '2084' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 5147 x-bind:style="subOpen[2] == '2084' && !subOpen[3] && { maxHeight: '300px' }" 5148 > 5149 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 5150 <li class="w-full pb-8 pr-4 md:pr-0"> 5151 <span 5152 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5153 x-bind:class="subOpen[3] == '8082' ? 'nav-item-active' : ''" 5154 > 5155 <a 5156 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5157 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/paatoksenteko/esityslistat-ja-paatokset/" 5158 x-bind:class="subOpen[3] == '8082' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5159 >
5160 <span>Esityslistat ja päätökset</span> 5161 </a> 5162 </span> 5163 </li> 5164 5165 <li class="w-full pb-8 pr-4 md:pr-0"> 5166 <span 5167 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5168 x-bind:class="subOpen[3] == '2427' ? 'nav-item-active' : ''" 5169 > 5170 <a 5171 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5172 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/paatoksenteko/luottamushenkiloorganisaatio/" 5173 x-bind:class="subOpen[3] == '2427' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5174 > 5175 <span>Luottamushenkilöorganisaatio</span> 5176 </a> 5177 </span> 5178 </li> 5179 5180 <li class="w-full pb-8 pr-4 md:pr-0"> 5181 <span 5182 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5183 x-bind:class="subOpen[3] == '2424' ? 'nav-item-active' : ''" 5184 > 5185 <a 5186 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5187 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/paatoksenteko/sidonnaisuudet/" 5188 x-bind:class="subOpen[3] == '2424' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5189 > 5190 <span>Sidonnaisuudet</span> 5191 </a> 5192 </span> 5193 </li> 5194 5195 <li class="w-full pb-8 pr-4 md:pr-0"> 5196 <span 5197 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5198 x-bind:class="subOpen[3] == '2423' ? 'nav-item-active' : ''" 5199 > 5200 <a 5201 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5202 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/paatoksenteko/saannot-ja-ohjeet/" 5203 x-bind:class="subOpen[3] == '2423' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5204 > 5205 <span>Säännöt ja ohjeet</span> 5206 </a> 5207 </span> 5208 </li> 5209 5210 <li class="w-full pb-8 pr-4 md:pr-0"> 5211 <span 5212 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5213 x-bind:class="subOpen[3] == '2422' ? 'nav-item-active' : ''" 5214 > 5215 <a 5216 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5217 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/paatoksenteko/maksut/" 5218 x-bind:class="subOpen[3] == '2422' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5219 > 5220 <span>Maksut</span> 5221 </a> 5222 </span> 5223 </li> 5224 5225 </ul> 5226 </div> 5227 </li> 5228 5229 <li class="w-full pb-8 pr-4 md:pr-0"> 5230 <span 5231 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5232 x-bind:class="subOpen[2] == '2083' ? 'nav-item-active' : ''" 5233 > 5234 <a 5235 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 5236 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/turvallisuus/" 5237 x-bind:class="subOpen[2] == '2083' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5238 > 5239 <span>Turvallisuus ja tietosuoja</span> 5240 </a> 5241 <button 5242 :aria-expanded="subOpen[2] == '2083'" 5243 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 5244 @click=" 5245 if(subOpen[2] == '2083') { 5246 subOpen[2] = null; 5247 } else { 5248 subOpen[2] = '2083'; 5249 }; 5250 subOpen[3] = null; 5251 subOpen[4] = null; 5252 " 5253 > 5254 <span class="block"> 5255 <span 5256 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 5257 x-bind:class="subOpen[2] == '2083' ? 'menu-plus-active text-menu-hover' : ''" 5258 aria-hidden="true"> 5259 <span x-bind:class="subOpen[2] == '2083' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5260<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 5261<rect width="24" height="24" fill="#D9D9D9"/> 5262</mask> 5263<g> 5264<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 5265</g> 5266</svg></span> 5267
5268 <span x-bind:class="subOpen[2] == '2083' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5269<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 5270<rect width="24" height="24" fill="#D9D9D9"/> 5271</mask> 5272<g> 5273<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 5274</g> 5275</svg></span> 5276 </span> 5277 <span class="sr-only" x-bind:class="subOpen[2] == '2083' ? 'hidden' : ''"> 5278 Avaa "Turvallisuus ja tietosuoja" alavalikko 5279 </span> 5280 <span class="sr-only" x-bind:class="subOpen[2] == '2083' ? '' : 'hidden'"> 5281 Sulje "Turvallisuus ja tietosuoja" alavalikko 5282 </span> 5283 </span> 5284 </button> 5285 </span> 5286 <div 5287 x-cloak 5288 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 5289 x-bind:class="subOpen[2] == '2083' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 5290 x-bind:style="subOpen[2] == '2083' && !subOpen[3] && { maxHeight: '180px' }" 5291 > 5292 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 5293 <li class="w-full pb-8 pr-4 md:pr-0"> 5294 <span 5295 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5296 x-bind:class="subOpen[3] == '19494' ? 'nav-item-active' : ''" 5297 > 5298 <a 5299 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5300 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/turvallisuus/varautuminen/" 5301 x-bind:class="subOpen[3] == '19494' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5302 > 5303 <span>Varautuminen</span> 5304 </a> 5305 </span> 5306 </li> 5307 5308 <li class="w-full pb-8 pr-4 md:pr-0"> 5309 <span 5310 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5311 x-bind:class="subOpen[3] == '22123' ? 'nav-item-active' : ''" 5312 > 5313 <a 5314 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5315 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/turvallisuus/turvallisen-tilan-pelisaannot/" 5316 x-bind:class="subOpen[3] == '22123' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5317 > 5318 <span>Turvallisen tilan pelisäännöt</span> 5319 </a> 5320 </span> 5321 </li> 5322 5323 <li class="w-full pb-8 pr-4 md:pr-0"> 5324 <span 5325 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5326 x-bind:class="subOpen[3] == '20370' ? 'nav-item-active' : ''" 5327 > 5328 <a 5329 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5330 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/turvallisuus/tietosuoja/" 5331 x-bind:class="subOpen[3] == '20370' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5332 > 5333 <span>Tietosuoja</span> 5334 </a> 5335 </span> 5336 </li> 5337 5338 </ul> 5339 </div> 5340 </li> 5341 5342 <li class="w-full pb-8 pr-4 md:pr-0"> 5343 <span 5344 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5345 x-bind:class="subOpen[2] == '2082' ? 'nav-item-active' : ''" 5346 > 5347 <a 5348 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 5349 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/viestinta-ja-markkinointi/" 5350 x-bind:class="subOpen[2] == '2082' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5351 > 5352 <span>Viestintä ja markkinointi</span> 5353 </a> 5354 <button 5355 :aria-expanded="subOpen[2] == '2082'" 5356 class="submenu-toggle cursor-pointer shrink-0 grow-0 self-start scale-125 w-20 h-20 ml-auto flex justify-center items-center mt-[0.3rem]" 5357 @click=" 5358 if(subOpen[2] == '2082') { 5359 subOpen[2] = null; 5360 } else { 5361 subOpen[2] = '2082'; 5362 }; 5363 subOpen[3] = null; 5364 subOpen[4] = null; 5365 " 5366 >
5367 <span class="block"> 5368 <span 5369 class="shrink-0 block transform transition duration-300 mx-auto menu-plus menu-plus-mini scale-85" 5370 x-bind:class="subOpen[2] == '2082' ? 'menu-plus-active text-menu-hover' : ''" 5371 aria-hidden="true"> 5372 <span x-bind:class="subOpen[2] == '2082' ? 'hidden' : 'block'"><svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5373<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 5374<rect width="24" height="24" fill="#D9D9D9"/> 5375</mask> 5376<g> 5377<path d="M10.775 13.225H5.51953V10.775H10.775V5.51953H13.225V10.775H18.4805V13.225H13.225V18.4805H10.775V13.225Z" fill="#DEF8FF"/> 5378</g> 5379</svg></span> 5380 5381 <span x-bind:class="subOpen[2] == '2082' ? 'block' : 'hidden'"><svg class="rotate-90 md:rotate-none w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 5382<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24"> 5383<rect width="24" height="24" fill="#D9D9D9"/> 5384</mask> 5385<g> 5386<path d="M14.4151 17.2521L12.6878 15.5531L15.0161 13.2248H4.32031V10.7748H15.0161L12.6878 8.44656L14.4151 6.74756L19.6813 11.9998L14.4151 17.2521Z" fill="#FFA0FF"/> 5387</g> 5388</svg></span> 5389 </span> 5390 <span class="sr-only" x-bind:class="subOpen[2] == '2082' ? 'hidden' : ''"> 5391 Avaa "Viestintä ja markkinointi" alavalikko 5392 </span> 5393 <span class="sr-only" x-bind:class="subOpen[2] == '2082' ? '' : 'hidden'"> 5394 Sulje "Viestintä ja markkinointi" alavalikko 5395 </span> 5396 </span> 5397 </button> 5398 </span> 5399 <div 5400 x-cloak 5401 class="md:absolute md:top-0 transition-all transform duration-500 pl-16 md:pl-0 grid z-20 left-full w-full md:min-w-[16rem] lg:min-w-[20rem] xl:min-w-[24rem]" 5402 x-bind:class="subOpen[2] == '2082' ? 'md:max-h-max' : 'max-h-[0px] md:max-h-max opacity-0 pointer-events-none invisible translate-y-32 md:translate-y-6'" 5403 x-bind:style="subOpen[2] == '2082' && !subOpen[3] && { maxHeight: '180px' }" 5404 > 5405 <ul class="md:pl-24 lg:pl-32 xl:pl-40 2xl:pl-48 flex flex-col my-24 md:my-0 gap-12 2xl:gap-16"> 5406 <li class="w-full pb-8 pr-4 md:pr-0"> 5407 <span 5408 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5409 x-bind:class="subOpen[3] == '7832' ? 'nav-item-active' : ''" 5410 > 5411 <a 5412 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5413 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/viestinta-ja-markkinointi/medialle/" 5414 x-bind:class="subOpen[3] == '7832' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5415 > 5416 <span>Medialle</span> 5417 </a> 5418 </span> 5419 </li> 5420 5421 <li class="w-full pb-8 pr-4 md:pr-0"> 5422 <span 5423 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5424 x-bind:class="subOpen[3] == '7831' ? 'nav-item-active' : ''" 5425 > 5426 <a 5427 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5428 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/viestinta-ja-markkinointi/brandi/" 5429 x-bind:class="subOpen[3] == '7831' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5430 > 5431 <span>Brändi</span> 5432 </a> 5433 </span> 5434 </li> 5435 5436 <li class="w-full pb-8 pr-4 md:pr-0"> 5437 <span 5438 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5439 x-bind:class="subOpen[3] == '7830' ? 'nav-item-active' : ''" 5440 > 5441 <a 5442 class="!no-underline block font-sans leading-snug flex-1 text-base 2xl:text-baseb low-text-md" 5443 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/viestinta-ja-markkinointi/joensuu-sovellus/" 5444 x-bind:class="subOpen[3] == '7830' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5445 >
5446 <span>Joensuu-sovellus</span> 5447 </a> 5448 </span> 5449 </li> 5450 5451 </ul> 5452 </div> 5453 </li> 5454 5455 <li class="w-full pb-8 pr-4 md:pr-0"> 5456 <span 5457 class="group nav-item nav-item-sub flex flex-nowrap items-center gap-16" 5458 x-bind:class="subOpen[2] == '2081' ? 'nav-item-active' : ''" 5459 > 5460 <a 5461 class="!no-underline block font-sans leading-snug flex-1 text-baseb 2xl:text-md low-text-md" 5462 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/tiedonhallinta/" 5463 x-bind:class="subOpen[2] == '2081' ? 'text-menu-hover' : 'text-menu group-hover:text-menu-hover focus-visible:text-menu-hover'" 5464 > 5465 <span>Tiedonhallinta</span> 5466 </a> 5467 </span> 5468 </li> 5469 5470 </ul> 5471 </div> 5472 </li> 5473 </ul> 5474 </nav> 5475 </div> 5476 </div> 5477 </div> 5478 5479 <div 5480 class="header-helper-navigation mb-64 md:mb-0 md:absolute md:bottom-32 md:left-0 md:right-0 w-full xs-low-hidden transition duration-500 relative pb-96 md:pb-0 font-mono font-600" 5481 x-bind:style="!isOpenDelayShort ? { 'transition-delay': '80ms', transform: 'translateY(1.5rem)' } : { 'transition-delay': '80ms' }" 5482 > 5483 <div class="container px-18 md:px-24 mx-auto"> 5484 <ul class="flex flex-col md:flex-row md:flex-wrap gap-16 md:gap-20 2xl:gap-24 md:items-center md:justify-start"> 5485 <li> 5486 <a href="https://www.joensuu.fi/ajankohtaista/" class="animated-underline-invert-white block w-fit"> 5487 <span class="flex gap-2 2xl:gap-4 items-center"> 5488 <span> 5489 Ajankohtaista 5490 </span> 5491 <svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="20" height="21" viewBox="0 0 20 21" fill="none"> 5492 <mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 5493 <rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 5494 </mask> 5495 <g> 5496 <path d="M10.5 10.4999L6.5625 6.56242L8.00187 5.12305L13.3788 10.4999L8.00187 15.8768L6.5625 14.4374L10.5 10.4999Z" fill="#DEF8FF"/> 5497 </g> 5498</svg> </span> 5499 </a> 5500 </li> 5501 <li> 5502 <a href="https://www.joensuu.fi/yhteystiedot/" class="animated-underline-invert-white block w-fit"> 5503 <span class="flex gap-2 2xl:gap-4 items-center"> 5504 <span> 5505 Yhteystiedot 5506 </span> 5507 <svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="20" height="21" viewBox="0 0 20 21" fill="none"> 5508 <mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 5509 <rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 5510 </mask> 5511 <g> 5512 <path d="M10.5 10.4999L6.5625 6.56242L8.00187 5.12305L13.3788 10.4999L8.00187 15.8768L6.5625 14.4374L10.5 10.4999Z" fill="#DEF8FF"/> 5513 </g> 5514</svg> </span> 5515 </a> 5516 </li> 5517 <li> 5518 <a href="https://www.joensuu.fi/palaute/" class="animated-underline-invert-white block w-fit"> 5519 <span class="flex gap-2 2xl:gap-4 items-center"> 5520 <span> 5521 Palaute 5522 </span> 5523 <svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="20" height="21" viewBox="0 0 20 21" fill="none"> 5524 <mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 5525 <rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 5526 </mask> 5527 <g> 5528 <path d="M10.5 10.4999L6.5625 6.56242L8.00187 5.12305L13.3788 10.4999L8.00187 15.8768L6.5625 14.4374L10.5 10.4999Z" fill="#DEF8FF"/> 5529 </g> 5530</svg> </span> 5531 </a> 5532 </li> 5533 </ul> 5534 </div> 5535 </div> 5536 </div> 5537 </div> 5538 5539 <div 5540 role="dialog" 5541 aria-modal="true" 5542 x-data="{ closedMobileSearchWithEscape: false, prevOpen: false }" 5543 @keydown.escape.window=" 5544 if (mobileSearchIsOpen && !isOpen && !searchIsOpen && !langSwitcherIsOpen) { 5545 closedMobileSearchWithEscape = true; 5546 mobileSearchIsOpen = false;
5547 } 5548 " 5549 x-effect=" 5550 if (!mobileSearchIsOpen && closedMobileSearchWithEscape) { 5551 $nextTick(() => { 5552 $refs.searchToggleButton?.focus(); 5553 closedMobileSearchWithEscape = false; 5554 }); 5555 } 5556" 5557 x-cloak 5558 class="header-overlay fixed inset-0 flex flex-col bg-header-footer transition-opacity duration-300 white-focus" 5559 x-show="mobileSearchIsOpen" 5560 x-transition:enter="transition ease-out duration-300" 5561 x-transition:enter-start="opacity-0" 5562 x-transition:enter-end="opacity-100" 5563 x-transition:leave="transition ease-in duration-300" 5564 x-transition:leave-start="opacity-100" 5565 x-transition:leave-end="opacity-0" 5566 x-trap.inert.noscroll="mobileSearchIsOpen" 5567> 5568 <div class="header-overlay-controls fixed z-50 top-0 left-0 right-0 w-full flex items-center white-focus"> 5569 <div class="container px-18 md:px-24 mx-auto"> 5570 <div class="flex justify-between items-center h-32"> 5571 <div class="max-w-[9rem] md:max-w-[12rem]"> 5572 <svg class="w-full h-auto" role="img" alt="" aria-hidden="true" width="198" height="23" viewBox="0 0 198 23" fill="none" xmlns="http://www.w3.org/2000/svg"> 5573<g> 5574<path fill-rule="evenodd" clip-rule="evenodd" d="M129.412 9.91726L124.306 8.93529C122.358 8.54494 120.916 8.05701 120.916 6.47122C120.916 4.64147 122.863 3.58631 125.596 3.58631C129.065 3.58631 131.365 5.09891 132.656 7.10554L135.973 4.22063C133.83 1.75656 130.355 0 125.602 0C119.833 0 116.011 2.74463 116.011 6.75178C116.011 10.4418 118.975 12.1679 122.717 12.8693L128.256 13.8878C130.325 14.3087 131.846 14.8393 131.846 16.4556C131.846 18.389 129.503 19.4076 126.387 19.4076C122.955 19.4076 119.644 17.9987 117.849 15.2906L114.769 18.4927C117.07 21.3044 121.281 22.9939 126.387 22.9939C132.157 22.9939 136.758 20.5664 136.758 16.2787C136.758 12.5521 134.031 10.7955 129.43 9.91116L129.412 9.91726ZM13.8893 14.2782C13.8893 17.3704 12.5626 19.2002 9.48314 19.2002C6.40368 19.2002 4.8396 17.2058 4.96741 13.961H0.00739743C-0.187351 19.554 3.47636 23 9.44054 23C14.8205 23 18.8372 20.048 18.8372 14.5587V0.420846H13.8833V14.2782H13.8893ZM61.0672 13.0827H72.1375V9.35615H61.0672V4.18405H75.7647V0.420861H56.2715V22.5792H76.1116V18.816H61.0672V13.0827ZM90.5778 0.420861L102.354 15.6139V0.420861H106.876V22.5792H102.549L89.5675 6.15408V22.5792H85.0822V0.420861H90.5778ZM193.119 0.420861V12.9059C193.119 16.9496 190.977 19.2368 187.076 19.2368C183.175 19.2368 181.075 16.9496 181.075 12.9059V0.420861H176.164V13.5036C176.164 19.9748 181.191 23 187.082 23C192.973 23 198 19.9748 198 13.5036V0.420861H193.125H193.119ZM155.849 19.2368C159.75 19.2368 161.892 16.9496 161.892 12.9059V0.420861H166.767V13.5036C166.767 19.9748 161.74 23 155.849 23C149.958 23 144.931 19.9748 144.931 13.5036V0.420861H149.842V12.9059C149.842 16.9496 151.948 19.2368 155.849 19.2368ZM30.37 11.3201C30.37 7.69716 33.3034 4.75736 36.9184 4.75736C40.5334 4.75736 43.4668 7.69716 43.4668 11.3201C43.4668 14.943 40.5334 17.8828 36.9184 17.8828C33.3034 17.8828 30.37 14.943 30.37 11.3201Z" fill="#ffffff"/> 5575</g> 5576</svg></div> 5577 5578 <div class="flex gap-32 md:gap-36 2xl:gap-48 text-white header-overlay-control-focusable md:pb-4"> 5579 <button 5580 type="button" 5581 class="nav-toggle flex items-center justify-center cursor-pointer" 5582 aria-label="Sulje haku" 5583 aria-controls="navbar" 5584 :aria-expanded="mobileSearchIsOpen" 5585 x-on:click.throttle.700ms="mobileSearchIsOpen = false" 5586 > 5587 <svg class="w-20 h-20" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 5588<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 5589<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 5590</mask> 5591<g> 5592<path d="M6.06437 15.8768L4.625 14.4374L8.5625 10.4999L4.625 6.56242L6.06437 5.12305L10.0019 9.06055L13.9394 5.12305L15.3788 6.56242L11.4413 10.4999L15.3788 14.4374L13.9394 15.8768L10.0019 11.9393L6.06437 15.8768Z" fill="white"/> 5593</g> 5594</svg> </button> 5595 </div> 5596 </div> 5597 </div> 5598</div> 5599 5600 <div class="header-search-scrollable overflow-y-scroll min-h-screen max-h-screen" id="header-search-scrollable"> 5601 <div class="header-search-container flex flex-col md:justify-center mt-128 md:mt-192 mb-32 md:mb-112 2xl:mb-160"> 5602 <div class="container px-18 md:px-24 mx-auto relative z-5 pb-96"> 5603 <form 5604 role="search" 5605 method="get" 5606 class="search-form relative w-full" 5607 action="https://www.joensuu.fi/" 5608> 5609 5610 <label for="search-form-input-6ab4e24d7f263">
5611 <span class="sr-only"> 5612 Hae sivustolta 5613 </span> 5614 5615 <input 5616 type="search" 5617 id="search-form-input-6ab4e24d7f263" 5618 class="w-full bg-white text-grey-700 font-normal text-base font-sans border-2 border-accent py-8 px-12 rounded-xs shadow-input" 5619 placeholder="Kirjoita hakusana" 5620 value="" 5621 name="s" 5622 required 5623 > 5624 </label> 5625 5626 <span class="primary-focus"> 5627 <button 5628 type="submit" 5629 class="cursor-pointer absolute top-1/2 -translate-y-1/2 right-12 text-accent" 5630 > 5631 <span class="sr-only"> 5632 Hae 5633 </span> 5634 <span> 5635 <svg class="w-20 h-20 inherit-color-fill" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 5636<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 5637<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 5638</mask> 5639<g> 5640<path d="M15.9157 17.9473L10.854 12.8857C10.4453 13.1598 9.99429 13.3759 9.50109 13.5338C9.0079 13.6917 8.47693 13.7707 7.90818 13.7707C6.44818 13.7707 5.20457 13.2571 4.17734 12.2298C3.15026 11.2028 2.63672 9.95942 2.63672 8.49984C2.63672 7.04025 3.15026 5.79692 4.17734 4.76984C5.20457 3.74262 6.44797 3.229 7.90755 3.229C9.36714 3.229 10.6105 3.74262 11.6376 4.76984C12.6648 5.79692 13.1784 7.04046 13.1784 8.50046C13.1784 9.07713 13.0994 9.6081 12.9415 10.0934C12.7836 10.5787 12.5676 11.0218 12.2934 11.4228L17.3667 16.508L15.9157 17.9473ZM7.90755 11.729C8.80908 11.729 9.57262 11.4162 10.1982 10.7907C10.8239 10.165 11.1367 9.40137 11.1367 8.49984C11.1367 7.59831 10.8239 6.8347 10.1982 6.209C9.57262 5.58345 8.80908 5.27067 7.90755 5.27067C7.00602 5.27067 6.24241 5.58345 5.61672 6.209C4.99116 6.8347 4.67839 7.59831 4.67839 8.49984C4.67839 9.40137 4.99116 10.165 5.61672 10.7907C6.24241 11.4162 7.00602 11.729 7.90755 11.729Z" fill="#0026E1"/> 5641</g> 5642</svg> </span> 5643 </button> 5644 </span> 5645</form> 5646 </div> 5647 </div> 5648 </div> 5649</div> 5650 <div 5651 role="dialog" 5652 aria-modal="true" 5653 x-cloak 5654 class="header-overlay fixed inset-0 text-white flex flex-col bg-header-footer transition duration-300 invisible white-focus" 5655 x-bind:class="langSwitcherIsOpen || langSwitcherIsOpenDelay ? 'visible' : 'invisible'" 5656 x-bind:data-header-lang-switcher-active="langSwitcherIsOpen" 5657 x-show="langSwitcherIsOpen" 5658 x-transition:enter="ease-out" 5659 x-transition:enter-start="opacity-0" 5660 x-transition:enter-end="opacity-100" 5661 x-transition:leave="ease-in" 5662 x-transition:leave-start="opacity-100" 5663 x-transition:leave-end="opacity-0" 5664 x-trap.inert.noscroll="langSwitcherIsOpen" 5665 id="header-lang-switcher" 5666 @keydown.escape.window=" 5667 if (langSwitcherIsOpen && !isOpen && !searchIsOpen && !mobileSearchIsOpen) { 5668 langSwitcherIsOpen = false; 5669 } 5670" 5671 > 5672 <div class="header-overlay-controls fixed z-50 top-0 left-0 right-0 w-full flex items-center white-focus"> 5673 <div class="container px-18 md:px-24 mx-auto"> 5674 <div class="flex justify-between items-center h-32"> 5675 <div class="max-w-[9rem] md:max-w-[12rem]"> 5676 <svg class="w-full h-auto" role="img" alt="" aria-hidden="true" width="198" height="23" viewBox="0 0 198 23" fill="none" xmlns="http://www.w3.org/2000/svg"> 5677<g> 5678<path fill-rule="evenodd" clip-rule="evenodd" d="M129.412 9.91726L124.306 8.93529C122.358 8.54494 120.916 8.05701 120.916 6.47122C120.916 4.64147 122.863 3.58631 125.596 3.58631C129.065 3.58631 131.365 5.09891 132.656 7.10554L135.973 4.22063C133.83 1.75656 130.355 0 125.602 0C119.833 0 116.011 2.74463 116.011 6.75178C116.011 10.4418 118.975 12.1679 122.717 12.8693L128.256 13.8878C130.325 14.3087 131.846 14.8393 131.846 16.4556C131.846 18.389 129.503 19.4076 126.387 19.4076C122.955 19.4076 119.644 17.9987 117.849 15.2906L114.769 18.4927C117.07 21.3044 121.281 22.9939 126.387 22.9939C132.157 22.9939 136.758 20.5664 136.758 16.2787C136.758 12.5521 134.031 10.7955 129.43 9.91116L129.412 9.91726ZM13.8893 14.2782C13.8893 17.3704 12.5626 19.2002 9.48314 19.2002C6.40368 19.2002 4.8396 17.2058 4.96741 13.961H0.00739743C-0.187351 19.554 3.47636 23 9.44054 23C14.8205 23 18.8372 20.048 18.8372 14.5587V0.420846H13.8833V14.2782H13.8893ZM61.0672 13.0827H72.1375V9.35615H61.0672V4.18405H75.7647V0.420861H56.2715V22.5792H76.1116V18.816H61.0672V13.0827ZM90.5778 0.420861L102.354 15.6139V0.420861H106.876V22.5792H102.549L89.5675 6.15408V22.5792H85.0822V0.420861H90.5778ZM193.119 0.420861V12.9059C193.119 16.9496 190.977 19.2368 187.076 19.2368C183.175 19.2368 181.075 16.9496 181.075 12.9059V0.420861H176.164V13.5036C176.164 19.9748 181.191 23 187.082 23C192.973 23 198 19.9748 198 13.5036V0.420861H193.125H193.119ZM155.849 19.2368C159.75 19.2368 161.892 16.9496 161.892 12.9059V0.420861H166.767V13.5036C166.767 19.9748 161.74 23 155.849 23C149.958 23 144.931 19.9748 144.931 13.5036V0.420861H149.842V12.9059C149.842 16.9496 151.948 19.2368 155.849 19.2368ZM30.37 11.3201C30.37 7.69716 33.3034 4.75736 36.9184 4.75736C40.5334 4.75736 43.4668 7.69716 43.4668 11.3201C43.4668 14.943 40.5334 17.8828 36.9184 17.8828C33.3034 17.8828 30.37 14.943 30.37 11.3201Z" fill="#ffffff"/> 5679</g> 5680</svg></div> 5681 5682 <div class="flex gap-32 md:gap-36 2xl:gap-48 text-white header-overlay-control-focusable md:pb-4"> 5683 <button 5684 type="button" 5685 class="nav-toggle flex items-center justify-center cursor-pointer" 5686 aria-label="Sulje kielivalikko" 5687 aria-controls="navbar" 5688 :aria-expanded="langSwitcherIsOpen" 5689 x-on:click.throttle.700ms="langSwitcherIsOpen = false" 5690 > 5691 <svg class="w-20 h-20" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 5692<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 5693<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 5694</mask> 5695<g> 5696<path d="M6.06437 15.8768L4.625 14.4374L8.5625 10.4999L4.625 6.56242L6.06437 5.12305L10.0019 9.06055L13.9394 5.12305L15.3788 6.56242L11.4413 10.4999L15.3788 14.4374L13.9394 15.8768L10.0019 11.9393L6.06437 15.8768Z" fill="white"/> 5697</g> 5698</svg> </button> 5699 </div> 5700 </div> 5701 </div> 5702</div> 5703 5704 <div class="flex flex-col md:justify-center mt-128 mb-32 md:my-auto"> 5705 <div class="container px-18 md:px-24 mx-auto"> 5706 <ul class="flex flex-col items-center transition duration-500 gap-16 md:gap-20 2xl:gap-24" aria-label="Valitse kieli"> 5707 <li 5708 class="transition duration-500" 5709 x-bind:class="!langSwitcherIsOpenDelayShort ? 'opacity-0' : 'opacity-100'" 5710 x-bind:style="!langSwitcherIsOpenDelayShort 5711 ? { 'transition-delay': '20ms', transform: 'translateY(1.25rem)' } 5712 : { 'transition-delay': '20ms', transform: 'translateY(0)' }" 5713> 5714 <span 5715 class="group lang-menu-item nav-item nav-item-main flex items-center nav
5715-item-active" 5716 > 5717 <a 5718 href="https://www.joensuu.fi/" 5719 lang="fi" 5720 class="!no-underline flex-1 font-display text-base 2xl:text-baseb very-low-text-3xl leading-normal transition-[background-size] duration-500 5721 text-menu-hover" 5722 aria-current="true" > 5723 <span class="!w-auto">Suomi</span> 5724 </a> 5725 </span> 5726</li> 5727 <li 5728 class="transition duration-500" 5729 x-bind:class="!langSwitcherIsOpenDelayShort ? 'opacity-0' : 'opacity-100'" 5730 x-bind:style="!langSwitcherIsOpenDelayShort 5731 ? { 'transition-delay': '40ms', transform: 'translateY(1.25rem)' } 5732 : { 'transition-delay': '40ms', transform: 'translateY(0)' }" 5733> 5734 <span 5735 class="group lang-menu-item nav-item nav-item-main flex items-center " 5736 > 5737 <a 5738 href="https://www.joensuu.fi/en/" 5739 lang="en-US" 5740 class="!no-underline flex-1 font-display text-base 2xl:text-baseb very-low-text-3xl leading-normal transition-[background-size] duration-500 5741 text-menu group-hover:text-menu-hover focus-visible:text-menu-hover" 5742 > 5743 <span class="!w-auto">English</span> 5744 </a> 5745 </span> 5746</li> 5747 </ul> 5748 </div> 5749 </div> 5750 </div> 5751</header> 5752 5753 <div class="bg-accent w-screen h-[4.5rem] sm:h-[1.5rem] md:hidden"></div> 5754 5755<style> 5756 [x-cloak] { 5757 display: none !important; 5758 } 5759</style> 5760 5761 <main 5762 id="main" 5763 class="relative overflow-x-hidden gradient-scroll" 5764 x-data="gradientScroll()" 5765 x-init="init()" 5766 x-bind:data-bg-index="currentIndex" 5767 > 5768 <div class="container px-18 md:px-24 mx-auto pt-72 md:pt-120 mb-48 md:mb-64 2xl:mb-80 relative z-5"> 5769 <section class="components-atoms-section -mt-[4.5rem] md:-mt-120 template-partial-hero-front-page front-page-hero-height break-out mobile-full-width"> 5770 <div class="container z-5 px-18 md:px-24 mx-auto h-full relative"> 5771 <div class="grid grid-cols-4 md:grid-cols-12 pt-48 md:pt-64 2xl:pt-80 w-full justify-between hero-content-container absolute bottom-40 sm:bottom-64 md:bottom-96 lg:bottom-120 xl:bottom-152 2xl:bottom-176 3xl:bottom-208 pr-32 lg:pr-0"> 5772 <div class="col-span-4 md:col-span-8 lg:col-span-5"> 5773 <h1 class="components-atoms-heading text-left text-4xl lg:text-6xl 2xl:text-7xl 3xl:text-8xl leading-snug font-fp-hero text-accent font-400 hyphens-auto lg:hyphens-none "> 5774 Helppo hengittää 5775</h1> 5776 </div> 5777 </div> 5778 </div> 5779 5780 <div class="absolute inset-0 front-page-hero-height"> 5781 <div class="relative w-full h-full"> 5782 <div class="w-full h-full hero-mask-shape-front-page"> 5783 <svg class="hero-shape-svg" viewBox="0 0 1728 600" preserveAspectRatio="xMidYMax slice" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"> 5784 <path d="M-294.047 0C-92.1802 381.549 319.215 600 874.595 600C1401.3 600 1833.68 393.155 2042.04 0" stroke="currentColor" stroke-width="1" fill="none"/> 5785 </svg> 5786 </div> 5787 5788 <div class="w-full h-full hero-mask-front-page"> 5789 <img width="1648" height="927" src="https://www.joensuu.fi/app/uploads/2025/10/joensuu_kaupungitalo-scaled-1648x927.jpg" class="w-full !h-full absolute inset-0 object-cover object-right-bottom" alt="" loading="lazy" decoding="async" srcset="https://www.joensuu.fi/app/uploads/2025/10/joensuu_kaupungitalo-scaled-1648x927.jpg 1648w, https://www.joensuu.fi/app/uploads/2025/10/joensuu_kaupungitalo-scaled-600x338.jpg 600w, https://www.joensuu.fi/app/uploads/2025/10/joensuu_kaupungitalo-scaled-1024x576.jpg 1024w, https://www.joensuu.fi/app/uploads/2025/10/joensuu_kaupungitalo-scaled-800x450.jpg 800w, https://www.joensuu.fi/app/uploads/2025/10/joensuu_kaupungitalo-scaled-1536x864.jpg 1536w, https://www.joensuu.fi/app/uploads/2025/10/joensuu_kaupungitalo-scaled-2048x1152.jpg 2048w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /> <span class="absolute inset-0 gradient-mask"></span> 5790 </div> 5791 </div> 5792 </div> 5793</section> 5794 5795 5796 5797<section class="components-atoms-section my-48 md:my-64 2xl:my-80 components-organisms-quick-links block-quick-links"> 5798 <div class="flex flex-col gap-48 md:gap-64 2xl:gap-80"> 5799 <div class="relative"> 5800 <div class="grid grid-cols-4 md:grid-cols-12 w-full md:grid-cols-12 sm:gap-32 md:gap-40 2xl:gap-56"> 5801 <div class="col-span-4 md:col-span-12"> 5802 <div class="flex flex-col gap-16 md:gap-20 2xl:gap-24"> 5803 <div class="flex flex-col-reverse gap-16 md:gap-20 2xl:gap-24"> 5804 <h2 class="components-atoms-heading text-left font-sans font-600 text-mdb md:text-xl 2xl:text-xxl leading-normal text-accent "> 5805 Pikalinkit 5806</h2> 5807 </div> 5808 5809 <ul class="flex flex-row flex-wrap gap-16 md:gap-20 2xl:gap-24"> 5810 <li class="inline-flex"> 5811 <a 5812 href="https://www.joensuu.fi/vapaa-aika/liikunta-ja-ulkoilupaikat/vesikko/" class="components-atoms-button text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-quick-link-button border-border-accent shadow-button-quick-link p-16 text-quick-link " 5813 > 5814 <span class="flex items-center gap-8 relative z-20">
5815 <span class="shrink-0"> 5816 <?xml version="1.0" encoding="UTF-8"?> 5817<svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 5818 <defs> 5819 <style> 5820 .cls-1 { 5821 fill: #0026e1; 5822 } 5823 </style> 5824 </defs> 5825 <path class="cls-1" d="M.12,19.12v-1.87c.66-.05,1.17-.22,1.53-.51.36-.29.92-.44,1.66-.44.75,0,1.37.17,1.86.52.49.35,1.02.52,1.59.52.57,0,1.07-.17,1.49-.52.42-.35,1-.52,1.75-.52.75,0,1.37.17,1.86.52.49.35,1.03.52,1.6.52.57,0,1.07-.17,1.5-.52.43-.35,1.02-.52,1.76-.52.75,0,1.3.15,1.65.44.35.29.86.46,1.52.51v1.87c-.62-.05-1.16-.23-1.62-.55s-.97-.47-1.55-.47-1.09.17-1.55.51c-.46.34-1.03.51-1.71.51s-1.28-.17-1.81-.51c-.53-.34-1.07-.51-1.64-.51s-1.1.17-1.58.51c-.49.34-1.07.51-1.75.51s-1.27-.17-1.76-.51c-.49-.34-1.03-.51-1.6-.51s-1.09.16-1.56.47c-.47.32-1.01.5-1.63.55ZM.12,14.4v-1.78c.66-.05,1.17-.21,1.53-.5.36-.28.92-.43,1.66-.43s1.35.15,1.8.46.97.46,1.55.46,1.08-.15,1.54-.46c.45-.31,1.05-.46,1.8-.46s1.35.15,1.82.46c.47.31.98.46,1.53.46s1.09-.15,1.55-.46c.46-.31,1.06-.46,1.81-.46s1.3.14,1.65.43c.35.28.86.45,1.52.5v1.78c-.62-.05-1.16-.23-1.62-.55s-.97-.47-1.55-.47-1.09.17-1.56.51-1.04.51-1.69.51-1.27-.17-1.8-.51-1.09-.51-1.66-.51-1.08.17-1.54.51c-.46.34-1.02.51-1.69.51s-1.26-.17-1.8-.51c-.53-.34-1.09-.51-1.66-.51s-1.09.16-1.56.47c-.47.32-1.01.5-1.63.55ZM5.07,9.05l3.3-3.3-1.2-1.19c-.51-.5-1.05-.85-1.61-1.05-.57-.2-1.32-.29-2.25-.29V.99c1.22,0,2.26.17,3.11.51.86.34,1.64.86,2.34,1.56l6.2,6.18c-.21.18-.46.32-.76.41-.3.09-.58.13-.84.13-.63,0-1.17-.17-1.64-.51-.47-.34-1.04-.51-1.72-.51s-1.25.17-1.71.51c-.46.34-1,.51-1.63.51-.31,0-.61-.07-.91-.21-.3-.14-.53-.31-.68-.52ZM14.72.88c.7,0,1.29.24,1.76.71.47.48.71,1.06.71,1.75s-.24,1.28-.71,1.76c-.47.47-1.06.71-1.76.71s-1.29-.24-1.76-.71c-.47-.47-.71-1.06-.71-1.75s.24-1.27.71-1.75,1.06-.72,1.76-.72Z"/> 5826</svg> </span> 5827 <span> 5828 Virkistysuimala Vesikko 5829 </span> 5830 5831 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 5832 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 5833<g> 5834<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 5835<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 5836</mask> 5837<g> 5838<path d="M10.0119 14.8768L8.57253 13.461L10.5127 11.5208H1.59961V9.47909H10.5127L8.57253 7.53888L10.0119 6.12305L14.4004 10.4999L10.0119 14.8768Z" fill="#0026E1"/> 5839</g> 5840</g> 5841</svg> </span> 5842 </span> 5843</a> 5844 </li> 5845 <li class="inline-flex"> 5846 <a 5847 href="https://aromimenu.cgisaas.fi/PolkkaAromieMenus/FI/Default/Joensuu" class="components-atoms-button text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-quick-link-button border-border-accent shadow-button-quick-link p-16 text-quick-link " 5848 > 5849 <span class="flex items-center gap-8 relative z-20"> 5850 <span class="shrink-0"> 5851 <?xml version="1.0" encoding="UTF-8"?> 5852<svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 5853 <defs> 5854 <style> 5855 .cls-1 { 5856 fill: #0026e1; 5857 } 5858 </style> 5859 </defs> 5860 <g id="Layer_1-2" data-name="Layer 1-2"> 5861 <path class="cls-1" d="M5.11,19.71c-1.31,0-2.58-.54-3.55-1.54-1.29-1.33-1.75-3.16-1.22-4.91l.91-2.83C2.53,6.18,3.98,3.03,10.96,1.15l2.73-.71c1.72-.42,3.49.08,4.74,1.33,1.22,1.22,1.71,2.94,1.31,4.59l-.71,2.83c-1.12,4.81-2.32,7.86-9.45,9.54l-3.22.8c-.42.11-.84.17-1.25.17ZM14.88,2.1c-.25,0-.5.03-.76.09l-2.71.7c-6.1,1.65-7.26,4.15-8.45,8.07v.02s-.91,2.83-.91,2.83c-.33,1.09-.03,2.27.8,3.12.82.84,1.9
58616,1.18,3.06.88l3.24-.81c6.28-1.48,7.1-3.83,8.12-8.21l.71-2.84c.25-1.05-.05-2.11-.83-2.89-.62-.62-1.43-.95-2.27-.95Z"/> 5862 <path class="cls-1" d="M3.19,17.98l-1.54-.92,1.87-3.12c.06-.26.08-1.07.02-1.49-.15-1.04.45-1.93,1.42-2.12l1.57-.39c.09-.03.25-.18.24-.45l-.2-.62c-.2-1,.29-1.98,1.15-2.32l2.69-1.2c.24-.1.42-.33.48-.6.05-.76.45-2.08,1.69-2.55l4.29-1.3.52,1.72-4.23,1.28c-.41.16-.47.99-.47.99v.11c-.16.91-.76,1.67-1.57,2l-2.69,1.2c-.06.03-.11.15-.09.27l.22.69c.16,1.12-.46,2.14-1.51,2.49l-1.68.42s-.05.03-.04.11c.06.38.15,1.95-.2,2.58l-1.92,3.22Z"/> 5863 <path class="cls-1" d="M3.36,18.9l-.64-1.68,4.82-1.83c.22-.09.5-.35.54-.62l.42-1.69c.23-.7.77-1.18,1.46-1.36l.94-.21c.48-.06.77-.35.82-.75l.2-1.61c.17-.86.55-1.38,1.2-1.7l1.73-.82c.17-.1.29-.34.55-.91l1.18-3.9,1.72.52-1.24,4.06c-.3.67-.61,1.36-1.37,1.82l-1.79.85c-.08.04-.15.07-.21.37l-.19,1.55c-.15,1.22-1.08,2.14-2.29,2.3l-.83.19c-.12.03-.15.11-.15.11l-.38,1.55c-.15.92-.94,1.65-1.65,1.93l-4.84,1.83Z"/> 5864 </g> 5865</svg> </span> 5866 <span> 5867 Ruokalistat 5868 </span> 5869 5870 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 5871 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 5872<path d="M0.599609 15.4004V0.599609H8.00003V2.64128H2.64128V13.3588H13.3588V8.00003H15.4004V15.4004H0.599609ZM6.42753 11L5.00003 9.57253L11.9311 2.64128H10V0.599609H15.4004V6.00003H13.3588V4.06898L6.42753 11Z" fill="currentcolor" style="transform: translateX(12.5%) translateY(20%) scale(0.8)" /> 5873</svg> <span class="sr-only">(avautuu ulkoiselle sivustolle)</span> 5874 </span> 5875 </span> 5876</a> 5877 </li> 5878 <li class="inline-flex"> 5879 <a 5880 href="https://www.joensuu.fi/kaupunki-ja-kehitys/toihin-kaupungille/avoimet-tyopaikat/" class="components-atoms-button text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-quick-link-button border-border-accent shadow-button-quick-link p-16 text-quick-link " 5881 > 5882 <span class="flex items-center gap-8 relative z-20"> 5883 <span class="shrink-0"> 5884 <?xml version="1.0" encoding="UTF-8"?> 5885<svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 5886 <defs> 5887 <style> 5888 .cls-1 { 5889 fill: #0026e1; 5890 } 5891 </style> 5892 </defs> 5893 <path class="cls-1" d="M1.97,19.6c-.52,0-.97-.19-1.34-.56-.37-.37-.56-.82-.56-1.34V6.61c0-.52.19-.97.56-1.35.37-.38.82-.56,1.34-.56h3.88v-2.4c0-.51.19-.95.56-1.33.37-.38.82-.57,1.34-.57h4.49c.52,0,.97.19,1.34.57.37.38.56.82.56,1.33v2.4h3.88c.52,0,.97.19,1.35.56.38.38.56.82.56,1.35v11.09c0,.52-.19.97-.56,1.34-.38.37-.82.56-1.35.56,0,0-16.04,0-16.04,0ZM1.97,17.7h16.04V6.61H1.97v11.09ZM7.75,4.7h4.49v-2.4h-4.49v2.4ZM1.97,17.7V6.61v11.09Z"/> 5894</svg> </span> 5895 <span> 5896 Avoimet työpaikat 5897 </span> 5898 5899 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 5900 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 5901<g> 5902<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 5903<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 5904</mask> 5905<g> 5906<path d="M10.0119 14.8768L8.57253 13.461L10.5127 11.5208H1.59961V9.47909H10.5127L8.57253 7.53888L10.0119 6.12305L14.4004 10.4999L10.0119 14.8768Z" fill="#0026E1"/> 5907</g> 5908</g> 5909</svg> </span> 5910 </span> 5911</a> 5912 </li> 5913 <li class="inline-flex"> 5914 <a 5915 href="https://jojo.joensuu.fi/" class="components-atoms-button text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-quick-link-button border-border-accent shadow-button-quick-link p-16 text-quick-link " 5916 > 5917 <span class="flex items-center gap-8 relative z-20">
5918 <span class="shrink-0"> 5919 <?xml version="1.0" encoding="UTF-8"?> 5920<svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 5921 <defs> 5922 <style> 5923 .cls-1 { 5924 fill: #0026e1; 5925 } 5926 </style> 5927 </defs> 5928 <path class="cls-1" d="M4.23,19.92c-.31,0-.58-.1-.82-.29-.24-.2-.35-.44-.35-.73v-1.97c-.49-.29-.85-.69-1.07-1.22-.22-.53-.33-1.08-.33-1.65V4.03c0-1.35.66-2.34,1.99-2.97C4.98.44,7.11.13,10.02.13s5,.31,6.32.93c1.33.62,1.99,1.61,1.99,2.97v10.02c0,.57-.11,1.12-.34,1.65-.22.53-.58.93-1.06,1.22v1.97c0,.29-.12.54-.36.73-.24.2-.52.29-.82.29h-.15c-.33,0-.61-.1-.84-.29s-.35-.42-.35-.69v-1.06H5.58v1.06c0,.27-.12.5-.35.69s-.52.29-.84.29h-.15ZM10.02,3.51h6.46H3.51h6.51ZM14.3,10.82H3.64h12.71-2.04ZM3.64,9.32h12.71v-4.31H3.64s0,4.31,0,4.31ZM6.22,14.71c.37,0,.69-.13.96-.4.27-.27.41-.59.41-.97,0-.37-.14-.69-.41-.97-.27-.27-.59-.41-.97-.41s-.7.14-.96.41-.4.59-.4.97.13.7.4.97.59.4.97.4ZM13.78,14.71c.37,0,.69-.13.97-.4.27-.27.41-.59.41-.97s-.14-.69-.41-.97c-.27-.27-.59-.41-.97-.41s-.7.14-.97.41-.4.59-.4.97.13.7.4.97.59.4.97.4ZM3.51,3.51h12.96c-.4-.44-1.16-.78-2.29-1.03s-2.52-.37-4.16-.37c-1.96,0-3.47.11-4.51.34s-1.71.58-1.99,1.06ZM5.68,15.9h8.62c.58,0,1.07-.23,1.46-.68.39-.45.59-.97.59-1.54v-2.86H3.64v2.86c0,.57.2,1.08.59,1.54.39.45.88.68,1.46.68Z"/> 5929</svg> </span> 5930 <span> 5931 JOJO joukkoliikenne 5932 </span> 5933 5934 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 5935 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> 5936<path d="M0.599609 15.4004V0.599609H8.00003V2.64128H2.64128V13.3588H13.3588V8.00003H15.4004V15.4004H0.599609ZM6.42753 11L5.00003 9.57253L11.9311 2.64128H10V0.599609H15.4004V6.00003H13.3588V4.06898L6.42753 11Z" fill="currentcolor" style="transform: translateX(12.5%) translateY(20%) scale(0.8)" /> 5937</svg> <span class="sr-only">(avautuu ulkoiselle sivustolle)</span> 5938 </span> 5939 </span> 5940</a> 5941 </li> 5942 <li class="inline-flex"> 5943 <a 5944 href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/paatoksenteko/esityslistat-ja-paatokset/" class="components-atoms-button text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-quick-link-button border-border-accent shadow-button-quick-link p-16 text-quick-link " 5945 > 5946 <span class="flex items-center gap-8 relative z-20"> 5947 <span class="shrink-0"> 5948 <?xml version="1.0" encoding="UTF-8"?> 5949<svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 5950 <defs> 5951 <style> 5952 .cls-1 { 5953 fill: #0026e1; 5954 } 5955 </style> 5956 </defs> 5957 <path class="cls-1" d="M.61,19.97v-2.1h12.59v2.1H.61ZM6.54,14.88L.61,8.95l2.2-2.26,5.98,5.93-2.26,2.26ZM13.2,8.22L7.27,2.23,9.53.03l5.93,5.93-2.26,2.26ZM18.03,18.92L4.33,5.22l1.47-1.47,13.7,13.7-1.47,1.47Z"/> 5958</svg> </span> 5959 <span> 5960 Esityslistat ja päätökset 5961 </span> 5962 5963 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 5964 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 5965<g> 5966<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 5967<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 5968</mask> 5969<g> 5970<path d="M10.0119 14.8768L8.57253 13.461L10.5127 11.5208H1.59961V9.47909H10.5127L8.57253 7.53888L10.0119 6.12305L14.4004 10.4999L10.0119 14.8768Z" fill="#0026E1"/> 5971</g> 5972</g> 5973</svg> </span> 5974 </span> 5975</a> 5976 </li> 5977 <li class="inline-flex"> 5978 <a 5979 href="https://www.joensuu.fi/arjen-palvelut/liikenne-kadut-ja-kunnossapito/pysakointi/" class="components-atoms-button text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-quick-link-button border-border-accent shadow-button-quick-link p-16 text-quick-link " 5980 > 5981 <span class="flex items-center gap-8 relative z-20">
5982 <span class="shrink-0"> 5983 <?xml version="1.0" encoding="UTF-8"?> 5984<svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 5985 <defs> 5986 <style> 5987 .cls-1 { 5988 fill: #0026e1; 5989 } 5990 </style> 5991 </defs> 5992 <path class="cls-1" d="M4.58,16.62c-.75,0-1.39-.26-1.92-.79-.53-.53-.79-1.17-.79-1.92H.06V5.78c0-.5.18-.92.53-1.28s.78-.53,1.28-.53h12.65l5.42,5.42v4.52h-1.81c0,.75-.26,1.39-.79,1.92s-1.17.79-1.92.79-1.39-.26-1.92-.79c-.53-.53-.79-1.17-.79-1.92h-5.42c0,.75-.26,1.39-.79,1.92-.53.53-1.17.79-1.92.79M12.71,8.49h3.61l-2.71-2.71h-.9v2.71ZM7.29,8.49h3.61v-2.71h-3.61v2.71ZM1.87,8.49h3.61v-2.71H1.87v2.71ZM4.58,15.04c.32,0,.58-.11.8-.33.22-.22.33-.49.33-.8,0-.32-.11-.58-.33-.8s-.49-.33-.8-.33-.58.11-.8.33c-.22.22-.33.48-.33.8,0,.32.11.58.33.8s.49.33.8.33M15.42,15.04c.32,0,.58-.11.8-.33s.33-.49.33-.8c0-.32-.11-.58-.33-.8s-.49-.33-.8-.33-.58.11-.8.33c-.22.22-.33.48-.33.8,0,.32.11.58.33.8s.49.33.8.33M1.87,12.1h.72c.26-.27.55-.49.88-.65s.7-.25,1.11-.25.78.08,1.11.25.62.38.88.65h6.86c.26-.27.55-.49.88-.65.33-.17.7-.25,1.11-.25s.78.08,1.11.25c.33.17.62.38.88.65h.72v-1.81H1.87v1.81ZM18.13,10.3H1.87h16.26Z"/> 5993</svg> </span> 5994 <span> 5995 Pysäköinti 5996 </span> 5997 5998 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 5999 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 6000<g> 6001<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 6002<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 6003</mask> 6004<g> 6005<path d="M10.0119 14.8768L8.57253 13.461L10.5127 11.5208H1.59961V9.47909H10.5127L8.57253 7.53888L10.0119 6.12305L14.4004 10.4999L10.0119 14.8768Z" fill="#0026E1"/> 6006</g> 6007</g> 6008</svg> </span> 6009 </span> 6010</a> 6011 </li> 6012 </ul> 6013 </div> 6014 </div> 6015</div> </div> 6016 </div> 6017</section> 6018 6019 6020<section class="components-atoms-section my-48 md:my-64 2xl:my-80 components-organisms-content-cards-floating block-content-cards-floating wp-block-content-cards"> 6021 <a href="#skip-target-6ab4e24d5f1dd" class="sr-only focus:not-sr-only text-accent !mb-16 inline-block ">Ohita sisältönostot: Pinnalla juuri nyt</a> 6022 6023 <div class="flex flex-col gap-40 md:gap-48 2xl:gap-64"> 6024 <div class="relative"> 6025 <div class="grid grid-cols-4 md:grid-cols-12 w-full md:grid-cols-12 sm:gap-32 md:gap-40 2xl:gap-56"> 6026 <div class="col-span-4 md:col-span-12"> 6027 <div class="grid flex-col gap-48"> 6028 <div class="flex gap-32 justify-between items-center"> 6029 <h2 class="components-atoms-heading text-left font-display font-400 text-mdb md:text-xl 2xl:text-xxl leading-normal text-accent "> 6030 Pinnalla juuri nyt 6031</h2> 6032 </div> 6033 <ul class="grid grid-cols-12 w-full sm:gap-32 md:gap-40 2xl:gap-56 gap-y-48 md:gap-y-64 2xl:gap-y-80"> 6034 <li class="col-span-12 md:col-span-6 "> 6035 <div class="flex flex-col gap-16 md:gap-20 2xl:gap-24 relative"> 6036 <div class="flex flex-col gap-12 2xl:gap-16 order-2"> 6037 <span class="flex gap-6 items-center text-accent order-2"> 6038 <a href="https://www.joensuu.fi/ajankohtaista/tiedotteet/ehdota-joensuu-paivan-palkintojen-saajia/" class="link-mask text-accent inline-block leading-snug animated-underline-invert-accent-thick"> 6039 <h3 class="text-baseb 2xl:text-md font-display leading-snug"> 6040 <span> 6041 <span> 6042 Ehdota Joensuu-päivän palkintojen saajia 6043 </span> 6044 </span> 6045 </h3> 6046 </a> 6047 6048 </span> 6049 6050 <span class="order-1"> 6051 </span> 6052 6053 <p class="text-sm 2xl:text-base text-black leading-relaxed order-3"> 6054 Joensuu-päivänä palkitaan eri tavoin ansioituneita joensuulaisia. Jätä oma ehdotuksesi syyskuun loppuun mennessä. 6055 </p> 6056 </div> 6057 <div class="rounded-sm sm:rounded-sm 2xl:rounded-base 3xl:rounded-base overflow-hidden aspect-[4/3] order-1"> 6058 <img decoding="async" width="800" height="600" src="https://www.joensuu.fi/app/uploads/2026/04/Joensuun-lippu-800x600.jpg" class="w-full h-full object-cover" alt="" loading="lazy" srcset="https://www.joensuu.fi/app/uploads/2026/04/Joensuun-lippu-800x600.jpg 800w, https://www.joensuu.fi/app/uploads/2026/04/Joensuun-lippu-600x450.jpg 600w, https://www.joensuu.fi/app/uploads/2026/04/Joensuun-lippu-1024x768.jpg 1024w, https://www.joensuu.fi/app/uploads/2026/04/Joensuun-lippu-1536x1151.jpg 1536w, https://www.joensuu.fi/app/uploads/2026/04/Joensuun-lippu-1648x1235.jpg 1648w, https://www.joensuu.fi/app/uploads/2026/04/Joensuun-lippu.jpg 2048w" sizes="auto, (max-width: 800px) 100v
6058w, 800px" /> </div> 6059 </div> 6060 </li> 6061 <li class="col-span-12 md:col-span-6 transform md:translate-y-160 2xl:translate-y-240"> 6062 <div class="flex flex-col gap-16 md:gap-20 2xl:gap-24 relative"> 6063 <div class="flex flex-col gap-12 2xl:gap-16 order-2"> 6064 <span class="flex gap-6 items-center text-accent order-2"> 6065 <a href="https://www.joensuu.fi/ajankohtaista/tiedotteet/tiistaina-22-syyskuuta-maksuttomia-bussivuoroja-ja-pyorien-korjausta/" class="link-mask text-accent inline-block leading-snug animated-underline-invert-accent-thick"> 6066 <h3 class="text-baseb 2xl:text-md font-display leading-snug"> 6067 <span> 6068 <span> 6069 Jätä auto kotiin ja liiku maksutta 6070 </span> 6071 </span> 6072 </h3> 6073 </a> 6074 6075 </span> 6076 6077 <span class="order-1"> 6078 </span> 6079 6080 <p class="text-sm 2xl:text-base text-black leading-relaxed order-3"> 6081 Euroopan liikkujan viikon päätöspäivänä 22.9. bussimatkat ovat maksuttomia. Päivän aikana voit myös hyödyntää maksutonta pyörähuoltopistettä. 6082 </p> 6083 </div> 6084 <div class="rounded-sm sm:rounded-sm 2xl:rounded-base 3xl:rounded-base overflow-hidden aspect-[4/3] order-1"> 6085 <img decoding="async" width="800" height="533" src="https://www.joensuu.fi/app/uploads/2026/05/jojo_kaasubussi2_040825-1-800x533.jpg" class="w-full h-full object-cover" alt="" loading="lazy" srcset="https://www.joensuu.fi/app/uploads/2026/05/jojo_kaasubussi2_040825-1-800x533.jpg 800w, https://www.joensuu.fi/app/uploads/2026/05/jojo_kaasubussi2_040825-1-600x400.jpg 600w, https://www.joensuu.fi/app/uploads/2026/05/jojo_kaasubussi2_040825-1-1024x683.jpg 1024w, https://www.joensuu.fi/app/uploads/2026/05/jojo_kaasubussi2_040825-1-1536x1024.jpg 1536w, https://www.joensuu.fi/app/uploads/2026/05/jojo_kaasubussi2_040825-1-1648x1098.jpg 1648w, https://www.joensuu.fi/app/uploads/2026/05/jojo_kaasubussi2_040825-1.jpg 2048w" sizes="auto, (max-width: 800px) 100vw, 800px" /> </div> 6086 </div> 6087 </li> 6088 <li class="col-span-12 md:col-span-6 "> 6089 <div class="flex flex-col gap-16 md:gap-20 2xl:gap-24 relative"> 6090 <div class="flex flex-col gap-12 2xl:gap-16 order-2"> 6091 <span class="flex gap-6 items-center text-accent order-2"> 6092 <a href="https://www.joensuu.fi/ajankohtaista/tiedotteet/laheta-nyt-maksutta-kasinkirjoitettu-postikortti-joensuusta/" class="link-mask text-accent inline-block leading-snug animated-underline-invert-accent-thick"> 6093 <h3 class="text-baseb 2xl:text-md font-display leading-snug"> 6094 <span> 6095 <span> 6096 Lähetä käsinkirjoitettu postikortti Joensuusta 6097 </span> 6098 </span> 6099 </h3> 6100 </a> 6101 6102 </span> 6103 6104 <span class="order-1"> 6105 </span> 6106 6107 <p class="text-sm 2xl:text-base text-black leading-relaxed order-3"> 6108 Joensuun kaupunki tarjoaa jälleen mahdollisuuden lähettää maksutta käsinkirjoitettu postikortti sukulaiselle, ystävälle tai vaikka entiselle joensuulaiselle. 6109 </p> 6110 </div> 6111 <div class="rounded-sm sm:rounded-sm 2xl:rounded-base 3xl:rounded-base overflow-hidden aspect-[4/3] order-1"> 6112 <img decoding="async" width="800" height="450" src="https://www.joensuu.fi/app/uploads/2026/09/postiajoensuusta-2026-1920x1080-1-800x450.jpg" class="w-full h-full object-cover" alt="" loading="lazy" srcset="https://www.joensuu.fi/app/uploads/2026/09/postiajoensuusta-2026-1920x1080-1-800x450.jpg 800w, https://www.joensuu.fi/app/uploads/2026/09/postiajoensuusta-2026-1920x1080-1-600x338.jpg 600w, https://www.joensuu.fi/app/uploads/2026/09/postiajoensuusta-2026-1920x1080-1-1024x576.jpg 1024w, https://www.joensuu.fi/app/uploads/2026/09/postiajoensuusta-2026-1920x1080-1-1536x864.jpg 1536w, https://www.joensuu.fi/app/uploads/2026/09/postiajoensuusta-2026-1920x1080-1-1648x927.jpg 1648w, https://www.joensuu.fi/app/uploads/2026/09/postiajoensuusta-2026-1920x1080-1.jpg 1920w" sizes="auto, (max-width: 800px) 100v
6112w, 800px" /> </div> 6113 </div> 6114 </li> 6115 </ul> 6116 </div> 6117 </div> 6118</div> </div> 6119 </div> 6120 6121 <div id="skip-target-6ab4e24d5f1dd" tabindex="-1" class="sr-only"> 6122 Osio ohitettu. 6123 </div> 6124</section> 6125 6126 6127<section class="components-atoms-section my-48 md:my-64 2xl:my-80 components-organisms-quick-links block-quick-links"> 6128 <div class="flex flex-col gap-48 md:gap-64 2xl:gap-80"> 6129 <div class="relative"> 6130 <div class="grid grid-cols-4 md:grid-cols-12 w-full md:grid-cols-12 sm:gap-32 md:gap-40 2xl:gap-56"> 6131 <div class="col-span-4 md:col-span-12"> 6132 <div class="flex flex-col gap-16 md:gap-20 2xl:gap-24"> 6133 <div class="flex flex-col-reverse gap-16 md:gap-20 2xl:gap-24"> 6134 <h2 class="components-atoms-heading text-left font-sans font-600 text-mdb md:text-xl 2xl:text-xxl leading-normal text-accent "> 6135 Palveluita eri elämäntilanteissa 6136</h2> 6137 </div> 6138 6139 <ul class="flex flex-row flex-wrap gap-16 md:gap-20 2xl:gap-24"> 6140 <li class="inline-flex"> 6141 <a 6142 href="https://www.joensuu.fi/lapsiperheet/" class="components-atoms-button text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-quick-link-button border-border-accent shadow-button-quick-link p-16 text-quick-link " 6143 > 6144 <span class="flex items-center gap-8 relative z-20"> 6145 <span class="shrink-0"> 6146 <?xml version="1.0" encoding="UTF-8"?> 6147<svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 6148 <defs> 6149 <style> 6150 .cls-1 { 6151 fill: #0026e1; 6152 } 6153 </style> 6154 </defs> 6155 <path class="cls-1" d="M14.92,20c-1.46,0-2.71-.89-3.24-2.16h-3.24c-.53,1.27-1.78,2.16-3.24,2.16-1.94,0-3.51-1.57-3.51-3.51,0-1.23.64-2.32,1.6-2.94-.66-.32-1.21-.89-1.46-1.64-.5-1.48.29-3.09,1.77-3.59.05-.02.1-.03.15-.05l1.45-.41c-.17-.51-.26-1.06-.26-1.63,0-.14,0-.28.02-.42-1.25-.39-2.18-1.52-2.18-2.82C2.77,1.35,4.12.02,5.78.02c1.02,0,1.96.54,2.5,1.4,1.11-.41,2.45-.41,3.55,0C12.38.65,13.27.02,14.31.02c1.67,0,3.03,1.33,3.03,2.97,0,1.3-.93,2.44-2.18,2.83.01.13.02.27.02.41,0,.6-.1,1.17-.29,1.7l1.01.32s.07.02.11.04c1.47.53,2.24,2.15,1.71,3.61-.22.62-.64,1.13-1.2,1.47,1.12.59,1.89,1.76,1.89,3.11,0,1.94-1.57,3.51-3.51,3.51ZM14.92,14.6c-1.04,0-1.89.85-1.89,1.89s.85,1.89,1.89,1.89,1.89-.85,1.89-1.89-.85-1.89-1.89-1.89ZM5.18,14.6c-1.03,0-1.87.85-1.87,1.89s.85,1.89,1.89,1.89,1.89-.85,1.89-1.89-.84-1.88-1.87-1.89h-.03ZM8.7,16.22h2.72c.1-1.26.86-2.33,1.93-2.87l-.09-.23c-.05-.09-.09-.19-.11-.29l-.76-2.03c-.7.36-1.49.56-2.33.56-.99,0-1.92-.28-2.7-.77l-1.04,2.57c1.3.44,2.27,1.63,2.38,3.06ZM5.97,9.32l-1.85.53c-.63.21-.97.9-.76,1.53.21.62.88.96,1.5.76l.15-.06,1.06-2.63s-.07-.09-.1-.13ZM14.59,12.06l.07.02c.31.11.64.09.93-.04.29-.14.51-.38.62-.68.22-.62-.1-1.32-.73-1.54l-1.38-.44c-.11.14-.23.28-.36.41l.85,2.27ZM7.61,8.75c.63.62,1.5,1,2.45,1,1.94,0,3.51-1.57,3.51-3.51s-1.57-3.51-3.51-3.51-3.51,1.57-3.51,3.51c0,.95.38,1.82,1,2.45.02.02.04.04.06.06ZM13.25,2.22c.67.53,1.2,1.23,1.53,2.02.54-.2.94-.7.94-1.25,0-.74-.63-1.35-1.41-1.35-.4,0-.79.25-1.06.58ZM5.78,1.64c-.77,0-1.39.61-1.39,1.35,0,.55.4,1.04.94,1.24.34-.79.87-1.49,1.53-2.02-.24-.33-.62-.58-1.09-.58ZM10.06,8.18c-.45,0-.81-.36-.81-.8h0c0-.46.36-.82.81-.82s.81.36.81.81-.36.82-.81.82ZM11.84,6.49c-.45,0-.81-.36-.81-.8h0c0-.46.36-.82.81-.82s.81.36.81.81-.36.82-.81.82ZM8.57,6.49c-.45,0-.81-.36-.81-.8h0c0-.46.36-.82.81-.82s.81.36.81.81-.36.82-.81.82Z"/> 6156</svg> </span> 6157 <span> 6158 Lapsiperheet 6159 </span> 6160 6161 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 6162 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 6163<g> 6164<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 6165<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 6166</mask> 6167<g> 6168<path d="M10.0119 14.8768L8.57253 13.461L10.5127 11.5208H1.59961V9.47909H10.5127L8.57253 7.53888L10.0119 6.12305L14.4004 10.4999L10.0119 14.8768Z" fill="#0026E1"/> 6169</g> 6170</g> 6171</svg> </span> 6172 </span> 6173</a> 6174 </li> 6175 <li class="inline-flex"> 6176 <a 6177 href="https://www.joensuu.fi/tyonhakijat/" class="components-atoms-button text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-quick-link-button border-border-accent shadow-button-quick-link p-16 text-quick-link " 6178 > 6179 <span class="flex items-center gap-8 relative z-20">
6180 <span class="shrink-0"> 6181 <?xml version="1.0" encoding="UTF-8"?> 6182<svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 6183 <defs> 6184 <style> 6185 .cls-1 { 6186 fill: #0026e1; 6187 } 6188 </style> 6189 </defs> 6190 <path class="cls-1" d="M1.97,19.6c-.52,0-.97-.19-1.34-.56-.37-.37-.56-.82-.56-1.34V6.61c0-.52.19-.97.56-1.35.37-.38.82-.56,1.34-.56h3.88v-2.4c0-.51.19-.95.56-1.33.37-.38.82-.57,1.34-.57h4.49c.52,0,.97.19,1.34.57.37.38.56.82.56,1.33v2.4h3.88c.52,0,.97.19,1.35.56.38.38.56.82.56,1.35v11.09c0,.52-.19.97-.56,1.34-.38.37-.82.56-1.35.56,0,0-16.04,0-16.04,0ZM1.97,17.7h16.04V6.61H1.97v11.09ZM7.75,4.7h4.49v-2.4h-4.49v2.4ZM1.97,17.7V6.61v11.09Z"/> 6191</svg> </span> 6192 <span> 6193 Työnhakijat 6194 </span> 6195 6196 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 6197 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 6198<g> 6199<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 6200<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 6201</mask> 6202<g> 6203<path d="M10.0119 14.8768L8.57253 13.461L10.5127 11.5208H1.59961V9.47909H10.5127L8.57253 7.53888L10.0119 6.12305L14.4004 10.4999L10.0119 14.8768Z" fill="#0026E1"/> 6204</g> 6205</g> 6206</svg> </span> 6207 </span> 6208</a> 6209 </li> 6210 <li class="inline-flex"> 6211 <a 6212 href="https://www.joensuu.fi/matkailijat/" class="components-atoms-button text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-quick-link-button border-border-accent shadow-button-quick-link p-16 text-quick-link " 6213 > 6214 <span class="flex items-center gap-8 relative z-20"> 6215 <span class="shrink-0"> 6216 <?xml version="1.0" encoding="UTF-8"?> 6217<svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 6218 <defs> 6219 <style> 6220 .cls-1 { 6221 fill: #0026e1; 6222 } 6223 </style> 6224 </defs> 6225 <g id="Layer_1-2" data-name="Layer 1-2"> 6226 <path class="cls-1" d="M12.61,19.99H3.26v-7.41l2.45-1.93h6.9v9.35ZM5.03,18.21h5.8v-5.8h-4.51l-1.29,1.02v4.78Z"/> 6227 <path class="cls-1" d="M5.03,19.99H.31v-5.81h4.72v5.81ZM2.08,18.21h1.18v-2.26h-1.18v2.26Z"/> 6228 <path class="cls-1" d="M19.69,19.99h-4.72v-6.8l4.72,2.2v4.6ZM16.74,18.21h1.18v-1.7l-1.18-.55v2.25Z"/> 6229 <polygon class="cls-1" points="16.74 19.99 10.84 19.99 10.84 7.59 12.61 7.59 12.61 18.21 14.97 18.21 14.97 7.59 16.74 7.59 16.74 19.99"/> 6230 <path class="cls-1" d="M10.84,7.71c0-.23-.03-2.32,1.1-3.49.98-1.01,2.72-1.01,3.7,0,1.13,1.17,1.11,3.25,1.1,3.49l-1.77-.05c0-.4-.08-1.67-.6-2.2-.31-.32-.85-.32-1.16,0-.52.54-.61,1.8-.6,2.2l-1.77.05Z"/> 6231 <rect class="cls-1" x="12.9" y=".01" width="1.77" height="4.33"/> 6232 </g> 6233</svg> </span> 6234 <span> 6235 Matkailijat 6236 </span> 6237 6238 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 6239 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 6240<g> 6241<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 6242<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 6243</mask> 6244<g> 6245<path d="M10.0119 14.8768L8.57253 13.461L10.5127 11.5208H1.59961V9.47909H10.5127L8.57253 7.53888L10.0119 6.12305L14.4004 10.4999L10.0119 14.8768Z" fill="#0026E1"/> 6246</g> 6247</g> 6248</svg> </span> 6249 </span> 6250</a> 6251 </li> 6252 <li class="inline-flex"> 6253 <a 6254 href="https://www.joensuu.fi/opiskelijat/" class="components-atoms-button text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-quick-link-button border-border-accent shadow-button-quick-link p-16 text-quick-link " 6255 > 6256 <span class="flex items-center gap-8 relative z-20">
6257 <span class="shrink-0"> 6258 <?xml version="1.0" encoding="UTF-8"?> 6259<svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 6260 <defs> 6261 <style> 6262 .cls-1 { 6263 fill: #0026e1; 6264 } 6265 </style> 6266 </defs> 6267 <path class="cls-1" d="M16.33,17.52c-1.28,0-1.96-.68-2.46-1.17l-1.28-1.28c-.17-.17-.4-.27-.64-.27h-3.94c-.24,0-.47.09-.64.27l-1.28,1.28c-.5.5-1.17,1.17-2.46,1.17-2,0-3.63-1.63-3.63-3.63,0-1.36.48-5.47.63-6.69v-.13c.25-2.31,2.19-4.06,4.52-4.06h9.65c2.33,0,4.27,1.75,4.51,4.07v.11c.16,1.24.64,5.34.64,6.71,0,2-1.63,3.63-3.63,3.63ZM8.01,12.99h3.94c.73,0,1.41.28,1.92.8l1.28,1.28c.44.44.66.64,1.17.64,1,0,1.81-.81,1.81-1.81s-.32-4-.61-6.48c0-.04-.01-.1-.02-.16-.14-1.39-1.31-2.44-2.71-2.44H5.15c-1.4,0-2.56,1.05-2.71,2.44l-.02.14c-.3,2.48-.62,5.48-.62,6.48s.81,1.81,1.81,1.81c.51,0,.73-.2,1.17-.64l1.28-1.28c.51-.51,1.2-.8,1.92-.8ZM6.35,12.08c-.5,0-.91-.41-.91-.91v-.91h-.91c-.5,0-.91-.41-.91-.91s.41-.91.91-.91h.91v-.91c0-.5.41-.91.91-.91s.91.41.91.91v.91h.91c.5,0,.91.41.91.91s-.41.91-.91.91h-.91v.91c0,.5-.41.91-.91.91ZM12.71,11.17c-.5,0-.91-.41-.91-.91s.4-.91.9-.91h0c.5,0,.91.41.91.91s-.41.91-.91.91ZM15.43,9.36c-.5,0-.91-.41-.91-.91s.4-.91.9-.91h0c.5,0,.91.41.91.91s-.41.91-.91.91Z"/> 6268</svg> </span> 6269 <span> 6270 Opiskelijat 6271 </span> 6272 6273 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 6274 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 6275<g> 6276<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 6277<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 6278</mask> 6279<g> 6280<path d="M10.0119 14.8768L8.57253 13.461L10.5127 11.5208H1.59961V9.47909H10.5127L8.57253 7.53888L10.0119 6.12305L14.4004 10.4999L10.0119 14.8768Z" fill="#0026E1"/> 6281</g> 6282</g> 6283</svg> </span> 6284 </span> 6285</a> 6286 </li> 6287 <li class="inline-flex"> 6288 <a 6289 href="https://www.joensuu.fi/ikaihmiset/" class="components-atoms-button text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-quick-link-button border-border-accent shadow-button-quick-link p-16 text-quick-link " 6290 > 6291 <span class="flex items-center gap-8 relative z-20"> 6292 <span class="shrink-0"> 6293 <?xml version="1.0" encoding="UTF-8"?> 6294<svg class="inherit-color-fill w-20 h-20" role="img" alt="" aria-hidden="true" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"> 6295 <defs> 6296 <style> 6297 .cls-1 { 6298 fill: #0026e1; 6299 } 6300 </style> 6301 </defs> 6302 <path class="cls-1" d="M15.42,18.15c-.38,0-.73-.24-.86-.62l-1.6-4.81h-5.94l-1.6,4.81c-.16.47-.67.73-1.15.57-.47-.16-.73-.67-.57-1.15l1.43-4.3c-.34-.13-.58-.46-.58-.84s.24-.71.58-.84L1.88,1.23c-.16-.47.1-.99.57-1.15.47-.16.99.1,1.15.57l3.42,10.25h1.16v-4.53c0-.5.41-.91.91-.91s.91.41.91.91v4.53h1.81v-4.53c0-.5.41-.91.91-.91s.91.41.91.91v4.53h0s.01,0,.02,0h1.79c.5,0,.91.41.91.91s-.41.91-.91.91h-.55l1.41,4.24c.16.47-.1.99-.57,1.15-.1.03-.19.05-.29.05Z"/> 6303 <path class="cls-1" d="M9.98,19.96c-3.2,0-6.19-1.5-7.98-4-.29-.41-.2-.97.21-1.26.41-.29.97-.2,1.26.21,1.45,2.03,3.89,3.24,6.51,3.24s5.05-1.21,6.51-3.24c.29-.41.86-.5,1.26-.21.41.29.5.86.21,1.26-1.79,2.51-4.78,4-7.98,4ZM15.42,8.64c-.5,0-.91-.41-.91-.91,0-.25-.2-.45-.45-.45H4.55c-.5,0-.91-.41-.91-.91s.41-.91.91-.91h9.51c1.25,0,2.26,1.02,2.26,2.26,0,.5-.41.91-.91.91Z"/> 6304</svg> </span> 6305 <span> 6306 Ikäihmiset 6307 </span> 6308 6309 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 6310 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 6311<g> 6312<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 6313<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 6314</mask> 6315<g> 6316<path d="M10.0119 14.8768L8.57253 13.461L10.5127 11.5208H1.59961V9.47909H10.5127L8.57253 7.53888L10.0119 6.12305L14.4004 10.4999L10.0119 14.8768Z" fill="#0026E1"/> 6317</g> 6318</g> 6319</svg> </span> 6320 </span> 6321</a> 6322 </li> 6323 </ul> 6324 </div> 6325 </div> 6326</div> </div> 6327 </div> 6328</section> 6329 6330 6331<section class="components-atoms-section my-48 md:my-64 2xl:my-80 components-organisms-news-list block-release-listing-list wp-block-release-listing text-accent break-out mobile-full-width"> 6332 <div class="container px-18 md:px-24 mx-auto"> 6333
6334 <a href="#skip-target-6ab4e24d6533d" class="sr-only focus:not-sr-only text-accent !mb-16 inline-block ">Ohita listaus: Uutiset</a> 6335 6336 <div class="flex flex-col gap-24 md:gap-28 2xl:gap-32"> 6337 <h2 class="components-atoms-heading text-left font-display font-400 text-mdb md:text-xl 2xl:text-xxl leading-normal text-accent "> 6338 Uutiset 6339</h2> 6340 <ul class="flex flex-col gap-16 md:gap-20 2xl:gap-24"> 6341 <li> 6342 <span class="max-w-fit flex relative flex-col font-sans gap-2 2xl:gap-4"> 6343 <span class="order-2"> 6344 <a href="https://www.joensuu.fi/ajankohtaista/tiedotteet/tervetuloa-valtakunnalliseen-vanhustenpaivan-paajuhlaan-joensuussa-sunnuntaina-4-lokakuuta/" class="link-mask text-accent animated-underline-invert-accent !no-underline text-baseb 2xl:text-md"> 6345 <span> 6346 <span> 6347 Tervetuloa valtakunnalliseen Vanhustenpäivän pääjuhlaan Joensuussa sunnuntaina 4. lokakuuta! 6348 </span> 6349 </span> 6350 </a> 6351 </span> 6352 <span class="order-1"> 6353 <span class="text-xxs text-grey-700 flex gap-4 md:gap-6 2xl:gap-8 items-center flex-nowrap"> 6354 <span class="text-xxs md:text-xs 2xl:text-sm leading-normal font-700">Tapahtumat</span> 6355 <span class="sr-only">, </span> 6356 <span class="w-10 h-2 bg-grey-700"></span> 6357 <span class="leading-normal">24.9.2026</span> 6358 </span> 6359 </span> 6360 </span> 6361 </li> 6362 <li> 6363 <span class="max-w-fit flex relative flex-col font-sans gap-2 2xl:gap-4"> 6364 <span class="order-2"> 6365 <a href="https://www.joensuu.fi/ajankohtaista/tiedotteet/suositus-halloweenin-karkki-vai-kepponen-kierrokset-lauantaina-31-lokakuuta/" class="link-mask text-accent animated-underline-invert-accent !no-underline text-baseb 2xl:text-md"> 6366 <span> 6367 <span> 6368 Suositus: halloweenin karkki vai kepponen -kierrokset lauantaina 31. lokakuuta 6369 </span> 6370 </span> 6371 </a> 6372 </span> 6373 <span class="order-1"> 6374 <span class="text-xxs text-grey-700 flex gap-4 md:gap-6 2xl:gap-8 items-center flex-nowrap"> 6375 <span class="text-xxs md:text-xs 2xl:text-sm leading-normal font-700">Tapahtumat</span> 6376 <span class="sr-only">, </span> 6377 <span class="w-10 h-2 bg-grey-700"></span> 6378 <span class="leading-normal">23.9.2026</span> 6379 </span> 6380 </span> 6381 </span> 6382 </li> 6383 <li> 6384 <span class="max-w-fit flex relative flex-col font-sans gap-2 2xl:gap-4"> 6385 <span class="order-2"> 6386 <a href="https://www.joensuu.fi/ajankohtaista/tiedotteet/pyhaselan-koulun-kuntosali-avataan-la-3-10/" class="link-mask text-accent animated-underline-invert-accent !no-underline text-baseb 2xl:text-md"> 6387 <span> 6388 <span> 6389 Pyhäselän koulun kuntosali avataan la 3.10. 6390 </span> 6391 </span> 6392 </a> 6393 </span> 6394 <span class="order-1"> 6395 <span class="text-xxs text-grey-700 flex gap-4 md:gap-6 2xl:gap-8 items-center flex-nowrap"> 6396 <span class="text-xxs md:text-xs 2xl:text-sm leading-normal font-700">Liikunta</span> 6397 <span class="sr-only">, </span> 6398 <span class="w-10 h-2 bg-grey-700"></span> 6399 <span class="leading-normal">22.9.2026</span> 6400 </span> 6401 </span> 6402 </span> 6403 </li> 6404 <li> 6405 <span class="max-w-fit flex relative flex-col font-sans gap-2 2xl:gap-4"> 6406 <span class="order-2"> 6407 <a href="https://www.joensuu.fi/ajankohtaista/tiedotteet/nayttelija-aku-sipola-vierailee-joensuussa-sotilaan-tarina-konsertin-kertojana/" class="link-mask text-accent animated-underline-invert-accent !no-underline text-baseb 2xl:text-md"> 6408 <span> 6409 <span> 6410 Näyttelijä Aku Sipola vierailee Joensuussa Sotilaan tarina -konsertin kertojana 6411 </span> 6412 </span> 6413 </a> 6414 </span> 6415 <span class="order-1"> 6416 <span class="text-xxs text-grey-700 flex gap-4 md:gap-6 2xl:gap-8 items-center flex-nowrap">
6417 <span class="text-xxs md:text-xs 2xl:text-sm leading-normal font-700">Tiedote</span> 6418 <span class="sr-only">, </span> 6419 <span class="w-10 h-2 bg-grey-700"></span> 6420 <span class="leading-normal">21.9.2026</span> 6421 </span> 6422 </span> 6423 </span> 6424 </li> 6425 <li> 6426 <span class="max-w-fit flex relative flex-col font-sans gap-2 2xl:gap-4"> 6427 <span class="order-2"> 6428 <a href="https://www.joensuu.fi/ajankohtaista/tiedotteet/pitajien-asiakaspalvelun-yhteystiedot-muuttuvat/" class="link-mask text-accent animated-underline-invert-accent !no-underline text-baseb 2xl:text-md"> 6429 <span> 6430 <span> 6431 Pitäjien asiakaspalvelun yhteystiedot muuttuvat 6432 </span> 6433 </span> 6434 </a> 6435 </span> 6436 <span class="order-1"> 6437 <span class="text-xxs text-grey-700 flex gap-4 md:gap-6 2xl:gap-8 items-center flex-nowrap"> 6438 <span class="text-xxs md:text-xs 2xl:text-sm leading-normal font-700">Pitäjät</span> 6439 <span class="sr-only">, </span> 6440 <span class="w-10 h-2 bg-grey-700"></span> 6441 <span class="leading-normal">21.9.2026</span> 6442 </span> 6443 </span> 6444 </span> 6445 </li> 6446 <li> 6447 <span class="max-w-fit flex relative flex-col font-sans gap-2 2xl:gap-4"> 6448 <span class="order-2"> 6449 <a href="https://www.joensuu.fi/ajankohtaista/tiedotteet/niskakujalla-parannetaan-liikenneturvallisuutta/" class="link-mask text-accent animated-underline-invert-accent !no-underline text-baseb 2xl:text-md"> 6450 <span> 6451 <span> 6452 Niskakujalla parannetaan liikenneturvallisuutta 6453 </span> 6454 </span> 6455 </a> 6456 </span> 6457 <span class="order-1"> 6458 <span class="text-xxs text-grey-700 flex gap-4 md:gap-6 2xl:gap-8 items-center flex-nowrap"> 6459 <span class="text-xxs md:text-xs 2xl:text-sm leading-normal font-700">Kaupungin rakentaminen</span> 6460 <span class="sr-only">, </span> 6461 <span class="w-10 h-2 bg-grey-700"></span> 6462 <span class="leading-normal">21.9.2026</span> 6463 </span> 6464 </span> 6465 </span> 6466 </li> 6467 </ul> 6468 <div class="flex"> 6469 <a 6470 href="https://www.joensuu.fi/ajankohtaista/tiedotteet/" class="components-atoms-button text-base 2xl:text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-surface-button border-border-accent shadow-button-main-complement md:py-12 md:px-24 text-button " 6471 aria-label="Näytä kaikki tiedotteet" > 6472 <span class="flex items-center gap-8 relative z-20"> 6473 <span> 6474 Näytä kaikki 6475 </span> 6476 6477 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 6478 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 6479<g> 6480<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 6481<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 6482</mask> 6483<g> 6484<path d="M10.0119 14.8768L8.57253 13.461L10.5127 11.5208H1.59961V9.47909H10.5127L8.57253 7.53888L10.0119 6.12305L14.4004 10.4999L10.0119 14.8768Z" fill="#0026E1"/> 6485</g> 6486</g> 6487</svg> </span> 6488 </span> 6489</a> 6490 </div> 6491 6492 <div> 6493 <div class="w-80 md:w-128"> 6494 <svg xmlns="http://www.w3.org/2000/svg" width="123" height="13" viewBox="0 0 123 13" fill="none" role="img" alt="" class="max-w-full" aria-hidden="true"> 6495 <path fill-rule="evenodd" clip-rule="evenodd" d="M22.965 0.510283C19.4097 0.510283 16.5365 3.19411 16.5365 6.50518C16.5365 9.81626 19.42 12.5001 22.965 12.5001C26.51 12.5001 29.3936 9.82654 29.3936 6.51546C29.3936 3.19411 26.51 0.5 22.965 0.5V0.510283ZM4.01526 2.76243C1.79555 2.76503 0 4.44014 0 6.51567C0 8.5928 1.79834 10.2586 4.02043 10.2586C6.23218 10.2586 8.03052 8.58252 8.03052 6.51567C8.03052 4.44014 6.23497 2.76503 4.01526 2.76243ZM4.01526 2.76243L4.01009 2.76243H4.02043L4.01526 2.76243ZM37.8994 6.50538C37.8994 4.30485 39.8114 2.51564 42.1782 2.51564V2.50536C44.545 2.50536 46.457 4.29457 46.457 6.51567C46.457 8.71619 44.5347 10.4951 42.1782 10.4951C39.8114 10.4951 37.8994 8.70591 37.8994 6.50538ZM61.3866 0.510044C57.8337 0.512647 54.9632 3.19547 54.9632 6.50494C54.9632 9.81602 57.8468 12.4998 61.3918 12.4998C64.9368 12.4998 67.81 9.81602 67.81 6.51522C67.81 3.19548 64.9292 0.512647 61.3866 0.510044ZM61.3866 0.510044L61.3918
64950.510042H61.3814L61.3866 0.510044ZM76.3262 6.50538C76.3262 4.30485 78.2382 2.51564 80.605 2.51564V2.50536C82.9718 2.50536 84.8838 4.29457 84.8838 6.51567C84.8838 8.71619 82.9614 10.4951 80.605 10.4951C78.2382 10.4951 76.3262 8.70591 76.3262 6.50538ZM99.8181 0.510283C96.2627 0.510283 93.3895 3.19411 93.3895 6.50518C93.3895 9.81626 96.273 12.5001 99.8181 12.5001C103.363 12.5001 106.247 9.82654 106.247 6.51546C106.247 3.19411 103.363 0.5 99.8181 0.5V0.510283ZM114.752 6.50502C114.752 4.38675 116.592 2.65924 118.876 2.65924V2.64895C121.15 2.64895 123 4.37647 123 6.5153C123 8.63357 121.15 10.3508 118.876 10.3508C116.602 10.3508 114.752 8.62329 114.752 6.50502Z" fill="var(--color-main-primary)"/> 6496 </svg> 6497</div> 6498 </div> 6499 </div> 6500 </div> 6501 6502 <div id="skip-target-6ab4e24d6533d" tabindex="-1" class="sr-only"> 6503 Osio ohitettu. 6504 </div> 6505</section> 6506 6507 6508<section class="components-atoms-section my-40 md:my-48 2xl:my-64 components-organisms-image-banner block-image-banner wp-block-image-banner break-out mobile-full-width"> 6509 <div class="container px-18 md:px-24 mx-auto"> 6510 <div class="flex flex-col gap-48 md:gap-64 2xl:gap-80"> 6511 <div class="flex flex-col 2xl:grid 2xl:grid-cols-12 sm:gap-32 md:gap-40 2xl:gap-56 w-full justify-between relative"> 6512 6513 6514 <div class="col-span-4 md:col-span-7 md:col-start-6 rounded-sm sm:rounded-sm 2xl:rounded-base 3xl:rounded-base overflow-hidden block 2xl:hidden mb-[1.75rem] sm:mb-0"> 6515 <div class="relative w-full h-full overflow-hidden "> 6516 <div class="w-full aspect-[3/2]"> 6517 <img decoding="async" width="1024" height="606" src="https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-1024x606.jpg" class="w-full !h-full absolute inset-0 object-cover" alt="" loading="lazy" srcset="https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-1024x606.jpg 1024w, https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-600x355.jpg 600w, https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-800x473.jpg 800w, https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-1536x909.jpg 1536w, https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-2048x1212.jpg 2048w, https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-1648x975.jpg 1648w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /> </div> 6518 </div> 6519 </div> 6520 6521 6522 6523 6524 <div class="flex flex-col col-span-4 md:col-span-5 "> 6525 <div class="flex flex-col mt-auto gap-40 md:gap-48 2xl:gap-64"> 6526 <div class="flex flex-col gap-24 md:gap-28 2xl:gap-32"> 6527 <div class="flex flex-col-reverse gap-16 md:gap-20 2xl:gap-24"> 6528 <h2 class="components-atoms-heading text-left font-display font-400 text-mdb md:text-xl 2xl:text-xxl leading-normal text-accent "> 6529 Muuta meille 6530</h2> 6531 </div> 6532 6533 <p class="text-base 2xl:text-baseb leading-normal capsize"> 6534 Joensuu on kasvava yliopistokaupunki, jossa on helppo hengittää. Vartin kaupungissa ei tarvitse jonottaa ruuhkissa, hiihtolatu löytyy ikkunan alta ja lasten kouluissa ja hoitopaikoissa riittää sitoutuneita aikuisia. Lopeta siis vatulointi ja muuta meille! 6535 </p> 6536 6537 <div class="flex flex-row md:flex-col xl:flex-row flex-wrap gap-16 md:gap-20 2xl:gap-24"> 6538 <div class="flex"> 6539 <a 6540 href="https://www.joensuu.fi/kaupunki-ja-kehitys/meidan-joensuu/muuta-meille/" class="components-atoms-button text-base 2xl:text-baseb w-fit leading-snug relative perspective-0 !no-underline group rounded-full font-mono font-600 block overflow-hidden border-2 cursor-pointer transition duration-150 hover:bg-surface-button-hover p-8 bg-surface-button border-border-accent shadow-button-main-complement md:py-12 md:px-24 text-button " 6541 > 6542 <span class="flex items-center gap-8 relative z-20">
6543 <span> 6544 Tietoa ja apua muuttajille 6545 </span> 6546 6547 <span class="shrink-0 w-16 md:w-20 transform transition duration-300 group-hover:translate-x-3"> 6548 <svg class="inherit-color-fill w-full h-auto" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 6549<g> 6550<mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 6551<rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 6552</mask> 6553<g> 6554<path d="M10.0119 14.8768L8.57253 13.461L10.5127 11.5208H1.59961V9.47909H10.5127L8.57253 7.53888L10.0119 6.12305L14.4004 10.4999L10.0119 14.8768Z" fill="#0026E1"/> 6555</g> 6556</g> 6557</svg> </span> 6558 </span> 6559</a> 6560 </div> 6561 </div> 6562 </div> 6563 6564 <div class="p-8 w-[5rem] md:w-[8rem]"> 6565 <div class="w-80 md:w-128"> 6566 <svg xmlns="http://www.w3.org/2000/svg" width="123" height="13" viewBox="0 0 123 13" fill="none" role="img" alt="" class="max-w-full" aria-hidden="true"> 6567 <path fill-rule="evenodd" clip-rule="evenodd" d="M22.965 0.510283C19.4097 0.510283 16.5365 3.19411 16.5365 6.50518C16.5365 9.81626 19.42 12.5001 22.965 12.5001C26.51 12.5001 29.3936 9.82654 29.3936 6.51546C29.3936 3.19411 26.51 0.5 22.965 0.5V0.510283ZM4.01526 2.76243C1.79555 2.76503 0 4.44014 0 6.51567C0 8.5928 1.79834 10.2586 4.02043 10.2586C6.23218 10.2586 8.03052 8.58252 8.03052 6.51567C8.03052 4.44014 6.23497 2.76503 4.01526 2.76243ZM4.01526 2.76243L4.01009 2.76243H4.02043L4.01526 2.76243ZM37.8994 6.50538C37.8994 4.30485 39.8114 2.51564 42.1782 2.51564V2.50536C44.545 2.50536 46.457 4.29457 46.457 6.51567C46.457 8.71619 44.5347 10.4951 42.1782 10.4951C39.8114 10.4951 37.8994 8.70591 37.8994 6.50538ZM61.3866 0.510044C57.8337 0.512647 54.9632 3.19547 54.9632 6.50494C54.9632 9.81602 57.8468 12.4998 61.3918 12.4998C64.9368 12.4998 67.81 9.81602 67.81 6.51522C67.81 3.19548 64.9292 0.512647 61.3866 0.510044ZM61.3866 0.510044L61.3918 0.510042H61.3814L61.3866 0.510044ZM76.3262 6.50538C76.3262 4.30485 78.2382 2.51564 80.605 2.51564V2.50536C82.9718 2.50536 84.8838 4.29457 84.8838 6.51567C84.8838 8.71619 82.9614 10.4951 80.605 10.4951C78.2382 10.4951 76.3262 8.70591 76.3262 6.50538ZM99.8181 0.510283C96.2627 0.510283 93.3895 3.19411 93.3895 6.50518C93.3895 9.81626 96.273 12.5001 99.8181 12.5001C103.363 12.5001 106.247 9.82654 106.247 6.51546C106.247 3.19411 103.363 0.5 99.8181 0.5V0.510283ZM114.752 6.50502C114.752 4.38675 116.592 2.65924 118.876 2.65924V2.64895C121.15 2.64895 123 4.37647 123 6.5153C123 8.63357 121.15 10.3508 118.876 10.3508C116.602 10.3508 114.752 8.62329 114.752 6.50502Z" fill="var(--color-main-primary)"/> 6568 </svg> 6569</div> 6570 </div> 6571 6572 </div> 6573 </div> 6574 6575 6576 <div class="col-span-4 md:col-span-7 md:col-start-6 rounded-sm sm:rounded-sm 2xl:rounded-base 3xl:rounded-base overflow-hidden hidden 2xl:!block"> 6577 <div class="relative w-full h-full overflow-hidden "> 6578 <div class="w-full aspect-[3/2]"> 6579 <img decoding="async" width="1024" height="606" src="https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-1024x606.jpg" class="w-full !h-full absolute inset-0 object-cover" alt="" loading="lazy" srcset="https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-1024x606.jpg 1024w, https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-600x355.jpg 600w, https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-800x473.jpg 800w, https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-1536x909.jpg 1536w, https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-2048x1212.jpg 2048w, https://www.joensuu.fi/app/uploads/2025/10/joensuun-kaupunki_kesa_2022-10_samuli-kuittinen-3-scaled-1648x975.jpg 1648w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /> </div> 6580 </div> 6581 </div> 6582 6583 </div> 6584 6585 </div> 6586 </div> 6587</section> 6588 6589 6590<section class="components-atoms-section my-48 md:my-64 2xl:my-80 components-organisms-content-cards-grid block-post-listing-grid wp-block-post-listing">
6591 <a href="#skip-target-6ab4e24d66ee0" class="sr-only focus:not-sr-only text-accent !mb-16 inline-block ">Ohita sisältönostot: Artikkelit</a> 6592 6593 <div class="flex flex-col gap-40 md:gap-48 2xl:gap-64"> 6594 <div class="grid grid-cols-4 md:grid-cols-12 w-full md:grid-cols-12 sm:gap-32 md:gap-40 2xl:gap-56"> 6595 <div class="col-span-4 md:col-span-12"> 6596 <div class="flex flex-col gap-32"> 6597 <div class="flex gap-32 justify-between items-center"> 6598 <h2 class="components-atoms-heading text-left font-display font-400 text-mdb md:text-xl 2xl:text-xxl leading-normal text-accent "> 6599 Artikkelit 6600</h2> 6601 <div class="hidden lg:block"> 6602 <a href="https://www.joensuu.fi/ajankohtaista/artikkelit/" aria-label="Näytä kaikki artikkelit" class="px-6 -mx-6 py-11 -my-11 flex items-center gap-2 2xl:gap-4 group text-left !no-underline text-button animated-underline-invert-accent"> 6603 <span class="text-base 2xl:text-baseb font-mono font-600 leading-snug"> 6604 <span>Näytä kaikki</span> 6605 </span> 6606 <span class="w-20 shrink-0 transform -translate-y-1"> 6607 <svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="20" height="21" viewBox="0 0 20 21" fill="none"> 6608 <mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 6609 <rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 6610 </mask> 6611 <g> 6612 <path d="M10.5 10.4999L6.5625 6.56242L8.00187 5.12305L13.3788 10.4999L8.00187 15.8768L6.5625 14.4374L10.5 10.4999Z" fill="#0026E1"/> 6613 </g> 6614</svg> </span> 6615 </a> 6616 </div> 6617 </div> 6618 <ul class="grid grid-cols-4 md:grid-cols-12 w-full gap-x-36 md:gap-x-40 2xl:gap-x-56 gap-y-24 md:gap-y-28 2xl:gap-y-32"> 6619 <li class="col-span-4 md:col-span-4"> 6620 <div class="flex flex-col gap-12 2xl:gap-16 relative"> 6621 <div class="flex flex-col gap-2 2xl:gap-4 order-2"> 6622 <span class="flex gap-6 items-center text-accent order-2"> 6623 <a href="https://www.joensuu.fi/ajankohtaista/artikkelit/harrastaminen-kuuluu-kaikille-maksuttomat-kerhot-ja-tuet-avaavat-ovia-lasten-harrastuksiin/" class="link-mask text-accent inline-block leading-snug animated-underline-invert-accent"> 6624 <h3 class="text-md 2xl:text-mdb leading-comfy"> 6625 <span> 6626 <span> 6627 Harrastaminen kuuluu kaikille â maksuttomat kerhot ja tuet avaavat ovia lasten harrastuksiin 6628 </span> 6629 </span> 6630 </h3> 6631 </a> 6632 6633 </span> 6634 6635 <span class="order-1"> 6636 <span class="text-xxs text-grey-700 flex gap-4 md:gap-6 2xl:gap-8 items-center flex-nowrap"> 6637 <span class="text-xxs md:text-xs 2xl:text-sm leading-normal font-700">Nuoret</span> 6638 <span class="sr-only">, </span> 6639 <span class="w-10 h-2 bg-grey-700"></span> 6640 <span class="leading-normal">3.9.2026</span> 6641 </span> 6642 </span> 6643 6644 <p class="text-sm 2xl:text-base text-black leading-relaxed order-3"> 6645 Harrastus tuo kavereita, iloa ja onnistumisen kokemuksia. Joensuussa tehdään työtä sen eteen, että jokaisella lapsella ja nuorella olisi mahdollisuus löytää itselleen mielekäs harrastus riippumatta perheen taloudellisesta tilanteesta. 6646 </p> 6647 </div> 6648 <div class="rounded-sm sm:rounded-sm 2xl:rounded-base 3xl:rounded-base overflow-hidden aspect-[4/3] order-1"> 6649 <img decoding="async" width="600" height="408" src="https://www.joensuu.fi/app/uploads/2026/09/joensuu_koripallo_Sirkkala_05_2026_3-600x408.jpg" class="w-full h-full object-cover" alt="" loading="lazy" srcset="https://www.joensuu.fi/app/uploads/2026/09/joensuu_koripallo_Sirkkala_05_2026_3-600x408.jpg 600w, https://www.joensuu.fi/app/uploads/2026/09/joensuu_koripallo_Sirkkala_05_2026_3-1024x696.jpg 1024w, https://www.joensuu.fi/app/uploads/2026/09/joensuu_koripallo_Sirkkala_05_2026_3-800x543.jpg 800w, https://www.joensuu.fi/app/uploads/2026/09/joensuu_koripallo_Sirkkala_05_2026_3-1536x1043.jpg 1536w, https://www.joensuu.fi/app/uploads/2026/09/joensuu_koripallo_Sirkkala_05_2026_3-2048x1391.jpg 2048w, https://www.joensuu.fi/app/uploads/2026/09/joensuu_koripallo_Sirkkala_05_2026_3-1648x1119.jpg 1648w" sizes="auto, (max-width: 600px) 100v
6649w, 600px" /> </div> 6650 </div> 6651 </li> 6652 <li class="col-span-4 md:col-span-4"> 6653 <div class="flex flex-col gap-12 2xl:gap-16 relative"> 6654 <div class="flex flex-col gap-2 2xl:gap-4 order-2"> 6655 <span class="flex gap-6 items-center text-accent order-2"> 6656 <a href="https://www.joensuu.fi/ajankohtaista/artikkelit/mehtimaen-uimahallista-halutaan-edellakavija-jota-tullaan-ihmettelemaan-ympari-maailmaa/" class="link-mask text-accent inline-block leading-snug animated-underline-invert-accent"> 6657 <h3 class="text-md 2xl:text-mdb leading-comfy"> 6658 <span> 6659 <span> 6660 Mehtimäen uimahallista halutaan edelläkävijä, jota tullaan ihmettelemään ympäri maailmaa 6661 </span> 6662 </span> 6663 </h3> 6664 </a> 6665 6666 </span> 6667 6668 <span class="order-1"> 6669 <span class="text-xxs text-grey-700 flex gap-4 md:gap-6 2xl:gap-8 items-center flex-nowrap"> 6670 <span class="text-xxs md:text-xs 2xl:text-sm leading-normal font-700">Fotoniikka</span> 6671 <span class="sr-only">, </span> 6672 <span class="w-10 h-2 bg-grey-700"></span> 6673 <span class="leading-normal">30.6.2026</span> 6674 </span> 6675 </span> 6676 6677 <p class="text-sm 2xl:text-base text-black leading-relaxed order-3"> 6678 Joensuu rakentaa Mehtimäelle uuden uimahallin, joka korvaa melkein 60-vuotiaan Vesikon. Ennen kuin kaupunki pyysi urakoitsijoilta tarjouksia, se pyysi yrityksiltä ideoita siitä, miten fotoniikka ja metsäbiotalous, Joensuun kaksi kärkialaa, voisivat näkyä ja tuntua uudessa uimahallissa. 6679 </p> 6680 </div> 6681 <div class="rounded-sm sm:rounded-sm 2xl:rounded-base 3xl:rounded-base overflow-hidden aspect-[4/3] order-1"> 6682 <img decoding="async" width="600" height="379" src="https://www.joensuu.fi/app/uploads/2026/06/ristojanina-600x379.jpg" class="w-full h-full object-cover" alt="nina-kosola-ja-risto-kortelainen" loading="lazy" srcset="https://www.joensuu.fi/app/uploads/2026/06/ristojanina-600x379.jpg 600w, https://www.joensuu.fi/app/uploads/2026/06/ristojanina-1024x646.jpg 1024w, https://www.joensuu.fi/app/uploads/2026/06/ristojanina-800x505.jpg 800w, https://www.joensuu.fi/app/uploads/2026/06/ristojanina-1536x969.jpg 1536w, https://www.joensuu.fi/app/uploads/2026/06/ristojanina-2048x1292.jpg 2048w, https://www.joensuu.fi/app/uploads/2026/06/ristojanina-1648x1040.jpg 1648w" sizes="auto, (max-width: 600px) 100vw, 600px" /> </div> 6683 </div> 6684 </li> 6685 <li class="col-span-4 md:col-span-4"> 6686 <div class="flex flex-col gap-12 2xl:gap-16 relative"> 6687 <div class="flex flex-col gap-2 2xl:gap-4 order-2"> 6688 <span class="flex gap-6 items-center text-accent order-2"> 6689 <a href="https://www.joensuu.fi/ajankohtaista/artikkelit/joensuun-kaupunki-panostaa-pitkiin-tyouriin/" class="link-mask text-accent inline-block leading-snug animated-underline-invert-accent"> 6690 <h3 class="text-md 2xl:text-mdb leading-comfy"> 6691 <span> 6692 <span> 6693 Joensuun kaupunki panostaa pitkiin työuriin 6694 </span> 6695 </span> 6696 </h3> 6697 </a> 6698 6699 </span> 6700 6701 <span class="order-1"> 6702 <span class="text-xxs text-grey-700 flex gap-4 md:gap-6 2xl:gap-8 items-center flex-nowrap"> 6703 <span class="text-xxs md:text-xs 2xl:text-sm leading-normal font-700">Työntekijämme</span> 6704 <span class="sr-only">, </span> 6705 <span class="w-10 h-2 bg-grey-700"></span> 6706 <span class="leading-normal">20.5.2026</span> 6707 </span> 6708 </span> 6709 6710 <p class="text-sm 2xl:text-base text-black leading-relaxed order-3"> 6711 Joensuun kaupunki loi mallin työntekijöiden urapoluista. Mallin avulla kehitetään johtamista ja parannetaan työntekijöiden hyvinvointia eri vaiheissa työuraa. 6712 </p> 6713 </div> 6714 <div class="rounded-sm sm:rounded-sm 2xl:rounded-base 3xl:rounded-base overflow-hidden aspect-[4/3] order-1"> 6715 <img decoding="async" width="600" height="400" src="https://www.joensuu.fi/app/uploads/2026/05/h7OqN0NwSDHBKq-600x400.jpeg" class="w-full h-full object-cover" alt="" loading="lazy" srcset="https://www.joensuu.fi/app/uploads/2026/05/h7OqN0NwSDHBKq-600x400.jpeg 600w, https://www.joensuu.fi/app/uploads/2026/05/h7OqN0NwSDHBKq-1024x683.jpeg 1024
6715w, https://www.joensuu.fi/app/uploads/2026/05/h7OqN0NwSDHBKq-800x533.jpeg 800w, https://www.joensuu.fi/app/uploads/2026/05/h7OqN0NwSDHBKq-1536x1024.jpeg 1536w, https://www.joensuu.fi/app/uploads/2026/05/h7OqN0NwSDHBKq-2048x1365.jpeg 2048w, https://www.joensuu.fi/app/uploads/2026/05/h7OqN0NwSDHBKq-1648x1099.jpeg 1648w" sizes="auto, (max-width: 600px) 100vw, 600px" /> </div> 6716 </div> 6717 </li> 6718 </ul> 6719 </div> 6720 </div> 6721</div> <div class="lg:hidden"> 6722 <a href="https://www.joensuu.fi/ajankohtaista/artikkelit/" aria-label="Näytä kaikki artikkelit" class="px-6 -mx-6 py-11 -my-11 flex items-center gap-2 2xl:gap-4 group text-left !no-underline text-button animated-underline-invert-accent"> 6723 <span class="text-base 2xl:text-baseb font-mono font-600 leading-snug"> 6724 <span>Näytä kaikki</span> 6725 </span> 6726 <span class="w-20 shrink-0 transform -translate-y-1"> 6727 <svg class="w-full h-auto inherit-color-fill" role="img" alt="" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="20" height="21" viewBox="0 0 20 21" fill="none"> 6728 <mask style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="21"> 6729 <rect y="0.5" width="20" height="20" fill="#D9D9D9"/> 6730 </mask> 6731 <g> 6732 <path d="M10.5 10.4999L6.5625 6.56242L8.00187 5.12305L13.3788 10.4999L8.00187 15.8768L6.5625 14.4374L10.5 10.4999Z" fill="#0026E1"/> 6733 </g> 6734</svg> </span> 6735 </a> 6736 </div> 6737 6738 <div> 6739 <div class="w-80 md:w-128"> 6740 <svg xmlns="http://www.w3.org/2000/svg" width="123" height="13" viewBox="0 0 123 13" fill="none" role="img" alt="" class="max-w-full" aria-hidden="true"> 6741 <path fill-rule="evenodd" clip-rule="evenodd" d="M22.965 0.510283C19.4097 0.510283 16.5365 3.19411 16.5365 6.50518C16.5365 9.81626 19.42 12.5001 22.965 12.5001C26.51 12.5001 29.3936 9.82654 29.3936 6.51546C29.3936 3.19411 26.51 0.5 22.965 0.5V0.510283ZM4.01526 2.76243C1.79555 2.76503 0 4.44014 0 6.51567C0 8.5928 1.79834 10.2586 4.02043 10.2586C6.23218 10.2586 8.03052 8.58252 8.03052 6.51567C8.03052 4.44014 6.23497 2.76503 4.01526 2.76243ZM4.01526 2.76243L4.01009 2.76243H4.02043L4.01526 2.76243ZM37.8994 6.50538C37.8994 4.30485 39.8114 2.51564 42.1782 2.51564V2.50536C44.545 2.50536 46.457 4.29457 46.457 6.51567C46.457 8.71619 44.5347 10.4951 42.1782 10.4951C39.8114 10.4951 37.8994 8.70591 37.8994 6.50538ZM61.3866 0.510044C57.8337 0.512647 54.9632 3.19547 54.9632 6.50494C54.9632 9.81602 57.8468 12.4998 61.3918 12.4998C64.9368 12.4998 67.81 9.81602 67.81 6.51522C67.81 3.19548 64.9292 0.512647 61.3866 0.510044ZM61.3866 0.510044L61.3918 0.510042H61.3814L61.3866 0.510044ZM76.3262 6.50538C76.3262 4.30485 78.2382 2.51564 80.605 2.51564V2.50536C82.9718 2.50536 84.8838 4.29457 84.8838 6.51567C84.8838 8.71619 82.9614 10.4951 80.605 10.4951C78.2382 10.4951 76.3262 8.70591 76.3262 6.50538ZM99.8181 0.510283C96.2627 0.510283 93.3895 3.19411 93.3895 6.50518C93.3895 9.81626 96.273 12.5001 99.8181 12.5001C103.363 12.5001 106.247 9.82654 106.247 6.51546C106.247 3.19411 103.363 0.5 99.8181 0.5V0.510283ZM114.752 6.50502C114.752 4.38675 116.592 2.65924 118.876 2.65924V2.64895C121.15 2.64895 123 4.37647 123 6.5153C123 8.63357 121.15 10.3508 118.876 10.3508C116.602 10.3508 114.752 8.62329 114.752 6.50502Z" fill="var(--color-main-primary)"/> 6742 </svg> 6743</div> 6744 </div> 6745 </div> 6746 6747 <div id="skip-target-6ab4e24d66ee0" tabindex="-1" class="sr-only"> 6748 Osio ohitettu. 6749 </div> 6750</section> 6751<div class="askem"></div> 6752
6752<script type="text/javascript" data-cookieconsent="statistics"> 6753 (function() { 6754 window.askem = { 6755 settings: { 6756 apiKey: 'gxv3bdf3djnqf7o0' 6757 } 6758 }; 6759 var s = document.createElement('script'); 6760 s.src = 'https://cdn.askem.com/plugin/askem.js'; 6761 6762 document.body.appendChild(s); 6763 }()); 6764 </script>
6764 6765 </div> 6766 6767 </main> 6768 6769 <footer class="site-footer white-focus text-xxs md:text-xs 2xl:text-sm bg-header-footer text-white relative pt-72 md:pt-96 2xl:pt-144 pb-28 md:pb-32 2xl:pb-40"> 6770 <div class="container px-18 md:px-24 mx-auto"> 6771 <div class="flex flex-col gap-40 md:gap-48 2xl:gap-64"> 6772 <svg class="w-full h-auto max-w-[21.6rem]" role="img" alt="" aria-hidden="true" width="198" height="23" viewBox="0 0 198 23" fill="none" xmlns="http://www.w3.org/2000/svg"> 6773<g> 6774<path fill-rule="evenodd" clip-rule="evenodd" d="M129.412 9.91726L124.306 8.93529C122.358 8.54494 120.916 8.05701 120.916 6.47122C120.916 4.64147 122.863 3.58631 125.596 3.58631C129.065 3.58631 131.365 5.09891 132.656 7.10554L135.973 4.22063C133.83 1.75656 130.355 0 125.602 0C119.833 0 116.011 2.74463 116.011 6.75178C116.011 10.4418 118.975 12.1679 122.717 12.8693L128.256 13.8878C130.325 14.3087 131.846 14.8393 131.846 16.4556C131.846 18.389 129.503 19.4076 126.387 19.4076C122.955 19.4076 119.644 17.9987 117.849 15.2906L114.769 18.4927C117.07 21.3044 121.281 22.9939 126.387 22.9939C132.157 22.9939 136.758 20.5664 136.758 16.2787C136.758 12.5521 134.031 10.7955 129.43 9.91116L129.412 9.91726ZM13.8893 14.2782C13.8893 17.3704 12.5626 19.2002 9.48314 19.2002C6.40368 19.2002 4.8396 17.2058 4.96741 13.961H0.00739743C-0.187351 19.554 3.47636 23 9.44054 23C14.8205 23 18.8372 20.048 18.8372 14.5587V0.420846H13.8833V14.2782H13.8893ZM61.0672 13.0827H72.1375V9.35615H61.0672V4.18405H75.7647V0.420861H56.2715V22.5792H76.1116V18.816H61.0672V13.0827ZM90.5778 0.420861L102.354 15.6139V0.420861H106.876V22.5792H102.549L89.5675 6.15408V22.5792H85.0822V0.420861H90.5778ZM193.119 0.420861V12.9059C193.119 16.9496 190.977 19.2368 187.076 19.2368C183.175 19.2368 181.075 16.9496 181.075 12.9059V0.420861H176.164V13.5036C176.164 19.9748 181.191 23 187.082 23C192.973 23 198 19.9748 198 13.5036V0.420861H193.125H193.119ZM155.849 19.2368C159.75 19.2368 161.892 16.9496 161.892 12.9059V0.420861H166.767V13.5036C166.767 19.9748 161.74 23 155.849 23C149.958 23 144.931 19.9748 144.931 13.5036V0.420861H149.842V12.9059C149.842 16.9496 151.948 19.2368 155.849 19.2368ZM30.37 11.3201C30.37 7.69716 33.3034 4.75736 36.9184 4.75736C40.5334 4.75736 43.4668 7.69716 43.4668 11.3201C43.4668 14.943 40.5334 17.8828 36.9184 17.8828C33.3034 17.8828 30.37 14.943 30.37 11.3201Z" fill="#ffffff"/> 6775</g> 6776</svg> 6777 <div class="max-w-[5rem] md:max-w-[8rem]"> 6778 <div class="w-80 md:w-128"> 6779 <svg width="128" height="24" viewBox="0 0 128 24" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" alt="" class="max-w-full" aria-hidden="true"> 6780 <path d="M126.869 9.73611C125.583 8.73615 123.715 8.93394 122.682 10.1976C120.198 13.2415 116.44 14.9997 112.462 14.9887C105.254 14.9887 99.4189 9.28558 99.3969 2.25283H93.4411C93.1663 9.29657 87.0896 14.7909 79.881 14.5272C73.2109 14.2744 67.8045 9.15372 67.3429 2.64842V2.16492L61.3431 2.25283V2.71435C61.2662 5.83513 59.9695 8.81307 57.7059 11.0218C55.2444 13.5492 51.8379 14.9887 48.2666 15.0327C41.2119 15.0327 35.4318 9.53832 35.2121 2.64842C35.2121 2.49458 35.2121 2.34074 35.2121 2.17591L29.2562 2.25283V2.72534C29.2342 5.85711 27.9705 8.85702 25.7178 11.0987C23.2014 13.5931 19.773 14.9997 16.1797 14.9997C11.9161 14.9997 7.92718 12.9778 5.46571 9.58227C4.55365 8.24165 2.70756 7.87903 1.33397 8.76911C-0.0396134 9.65919 -0.413228 11.4613 0.498832 12.802C0.531798 12.8459 0.553775 12.8899 0.586741 12.9228C4.14707 17.8897 9.97107 20.8457 16.1797 20.8567C21.37
678073 20.8567 26.3442 18.7908 29.9815 15.1645C30.8496 14.3074 31.6188 13.3624 32.2891 12.3404C35.7945 17.648 41.8163 20.8457 48.2776 20.8567C53.4533 20.8127 58.3982 18.7358 61.9915 15.0876C62.8596 14.2085 63.6398 13.2525 64.3211 12.2305C69.9473 20.8896 81.6942 23.45 90.562 17.9556C92.9246 16.4942 94.9245 14.5382 96.419 12.2305C99.9024 17.593 105.957 20.8457 112.462 20.8457C118.264 20.8567 123.748 18.2743 127.352 13.8349C128.374 12.5822 128.165 10.7471 126.88 9.7471" fill="var(--color-main-complement)"/> 6781 </svg> 6782</div> 6783 </div> 6784 6785 <div class="flex flex-col gap-40 md:gap-48 2xl:gap-64"> 6786 <div class="flex flex-col gap-40 md:gap-28 lg:gap-48 2xl:gap-32 lg:flex-row lg:justify-between block-prose"> 6787 <div class="flex flex-col md:flex-row gap-40 md:gap-48 2xl:gap-64"> 6788 6789 <div class="flex flex-col gap-12 2xl:gap-16"> 6790 <h2 class="components-atoms-heading text-left text-base 2xl:text-baseb font-600 "> 6791 Joensuun kaupunki 6792</h2> 6793 6794 6795 <div class="flex flex-col gap-2 2xl:gap-4 leading-relaxed block-prose"> 6796 <p>PL 59, 80101 JOENSUU</p> 6797<p>Vaihde <a href="tel:+358132677111" aria-label="Vaihteen puhelinnumero: 0 1 3 2 6 7 7 1 1 1">013 267 7111</a></p> 6798<p><a title="Kirjaamon sähköpostiosoite" href="/cdn-cgi/l/email-protection#ec87859e868d8d8183ac868389829f9999c28a85"><span class="__cf_email__" data-cfemail="12797b607873737f7d52787d777c6167673c747b">[email protected]</span></a></p> 6799<p>Y-tunnus: 0242746-2</p> 6800<p><a href="https://www.joensuu.fi/yhteystiedot/">Yhteystiedot</a></p> 6801 6802 </div> 6803 </div> 6804 6805 <div class="flex flex-col gap-12 2xl:gap-16"> 6806 <h2 class="components-atoms-heading text-left text-base 2xl:text-baseb font-600 "> 6807 Yleistä 6808</h2> 6809 6810 <ul class="flex flex-col gap-2 2xl:gap-4"> 6811 <li> 6812 <a href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/talous/laskutus-ja-maksaminen/" class="flex items-center py-4 ">Laskutus ja maksaminen</a> 6813 </li> 6814 6815 <li> 6816 <a href="https://www.joensuu.fi/hallinto-ja-paatoksenteko/viestinta-ja-markkinointi/medialle/" class="flex items-center py-4 ">Medialle</a> 6817 </li> 6818 6819 <li> 6820 <a href="https://youtu.be/yA4aFD0AjDs" class="flex items-center py-4 ">Webcam</a> 6821 </li> 6822 6823 <li> 6824 <a href="https://www.joensuu.fi/palaute/" class="flex items-center py-4 ">Palaute</a> 6825 </li> 6826 6827 <li> 6828 <a href="https://www.joensuu.fi/omat-linkit/" class="flex items-center py-4 ">Työntekijöiden linkit</a> 6829 </li> 6830 6831 <li> 6832 <a href="https://www.joensuu.fi/luottamushenkilot/" class="flex items-center py-4 ">Luottamushenkilöiden linkit</a> 6833 </li> 6834 6835 </ul> 6836 </div> 6837 <div class="flex flex-col gap-12 2xl:gap-16"> 6838 <h2 class="components-atoms-heading text-left text-base 2xl:text-baseb font-600 "> 6839 Kaupunki verkossa 6840</h2> 6841 6842 <ul class="flex flex-col gap-2 2xl:gap-4"> 6843 <li> 6844 <a href="https://www.visitjoensuu.fi/fi-FI" class="flex items-center py-4 ">Visit Joensuu</a> 6845 </li> 6846 6847 <li> 6848 <a href="https://jojo.joensuu.fi/" class="flex items-center py-4 ">Joensuun seudun joukkoliikenne JOJO</a> 6849 </li> 6850 6851 <li> 6852 <a href="https://vaara.finna.fi/" class="flex items-center py-4 ">Vaara-kirjastot</a> 6853 </li> 6854 6855 <li> 6856 <a href="https://www.museoeliel.fi/" class="flex items-center py-4 ">Museo Eliel</a> 6857 </li> 6858 6859 <li> 6860 <a href="https://joensuuntaidemuseo.fi/" class="flex items-center py-4 ">Joensuun taidemuseo</a> 6861 </li> 6862 6863 <li> 6864 <a href="https://joensuunkaupunginorkesteri.fi/" class="flex items-center py-4 ">Joensuun kaupunginorkesteri</a> 6865 </li> 6866 6867 <li> 6868 <a href="https://www.joensuunseudunkansalaisopisto.fi/" class="flex items-center py-4 ">Joensuun seudun kansalaisopisto</a> 6869 </li> 6870 6871 <li> 6872 <a href="https://luotsipohjoiskarjala.fi" class="flex items-center py-4 ">Luotsi Pohjois-Karjala</a> 6873 </li> 6874 6875 <li> 6876 <a href="https://www.joensuunvesi.fi/" class="flex items-center py-4 ">Joensuun Vesi</a> 6877 </li> 6878 6879 <li> 6880 <a href="https://www.internationaljoensuu.fi/" class="flex items-center py-4 ">International House Joensuu</a> 6881 </li> 6882 6883 </ul> 6884 </div> 6885 </div> 6886 6887 <div class="flex flex-col md:flex-row gap-40 md:gap-48 2xl:gap-64"> 6888 <div class="flex flex-col gap-12 2xl:gap-16"> 6889 <h2 class="components-atoms-heading text-left text-base 2xl:text-baseb font-600 "> 6890 Konserniyhtiöt 6891</h2> 6892 6893 <ul class="flex flex-col gap-2 2xl:gap-4"> 6894 <li> 6895 <a href="https://www.karelia.fi/" class="flex items-center py-4 ">Karelia-ammattikorkeakoulu</a> 6896 </li> 6897 6898 <li> 6899 <a href="https://www.islo.fi/fi/" class="flex items-center py-4 ">Itä-Suomen liikuntaopisto</a> 6900 </li> 6901 6902 <li> 6903 <a href="http://www.joensuunyrityskiinteistot.fi/" class="flex items-center py-4 ">Joensuun yrityskiinteistöt</a> 6904 </li> 6905 6906 <li> 6907 <a href="https://www.joensuunelli.fi/joensuun-ellin-kodit-oy/" class="flex items-center py-4 ">Joensuun Ellin Kodit Oy</a> 6908 </li> 6909 6910 <li> 6911 <a href="https://businessjoensuu.fi/" class="flex items-center py-4 ">Business Joensuu</a> 6912 </li> 6913 6914 <li> 6915 <a href="https://www.joensuunpysakointi.fi/" class="flex items-center py-4 ">Joensuun Pysäköinti</a> 6916 </li> 6917 6918 <li> 6919 <a href="https://www.puhas.fi/" class="flex items-center py-4 ">Puhas</a> 6920 </li> 6921 6922 <li> 6923 <a href="https://joensuunsatama.fi/" class="flex items-center py-4 ">Joensuun satama</a> 6924 </li> 6925 6926 </ul> 6927 </div> 6928 </div> 6929 </div> 6930 6931 <div class="flex flex-col gap-16"> 6932 6933 <h2 class="components-atoms-heading text-left text-base 2xl:text-baseb font-600 "> 6934 Seuraa meitä somessa 6935</h2> 6936 6937 <div class="flex flex-col gap-40 md:gap-48 2xl:gap-64 xl:flex-row xl:justify-between"> 6938 <div class="flex flex-col gap-12 2xl:gap-16"> 6939 <ul class="flex flex-wrap gap-16 md:gap-20 2xl:gap-24"> 6940 <li> 6941 <a href="https://www.facebook.com/Joensuunkaupunki/" class="flex items-center gap-8 2xl:gap-12 group" >
6942 <span class="flex justify-center items-center rounded-full border-2 p-12 transition duration-150 shadow-button-social-icon text-button bg-surface-button border-border-social-icon group-hover:bg-surface-button-hover" aria-hidden="true""> 6943 <svg class="w-20 h-20 inherit-color-fill" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 6944<path d="M7.80469 11.2246H6V8.54492H7.80469V7.39648C7.80469 4.41602 9.14453 3.02148 12.0703 3.02148C12.6172 3.02148 13.5742 3.13086 13.957 3.24023V5.67383C13.7656 5.64648 13.4102 5.64648 12.9453 5.64648C11.5234 5.64648 10.9766 6.19336 10.9766 7.58789V8.54492H13.8203L13.3281 11.2246H10.9766V17.0215H7.80469V11.2246Z" fill="#0026E1"/> 6945</svg> </span> 6946 6947 <span>Facebook</span> 6948 </a> 6949 </li> 6950 <li> 6951 <a href="https://www.instagram.com/joensuu_idassa/" class="flex items-center gap-8 2xl:gap-12 group" > 6952 <span class="flex justify-center items-center rounded-full border-2 p-12 transition duration-150 shadow-button-social-icon text-button bg-surface-button border-border-social-icon group-hover:bg-surface-button-hover" aria-hidden="true""> 6953 <svg class="w-20 h-20 inherit-color-fill" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 6954<path d="M10.1387 6.98828C11.8613 6.98828 13.2832 8.41016 13.2832 10.1328C13.2832 11.8828 11.8613 13.2773 10.1387 13.2773C8.38867 13.2773 6.99414 11.8828 6.99414 10.1328C6.99414 8.41016 8.38867 6.98828 10.1387 6.98828ZM10.1387 12.1836C11.2598 12.1836 12.1621 11.2812 12.1621 10.
69541328C12.1621 9.01172 11.2598 8.10938 10.1387 8.10938C8.99023 8.10938 8.08789 9.01172 8.08789 10.1328C8.08789 11.2812 9.01758 12.1836 10.1387 12.1836ZM14.1309 6.87891C14.1309 6.46875 13.8027 6.14062 13.3926 6.14062C12.9824 6.14062 12.6543 6.46875 12.6543 6.87891C12.6543 7.28906 12.9824 7.61719 13.3926 7.61719C13.8027 7.61719 14.1309 7.28906 14.1309 6.87891ZM16.209 7.61719C16.2637 8.62891 16.2637 11.6641 16.209 12.6758C16.1543 13.6602 15.9355 14.5078 15.2246 15.2461C14.5137 15.957 13.6387 16.1758 12.6543 16.2305C11.6426 16.2852 8.60742 16.2852 7.5957 16.2305C6.61133 16.1758 5.76367 15.957 5.02539 15.2461C4.31445 14.5078 4.0957 13.6602 4.04102 12.6758C3.98633 11.6641 3.98633 8.62891 4.04102 7.61719C4.0957 6.63281 4.31445 5.75781 5.02539 5.04688C5.76367 4.33594 6.61133 4.11719 7.5957 4.0625C8.60742 4.00781 11.6426 4.00781 12.6543 4.0625C13.6387 4.11719 14.5137 4.33594 15.2246 5.04688C15.9355 5.75781 16.1543 6.63281 16.209 7.61719ZM14.8965 13.7422C15.2246 12.9492 15.1426 11.0352 15.1426 10.1328C15.1426 9.25781 15.2246 7.34375 14.8965 6.52344C14.6777 6.00391 14.2676 5.56641 13.748 5.375C12.9277 5.04688 11.0137 5.12891 10.1387 5.12891C9.23633 5.12891 7.32227 5.04688 6.5293 5.375C5.98242 5.59375 5.57227 6.00391 5.35352 6.52344C5.02539 7.34375 5.10742 9.25781 5.10742 10.1328C5.10742 11.0352 5.02539 12.9492 5.35352 13.7422C5.57227 14.2891 5.98242 14.6992 6.5293 14.918C7.32227 15.2461 9.23633 15.1641 10.1387 15.1641C11.0137 15.1641 12.9277 15.2461 13.748 14.918C14.2676 14.6992 14.7051 14.2891 14.8965 13.7422Z" fill="#0026E1"/> 6955</svg> </span> 6956 6957 <span>Instagram</span> 6958 </a> 6959 </li> 6960 <li> 6961 <a href="https://fi.linkedin.com/company/joensuunkaupunki" class="flex items-center gap-8 2xl:gap-12 group" > 6962 <span class="flex justify-center items-center rounded-full border-2 p-12 transition duration-150 shadow-button-social-icon text-button bg-surface-button border-border-social-icon group-hover:bg-surface-button-hover" aria-hidden="true""> 6963 <svg class="w-20 h-20 inherit-color-fill" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 6964<path d="M6.73438 16.2578H4.19141V8.08203H6.73438V16.2578ZM5.44922 6.98828C4.65625 6.98828 4 6.30469 4 5.48438C4 4.96484 4.27344 4.47266 4.71094 4.22656C5.17578 3.95312 5.75 3.95312 6.1875 4.22656C6.65234 4.47266 6.92578 4.96484 6.92578 5.48438C6.92578 6.30469 6.26953 6.98828 5.44922 6.98828ZM16.2227 16.2578H13.707V12.293C13.707 11.3359 13.6797 10.1328 12.3672 10.1328C11.0547 10.1328 10.8633 11.1445 10.8633 12.2109V16.2578H8.32031V8.08203H10.7539V9.20312H10.7812C11.1367 8.57422 11.957 7.89062 13.1875 7.89062C15.7578 7.89062 16.25 9.58594 16.25 11.7734V16.2578H16.2227Z" fill="#0026E1"/> 6965</svg> </span> 6966 6967 <span>LinkedIn</span> 6968 </a> 6969 </li> 6970 <li> 6971 <a href="https://www.youtube.com/joensuunkaupunki" class="flex items-center gap-8 2xl:gap-12 group" > 6972 <span class="flex justify-center items-center rounded-full border-2 p-12 transition duration-150 shadow-button-social-icon text-button bg-surface-button border-border-social-icon group-hover:bg-surface-button-hover" aria-hidden="true""> 6973 <svg class="w-20 h-20 inherit-color-fill" role="img" alt="" aria-hidden="true" width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg"> 6974<path d="M17.6289 6.68945C17.957 7.83789 17.957 10.2988 17.957 10.2988C17.957 10.2988 17.957 12.7324 17.6289 13.9082C17.4648 14.5645 16.9453 15.0566 16.3164 15.2207C15.1406 15.5215 10.4922 15.5215 10.4922 15.5215C10.4922 15.5215 5.81641 15.5215 4.64062 15.2207C4.01172 15.0566 3.49219 14.5645 3.32812 13.9082C3 12.7324 3 10.2988 3 10.2988C3 10.2988 3 7.83789 3.32812 6.68945C3.49219 6.0332 4.01172 5.51367 4.64062 5.34961C5.81641 5.02148 10.4922 5.02148 10.4922 5.02148C10.4922 5.02148 15.1406 5.02148 16.3164 5.34961C16.9453 5.51367 17.4648 6.0332 17.6289 6.68945ZM8.96094 12.5137L12.8438 10.2988L8.96094 8.08398V12.5137Z" fill="#0026E1"/> 6975</svg> </span> 6976
6977 <span>YouTube</span> 6978 </a> 6979 </li> 6980 </ul> 6981 </div> 6982 6983 <div class="flex flex-wrap gap-16 md:gap-20 2xl:gap-24 items-center"> 6984 <p class="inline-block">© 2026</p> 6985 6986 <nav aria-label="Alatunnisteen valikko"> 6987 <ul class="flex flex-wrap gap-16 md:gap-20 2xl:gap-24 block-prose"> 6988 <li class="flex items-center py-4"> 6989 <button onclick="javascript: Cookiebot.show()" class="cursor-pointer hover:underline focus-visible:underline"> 6990 Muuta evästeasetuksia 6991 </button> 6992 </li> 6993 <li> 6994 <a href="https://www.joensuu.fi/tietoa-sivustosta/" class="flex items-center py-4 ">Tietoa sivustosta</a> 6995 </li> 6996 6997 <li> 6998 <a href="/hallinto-ja-paatoksenteko/turvallisuus/tietosuoja/" class="flex items-center py-4 ">Tietosuoja</a> 6999 </li> 7000 7001 <li> 7002 <a href="https://www.joensuu.fi/saavutettavuusseloste/" class="flex items-center py-4 ">Saavutettavuusseloste</a> 7003 </li> 7004 7005 </ul> 7006 </nav> 7007 </div> 7008 </div> 7009 </div> 7010 </div> 7011 </div> 7012 </div> 7013</footer> 7014 </div>
vendor: 118 bytes, lines 7014-7016
7014 7015 7016 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
7016<script type="speculationrules"> 7017{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/app/uploads/*","/app/*","/app/plugins/*","/app/themes/joensuu/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 7018</script>
vendor: 1 bytes, line 7018
7018
7019<script> 7020 (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({ 7021 key: "AIzaSyBeZ04Tc0paWREvtNVCNmaWlwyLdDrLoCc", 7022 v: "weekly", 7023 language: "fi" 7024 });</script>
7024<script id="wp-emoji-settings" type="application/json"> 7025{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.joensuu.fi/wp-includes/js/wp-emoji-release.min.js?ver=798760783"}} 7026</script>
vendor: 1 bytes, line 7026
7026
7027<script type="module"> 7028/*! This file is auto-generated */ 7029var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 7030//# sourceURL=https://www.joensuu.fi/wp-includes/js/wp-emoji-loader.min.js 7031</script>
7031 7032 </body> 7033</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.