1<!doctype html> 2<html lang="fi"> 3 <head prefix="og: http://ogp.me/ns# cms: http://ogp.me/ns/cms#"> 4 <meta charset="utf-8"/>
4<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:[]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1120020501",accountID:"3356906",trustKey:"1322840",xpid:"VwUCV19TDhABVFlUDwkHVFcB",licenseKey:"NRJS-bb307877636d68d4978",applicationID:"1086880230",browserID:"1120020501"};;/*! For license information please see nr-loader-full-1.323.0.min.js.LICENSE.txt */ 5(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.323.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
5e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
5const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>S,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
5if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,R(e,t)}function R(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function w(e,t,r,n,i){if(R(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(w(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(w(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function S(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let R=0,w=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(R=R>0?Math.min(R,e):e),t&&(w=w>0?Math.max(w,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return R>0?Math.min(e,R):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return w>0?Math.max(e,w):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
5o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
5(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
5;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({95:"nr-full-compressor",222:"nr-full-recorder",649:"nr-full-iframe-message-handler",89
51:"nr-full"}[e]+"-1.323.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.323.0.PROD:";r.l=(n,i,s,a)=>{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={891:"sha512-3jboCmrue7pvfLFAQ9FaZC6iM4mLMLaZF6lKolNEXSkSEV504XyvxAZYc2IA7anoBv2V+k1HPTEP1kEgaIYkeg==",222:"sha512-VSWDjY6WtlUmQRPiGWVhKHgN3DMcL8oP9fKdTus8nteEdkVzXz/VhtS6N3wJyto6jHNHRLawzAny60sfcHbBNQ==",95:"sha512-JfHJ5y7GJR1Z5RXbhGTJAaX+pDpLAzH+9IdJQc7Lc7hz3fR+zqyabKG7hPG4eQQ3dZhcuoJKdfj+OhPePveplQ==",649:"sha512-mN3SeCI8QgOG4PdhbG1UlLTWP/P9Ckx3bEoFST53PE7ctYb2Pwk/sVJpCoVwkXTlhP17BH8L/BkzHI4sD+yo6Q=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={85:0,959:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.323.0.PROD"]=self["webpackChunk:NRBA-1.323.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
5ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var R=r(9232);var w=r(7836),T=r(3241);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var A=r(9908),x=r(9752);function _(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,S)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:R.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=w.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,A.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var O=r(1863),k=r(4261),L=r(1738);var M=r(1687),P=r(4234),N=r(5289),j=r(5270),I=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends P.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,M.Ak)(e,this.featureName),t()}))}):(0,M.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
5{if((0,I.V)(e.init))try{const{setupAgentSession:t}=await r.e(891).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,A.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(649).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(891).then(r.bind(r,6589)),r.e(891).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,M.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,M.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,N.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,j.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}_(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var K=r(6630);class U extends W{static featureName=K.T;constructor(e){var t;super(e,K.T),this.setupInspectionEvents(),t=e,(0,L.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,A.p)("api-"+k.Fw,[(0,O.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(891).then(r.bind(r,908)):r.e(891).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,N.sB)(t=>{e(t,"DOMContentLoaded")}),(0,N.GG)(t=>{e(t,"load")}),(0,N.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(U),_(this,e,e.loaderType||"agent"),t=this,(0,L.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,L.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,L.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,A.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,L.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,L.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,L.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,L.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,L.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,A.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,A.p)("docHidden",[(0,O.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,A.p)("winPagehide",[(0,O.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(891).then(r.bind(r,9018))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(891).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,O.t)()){"string"==typeof e&&(e=new Error(e)),(0,A.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,A.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,O.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,O.t)()){(0,A.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,O.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
5null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,A.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,O.t)()){(0,A.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,O.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,O.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,O.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const Re=["entry","scripts","all"],we=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Se={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Ae(e){(0,L.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Se.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=R.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:R.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||Re.includes(r.timingMethod)||(Se.invalidTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||R.f.BA,"parent.id":r.parent?.id})}
5),Object.entries(r.tags).forEach(([e,t])=>{we.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Se.disabled),u(r.id)&&u(r.name)||d(()=>Se.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Se.duplicateName(r),n===r.id&&t!==r.name&&Se.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Se.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,O.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
5imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,O.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,A.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class _e extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,L.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,L.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,L.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Ae(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,A.p)("ierr",[ee(t),(0,O.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,A.p)("err",[te(t),(0,O.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,A.p)("err",[re(t),(0,O.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(891).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var Oe=r(8990);let ke=1;function Le(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,Oe.I)(e,"nr@id",function(){return ke++})}function Me(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Pe=r(8139),Ne=r(3434),je=r(5732);const Ie={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||w.ee;const n=function(e){return(e||w.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(Ie[n.debugId]++)return n;Ie[n.debugId]=1,(0,Pe.u)(r,t);var i=(0,Ne.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,je.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ke=g.gm.Request,Ue=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||w.ee).get("fetch")}(e);if(!(Ke&&Ue&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,je.$5)(t);var o;r.emit(i+"before-start",[e],n),n[w.P]&&n[w.P].dt&&(o=n[w.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
5return Ve[r.debugId]=1,We.forEach(e=>{n(Ke[Fe],e,He),n(Ue[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s,a=(0,ye.ZF)(),o=(0,ye.el)(),c=Date.now();this.agentRef.runtime?.timeKeeper?.ready&&(s=Math.floor(this.agentRef.runtime.timeKeeper.correctAbsoluteTimestamp(c)));var d={spanId:a,traceId:o,timestamp:c,timestampCorrected:s};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,o),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,s??c,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(a,o,s??c,r,n,i)),d}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,A.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=S,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){_(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Me(i);a&&(n.txSize=a)}this.startTime=(0,O.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
5!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Le(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Le(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,O.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,O.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,O.t)()-this.xhrCbStart,this.onload,t],t)}function R(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function w(e,t){this.params={},this.metrics={},this.startTime=(0,O.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Me(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,O.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Me(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function S(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):_(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Me(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function _(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Me(e.response):"text"===r||""===r||void 0===r?Me(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,A.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",R),r.on("fetch-start",w),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(891).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||w.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Ne.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,L.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,A.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,A.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,L.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,A.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
5if(!(0,I.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Pe.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,O.t)()}),this.eventsEE.on(pt,function(e,r){(0,A.p)("bst",[e[0],r,this.bstStart,(0,O.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,O.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,A.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,A.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(891).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,L.Y)(k.CH,function(){(0,A.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,L.Y)(k.Tb,function(){(0,A.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,j.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(891).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,A.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,j.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(891),r.e(222)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var Rt=r(981);const wt={},Tt=new Set;function St(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class At{constructor(e,t){this.timestamp=(0,O.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class xt extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,L.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,L.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Ae(e),function(e){(0,L.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(wt[r.debugId]++)return r;wt[r.debugId]=1,(0,V.G)(()=>{const e=(0,O.t)();Tt.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
5class n extends WebSocket{static name=Rt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new At(e[0],e[1]),this.targets=(0,je.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,O.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),Tt.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=St(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,O.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,Tt.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=St(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,A.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,A.p)("spv",[_t(e),(0,O.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,A.p)("spv",[_t(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,A.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
5h(e=>{const t=(0,C.s)(e=>{(0,A.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,A.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,A.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,A.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,A.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(891).then(r.bind(r,8019))):this.deregisterDrain()}}function _t(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Ot=r(2646);const kt=new Map;function Lt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||w.ee).get("logger")}(e),o=(0,Ne.YM)(a,void 0,s),c=new Ot.y(w.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Ne.Jt]||t[r];return kt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>kt.get(d),void 0,!0),a}var Mt=r(1910);class Pt extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,L.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,L.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Lt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Ae(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Mt.i)(g.gm.console[t]),Lt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(891).then(r.bind(r,5288)))}}new F({features:[U,G,vt,Et,nt,Y,_e,xt,Pt],loaderType:"pro"})})()})();</script>
5 6<meta name="title" content="About Hartman Hartman"/> 7<meta name="keywords" content="Magento, Varien, E-commerce"/> 8<meta name="robots" content="INDEX,FOLLOW"/> 9<meta name="viewport" content="width=device-width, initial-scale=1"/> 10<meta name="format-detection" content="telephone=no"/> 11<title>About Hartman Hartman</title> 12<link rel="stylesheet" type="text/css" media="all" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/mage/calendar.min.css" /> 13<link rel="stylesheet" type="text/css" media="all" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/Mageplaza_Blog/css/mpBlogIcon.min.css" /> 14<link rel="stylesheet" type="text/css" media="all" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/Markup_Paytrail/css/payment-page-bypass.min.css" /> 15<link rel="stylesheet" type="text/css" media="all" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/Markup_Smartship/css/agent-search.min.css" /> 16<link rel="stylesheet" type="text/css" media="all" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/css/styles-m.min.css" /> 17<link rel="stylesheet" type="text/css" media="all" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/jquery/uppy/dist/uppy-custom.min.css" /> 18<link rel="stylesheet" type="text/css" media="all" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/Amasty_LibSwiperJs/vendor/swiper/swiper.min.css" /> 19<link rel="stylesheet" type="text/css" media="all" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/Amasty_Storelocator/vendor/chosen/chosen.min.css" /> 20<link rel="stylesheet" type="text/css" media="all" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/MageWorx_Downloads/attachment.min.css" /> 21<link rel="stylesheet" type="text/css" media="all" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/Magento_PageBuilder/js/resource/slick/slick.min.css" /> 22<link rel="stylesheet" type="text/css" media="all" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/Solteq_PaymentLogos/css/payment-logos.min.css" /> 23<link rel="stylesheet" type="text/css" media="screen and (min-width: 768px)" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/css/styles-l.min.css" /> 24<link rel="stylesheet" type="text/css" media="print" href="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/css/print.min.css" /> 25 26 27 28 29 30 31 32<link rel="icon" type="image/x-icon" href="https://www.hartman.fi/media/favicon/default/favico.png" /> 33<link rel="shortcut icon" type="image/x-icon" href="https://www.hartman.fi/media/favicon/default/favico.png" /> 34 35<style> #ui-id-1 li.level0.ambrands-menu-item { display: none; } </style> 36 37 <!--4d647d6f4aac4c03a96a1ce8eabc5cf3--> 38<meta name="facebook-domain-verification" content="9xtip4leosubx3v5yad5wqx6lb4i9o" /> 39<meta name="google-site-verification" content="k6fFKSaPiQNrLYJjEPMFnvAeWyGHBGEnkBalEwewpJE" />
39<script exclude-this-tag="text/x-magento-template"> 40 window.getWpGA4Cookie = function(name) { 41 match = document.cookie.match(new RegExp(name + '=([^;]+)')); 42 if (match) return decodeURIComponent(match[1].replace(/\+/g, ' ')) ; 43 }; 44 45 window.dataLayer = window.dataLayer || []; 46 var dl4Objects = [{"pageName":"About Hartman Hartman","pageType":"other","hartman_customer_type":"NOT LOGGED IN"}]; 47 for (var i in dl4Objects) { 48 window.dataLayer.push({ecommerce: null}); 49 window.dataLayer.push(dl4Objects[i]); 50 } 51 var wpGA4Cookies = ['wp_ga4_user_id','wp_ga4_customerGroup']; 52 wpGA4Cookies.map(function(cookieName) { 53 var cookieValue = window.getWpGA4Cookie(cookieName); 54 if (cookieValue) { 55 var dl4Object = {}; 56 dl4Object[cookieName.replace('wp_ga4_', '')] = cookieValue; 57 window.dataLayer.push(dl4Object); 58 } 59 }); 60 </script>
60 61 62 <!-- Google Tag Manager -->
63<script exclude-this-tag="text/x-magento-template">
vendor: 331 bytes, lines 63-67
63(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 64new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 65j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 66'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 67})(window,document,'script','dataLayer','
67GTM-WLP5V2J
vendor: 3 bytes, line 67
67');
67</script>
67 68<!-- End Google Tag Manager --> 69<link rel="stylesheet" type="text/css" media="all" href="https://www.hartman.fi/fi/asset/dynamic/assets/m/iult/f/cfg.css/" /> 70 <link href="//fonts.googleapis.com/css?family=Titillium+Web:400,700|Open+Sans:400,600,700" rel="stylesheet" type="text/css" /> 71 72 </head> 73 <body data-container="body" 74 data-mage-init='{"loaderAjax": {}, "loader": { "icon": "https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/images/loader-2.gif"}}' 75 id="html-body" class="cms-english page-layout-1column cms-page-view page-layout-cms-full-width"> 76 <!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 76-77
76 77<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
77GTM-WLP5V2J
vendor: 85 bytes, lines 77-78
77" 78height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
79<!-- End Google Tag Manager (noscript) --> 80 81 82<div class="cookie-status-message" id="cookie-status"> 83 The store will not work correctly when cookies are disabled.</div> 84 85 86 87 88 <noscript> 89 <div class="message global noscript"> 90 <div class="content"> 91 <p> 92 <strong>JavaScript seems to be disabled in your browser.</strong> 93 <span> 94 For the best experience on our site, be sure to turn on Javascript in your browser. </span> 95 </p> 96 </div> 97 </div> 98 </noscript> 99 100<!-- ko scope: 'company' --> 101<div class="message company-warning _hidden" data-bind="css: { _hidden: !isCompanyBlocked() }"> 102<span> 103<!-- ko i18n: 'Your company account is blocked and you cannot place orders. If you have questions, please contact your company administrator.' --><!-- /ko --> 104</span> 105</div> 106<!-- /ko --> 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162<div class="page-wrapper off-canvas-content"><div class="price-display-mode-container" data-bind="scope:'price-display-notification'"> 163 <div style="display: none;" class="alert price-mode-alert" data-bind="visible: displayWithoutTax" aria-hidden="true"> 164 <span>Hintojen näyttö verottomana on käytössä</span> 165 </div> 166</div> 167 168<div id="header-container" class="header-container header-mobile page-header" > 169<div id="top" class="header-container2"> 170<div class="header-container3"> 171 172 <!-- Part of the header displayed only in mobile mode --> 173 <div class="header-m-container"> 174 <div class="header-m-primary-container"> 175 <div class="header-m-primary header container"> 176 <div class="mobile-header-wrapper"> 177 <div class="mobile-header"> 178 <div class="left-side"> 179 <a href="#" class="off-canvas-toggle" data-toggle="off-canvas" aria-label="canvas toggle"> 180 <span class="icon hartman-icon h-nav"></span> 181 </a> 182 </div> 183 <div class="center"> 184 <!-- Mobile logo --> 185 <div class="item logo-wrapper"> 186 <a class="logo" aria-label="logo" href="https://www.hartman.fi/fi/" title=""> 187 <strong></strong> 188 <img src="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/images/logo_white.svg" 189 alt="" 190 width="160" height="34" /> 191</a> 192 </div> 193 </div> 194 <div class="right-side"> 195 <div class="item"> 196 <div class="store-filter-wrapper"> 197 <div data-bind="scope:'store-filter-header'"> 198 <div style="display: none;" data-bind="visible: true" aria-hidden="true"> 199 <!-- ko if: storeFilter().active_filter --> 200 <div class="store-filter-inner-container"> 201 <div class="hartman-icon store-filter-icon h-home-2 filter-active" data-bind="click: triggerModal"> 202 <span class="label store-filter-label"> 203 <span data-bind="text: storeFilter().active_filter"></span> 204 </span> 205 </div> 206 207 <!-- ko if: !storeFilter().lock_warehouse_selection --> 208 <a href="#" data-bind="click: clearFilter" class="clear-filter"></a> 209 <!-- /ko --> 210 </div> 211 <!-- /ko --> 212 213 <!-- ko ifnot: storeFilter().active_filter --> 214 <div class="store-filter-inner-container"> 215 <span data-bind="click: triggerModal" class="hartman-icon icon store-filter-icon h-home-2 filter-inactive"> 216 <span class="label store-filter-label hide-mobile">Valitse myymälä</span> 217 </span> 218 </div> 219 <!-- /ko --> 220 </div> 221 </div> 222 <div id="store-filter-modal" style="display: none" aria-hidden="true"> 223 <div class="modal-body-content store-filter-modal-content" data-bind="scope:'store-filter-selection'"> 224 <h3 role="heading">Myymälävalinta</h3> 225 <div class="store-filter-info-box"> 226 <div class="info-icon" aria-hidden="true">i</div> 227 <div class="info-text"> 228 <p>Kun valitset myymälän, vain kyseisessä myymälässä myytävät tuotteet näkyvät verkkokaupassa.</p> 229 </div> 230 </div> 231 <ul data-bind="foreach: { data: sourceData, as: 'item', noChildContext: true }"> 232 <li> 233 <!-- ko if: item.locked -->
234 <span data-bind="text: item.name, style: { fontWeight: item.current ? 'bold' : 'normal', color: '#8e8e8e'}"></span> 235 <!-- /ko --> 236 237 <!-- ko if: !item.locked --> 238 <a href="#" data-bind="click: setStoreFilter.bind($data, item.code, false)"> 239 <span data-bind="text: item.name, style: { fontWeight: item.current ? 600 : 'normal'}"></span> 240 </a> 241 <!-- /ko --> 242 </li> 243 </ul> 244 </div> 245 </div> 246</div> 247 248 <div class="authorization-link" data-label="tai"> 249 <a href="https://www.hartman.fi/fi/customer/account/login/referer/aHR0cHM6Ly93d3cuaGFydG1hbi5maS9maS9lbmdsaXNo/"> 250 <i class="icon ic ic-user" aria-hidden="true"></i> 251 <span class="hide-mobile">Kirjaudu/Rekisteröidy</span> 252 </a> 253 </div> 254 255 256 </div> 257 <div class="item mini-cart-wrapper"> 258 <div id="mini-cart-marker-mobile"></div> 259 <div data-block="minicart" class="minicart-wrapper mini-cart filled-heading" id="minicart"> <div data-skiptarget="#header-cart" class="mini-cart-heading dropdown-heading skip-link skip-cart action showcart counter-over-top" data-bind="scope: 'minicart_content'"> 260 <span class="inner-heading"> 261 <span class="hartman-icon h-cart"></span> 262 <span class="counter qty empty ic ic-char ib ib-square" 263 data-bind="css: { empty: !!getCartParam('summary_count') == false }, blockLoader: isLoading"> 264 <span class="counter-number"><!-- ko text: getCartParam('summary_count') --><!-- /ko --></span> 265 <span class="counter-label"> 266 <!-- ko if: getCartParam('summary_count') --> 267 <!-- ko text: getCartParam('summary_count') --><!-- /ko --> 268 <!-- ko i18n: 'items' --><!-- /ko --> 269 <!-- /ko --> 270 </span> 271 </span> 272 </span> 273 </div> 274 <div id="header-cart" class="mini-cart-content dropdown-content skip-content skip-content--style block-cart block block-minicart empty" 275 data-role="dropdownDialog" 276 data-mage-init='{"dropdownDialog":{ 277 "triggerEvent": "click", 278 "appendTo": "[data-block=minicart]", 279 "triggerTarget": ".showcart", 280 "timeout": "200", 281 "closeOnMouseLeave": true, 282 "closeOnEscape": true, 283 "parentClass": "active open", 284 "buttons": []}}'> 285 <div id="minicart-content-wrapper" data-bind="scope: 'minicart_content'"> 286 <!-- ko template: getTemplate() --><!-- /ko --> 287 </div> 288 </div> 289 290 291 292</div> 293 </div> 294 </div> 295 </div> 296 297 <div class="mobile-search"> 298 <div id="search-marker-mobile"></div> 299 <div id="header-search" class="skip-content skip-content--style"> 300<div id="block-search" class="block block-search search-wrapper size-l"> <div class="block block-title"><strong>Hae</strong></div> 301 <div class="block block-content"> 302 <form class="form minisearch" id="search_mini_form" action="https://www.hartman.fi/fi/catalogsearch/result/" method="get"> 303 <div class="field search"> 304 <div class="control"> 305 <input aria-label="Form" id="search" 306 data-mage-init='{"quickSearch":{ 307 "formSelector":"#search_mini_form", 308 "url":"https://www.hartman.fi/fi/search/ajax/suggest/", 309 "destinationSelector":"#search_autocomplete"} 310 }' 311 type="text" 312 name="q" 313 value="" 314 placeholder="Hae tuotteita..." 315 class="input-text" 316 maxlength="128" 317 role="combobox" aria-expanded="false" 318 aria-haspopup="false" 319 aria-autocomplete="both" 320 autocomplete="off"/> 321 <div id="search_autocomplete" class="search-autocomplete"></div> 322 </div> 323 </div> 324 <div class="actions"> 325 <button aria-label="Button" id="action-search" type="submit" 326 title="Hae" 327 class="action search">
328 <span class="hartman-icon h-search icon ic ib ib-square ib-hover"></span> 329 </button> 330 </div> 331 </form> 332 </div> 333</div> <!-- end: block-search --> 334</div> 335 </div> 336 </div> <!-- end: inner-container --> 337 </div> <!-- end: header-m-primary --> 338 </div> <!-- end: header-m-primary-container --> 339 340 </div> <!-- end: header-m-container --> 341 342 <!-- Part of the header displayed only in regular mode --> 343 <div class="header-top-container"> 344 <div class="header-top header container clearer"> 345 <div class="inner-container"> 346 347 <a class="action skip contentarea" 348 href="#contentarea"> 349 <span> 350 Skip to Content </span> 351</a> 352 353 354 <div class="left-column"> 355 356 357 358 359 <div class="item item-left"> 360 <div class="item link compare" data-bind="scope: 'compareProducts'" data-role="compare-products-link"> 361 <a class="action compare no-display" title="Vertaa tuotteita" 362 data-bind="attr: {'href': compareProducts().listUrl}, css: {'no-display': !compareProducts().count}" 363 > 364 Vertaa tuotteita <span class="counter qty" data-bind="text: compareProducts().countCaption"></span> 365 </a> 366</div> 367 368 </div> 369 370 </div> <!-- end: left column --> 371 372 <div class="right-column"> 373 374 <div class="item item-right item-interface"><div id="user-menu-wrapper-regular"> 375 <div id="user-menu" class="user-menu"> 376 377 378 379 380 381 382 383 384 385 386 387 <div id="account-links-marker-regular"></div> 388 389 390 </div> <!-- end: user-menu --> 391</div> 392</div> 393 394 <div class="item item-right store-filter-container"><div class="store-filter-wrapper"> 395 <div data-bind="scope:'store-filter-header'"> 396 <div style="display: none;" data-bind="visible: true" aria-hidden="true"> 397 <!-- ko if: storeFilter().active_filter --> 398 <div class="store-filter-inner-container"> 399 <div class="hartman-icon store-filter-icon h-home-2 filter-active" data-bind="click: triggerModal"> 400 <span class="label store-filter-label"> 401 <span data-bind="text: storeFilter().active_filter"></span> 402 </span> 403 </div> 404 405 <!-- ko if: !storeFilter().lock_warehouse_selection --> 406 <a href="#" data-bind="click: clearFilter" class="clear-filter"></a> 407 <!-- /ko --> 408 </div> 409 <!-- /ko --> 410 411 <!-- ko ifnot: storeFilter().active_filter --> 412 <div class="store-filter-inner-container"> 413 <span data-bind="click: triggerModal" class="hartman-icon icon store-filter-icon h-home-2 filter-inactive"> 414 <span class="label store-filter-label hide-mobile">Valitse myymälä</span> 415 </span> 416 </div> 417 <!-- /ko --> 418 </div> 419 </div> 420 <div id="store-filter-modal" style="display: none" aria-hidden="true"> 421 <div class="modal-body-content store-filter-modal-content" data-bind="scope:'store-filter-selection'"> 422 <h3 role="heading">Myymälävalinta</h3> 423 <div class="store-filter-info-box"> 424 <div class="info-icon" aria-hidden="true">i</div> 425 <div class="info-text"> 426 <p>Kun valitset myymälän, vain kyseisessä myymälässä myytävät tuotteet näkyvät verkkokaupassa.</p> 427 </div> 428 </div> 429 <ul data-bind="foreach: { data: sourceData, as: 'item', noChildContext: true }"> 430 <li> 431 <!-- ko if: item.locked -->
432 <span data-bind="text: item.name, style: { fontWeight: item.current ? 'bold' : 'normal', color: '#8e8e8e'}"></span> 433 <!-- /ko --> 434 435 <!-- ko if: !item.locked --> 436 <a href="#" data-bind="click: setStoreFilter.bind($data, item.code, false)"> 437 <span data-bind="text: item.name, style: { fontWeight: item.current ? 600 : 'normal'}"></span> 438 </a> 439 <!-- /ko --> 440 </li> 441 </ul> 442 </div> 443 </div> 444</div> 445 446 <div class="authorization-link" data-label="tai"> 447 <a href="https://www.hartman.fi/fi/customer/account/login/referer/aHR0cHM6Ly93d3cuaGFydG1hbi5maS9maS9lbmdsaXNo/"> 448 <i class="icon ic ic-user" aria-hidden="true"></i> 449 <span class="hide-mobile">Kirjaudu/Rekisteröidy</span> 450 </a> 451 </div> 452 453 454</div> 455 456 457 </div> <!-- end: right column --> 458 459 </div> <!-- end: inner-container --> 460 </div> <!-- end: header-top --> 461 </div> <!-- end: header-top-container --> 462 463 <div class="header-primary-container"> 464 <div class="header-primary header container"> 465 <div class="inner-container"> 466 467 468 <div class="hp-blocks-holder"> 469 470 <!-- Left column --> 471 <div class="hp-block left-column grid12-3"> 472 <div class="item"><div class="logo-wrapper logo-wrapper--regular"> <a class="logo" href="https://www.hartman.fi/fi/" title="" aria-label="Hartman logo"> 473 <strong></strong> 474 <span class="sr-only">Hartman logo</span> 475 <img src="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/images/logo.svg" 476 alt="Hartman homepage" 477 width="171" height="36" /> 478 </a> 479</div></div> 480 </div> <!-- end: left column --> 481 482 <!-- Central column --> 483 <div class="hp-block central-column grid12-5"> 484 <div class="item"><div id="search-marker-regular"></div></div> 485 </div> <!-- end: central column --> 486 487 <!-- Right column --> 488 <div class="hp-block right-column grid12-4"> 489 <div class="item"><div id="mini-cart-marker-regular"></div></div> 490 <div class="item"><div id="lang-switcher-wrapper-regular" class="header-icon-link"> 491<div class="dropdown-block filled-heading dropdown-block-trigger lang-switcher" id="switcher-language"> 492 <div class="dropdown-heading"> 493 <span class="inner-heading view-fi" title="Kieli"> 494 <span class="label">suomi</span> 495 <span class="hartman-icon h-globe"></span> 496 <span class="caret"></span> 497 </span> 498 </div> 499 <ul class="dropdown-content"> 500 <li class="view-sv switcher-option"> 501 <a href="https://www.hartman.fi/fi/stores/store/redirect/___store/sv/___from_store/fi/uenc/aHR0cHM6Ly93d3cuaGFydG1hbi5maS9zdi9lbmdsaXNo/"> 502 svenska </a> 503 </li> 504 <hr> 505 <li class="view-fi switcher-option"> 506 <a href="https://www.hartman.fi/fi/english">english</a> 507 </li> 508 <li class="view-sv switcher-option"> 509 <a href="https://www.hartman.fi/sv/danish">dansk</a> 510 </li> 511 </ul> 512</div> 513</div></div> 514 <div class="item"><div class="header-icon-link contact-link"><style>#html-body [data-pb-style=JGPILW0]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;border-style:none;border-width:1px;border-radius:0;margin-left:0;margin-top:0;margin-right:0}#html-body [data-pb-style=GH0GM6F]{border-style:none;border-width:1px;border-radius:0;margin:0;padding:0}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-video-fallback-src="" data-element="inner" data-pb-style="JGPILW0"><div data-content-type="html" data-appearance="default" data-element="main" data-pb-style="GH0GM6F" data-decoded="true"><div class="dropdown-block"> 515 <div class="dropdown-heading"> 516 <a href="https://www.hartman.fi/fi/yhteystiedot" title="Yhteystiedot"> 517 <div class="inner-heading">
518 <span class="hartman-icon h-location"></span> 519 <span class="label">Yhteystiedot</span> 520 </div> 521 </a> 522 </div> 523</div> 524 525</div></div></div></div></div> 526 </div> <!-- end: right column --> 527 528 </div> <!-- end: hp-blocks-holder --> 529 530 </div> <!-- end: inner-container --> 531 </div> <!-- end: header-primary --> 532 </div> <!-- end: header-primary-container --> 533 534 <div class="nav-container skip-content sticky-container' "> 535 536 <div class="navi-wrapper"> 537 <nav id="mainmenu" class="navi nav-regular"> 538 <div class="pages-navigation"> 539 <div class="container"> 540 <div class="inner-container"> 541 <ul class="toggle-products"> 542 <li class="level0 level-top nav-item parent-item"> 543 <a href="javascript:void(0);" class="level-top" data-toggle="off-canvas"> 544 <span class="products-icon"> 545 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" aria-label="Icon SVG"> 546 <path class="icon" fill="#FFF" fill-rule="evenodd" d="M29 21.879l-5 5V10.12l5-5v16.758zm-26 7.12h18V11H3v18zm7.121-26h16.758l-5 5H5.121l5-5zM31.632.516h-.001c-.065-.074-.137-.142-.215-.203h-.001V.31c-.227-.174-.504-.285-.806-.307h-.001L30.489 0H9.5c-.397 0-.779.158-1.061.44L.44 8.439c-.139.139-.251.306-.327.49l-.007.024C.04 9.123 0 9.307 0 9.5v21c0 .828.672 1.5 1.5 1.5h21c.193 0 .377-.04.547-.106l.023-.007c.185-.076.352-.188.491-.326l8-8c.281-.282.439-.663.439-1.061V1.496c-.001-.375-.14-.718-.368-.981z"/> 547 </svg> 548 </span> 549 Tuotteet <span class="caret"></span> 550 </a> 551 </li> 552</ul> 553 554<!-- Pages menu --> 555<ul class="pages-menu" role="menubar" data-mage-init='{"menu":{"responsive":true, "expanded":true, "position":{"my":"left top","at":"left bottom"}}}'> 556 <li class="level0 ambrands-menu-item" 557 data-ambrands-js="brands-menu-link"> 558 <a href="https://www.hartman.fi/fi/tuotemerkki/" 559 class="level-top ambrands-link" 560 title="Tuotemerkit"> 561 Tuotemerkit </a> 562 </li> 563<li role="none" class="level0 nav-1 first level-top nav-item"><a href="https://www.hartman.fi/fi/rautakauppa" role="menuitem" class="level-top" ><span>Kuluttajille</span></a></li><li role="none" class="level0 nav-2 level-top nav-item"><a href="https://www.hartman.fi/fi/ammattirakentajille" role="menuitem" class="level-top" ><span>Ammattirakentajille</span></a></li><li role="none" class="level0 nav-3 level-top nav-item"><a href="https://www.hartman.fi/fi/jalleenmyyjille" role="menuitem" class="level-top" ><span>Jälleenmyyjille</span></a></li><li role="none" class="level0 nav-4 level-top nav-item"><a href="https://www.hartman.fi/fi/teollisuus" role="menuitem" class="level-top" ><span>Teollisuudelle</span></a></li><li role="none" class="level0 nav-5 level-top nav-item"><a href="https://www.hartman.fi/fi/inspiraatio" role="menuitem" class="level-top" ><span>Esitteet</span></a></li><li role="none" class="level0 nav-6 level-top nav-item"><a href="https://www.hartman.fi/fi/historia" role="menuitem" class="level-top" ><span>Historia</span></a></li><li role="none" class="level0 nav-7 level-top nav-item"><a href="https://www.hartman.fi/fi/export" role="menuitem" class="level-top" ><span>Vienti</span></a></li> </ul> 564 </div> 565 </div> 566 </div> 567 </nav> 568 </div> 569 570 </div> 571 572</div> <!-- end: header-container3 --> 573</div> <!-- end: header-container2 --> 574</div> <!-- end: header-container --> 575 576<div class="main-container"><div class="main container"><div class="inner-container"><div class="breadcrumbs"> 577 <ul class="items"> 578 <li class="item home"> 579 <a href="https://www.hartman.fi/fi/" 580 title="Siirry etusivulle"> 581 Etusivu </a> 582 </li> 583 <li class="item cms_page"> 584 <strong>About Hartman</strong> 585 </li> 586 </ul> 587</div>
588<main id="maincontent" class="page-main-full-width"><a id="contentarea" tabindex="-1"></a> 589<div class="page messages"><div data-placeholder="messages"></div> 590<div data-bind="scope: 'messages'"> 591 <!-- ko if: cookieMessagesObservable() && cookieMessagesObservable().length > 0 --> 592 <div aria-atomic="true" role="alert" class="messages" data-bind="foreach: { 593 data: cookieMessagesObservable(), as: 'message' 594 }"> 595 <div data-bind="attr: { 596 class: 'message-' + message.type + ' ' + message.type + ' message', 597 'data-ui-id': 'message-' + message.type 598 }"> 599 <div data-bind="html: $parent.prepareMessageForHtml(message.text)"></div> 600 </div> 601 </div> 602 <!-- /ko --> 603 604 <div aria-atomic="true" role="alert" class="messages" data-bind="foreach: { 605 data: messages().messages, as: 'message' 606 }, afterRender: purgeMessages"> 607 <div data-bind="attr: { 608 class: 'message-' + message.type + ' ' + message.type + ' message', 609 'data-ui-id': 'message-' + message.type 610 }"> 611 <div data-bind="html: $parent.prepareMessageForHtml(message.text)"></div> 612 </div> 613 </div> 614</div> 615 616 617</div><div class="columns"><div class="column main"><input name="form_key" type="hidden" value="9wVVivLyK9RExHEm" /><div id="authenticationPopup" data-bind="scope:'authenticationPopup', style: {display: 'none'}"> 618 <!-- ko template: getTemplate() --><!-- /ko --> 619 620</div> 621 622 623 624 625 626 627<style>#html-body [data-pb-style=LCNRB1A],#html-body [data-pb-style=X5705AU]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;padding:10px}#html-body [data-pb-style=LCNRB1A]{border-style:none;border-width:1px;border-radius:0;margin:0 0 10px}#html-body [data-pb-style=X5705AU]{margin:50px 0 10px}#html-body [data-pb-style=HMNF6RX],#html-body [data-pb-style=OUMIAUO],#html-body [data-pb-style=X5705AU]{border-style:none;border-width:1px;border-radius:0}#html-body [data-pb-style=OUMIAUO]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;margin:0 0 10px;padding:10px}#html-body [data-pb-style=JIS8TY8]{border-style:none;border-width:1px;border-radius:0;margin:0;padding:0}#html-body [data-pb-style=K636WNP]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;margin-top:20px;margin-bottom:20px;align-self:stretch}#html-body [data-pb-style=OLUX93S]{display:flex;width:100%}#html-body [data-pb-style=YRVXJ5C]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:41.6667%;align-self:stretch}#html-body [data-pb-style=DM32YCS]{margin-right:20px}#html-body [data-pb-style=F1SO8GE]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:58.3333%;align-self:stretch}#html-body [data-pb-style=BNRMCUS]{margin:10px 0 0}#html-body [data-pb-style=DCQW0KL]{border-style:none;border-width:1px;border-radius:0;padding:0}#html-body [data-pb-style=GEVRI0J]{margin-top:20px;margin-bottom:10px}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div class="top-image background-image-6abf40557512e" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images='{\"desktop_image\":\"https://www.hartman.fi/media/wysiwyg/hartman_talo.jpg\"}' data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="inner" data-pb-style="LCNRB1A"></div><style type="text/css">.background-image-6abf40557512e {background-image: url(https://www.hartman.fi/media/wysiwyg/hartman_talo.jpg);}</style></div><div data-content-type="row" data-appearance="contained" data-element="main"><div class="top-text" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-video-fallback-src="" data-element="inner" data-pb-style="X5705AU"><h1 data-content-type="heading" data-appearance="default" data-element="main" data-pb-style="HMNF6RX">Hartman 1862</h1><div data-content-type="text" data-appearance="default" data-element="main"><p>Hartman Group consists of the parent company Oy C.J. Hartman Ab, the subsidiary Hartman Rauta Oy and the sister company Oy Hartman Invest Ab. Hartman Group has approx. 260 employees.</p></div></div></div><div data-content-type="row" data-appearance="contained" data-element="main"><div class="first-content-row" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-video-fallback-src="" data-element="inner" data-pb-style="OUMIAUO"><div data-content-type="text" data-appearance="default" data-element="main" data-pb-style="JIS8TY8"><p><strong>Oy C.J. Hartman Ab</strong> deals with the financial management, real estate, and other auxiliary activities of the Group.</p> 628<p><strong>Oy Hartman Invest Ab</strong> owns and administers the Hartman house real estate in downtown Va
628asa.</p></div><div data-content-type="text" data-appearance="default" data-element="main"><p><strong>Hartman Rauta Oy</strong> not only conducts wholesale and retail sales in the building materials and hardware sector, with outlets located in Kokkola, Pietarsaari, Seinäjoki, Vaasa, Tampere, and Espoo but also engages in the <a tabindex="0" href="https://www.hartman.fi/fi/export" target="_blank" rel="noopener">export of timber products</a>, extending its market reach to international clients. Furthermore, the company is involved in importing a variety of building materials, enhancing its product range and meeting diverse customer needs by sourcing high-quality materials from around the globe.</p> 629<p>Through our customers and contacts, it is possible to reach a wide user base in the Finnish market area in the use of industrial wood products. As our operations are nationwide, we serve our customers through all our Hartman units and from our import warehouses. We have an extensive national distribution network that covers the entire country. Through Harman's units and our retail network, we can also reach DIY- and consumer sector.</p> 630<p>Hartman has in the Finnish market, the widest range of products built to cover the needs of professional construction and decoration as well as the industrial use of processed wood products and resale.</p></div><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="K636WNP"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="OLUX93S"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="YRVXJ5C"><div data-content-type="text" data-appearance="default" data-element="main" data-pb-style="DM32YCS"><h4>Our largest customer groups are:</h4> 631<p>· Prefabricated house and construction industry<br>· Kitchen and furniture industry<br>· Panel and molding industry<br>· Interior and exterior door industry<br>· Packaging industry<br>· Professional builders<br>· Retailers.</p> 632<h4>The ready-to-deliver stock selection includes the following main groups:</h4> 633<p>· Softwood and Hardwood Plywood both in baseboards and Film faced.<br>· OSB3 and OSB4 boards<br>· MDF and HDF boards as well as Hardboards and Fiberboards<br>· LVL- and glulam beams and studs for construction and industrial use<br>· Chipboards and wide range of decors in MFC-boards<br>· HPL and CPL products for furniture and interior and facade surfaces.<br>· Lumber and processed lumber products.</p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="F1SO8GE"><div data-content-type="video" data-appearance="default" data-element="main" data-pb-style="BNRMCUS"><div class="pagebuilder-video-inner" data-element="inner"><div class="pagebuilder-video-wrapper" data-element="wrapper" data-pb-style="DCQW0KL"><div class="pagebuilder-video-container"><iframe frameborder="0" allowfullscreen="" src="https://www.youtube.com/embed/EjzoohccDJY" data-element="video"></iframe></div></div></div></div></div></div></div><div data-content-type="text" data-appearance="default" data-element="main" data-pb-style="GEVRI0J"><h5>To reach us for future co-operation in Finnish market, please contact</h5></div><div class="persons" data-content-type="products" data-appearance="grid" data-element="main"> <div class="block widget block-products-list grid"> 634 <div class="block-content"> 635 <!-- person_widget_image--> <div class="products-grid grid"> 636 <ol class="product-items widget-product-grid"> 637 <li class="product-item"> <div class="product-item-info"> 638 639 <div class="product-item-img">
640 <span class="product-image-container" style="width:140px;"> 641 <span class="product-image-wrapper" style="padding-bottom: 100%;"> 642 <img class="product-image-photo lazyload" data-src="https://www.hartman.fi/media/catalog/product/o/s/osto_lokka_seppo_1.jpg?optimize=medium&fit=bounds&height=140&width=140" max-width="140" max-height="140" alt="Seppo Lokka"></span> 643</span> 644 </div> 645 646 <div class="product-item-details"> 647 648 <strong class="product-item-name"> 649 <h3 role="heading"><span>Seppo Lokka</span></h3> 650 </strong> 651 652 653 <div class="product-item-attributes"> 654 <p class="title">Director</p> 655 <p class="display-sales-unit"></p> 656 <p class="know-how"></p> 657 <p class="office-phone"> 658 <a href="tel:35834475160">+3583 447 5160</a> 659 </p> 660 <p class="mobile-phone"> 661 <a href="tel:358505987555">+35850 598 7555</a> 662 </p> 663 <p class="email"> 664 <a href="mailto:[email protected]">[email protected]</a> 665 </p> 666 <hr> 667 668 <p class="sales-unit"> 669 <a class="sales-unit-link" href="tampere"> 670 Tampere <span class="hartman-icon h-arrow"> 671 </span></a> 672 </p> 673 </div> 674 675 676 </div> 677 </div> 678 </li> </ol> 679 </div> 680 </div> 681 </div> 682</div></div></div></div></div></main></div></div></div><div class="payment-logos-wrapper"><section class="payment-logos" aria-labelledby="payment-logos-title" 683 data-mage-init='{"Solteq_PaymentLogos/js/payment-logos":{"interval":3000,"threshold":6}}'> 684 <div class="payment-logos__inner"> 685 <h3 id="payment-logos-title" class="payment-logos__title"> 686 <a class="payment-logos__title-link" 687 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 688 target="_blank" 689 rel="noopener"> 690 Maksutavat </a> 691 </h3> 692 <div class="payment-logos__viewport" data-role="payment-logos-viewport"> 693 <div class="payment-logos__track" data-role="payment-logos-track"> 694 <div class="payment-logos__item"> 695 <a class="payment-logos__link" 696 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 697 target="_blank" 698 rel="noopener" 699 aria-label="Osuuspankki"> 700 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/op.jpg" alt="Osuuspankki" loading="lazy" draggable="false"/> </a> 701 </div> 702 <div class="payment-logos__item"> 703 <a class="payment-logos__link" 704 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 705 target="_blank" 706 rel="noopener" 707 aria-label="Nordea"> 708 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/nordea.jpg" alt="Nordea" loading="lazy" draggable="false"/> </a> 709 </div> 710 <div class="payment-logos__item"> 711 <a class="payment-logos__link" 712 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 713 target="_blank" 714 rel="noopener" 715 aria-label="Danske Bank"> 716 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/danskebank.jpg" alt="Danske Bank" loading="lazy" draggable="false"/> </a> 717 </div> 718 <div class="payment-logos__item"> 719 <a class="payment-logos__link" 720 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 721 target="_blank" 722 rel="noopener" 723 aria-label="S-Pankki"> 724 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/s-pankki.jpg" alt="S-Pankki" loading="lazy" draggable="false"/> </a> 725 </div> 726 <div class="payment-logos__item"> 727 <a class="payment-logos__link" 728 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 729 target="_blank" 730 rel="noopener" 731 aria-label="Oma Sp"> 732 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/omasp.jpg" alt="Oma Sp" loading="lazy" draggable="false"/> </a> 733 </div> 734 <div class="payment-logos__item"> 735 <a class="payment-logos__link" 736 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 737 target="_blank" 738 rel="noopener" 739 aria-label="POP Pankki"> 740 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/Pop_pankki.jpg" alt="POP Pankki" loading="lazy" draggable="false"/> </a> 741 </div> 742 <div class="payment-logos__item"> 743 <a class="payment-logos__link" 744 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 745 target="_blank" 746 rel="noopener" 747 aria-label="Aktia"> 748 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/aktia.jpg" alt="Aktia" loading="lazy" draggable="false"/> </a> 749 </div> 750 <div class="payment-logos__item"> 751 <a class="payment-logos__link" 752 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 753 target="_blank" 754 rel="noopener" 755 aria-label="Säästöpankki"> 756 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/S_st_pankki.jpg" alt="Säästöpankki" loading="lazy" draggable="false"/> </a> 757 </div> 758 <div class="payment-logos__item"> 759 <a class="payment-logos__link" 760 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 761 target="_blank" 762 rel="noopener" 763 aria-label="Ålandsbanken"> 764 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/_landsbanken.jpg" alt="Ålandsbanken" loading="lazy" draggable="false"/> </a> 765 </div> 766 <div class="payment-logos__item"> 767 <a class="payment-logos__link" 768 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 769 target="_blank" 770 rel="noopener" 771 aria-label="Apple Pay"> 772 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/apple_pay.jpg" alt="Apple Pay" loading="lazy" draggable="false"/> </a> 773 </div> 774 <div class="payment-logos__item"> 775 <a class="payment-logos__link" 776 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 777 target="_blank" 778 rel="noopener" 779 aria-label="Google Pay"> 780 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/google-pay.jpg" alt="Google Pay" loading="lazy" draggable="false"/> </a> 781 </div> 782 <div class="payment-logos__item"> 783 <a class="payment-logos__link" 784 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 785 target="_blank" 786 rel="noopener" 787 aria-label="MobilePay"> 788 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/mobile-pay.jpg" alt="MobilePay" loading="lazy" draggable="false"/> </a> 789 </div> 790 <div class="payment-logos__item"> 791 <a class="payment-logos__link" 792 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 793 target="_blank" 794 rel="noopener" 795 aria-label="Siirto"> 796 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/siirto_pankkipalvelu.jpg" alt="Siirto" loading="lazy" draggable="false"/> </a> 797 </div> 798 <div class="payment-logos__item"> 799 <a class="payment-logos__link" 800 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 801 target="_blank" 802 rel="noopener" 803 aria-label="Visa"> 804 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/visa.jpg" alt="Visa" loading="lazy" draggable="false"/> </a> 805 </div> 806 <div class="payment-logos__item"> 807 <a class="payment-logos__link" 808 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 809 target="_blank" 810 rel="noopener" 811 aria-label="Mastercard"> 812 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/mastercard.jpg" alt="Mastercard" loading="lazy" draggable="false"/> </a> 813 </div> 814 <div class="payment-logos__item"> 815 <a class="payment-logos__link" 816 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 817 target="_blank" 818 rel="noopener" 819 aria-label="Klarna"> 820 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/klarna-logo.jpg" alt="Klarna" loading="lazy" draggable="false"/> </a> 821 </div> 822 <div class="payment-logos__item"> 823 <a class="payment-logos__link" 824 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 825 target="_blank" 826 rel="noopener" 827 aria-label="OP Lasku"> 828 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/op-lasku.jpg" alt="OP Lasku" loading="lazy" draggable="false"/> </a> 829 </div> 830 <div class="payment-logos__item"> 831 <a class="payment-logos__link" 832 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 833 target="_blank" 834 rel="noopener" 835 aria-label="OP Tililuotto"> 836 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/op-tililuotto.jpg" alt="OP Tililuotto" loading="lazy" draggable="false"/> </a> 837 </div> 838 <div class="payment-logos__item"> 839 <a class="payment-logos__link" 840 href="https://www.hartman.fi/fi/toimitusehdot#maksutavat" 841 target="_blank" 842 rel="noopener" 843 aria-label="Walley"> 844 <img class="payment-logos__img" src="https://www.hartman.fi/media/payment_logos/walley.jpg" alt="Walley" loading
844="lazy" draggable="false"/> </a> 845 </div> 846 </div> 847 </div> 848 </div> 849</section> 850 851</div><div class="footer-container page-footer"> 852<div class="footer-container2"> 853<div class="footer-container3"> 854 855 <div class="footer-top-container section-container"> 856 <div class="footer-top footer container"> 857 <div class="inner-container "> 858 <style>#html-body [data-pb-style=BXYEANH]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;border-style:none;border-width:1px;border-radius:0;margin:0 0 10px;padding:0}#html-body [data-pb-style=C82MF0G]{margin:0;padding:0}#html-body [data-pb-style=KY3V2FQ],#html-body [data-pb-style=N5O45LG]{border-style:none;border-width:1px;border-radius:0;max-width:100%;height:auto}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-video-fallback-src="" data-element="inner" data-pb-style="BXYEANH"><figure class="footer-logo" data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="C82MF0G"><img class="lazyload pagebuilder-mobile-hidden" data-src="https://www.hartman.fi/media/wysiwyg/Hartman_1.png" alt="" title="" data-element="desktop_image" data-pb-style="KY3V2FQ"><img class="lazyload pagebuilder-mobile-only" data-src="https://www.hartman.fi/media/wysiwyg/Hartman_1.png" alt="" title="" data-element="mobile_image" data-pb-style="N5O45LG"></figure></div></div> </div> <!-- end: inner-container --> 859 </div> <!-- end: footer-top --> 860 </div> 861 862 863 864 <div class="footer-primary-container section-container"> 865 <div class="footer-primary footer container"> 866 <div class="inner-container"> 867 868 869 <div class="row"> 870 <div class="col-sm-4"><div class="std"><style>#html-body [data-pb-style=VQ7BNC3]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;border-style:none;border-width:1px;border-radius:0;margin:0 0 10px;padding:0}#html-body [data-pb-style=REAO0UM]{border-style:none;border-width:1px;border-radius:0;margin:0;padding:0 20px 0 0}#html-body [data-pb-style=N8SWR77],#html-body [data-pb-style=V993N62]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=V993N62]{justify-content:center;display:flex;flex-direction:column;border-style:none;border-width:1px;border-radius:0;margin:0 0 10px;padding:0}#html-body [data-pb-style=N8SWR77]{align-self:stretch}#html-body [data-pb-style=A3GCV6D]{display:flex;width:100%}#html-body [data-pb-style=DCB0HMA]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;border-style:none;border-width:1px;border-radius:0;width:16.6667%;margin:0;padding:10px;align-self:stretch}#html-body [data-pb-style=X6OUFIC]{text-align:left;margin:0;padding:0}#html-body [data-pb-style=T034SI1],#html-body [data-pb-style=YW88V05]{border-style:none;border-width:1px;border-radius:0;max-width:100%;height:auto}#html-body [data-pb-style=AT0LV8J]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;border-style:none;border-width:1px;border-radius:0;width:83.3333%;margin:0;padding:10px 10px 10px 0;align-self:center}#html-body [data-pb-style=BVPTPLW]{border-style:none;border-width:1px;border-radius:0;margin:0;padding:0}#html-body [data-pb-style=DMQSTSW]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div class="column-1" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-video-fallback-src="" data-element="inner" data-pb-style="VQ7BNC3"><div data-content-type="text" data-appearance="default" data-element="main" data-pb-style="REAO0UM"><p><span style="font-size: 14px;">Hartman on suomalainen perheyritys. Meillä on vankka ja pitkä rautakauppakokemus, alkaen vuodesta 1862. Meiltä löydät rakennustarvikkeet, sisustustarvikkeet, puutavarat ja levyt sekä teräkset, työkalut ja teollisuustarvikkeet. Rakensit sitten suurta tai pientä, meiltä löydät kaiken tarvitsemasi. Ammattilaisia palvelevat eri tuoteryhmien asiantuntijat.</span></p></div></div></div><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-video-fallback-src="" data-element="inner" data-pb-style="V993N62"><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="N8SWR77"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="A3GCV6D"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="DCB0HMA"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="X6OUFIC"><a href="https://www.hartman.fi/fi/pefc" target="" data-link-type="page" title="pefc image" data-element="link"><img class="lazyload pagebuilder-mobile-hidden" data-src="https://www.hartman.fi/media/wysiwyg/pefc-label-pefc_small.png" alt="pefc img" title="pefc image" data-element="desktop_image" data-pb-style="T034SI1"><img class="lazyload pagebuilder-mobile-only" data-src="https://www.hartman.fi/media/wysiwyg/pefc-label-pefc_small.png" alt="pefc img" title="pefc image" data-element="mobile_image" data-pb-style="YW88V05"></a></figure></div><div class="pagebuilder-column" data-content-type="column" data-appearance="align-center" data-background-images="{}" data-element="main" data-pb-style="AT0LV8J"><div data-content-type="text" data-appearance="default" data-element="main" data-pb-style="BVPTPLW"><p><span style="font-size: 20px;"><a href="https://www.hartman.fi/fi/pefc" title="pefc" aria-label="pefc" alt="pefc link"><span style="font-size: 16px;">PEFC-sertifikaatti</span></a></span></p></div></div></div></div></div></div><div data-content-type="row" data-appearance="contained" data-element="main"><div data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-background-type="image" data-video-loop="true" data-video-play-only-visible="true" data-video-lazy-load="true" data-video-fallback-src="" data-element="inner" data-pb-style="DMQSTSW"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><iframe scrolling="no" src="//static.emaileri.fi/forms/hartman/2024/inverted/fin" aria-label="no" title="no" style="width:100%; max-width:480px; height:180px;" frameborder="0"></iframe><br></div></div></div></div></div><div class="col-sm-4"><div class="std"><style>#html-body [data-pb-style=K4YJOUW],#html-body [data-pb-style=X03RA6R]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=X03RA6R]{justify-content:flex-start;display:flex;flex-direction:column;border-style:none;border-width:1px;border-radius:0;margin:0;padding:0}#html-body [data-pb-style=K4YJOUW]{align-self:stretch}#html-body [data-pb-style=RTXFPM3]{display:flex;width:100%}#html-body [data-pb-style=XTML593]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;border-style:none;border-width:1px;border-radius:0;width:50%;margin:0;padding:0 10px 0 0;align-self:stretch}#html-body [data-pb-style=G8SQAG5],#html-body [data-pb-style=VDKNRCH]{border-style:none;border-width:1px;border-radius:0;margin:0;padding:0}#html-body [data-pb-style=VDKNRCH]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;width:50%;padding:0 10px 0 0;align-self:stretch}#html-body [data-pb-style=VO6SQPL]{border-style:none;border-width:1px;border-radius:0;margin:0;padding:0}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div class="column-2" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-video-fallback-src="" data-element="inner" data-pb-style="X03RA6R"><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="K4YJOUW"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="RTXFPM3"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="XTML593"><div data-content-type="text" data-appearance="default" data-element="main" data-pb-style="G8SQAG5"><p><a tabindex="0" href="https://www.hartman.fi/fi/rautakauppa"><span style="font-size: 12px;">Kuluttajille</span></a></p> 871<p><span style="line-height: 10px;"><a tabindex="0" href="https://www.hartman.fi/fi/ammattirakentajille"><span style="font-size: 12px;">Ammattirakentajille</span></a></span></p> 872<p><a tabindex="0" href="https://www.hartman.fi/fi/jalleenmyyjille"><span style="font-size: 12px;">Jälleenmyyjille</span></a></p> 873<p><span style="line-height: 10px;"><a tabindex="0" href="https://www.hartman.fi/fi/terasmyynti"><span style="font-size: 12px;">Teräsmyynti</span></a></span></p> 874<p><a tabindex="0" href="https://www.hartman.fi/fi/teollisuuspalvelut"><span style="font-size: 12px;">Teollisuuspalvelut</span></a></p> 875<p><a tabindex="0" href="https://www.hartman.fi/fi/puutavara-ja-levymyynti"><span style="font-size: 12px;">Puu- ja levymyynti</span></a></p> 876<p><a tabindex="0" href="https://www.hartman.fi/fi/puhtaanapito"><span style="font-size: 12px;">Puhtaanapito</span></a></p> 877<p><span style="line-height: 10px;"><a tabindex="0" href="https://www.hartman.fi/fi/teollisuusmaalit"><span style="font-size: 12px;">Teollisuusmaalit</span></a></span></p> 878<p><span style="font-size: 12px; line-height: 10px;"><a tabindex="0" href="https://www.hartman.fi/fi/tilaa-uutiskirje">Tilaa uutiskirje</a></span></p> 879<p><span style="font-size: 12px; line-height: 10px;"><span style="line-height: 10px;"><a tabindex="0" href="https://www.hartman.fi/fi/yhteystiedot"><span style="font-size: 12px;">Yhteystiedot</span></a></span></span></p></div></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="VDKNRCH"><div data-content-type="text" data-appearance="default" data-element="main" data-pb-style="VO6SQPL"><p><span style="line-height: 10px;"><a tabindex="0" href="https://www.hartman.fi/fi/sisustaminen"><span style="font-size: 12px;">Hartman Sisustaa</span></a></span></p> 880<p><span style="line-height: 10px;"><a tabindex="0" href="https://www.hartman.fi/fi/clickcollect"><span style="font-size: 12px;">Click & Collect</span></a></span></p> 881<p><a tabindex="0" href="https://www.hartman.fi/fi/inspiraatiovinkit"><span style="font-size: 12px;">Inspiraatio ja vinkit</span></a></p> 882<p><span style="line-height: 10px;"><a tabindex="0" href="https://www.hartman.fi/fi/inspiraatio"><span style="font-size: 12px;">Esitteet</span></a></span></p> 883<p><span style="line-height: 10px; font-size: 12px;"><a tabindex="0" href="https://www.hartman.fi/fi/vastuullisuus">Vastuullisuus</a></span></p> 884<p><a tabindex="0" href="https://www.hartman.fi/fi/usein-kysyttya"><span style="font-size: 12px;">Usein kysytyt kysymykset</span></a></p> 885<p><span style="line-height: 10px;"><a tabindex="0" href="https://www.hartman.fi/fi/kuljetuspalvelu"><span style="font-size: 12px;">Kuljetuspalvelu</span></a></span></p> 886<p><a tabindex="-1" href="https://www.hartman.fi/fi/export"><span style="line-height: 10px; font-size: 12px;">Vienti</span></a></p> 887<p><span style="line-height: 10px;"><a tabindex="0" href="https://www.hartman.fi/fi/virhevastuu-ja-takuu"><span style="font-size: 12px;">Virhevastuu ja takuu</span></a></span></p></div></div></div></div></div></div></div></div><div class="col-sm-4"><div class="std"><style>#html-body [data-pb-style=KRKMMWW]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;border-style:none;border-width:1px;border-radius:0;margin:0 0 10px;padding:0}#html-body [data-pb-style=FHXG9OR],#html-body [data-pb-style=JXMSG8G],#html-body [data-pb-style=P3C8L1A],#html-body [data-pb-style=T0WTKG2]{border-style:none;border-width:1px;border-radius:0;margin:0;padding:0}#html-body [data-pb-style=G2V21I5],#html-body [data-pb-style=K17H795]{background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll}#html-body [data-pb-style=K17H795]{justify-content:flex-start;display:flex;flex-direction:column;border-style:none;border-width:1px;border-radius:0;margin:30px 0 0;padding:0}#html-body [data-pb-style=G2V21I5]{align-self:stretch}#html-body [data-pb-style=VN0IN84]{display:flex;width:100%}#html-body [data-pb-style=MYPAU68]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;border-style:none;border-width:1px;border-radius:0;width:16.6667%;margin:0;padding:10px;align-self:stretch}#html-body [data-pb-style=FC077RA]{margin:0;padding:0}#html-body [data-pb-style=B52UB7A],#html-body [data-pb-style=G3ILKQ9]{border-style:none;border-width:1px;border-radius:0;max-width:100%;height:auto}#html-body [data-pb-style=XUBHEIA]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;border-style:none;border-width:1px;border-radius:0;width:16.6667%;margin:0;padding:10px;align-self:stretch}#html-body [data-pb-style=P192V3R]{margin:0;padding:0}#html-body [data-pb-style=C38OE0V],#html-body [data-pb-style=RNRDXBQ]{border-style:none;border-width:1px;border-radius:0;max-width:100%;height:auto}#html-body [data-pb-style=F3HYKHW]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;border-style:none;border-width:1px;border-radius:0;width:16.6667%;margin:0;padding:10px;align-self:stretch}#html-body [data-pb-style=P2CEAKW]{margin:0;padding:0}#html-body [data-pb-style=BYW2QTY],#html-body [data-pb-style=N4DVM7V]{border-style:none;border-width:1px;border-radius:0;max-width:100%;height:auto}#html-body [data-pb-style=TUE6TK8]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;border-style:none;border-width:1px;border-radius:0;width:33.3333%;margin:0;padding:10px;align-self:stretch}#html-body [data-pb-style=XPDYI76]{margin:0;padding:0}#html-body [data-pb-style=LFJJ1FR],#html-body [data-pb-style=YQXNO31]{border-style:none;border-width:1px;border-radius:0;max-width:100%;height:auto}#html-body [data-pb-style=WTIC9RN]{justify-content:flex-start;display:flex;flex-direction:column;background-position:left top;background-size:cover;background-repeat:no-repeat;background-attachment:scroll;border-style:none;border-width:1px;border-radius:0;width:16.6667%;margin:0;padding:10px;align-self:stretch}#html-body [data-pb-style=M2VYIXH]{margin:0;padding:0}#html-body [data-pb-style=EK7OIN0],#html-body [data-pb-
887style=H3TMC3D]{border-style:none;border-width:1px;border-radius:0;max-width:100%;height:auto}</style><div data-content-type="row" data-appearance="contained" data-element="main"><div class="column-3" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-video-fallback-src="" data-element="inner" data-pb-style="KRKMMWW"><div data-content-type="text" data-appearance="default" data-element="main" data-pb-style="FHXG9OR"><p><span style="font-size: 12px;"><a href="https://www.hartman.fi/fi/tietosuojaseloste">Tietosuojaseloste</a></span></p></div><div data-content-type="text" data-appearance="default" data-element="main" data-pb-style="P3C8L1A"><p><a href="https://www.hartman.fi/fi/saavutettavuusseloste"><span style="font-size: 12px;">Saavutettavuusseloste</span></a></p></div><div data-content-type="text" data-appearance="default" data-element="main" data-pb-style="JXMSG8G"><p><span style="font-size: 12px;"><a href="https://www.hartman.fi/fi/toimitusehdot">Toimitusehdot</a></span></p></div><div data-content-type="text" data-appearance="default" data-element="main" data-pb-style="T0WTKG2"><p><a href="https://www.hartman.fi/fi/yhteydenottolomake"><span style="font-size: 12px;">Yhteydenottolomake</span></a></p></div><div data-content-type="text" data-appearance="default" data-element="main"><p><a href="https://www.hartman.fi/fi/tiliasiakkuus"><span style="font-size: 12px;">Tilinavauslomakkeet</span></a></p></div><div data-content-type="text" data-appearance="default" data-element="main"><p><a href="https://www.hartman.fi/avoimet-tyopaikat"><span style="font-size: 12px;">Avoimet työpaikat</span></a></p></div><div data-content-type="text" data-appearance="default" data-element="main"><p><a href="https://www.hartman.fi/fi/verkkokaupan-peruuttamislomake"><span style="font-size: 12px;">Peruuttamislomake</span></a></p></div></div></div><div data-content-type="row" data-appearance="contained" data-element="main"><div class="social-links" data-enable-parallax="0" data-parallax-speed="0.5" data-background-images="{}" data-video-fallback-src="" data-element="inner" data-pb-style="K17H795"><div class="pagebuilder-column-group" data-background-images="{}" data-content-type="column-group" data-appearance="default" data-grid-size="12" data-element="main" data-pb-style="G2V21I5"><div class="pagebuilder-column-line" data-content-type="column-line" data-element="main" data-pb-style="VN0IN84"><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="MYPAU68"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="FC077RA"><a href="https://www.facebook.com/HartmanRautaJarn" target="_blank" data-link-type="default" title="facebook" data-element="link"><img class="lazyload pagebuilder-mobile-hidden" data-src="https://www.hartman.fi/media/wysiwyg/f_logo_RGB-White_36.png" alt="facebook" title="facebook" data-element="desktop_image" data-pb-style="B52UB7A"><img class="lazyload pagebuilder-mobile-only" data-src="https://www.hartman.fi/media/wysiwyg/f_logo_RGB-White_36.png" alt="facebook" title="facebook" data-element="mobile_image" data-pb-style="G3ILKQ9"></a></figure></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="XUBHEIA"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="P192V3R"><a href="https://www.instagram.com/hartman_1862/" target="_blank" data-link-type="default" title="instagram" data-element="link"><img class="lazyload pagebuilder-mobile-hidden" data-src="https://www.hartman.fi/media/wysiwyg/icon_instagram.png" alt="instagram" title="instagram" data-element="desktop_image" data-pb-style="C38OE0V"><img class="lazyload pagebuilder-mobile-only" data-src="https://www.hartman.fi/media/wysiwyg/icon_instagram.png" alt="instagram" title="instagram" data-element="mobile_image" data-pb-style="RNRDXBQ"></a></figure></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="F3HYKHW"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="P2CEAKW"><a href="https://www.linkedin.com/company/hartmanrauta" target="_blank" data-link-type="default" title="linkedin" data-element="link"><img class="lazyload pagebuilder-mobile-hidden" data-src="https://www.hartman.fi/media/wysiwyg/small_in_white.png" alt="linkedin" title="linkedin" data-element="desktop_image" data-pb-style="BYW2QTY"><img class="lazyload pagebuilder-mobile-only" data-src="https://www.hartman.fi/media/wysiwyg/small_in_white.png" alt="linkedin" title="linkedin" data-element="mobile_image" data-pb-style="N4DVM7V"></a></figure></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="TUE6TK8"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="XPDYI
88776"><a href="https://www.youtube.com/channel/UCeihD0aYczyiKvkBQ5MV2rw" target="_blank" data-link-type="default" title="youtube" data-element="link"><img class="lazyload pagebuilder-mobile-hidden" data-src="https://www.hartman.fi/media/wysiwyg/pikku_youtube_white.png" alt="youtube" title="youtube" data-element="desktop_image" data-pb-style="YQXNO31"><img class="lazyload pagebuilder-mobile-only" data-src="https://www.hartman.fi/media/wysiwyg/pikku_youtube_white.png" alt="youtube" title="youtube" data-element="mobile_image" data-pb-style="LFJJ1FR"></a></figure></div><div class="pagebuilder-column" data-content-type="column" data-appearance="full-height" data-background-images="{}" data-element="main" data-pb-style="WTIC9RN"><figure data-content-type="image" data-appearance="full-width" data-element="main" data-pb-style="M2VYIXH"><a href="https://twitter.com/hartman1862" target="_blank" data-link-type="default" title="twitter" data-element="link"><img class="lazyload pagebuilder-mobile-hidden" data-src="https://www.hartman.fi/media/wysiwyg/2021_Twitter_logo_-_white.png" alt="twitter" title="twitter" data-element="desktop_image" data-pb-style="EK7OIN0"><img class="lazyload pagebuilder-mobile-only" data-src="https://www.hartman.fi/media/wysiwyg/2021_Twitter_logo_-_white.png" alt="twitter" title="twitter" data-element="mobile_image" data-pb-style="H3TMC3D"></a></figure></div></div></div></div></div></div></div> </div> 888 889 890 </div> <!-- end: inner-container --> 891 </div> <!-- end: footer-primary --> 892 </div> 893 894 895 896 897 <div class="footer-bottom-container section-container"> 898 <div class="footer-bottom footer container"> 899 <div class="inner-container"> 900 901 <div class="item item-left"> 902 <div class="footer-copyright"><small class="copyright"> 903 <span>Hartman Rauta Oy | PL 53, 65101 Vaasa | Y-tunnus: 0628046-1 | Verkkolaskuosoite: TE003706280461 | [email protected]</span> 904</small> 905</div> 906 </div> 907 908 909 910 </div> <!-- end: inner-container --> 911 </div> <!-- end: footer-bottom --> 912 </div> 913 914 915 <a id="scroll-to-top" class="ic ic-up" href="#top" title="scroll to top" aria-label="scroll to top"></a> 916 917</div> <!-- end: footer-container3 --> 918</div> <!-- end: footer-container2 --> 919</div> <!-- end: footer-container --> 920 921<style> #ui-id-1 li.level0.ambrands-menu-item { display: none; } </style> 922 923</div><div id="off-canvas" class="off-canvas position-left" data-off-canvas data-content-scroll="false"> 924 925 <div class="off-canvas-wrap" data-off-canvas-scrollbox style="overflow: auto; max-height: 100vh;"> 926 <div class="off-canvas-title"> 927 <a 928 class="logo" 929 href="https://www.hartman.fi/fi/" 930 title="" 931 aria-label="store logo"> 932 <img src="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/images/logo_white.svg" 933 title="" 934 alt="" 935 /> 936</a> 937 </div> 938 939 <!-- Close button --> 940 <button class="close-button" aria-label="Sulje" type="button" data-close> 941 <svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewB
941ox="0 0 11 11" aria-label="Icon SVG"> 942 <path fill="#FFF" fill-rule="evenodd" d="M4 0L4 4 0 4 0 7 4 7 4 11 7.001 11 7.001 7 11 7 11 4 7.001 4 7.001 0z" transform="rotate(-45 5.5 5.5)"/> 943 </svg> 944 </button> 945 946 947<!-- Drilldown menu --> 948<ul id="main-menu" class="menu" role="menubar" data-drilldown data-options="autoHeight: true; animateHeight: true; parentLink: true; animationDuration: 200; backButton: <li class="js-drilldown-back"><a tabindex="0">Takaisin</a></li>"> 949 950 <li class="level0 ambrands-menu-item" 951 data-ambrands-js="brands-menu-link"> 952 <a href="https://www.hartman.fi/fi/tuotemerkki/" 953 class="level-top ambrands-link" 954 title="Tuotemerkit"> 955 Tuotemerkit </a> 956 </li> 957<li role="none" class="level0 nav-1 category-item first level-top nav-item parent"><a href="https://www.hartman.fi/fi/tuotekoosteet" role="menuitem" class="level-top" ><span>Tuotekoosteet</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-1-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tuotekoosteet/terassirakentaminen" role="menuitem" ><span>Terassirakentaminen</span></a></li><li role="none" class="level1 nav-1-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tuotekoosteet/sauna-ja-sisustus-kuntoon" role="menuitem" ><span>Sauna- ja sisustus kuntoon</span></a></li><li role="none" class="level1 nav-1-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/tuotekoosteet/saunatuotteet" role="menuitem" ><span>Saunatuotteet</span></a></li></ul></li><li role="none" class="level0 nav-2 category-item level-top nav-item"><a href="https://www.hartman.fi/fi/tarjoukset" role="menuitem" class="level-top" ><span>Tarjoukset</span></a></li><li role="none" class="level0 nav-3 category-item level-top nav-item"><a href="https://www.hartman.fi/fi/super-outlet" role="menuitem" class="level-top" ><span>Super Outlet</span></a></li><li role="none" class="level0 nav-4 category-item level-top nav-item"><a href="https://www.hartman.fi/fi/outlet" role="menuitem" class="level-top" ><span>Outlet</span></a></li><li role="none" class="level0 nav-5 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/koti-ja-mokki" role="menuitem" class="level-top" ><span>Koti ja mökki</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-5-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/matot-ja-ritilat" role="menuitem" ><span>Matot ja ritilät</span></a></li><li role="none" class="level1 nav-5-2 category-item nav-item parent"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet" role="menuitem" ><span>Kiinteistötarvikkeet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-5-2-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/liputusvalineet" role="menuitem" ><span>Liputusvälineet</span></a></li><li role="none" class="level2 nav-5-2-2 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/tuuletustelineet-ja-kuivaustelineet" role="menuitem" ><span>Tuuletustelineet ja kuivaustelineet</span></a></li><li role="none" class="level2 nav-5-2-3 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/pyoratelinet-ja-pyorakatokset" role="menuitem" ><span>Pyörätelinet ja pyöräkatokset</span></a></li><li role="none" class="level2 nav-5-2-4 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/postilaatikot-ja-muut-ulkovarusteet" role="menuitem" ><span>
957Postilaatikot ja muut ulkovarusteet</span></a></li><li role="none" class="level2 nav-5-2-5 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/muut-betonivalimotuotteet" role="menuitem" ><span>Muut betonivalimotuotteet</span></a></li><li role="none" class="level2 nav-5-2-6 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/hiekoitusmurske-ja-hiekoitussepeli" role="menuitem" ><span>Hiekoitusmurske ja hiekoitussepeli</span></a></li><li role="none" class="level2 nav-5-2-7 category-item nav-item parent"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/jatehuolto" role="menuitem" ><span>Jätehuolto</span></a><ul class="level2 submenu"><li role="none" class="level3 nav-5-2-7-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/jatehuolto/muut-jatehuoltolaitteet-tarv" role="menuitem" ><span>Muut jätehuoltolaitteet, -tarv</span></a></li><li role="none" class="level3 nav-5-2-7-2 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/jatehuolto/jate-kierratyssailiot" role="menuitem" ><span>Jäte-, kierrätyssäiliöt</span></a></li><li role="none" class="level3 nav-5-2-7-3 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/jatehuolto/jate-tuhka-astiat" role="menuitem" ><span>Jäte-, tuhka-astiat</span></a></li><li role="none" class="level3 nav-5-2-7-4 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/jatehuolto/jatesakit" role="menuitem" ><span>Jätesäkit</span></a></li><li role="none" class="level3 nav-5-2-7-5 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/jatehuolto/jateastiat-ja-hiekka-astiat" role="menuitem" ><span>Jäteastiat ja hiekka-astiat</span></a></li><li role="none" class="level3 nav-5-2-7-6 category-item last nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/jatehuolto/jatesakkiteline" role="menuitem" ><span>Jätesäkkiteline</span></a></li></ul></li><li role="none" class="level2 nav-5-2-8 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/palonilmaisimet" role="menuitem" ><span>Palonilmaisimet</span></a></li><li role="none" class="level2 nav-5-2-9 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/jauhesammuttimet" role="menuitem" ><span>Jauhesammuttimet</span></a></li><li role="none" class="level2 nav-5-2-10 category-item last nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kiinteistotarvikkeet/muut-palotorjuntavalineet" role="menuitem" ><span>Muut palotorjuntavälineet</span></a></li></ul></li><li role="none" class="level1 nav-5-3 category-item nav-item parent"><a href="https://www.hartman.fi/fi/koti-ja-mokki/puutarha-ja-metsanhoito" role="menuitem" ><span>Puutarha ja metsänhoito</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-5-3-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/puutarha-ja-metsanhoito/vesurit-petkeleet-kuorimarauda" role="menuitem" ><span>Vesurit,petkeleet,kuorimarauda</span></a></li><li role="none" class="level2 nav-5-3-2 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/puutarha-ja-metsanhoito/moottorisahat" role="menuitem" ><span>Moottorisahat</span></a></li><li role="none" class="level2 nav-5-3-3 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/puutarha-ja-metsanhoito/moottorisahojen-lisalaitteet" role="menuitem" ><span>Moottorisahojen lisälaitteet</span></a></li><li role="none" class="level2 nav-5-3-4 category-item last nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/puutarha-ja-metsanhoito/varaosat" role="menuitem" ><span>Varaosat</span></a></li></ul></li><li role="none" class="level1 nav-5-4 category-item nav-item parent"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kalusteet-ja-kotitalouskoneet" role="menuitem" ><span>Kalusteet ja kotitalouskoneet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-5-4-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kalusteet-ja-kotitalouskoneet/hyllystot-osarakenteiset" role="menuitem" ><span>Hyllystöt, osarakenteiset</span></a></li><li role="none" class="level2 nav-5-4-2 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kalusteet-ja-kotitalouskoneet/keittion-kalusteet" role="menuitem" ><span>
957Keittiön kalusteet</span></a></li><li role="none" class="level2 nav-5-4-3 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kalusteet-ja-kotitalouskoneet/keskuspolynimurit" role="menuitem" ><span>Keskuspölynimurit</span></a></li><li role="none" class="level2 nav-5-4-4 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kalusteet-ja-kotitalouskoneet/mikroaaltouuni" role="menuitem" ><span>Mikroaaltouuni</span></a></li><li role="none" class="level2 nav-5-4-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/kalusteet-ja-kotitalouskoneet/lampopuhaltimet" role="menuitem" ><span>Lämpöpuhaltimet</span></a></li></ul></li><li role="none" class="level1 nav-5-5 category-item nav-item parent"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat" role="menuitem" ><span>Taloustavarat</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-5-5-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/muut-kotitaloustarvikkeet-ja-m" role="menuitem" ><span>Muut kotitaloustarvikkeet ja m</span></a></li><li role="none" class="level2 nav-5-5-2 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/muut-mainostarvikkeet" role="menuitem" ><span>Muut mainostarvikkeet</span></a></li><li role="none" class="level2 nav-5-5-3 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/sokerit" role="menuitem" ><span>Sokerit</span></a></li><li role="none" class="level2 nav-5-5-4 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/muut-makeiset" role="menuitem" ><span>Muut makeiset</span></a></li><li role="none" class="level2 nav-5-5-5 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/paahdettu-kahvi-jauheena" role="menuitem" ><span>Paahdettu kahvi, jauheena</span></a></li><li role="none" class="level2 nav-5-5-6 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/pussitee" role="menuitem" ><span>Pussitee</span></a></li><li role="none" class="level2 nav-5-5-7 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/suodatinpaperit" role="menuitem" ><span>Suodatinpaperit</span></a></li><li role="none" class="level2 nav-5-5-8 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/kahvinkeittimet" role="menuitem" ><span>Kahvinkeittimet</span></a></li><li role="none" class="level2 nav-5-5-9 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/suomustimet-keittiosakset" role="menuitem" ><span>Suomustimet , keittiösakset</span></a></li><li role="none" class="level2 nav-5-5-10 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/kertakayttolautaset" role="menuitem" ><span>Kertakäyttölautaset</span></a></li><li role="none" class="level2 nav-5-5-11 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/kertakayttomukit" role="menuitem" ><span>Kertakäyttömukit</span></a></li><li role="none" class="level2 nav-5-5-12 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/kertakayttoiset-ruokailuvaline" role="menuitem" ><span>Kertakäyttöiset ruokailuväline</span></a></li><li role="none" class="level2 nav-5-5-13 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/muut-kertakayttoastiat-ja-valineet" role="menuitem" ><span>Muut kertakäyttöastiat ja välineet</span></a></li><li role="none" class="level2 nav-5-5-14 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/pyykkikorit" role="menuitem" ><span>Pyykkikorit</span></a></li><li role="none" class="level2 nav-5-5-15 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/saavit-ja-sangot" role="menuitem" ><span>Saavit ja sangot</span></a></li><li role="none" class="level2 nav-5-5-16 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/pesuvadit-ja-soikot" role="menuitem" ><span>Pesuvadit ja -soikot</span></a></li><li role="none" class="level2 nav-5-5-17 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/vesikauhat" role="menuitem" ><span>Vesikauhat</span></a></li><li role="none" class="level2 nav-5-5-18 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/muut-muoviastiat" role="menuitem" ><span>Muut muoviastiat</span></a></li><li role="none" class="level2 nav-5-5-19 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/talousalumiinit-foliot" role="menuitem" ><span>Talousalumiinit, -foliot</span></a></li><li role="none" class="level2 nav-5-5-20 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/talouskelmut-ja-pussit" role="menuitem" ><span>Talouskelmut ja -pussit</span></a></li><li role="none" class="level2 nav-5-5-21 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/talouspergamiinit" role="menuitem" ><span>Talouspergamiinit</span></a></li><li role="none" class="level2 nav-5-5-22 category-item nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/lampo-ja-kosteusmittarit" role="menuitem" ><span>Lämpö- ja kosteusmittarit</span></a></li><li role="none" class="level2 nav-5-5-23 category-item last nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/taloustavarat/hiiren-rotanpyydykset" role="menuitem" ><span>Hiiren-, rotanpyydykset</span></a></li></ul></li>
957<li role="none" class="level1 nav-5-6 category-item nav-item parent"><a href="https://www.hartman.fi/fi/koti-ja-mokki/laiturit" role="menuitem" ><span>Laiturit</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-5-6-1 category-item first last nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/laiturit/laiturit-ja-osat" role="menuitem" ><span>Laiturit ja osat</span></a></li></ul></li><li role="none" class="level1 nav-5-7 category-item last nav-item"><a href="https://www.hartman.fi/fi/koti-ja-mokki/tikkaat" role="menuitem" ><span>Tikkaat</span></a></li></ul></li><li role="none" class="level0 nav-6 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/piha-ja-puutarha" role="menuitem" class="level-top" ><span>Piha ja puutarha</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-6-1 category-item first nav-item parent"><a href="https://www.hartman.fi/fi/piha-ja-koti/piha-ja-puutarha/kompostorit-ja-kaymalat" role="menuitem" ><span>Kompostorit ja käymälät</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-6-1-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/piha-ja-koti/piha-ja-puutarha/kompostorit-ja-kaymalat/kuivakaymalat" role="menuitem" ><span>Kuivakäymälät</span></a></li><li role="none" class="level2 nav-6-1-2 category-item last nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/kompostorit-ja-kaymalat/kompostiastiat" role="menuitem" ><span>Kompostiastiat</span></a></li></ul></li><li role="none" class="level1 nav-6-2 category-item nav-item parent"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/puutarhalannoitteet-ja-kasviravinteet" role="menuitem" ><span>Puutarhalannoitteet ja kasviravinteet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-6-2-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/puutarhalannoitteet-ja-kasviravinteet/maantiesuola" role="menuitem" ><span>Maantiesuola</span></a></li><li role="none" class="level2 nav-6-2-2 category-item nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/puutarhalannoitteet-ja-kasviravinteet/nurmikonsiemenet" role="menuitem" ><span>Nurmikonsiemenet</span></a></li><li role="none" class="level2 nav-6-2-3 category-item nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/puutarhalannoitteet-ja-kasviravinteet/nurmikonlannoitteet-ja-hivenainelannoitteet" role="menuitem" ><span>Nurmikonlannoitteet ja hivenainelannoitteet</span></a></li><li role="none" class="level2 nav-6-2-4 category-item last nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/puutarhalannoitteet-ja-kasviravinteet/puutarhamulta-kuorikatteet-ja-kompostikuivikkeet" role="menuitem" ><span>Puutarhamulta, kuorikatteet ja kompostikuivikkeet</span></a></li></ul></li><li role="none" class="level1 nav-6-3 category-item nav-item parent"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/hyonteisten-ja-tuholaisten-torjunta" role="menuitem" ><span>Hyönteisten ja tuholaisten torjunta</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-6-3-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/hyonteisten-ja-tuholaisten-torjunta/hyonteiskarkotteet-ja-ansat" role="menuitem" ><span>Hyönteiskarkotteet ja -ansat</span></a></li><li role="none" class="level2 nav-6-3-2 category-item last nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/hyonteisten-ja-tuholaisten-torjunta/kasvinsuojelu-ja-paineruiskut" role="menuitem" ><span>Kasvinsuojelu- ja paineruiskut</span></a></li></ul></li><li role="none" class="level1 nav-6-4 category-item nav-item parent"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/pihalaatat-ja-pihakivet" role="menuitem" ><span>Pihalaatat ja pihakivet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-6-4-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/pihalaatat-ja-pihakivet/reunakivet" role="menuitem" ><span>Reunakivet</span></a></li><li role="none" class="level2 nav-6-4-2 category-item nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/pihalaatat-ja-pihakivet/kaytavalaatat-sidekivet" role="menuitem" ><span>Käytävälaatat, sidekivet</span></a></li><li role="none" class="level2 nav-6-4-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/pihalaatat-ja-pihakivet/liuskekivet" role="menuitem" ><span>Liuskekivet</span></a></li></ul></li>
957<li role="none" class="level1 nav-6-5 category-item nav-item parent"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/piha-aidat-ja-puutarhaverkot" role="menuitem" ><span>Piha-aidat ja puutarhaverkot</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-6-5-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/piha-aidat-ja-puutarhaverkot/hyonteisverkot" role="menuitem" ><span>Hyönteisverkot</span></a></li><li role="none" class="level2 nav-6-5-2 category-item nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/piha-aidat-ja-puutarhaverkot/seulaverkot" role="menuitem" ><span>Seulaverkot</span></a></li><li role="none" class="level2 nav-6-5-3 category-item nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/piha-aidat-ja-puutarhaverkot/aitaverkot-ja-tarvikkeet" role="menuitem" ><span>Aitaverkot ja tarvikkeet</span></a></li><li role="none" class="level2 nav-6-5-4 category-item nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/piha-aidat-ja-puutarhaverkot/jyrsija-ja-kanaverkot" role="menuitem" ><span>Jyrsijä- ja kanaverkot</span></a></li><li role="none" class="level2 nav-6-5-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/piha-aidat-ja-puutarhaverkot/minkki-ja-elainverkot" role="menuitem" ><span>Minkki- ja eläinverkot</span></a></li></ul></li><li role="none" class="level1 nav-6-6 category-item nav-item parent"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/puutarhatyokalut-ja-puutarhakoneet" role="menuitem" ><span>Puutarhatyökalut ja puutarhakoneet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-6-6-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/puutarhatyokalut-ja-puutarhakoneet/hakkuu-halkaisu-veisto-palo" role="menuitem" ><span>Hakkuu-,halkaisu-,veisto-,palo</span></a></li><li role="none" class="level2 nav-6-6-2 category-item last nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/puutarhatyokalut-ja-puutarhakoneet/pensasleikkurit" role="menuitem" ><span>Pensasleikkurit</span></a></li></ul></li><li role="none" class="level1 nav-6-7 category-item nav-item parent"><a href="https://www.hartman.fi/fi/piha-ja-koti/piha-ja-puutarha/puutarhaletkut-ja-sadettimet" role="menuitem" ><span>Puutarhaletkut ja sadettimet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-6-7-1 category-item first last nav-item"><a href="https://www.hartman.fi/fi/piha-ja-koti/piha-ja-puutarha/puutarhaletkut-ja-sadettimet/puutarhaletkut" role="menuitem" ><span>Puutarhaletkut</span></a></li></ul></li><li role="none" class="level1 nav-6-8 category-item nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/suodatinkankaat-ja-kateharsot" role="menuitem" ><span>Suodatinkankaat ja kateharsot</span></a></li><li role="none" class="level1 nav-6-9 category-item nav-item parent"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/ulkotulisijat-ja-tarvikkeet" role="menuitem" ><span>Ulkotulisijat ja tarvikkeet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-6-9-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/ulkotulisijat-ja-tarvikkeet/kaasu-ja-koksihiili" role="menuitem" ><span>Kaasu- ja koksihiili</span></a></li><li role="none" class="level2 nav-6-9-2 category-item last nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/ulkotulisijat-ja-tarvikkeet/grillihiilet-ja-briketit" role="menuitem" ><span>Grillihiilet ja briketit</span></a></li></ul></li><li role="none" class="level1 nav-6-10 category-item nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/kaulukset-suojat-ja-tuet" role="menuitem" ><span>Kaulukset suojat ja tuet</span></a></li><li role="none" class="level1 nav-6-11 category-item nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/huurreraapat-lumiharjat" role="menuitem" ><span>Huurreraapat,lumiharjat</span></a></li><li role="none" class="level1 nav-6-12 category-item nav-item parent"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/muut-kodin-ulkokalusteet" role="menuitem" ><span>
957Muut kodin ulkokalusteet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-6-12-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/muut-kodin-ulkokalusteet/puutarhakeinut" role="menuitem" ><span>Puutarhakeinut</span></a></li><li role="none" class="level2 nav-6-12-2 category-item nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/muut-kodin-ulkokalusteet/puutarha-parvekepoydat" role="menuitem" ><span>Puutarha-, parvekepöydät</span></a></li><li role="none" class="level2 nav-6-12-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/muut-kodin-ulkokalusteet/puutarha-parveketuolit-pen" role="menuitem" ><span>Puutarha-, parveketuolit, -pen</span></a></li></ul></li><li role="none" class="level1 nav-6-13 category-item last nav-item"><a href="https://www.hartman.fi/fi/piha-ja-puutarha/kukka-altaat-puistovarusteet" role="menuitem" ><span>Kukka-altaat, puistovarusteet</span></a></li></ul></li><li role="none" class="level0 nav-7 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet" role="menuitem" class="level-top" ><span>Rakennustarvikkeet</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-7-1 category-item first nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tiilet-ja-harkot" role="menuitem" ><span>Tiilet ja harkot</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-1-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tiilet-ja-harkot/poltetut-tiilet" role="menuitem" ><span>Poltetut tiilet</span></a></li><li role="none" class="level2 nav-7-1-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tiilet-ja-harkot/kevytsoraharkot" role="menuitem" ><span>Kevytsoraharkot</span></a></li><li role="none" class="level2 nav-7-1-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tiilet-ja-harkot/valiseinaharkot" role="menuitem" ><span>Väliseinäharkot</span></a></li><li role="none" class="level2 nav-7-1-4 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tiilet-ja-harkot/kalkkihiekkatiilet-ja-kalkkihiekkaharkot" role="menuitem" ><span>Kalkkihiekkatiilet ja kalkkihiekkaharkot</span></a></li></ul></li><li role="none" class="level1 nav-7-2 category-item nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tyovalineet" role="menuitem" ><span>Työvälineet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-2-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tyovalineet/pisto-betoni-puutarhalapiot" role="menuitem" ><span>Pisto-,betoni-,puutarhalapiot</span></a></li><li role="none" class="level2 nav-7-2-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tyovalineet/kuuppa-lumilapiot" role="menuitem" ><span>Kuuppa,-lumilapiot</span></a></li><li role="none" class="level2 nav-7-2-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tyovalineet/lumikolat" role="menuitem" ><span>Lumikolat</span></a></li><li role="none" class="level2 nav-7-2-4 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tyovalineet/terasseipaat-alumiinikanget-ja-rautakanget" role="menuitem" ><span>Terässeipäät, alumiinikanget ja rautakanget</span></a></li><li role="none" class="level2 nav-7-2-5 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tyovalineet/hangot-talikot" role="menuitem" ><span>Hangot, talikot</span></a></li><li role="none" class="level2 nav-7-2-6 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tyovalineet/haravat-harat" role="menuitem" ><span>Haravat, harat</span></a></li><li role="none" class="level2 nav-7-2-7 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tyovalineet/viikatteet-sirpit" role="menuitem" ><span>Viikatteet, sirpit</span></a></li><li role="none" class="level2 nav-7-2-8 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tyovalineet/pelto-puutarha-istutuskuok" role="menuitem" ><span>Pelto-, puutarha-, istutuskuok</span></a></li><li role="none" class="level2 nav-7-2-9 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tyovalineet/kottikarryt" role="menuitem" ><span>Kottikärryt</span></a></li><li role="none" class="level2 nav-7-2-10 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/tyovalineet/varasto-kerailyvaunut" role="menuitem" ><span>Varasto-, keräilyvaunut</span></a></li></ul></li>
957<li role="none" class="level1 nav-7-3 category-item nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennusterakset-ja-raudoitustuotteet" role="menuitem" ><span>Rakennusteräkset ja raudoitustuotteet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-3-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennusterakset-ja-raudoitustuotteet/raudoituskorokkeet-ja-eristekiinnikkeet" role="menuitem" ><span>Raudoituskorokkeet ja eristekiinnikkeet</span></a></li><li role="none" class="level2 nav-7-3-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennusterakset-ja-raudoitustuotteet/harjaterakset" role="menuitem" ><span>Harjateräkset</span></a></li><li role="none" class="level2 nav-7-3-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennusterakset-ja-raudoitustuotteet/betoniverkot" role="menuitem" ><span>Betoniverkot</span></a></li></ul></li><li role="none" class="level1 nav-7-4 category-item nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/maanrakennustuotteet" role="menuitem" ><span>Maanrakennustuotteet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-4-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/maanrakennustuotteet/kaivonrenkaat-ja-kaivonkannet" role="menuitem" ><span>Kaivonrenkaat ja kaivonkannet</span></a></li><li role="none" class="level2 nav-7-4-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/maanrakennustuotteet/salaojaputket" role="menuitem" ><span>Salaojaputket</span></a></li><li role="none" class="level2 nav-7-4-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/maanrakennustuotteet/salaojakaivot" role="menuitem" ><span>Salaojakaivot</span></a></li><li role="none" class="level2 nav-7-4-4 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/maanrakennustuotteet/rumpuputket" role="menuitem" ><span>Rumpuputket</span></a></li><li role="none" class="level2 nav-7-4-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/maanrakennustuotteet/muut-putket" role="menuitem" ><span>Muut putket</span></a></li></ul></li><li role="none" class="level1 nav-7-5 category-item nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit" role="menuitem" ><span>Betoni, muurausaineet, laastit</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-5-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit/silotteet-ja-pohjatasotteet" role="menuitem" ><span>Silotteet ja pohjatasotteet</span></a></li><li role="none" class="level2 nav-7-5-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit/betonimyllyt" role="menuitem" ><span>Betonimyllyt</span></a></li><li role="none" class="level2 nav-7-5-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit/portland-sementti" role="menuitem" ><span>Portland-sementti</span></a></li><li role="none" class="level2 nav-7-5-4 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit/rakennuskalkit" role="menuitem" ><span>Rakennuskalkit</span></a></li><li role="none" class="level2 nav-7-5-5 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit/kuivabetoni" role="menuitem" ><span>Kuivabetoni</span></a></li><li role="none" class="level2 nav-7-5-6 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit/muurauslaastit" role="menuitem" ><span>Muurauslaastit</span></a></li><li role="none" class="level2 nav-7-5-7 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit/tulenkestavat-massat" role="menuitem" ><span>Tulenkestävät massat</span></a></li><li role="none" class="level2 nav-7-5-8 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit/muut-laastit-tasoitteet" role="menuitem" ><span>Muut laastit, tasoitteet</span></a></li><li role="none" class="level2 nav-7-5-9 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit/saumauslaastit" role="menuitem" ><span>Saumauslaastit</span></a></li><li role="none" class="level2 nav-7-5-10 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit/betonin-lisaaineet" role="menuitem" ><span>
957Betonin lisäaineet</span></a></li><li role="none" class="level2 nav-7-5-11 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit/saumaushiekka" role="menuitem" ><span>Saumaushiekka</span></a></li><li role="none" class="level2 nav-7-5-12 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/betoni-muurausaineet-laastit/paisuntamurtoaineet" role="menuitem" ><span>Paisuntamurtoaineet</span></a></li></ul></li><li role="none" class="level1 nav-7-6 category-item nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet" role="menuitem" ><span>Eristeet ja tiivisteet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-6-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/ikkunatiivisteet" role="menuitem" ><span>Ikkunatiivisteet</span></a></li><li role="none" class="level2 nav-7-6-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/tiivistysnauhat" role="menuitem" ><span>Tiivistysnauhat</span></a></li><li role="none" class="level2 nav-7-6-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/lasivilla" role="menuitem" ><span>Lasivilla</span></a></li><li role="none" class="level2 nav-7-6-4 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/vuorivilla" role="menuitem" ><span>Vuorivilla</span></a></li><li role="none" class="level2 nav-7-6-5 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/eps-eristeet" role="menuitem" ><span>EPS eristeet</span></a></li><li role="none" class="level2 nav-7-6-6 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/vaahtolasimurske" role="menuitem" ><span>Vaahtolasimurske</span></a></li><li role="none" class="level2 nav-7-6-7 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/akustiikkalevyt" role="menuitem" ><span>Akustiikkalevyt </span></a></li><li role="none" class="level2 nav-7-6-8 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/uretaanilevyt" role="menuitem" ><span>Uretaanilevyt</span></a></li><li role="none" class="level2 nav-7-6-9 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/xps-eristeet" role="menuitem" ><span>XPS eristeet</span></a></li><li role="none" class="level2 nav-7-6-10 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/saumausvaahdot" role="menuitem" ><span>Saumausvaahdot</span></a></li><li role="none" class="level2 nav-7-6-11 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/kevytsora" role="menuitem" ><span>Kevytsora</span></a></li><li role="none" class="level2 nav-7-6-12 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/puukuitueristeet" role="menuitem" ><span>Puukuitueristeet</span></a></li><li role="none" class="level2 nav-7-6-13 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/bitumilakat-ja-bitumiliuokset" role="menuitem" ><span>Bitumilakat ja bitumiliuokset</span></a></li><li role="none" class="level2 nav-7-6-14 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/bitumisaumamassa-ja-bitumipaikkausmassat" role="menuitem" ><span>Bitumisaumamassa ja bitumipaikkausmassat</span></a></li><li role="none" class="level2 nav-7-6-15 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/bitumitiivistysnauhat-ja-bitumikitit" role="menuitem" ><span>Bitumitiivistysnauhat ja bitumikitit</span></a></li><li role="none" class="level2 nav-7-6-16 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/bitumisaumaliimat-ja-kateliimat" role="menuitem" ><span>Bitumisaumaliimat ja kateliimat</span></a></li><li role="none" class="level2 nav-7-6-17 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/tervatuotteet" role="menuitem" ><span>Tervatuotteet</span></a></li><li role="none" class="level2 nav-7-6-18 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/eristeet-ja-tiivisteet/vesieristeet" role="menuitem" ><span>
957Vesieristeet</span></a></li></ul></li><li role="none" class="level1 nav-7-7 category-item nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuslevyt-rakennuspaperit-ja-rakennusmuovit" role="menuitem" ><span>Rakennuslevyt, rakennuspaperit ja rakennusmuovit</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-7-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuslevyt-rakennuspaperit-ja-rakennusmuovit/huokoiset-kuitulevyt" role="menuitem" ><span>Huokoiset kuitulevyt</span></a></li><li role="none" class="level2 nav-7-7-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuslevyt-rakennuspaperit-ja-rakennusmuovit/tuulensuojalevyt" role="menuitem" ><span>Tuulensuojalevyt</span></a></li><li role="none" class="level2 nav-7-7-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuslevyt-rakennuspaperit-ja-rakennusmuovit/kipsilevyt" role="menuitem" ><span>Kipsilevyt</span></a></li><li role="none" class="level2 nav-7-7-4 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuslevyt-rakennuspaperit-ja-rakennusmuovit/sileat-kuitusementtilevyt" role="menuitem" ><span>Sileät kuitusementtilevyt</span></a></li><li role="none" class="level2 nav-7-7-5 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuslevyt-rakennuspaperit-ja-rakennusmuovit/erikois-rakennuslevyt" role="menuitem" ><span>Erikois rakennuslevyt</span></a></li><li role="none" class="level2 nav-7-7-6 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuslevyt-rakennuspaperit-ja-rakennusmuovit/alumiinipaperi-ja-ilmansulkupaperi" role="menuitem" ><span>Alumiinipaperi ja ilmansulkupaperi</span></a></li><li role="none" class="level2 nav-7-7-7 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuslevyt-rakennuspaperit-ja-rakennusmuovit/rakennuspaperi-ja-suojapahvi" role="menuitem" ><span>Rakennuspaperi ja suojapahvi</span></a></li><li role="none" class="level2 nav-7-7-8 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuslevyt-rakennuspaperit-ja-rakennusmuovit/muovikalvot" role="menuitem" ><span>Muovikalvot</span></a></li><li role="none" class="level2 nav-7-7-9 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuslevyt-rakennuspaperit-ja-rakennusmuovit/muovipeitteet-ja-kevytpeitteet" role="menuitem" ><span>Muovipeitteet ja kevytpeitteet</span></a></li><li role="none" class="level2 nav-7-7-10 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuslevyt-rakennuspaperit-ja-rakennusmuovit/pakkasmatto-ja-rakennuspeitteet" role="menuitem" ><span>Pakkasmatto ja rakennuspeitteet</span></a></li></ul></li><li role="none" class="level1 nav-7-8 category-item nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/katteet-ja-sadevesijarjestelma" role="menuitem" ><span>Katteet ja sadevesijärjestelmä</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-8-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/katteet-ja-sadevesijarjestelma/kattotikkaat-ja-seinatikkaat" role="menuitem" ><span>Kattotikkaat ja seinätikkaat</span></a></li><li role="none" class="level2 nav-7-8-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/katteet-ja-sadevesijarjestelma/sinkityt-teraskatteet-osat" role="menuitem" ><span>Sinkityt teräskatteet, -osat</span></a></li><li role="none" class="level2 nav-7-8-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/katteet-ja-sadevesijarjestelma/sadevesijarjestelmat" role="menuitem" ><span>Sadevesijärjestelmät</span></a></li><li role="none" class="level2 nav-7-8-4 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/katteet-ja-sadevesijarjestelma/lapiviennit-tiivistyslaipat" role="menuitem" ><span>Läpiviennit, tiivistyslaipat</span></a></li><li role="none" class="level2 nav-7-8-5 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/katteet-ja-sadevesijarjestelma/kattohuopa-ja-bitumikermit" role="menuitem" ><span>Kattohuopa ja bitumikermit</span></a></li><li role="none" class="level2 nav-7-8-6 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/katteet-ja-sadevesijarjestelma/kattohuopalaatat" role="menuitem" ><span>Kattohuopalaatat</span></a></li><li role="none" class="level2 nav-7-8-7 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/katteet-ja-sadevesijarjestelma/valokatteet" role="menuitem" ><span>Valokatteet</span></a></li><li role="none" class="level2 nav-7-8-8 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/katteet-ja-sadevesijarjestelma/aluskate" role="menuitem" ><span>Aluskate</span></a></li><li role="none" class="level2 nav-7-8-9 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/katteet-ja-sadevesijarjestelma/suojapahvi-ja-remonttipaperi" role="menuitem" ><span>
957Suojapahvi ja remonttipaperi</span></a></li><li role="none" class="level2 nav-7-8-10 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/katteet-ja-sadevesijarjestelma/maalatut-teraslevyt" role="menuitem" ><span>Maalatut teräslevyt</span></a></li></ul></li><li role="none" class="level1 nav-7-9 category-item nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/ovet-ja-ikkunat" role="menuitem" ><span>Ovet ja ikkunat</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-9-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/ovet-ja-ikkunat/asunnon-ulko-ovet-ja-mokkiovet" role="menuitem" ><span>Asunnon ulko-ovet ja mökkiovet</span></a></li><li role="none" class="level2 nav-7-9-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/ovet-ja-ikkunat/valiovet" role="menuitem" ><span>Väliovet</span></a></li><li role="none" class="level2 nav-7-9-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/ovet-ja-ikkunat/saunan-ovet" role="menuitem" ><span>Saunan ovet</span></a></li><li role="none" class="level2 nav-7-9-4 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/ovet-ja-ikkunat/palo-ovet-ja-vaestonsuoja-ovet" role="menuitem" ><span>Palo-ovet ja väestönsuoja-ovet</span></a></li></ul></li><li role="none" class="level1 nav-7-10 category-item nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet" role="menuitem" ><span>Kiinnittimet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-10-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/karmitulpat" role="menuitem" ><span>Karmitulpat</span></a></li><li role="none" class="level2 nav-7-10-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/saparo-ripustuskoukut" role="menuitem" ><span>Saparo-, ripustuskoukut</span></a></li><li role="none" class="level2 nav-7-10-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/lankanaulat-dryckertnaulat-ja-uppokantanaulat" role="menuitem" ><span>Lankanaulat, dryckertnaulat ja uppokantanaulat</span></a></li><li role="none" class="level2 nav-7-10-4 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/kierre-kampa-kaksikantanaula" role="menuitem" ><span>Kierre-,kampa-,kaksikantanaula</span></a></li><li role="none" class="level2 nav-7-10-5 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/huopa-naulat-ja-kipsinaulat" role="menuitem" ><span>Huopa naulat ja kipsinaulat</span></a></li><li role="none" class="level2 nav-7-10-6 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/listanaulat-ja-kuparinaulat" role="menuitem" ><span>Listanaulat ja kuparinaulat</span></a></li><li role="none" class="level2 nav-7-10-7 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/terasnaulat" role="menuitem" ><span>Teräsnaulat</span></a></li><li role="none" class="level2 nav-7-10-8 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/konenaulat" role="menuitem" ><span>Konenaulat</span></a></li><li role="none" class="level2 nav-7-10-9 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/sinkilat" role="menuitem" ><span>Sinkilät</span></a></li><li role="none" class="level2 nav-7-10-10 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/vetoniitit" role="menuitem" ><span>Vetoniitit</span></a></li><li role="none" class="level2 nav-7-10-11 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/puunsitojalevyt" role="menuitem" ><span>Puunsitojalevyt</span></a></li><li role="none" class="level2 nav-7-10-12 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/elementtikiinnikkeet" role="menuitem" ><span>Elementtikiinnikkeet</span></a></li><li role="none" class="level2 nav-7-10-13 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/messinkiruuvit-ja-puuruuvit" role="menuitem" ><span>Messinkiruuvit ja puuruuvit</span></a></li><li role="none" class="level2 nav-7-10-14 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/rakennusruuvit" role="menuitem" ><span>Rakennusruuvit</span></a></li><li role="none" class="level2 nav-7-10-15 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/yleisruuvit-ja-levyruuvit" role="menuitem" ><span>Yleisruuvit ja levyruuvit</span></a></li><li role="none" class="level2 nav-7-10-16 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/kateruuvit-ja-aaltokateruuvit" role="menuitem" ><span>Kateruuvit ja aaltokateruuvit</span></a></li><li role="none" class="level2 nav-7-10-17 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/kansiruuvit" role="menuitem" ><span>Kansiruuvit</span></a></li><li role="none" class="level2 nav-7-10-18 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/uraruuvit-ja-koneruuvit" role="menuitem" ><span>Uraruuvit ja koneruuvit</span></a></li><li role="none" class="level2 nav-7-10-19 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/kasausruuvit-liitinruuvit-ja-pinnapuuruuvit" role="menuitem" ><span>Kasausruuvit, liitinruuvit ja pinnapuuruuvit</span></a></li><li role="none" class="level2 nav-7-10-20 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/kuusiopultit-ja-kuusioruuvit" role="menuitem" ><span>Kuusiopultit ja kuusioruuvit</span></a></li><li role="none" class="level2 nav-7-10-21 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/kuusiokoloruuvit" role="menuitem" ><span>Kuusiokoloruuvit</span></a></li><li role="none" class="level2 nav-7-10-22 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/lukkoruuvit" role="menuitem" ><span>Lukkoruuvit</span></a></li><li role="none" class="level2 nav-7-10-23 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/nostosilmukat" role="menuitem" ><span>Nostosilmukat</span></a></li><li role="none" class="level2 nav-7-10-24 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/kierretangot" role="menuitem" ><span>Kierretangot</span></a></li><li role="none" class="level2 nav-7-10-25 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/mutterit" role="menuitem" ><span>Mutterit</span></a></li><li role="none" class="level2 nav-7-10-26 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/siipimutter
957it-ja-erikoismutterit" role="menuitem" ><span>Siipimutterit ja erikoismutterit</span></a></li><li role="none" class="level2 nav-7-10-27 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/aluslaatat-korilaatat-ja-neliolaatat" role="menuitem" ><span>Aluslaatat, korilaatat ja neliölaatat</span></a></li><li role="none" class="level2 nav-7-10-28 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/kiila-ankkurit-ja-betoniruuvit" role="menuitem" ><span>Kiila-ankkurit ja betoniruuvit</span></a></li><li role="none" class="level2 nav-7-10-29 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/lyontiankkurit" role="menuitem" ><span>Lyöntiankkurit</span></a></li><li role="none" class="level2 nav-7-10-30 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/seinatulpat" role="menuitem" ><span>Seinätulpat</span></a></li><li role="none" class="level2 nav-7-10-31 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/muut-porauskiinnikkeet" role="menuitem" ><span>Muut porauskiinnikkeet</span></a></li><li role="none" class="level2 nav-7-10-32 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/kiinnittimet/letkunkiristimet" role="menuitem" ><span>Letkunkiristimet</span></a></li></ul></li><li role="none" class="level1 nav-7-11 category-item nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/koydet-kettingit-nostotarvikkeet-ja-kiinnitystarvikkeet" role="menuitem" ><span>Köydet, kettingit, nostotarvikkeet ja kiinnitystarvikkeet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-11-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/koydet-kettingit-nostotarvikkeet-ja-kiinnitystarvikkeet/kettinki" role="menuitem" ><span>Kettinki</span></a></li><li role="none" class="level2 nav-7-11-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/koydet-kettingit-nostotarvikkeet-ja-kiinnitystarvikkeet/ruuvisakkelit-ketjunliittimet" role="menuitem" ><span>Ruuvisakkelit, ketjunliittimet</span></a></li><li role="none" class="level2 nav-7-11-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/koydet-kettingit-nostotarvikkeet-ja-kiinnitystarvikkeet/teraskoydet" role="menuitem" ><span>Teräsköydet</span></a></li><li role="none" class="level2 nav-7-11-4 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/koydet-kettingit-nostotarvikkeet-ja-kiinnitystarvikkeet/nostohihnat-ja-paallysteraksit" role="menuitem" ><span>Nostohihnat ja päällysteraksit</span></a></li><li role="none" class="level2 nav-7-11-5 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/koydet-kettingit-nostotarvikkeet-ja-kiinnitystarvikkeet/kuormankiinnityshihnat-ja-sidontavyot" role="menuitem" ><span>Kuormankiinnityshihnat ja sidontavyöt</span></a></li><li role="none" class="level2 nav-7-11-6 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/koydet-kettingit-nostotarvikkeet-ja-kiinnitystarvikkeet/sisalkoydet-ja-manillakoydet" role="menuitem" ><span>Sisalköydet ja manillaköydet</span></a></li><li role="none" class="level2 nav-7-11-7 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/koydet-kettingit-nostotarvikkeet-ja-kiinnitystarvikkeet/keinokuitukoydet" role="menuitem" ><span>Keinokuituköydet</span></a></li><li role="none" class="level2 nav-7-11-8 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/koydet-kettingit-nostotarvikkeet-ja-kiinnitystarvikkeet/lippunarut" role="menuitem" ><span>Lippunarut</span></a></li><li role="none" class="level2 nav-7-11-9 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/koydet-kettingit-nostotarvikkeet-ja-kiinnitystarvikkeet/hehkutetut-teraslangat-ja-sidelanka" role="menuitem" ><span>Hehkutetut teräslangat ja sidelanka</span></a></li><li role="none" class="level2 nav-7-11-10 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/koydet-kettingit-nostotarvikkeet-ja-kiinnitystarvikkeet/sinkityt-teraslangat-ja-piikkilanka" role="menuitem" ><span>Sinkityt teräslangat ja piikkilanka</span></a></li></ul></li>
957<li role="none" class="level1 nav-7-12 category-item nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuselementit" role="menuitem" ><span>Rakennuselementit</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-12-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuselementit/muut-elementit" role="menuitem" ><span>Muut elementit</span></a></li><li role="none" class="level2 nav-7-12-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuselementit/porraselementit-ja-ullakkoportaat" role="menuitem" ><span>Porraselementit ja ullakkoportaat</span></a></li><li role="none" class="level2 nav-7-12-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuselementit/puuaidat-ja-portit" role="menuitem" ><span>Puuaidat ja -portit</span></a></li><li role="none" class="level2 nav-7-12-4 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuselementit/saunat-aitat-piharakennukset" role="menuitem" ><span>Saunat, aitat, piharakennukset</span></a></li><li role="none" class="level2 nav-7-12-5 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuselementit/maapaalut-ja-ruuvipaalut" role="menuitem" ><span>Maapaalut ja ruuvipaalut</span></a></li><li role="none" class="level2 nav-7-12-6 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/rakennuselementit/valiseinarangat-ja-jousirangat" role="menuitem" ><span>Väliseinärangat ja jousirangat</span></a></li></ul></li><li role="none" class="level1 nav-7-13 category-item nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat" role="menuitem" ><span>Helat</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-13-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/huonekalusaranat-ja-kalustesaranat" role="menuitem" ><span>Huonekalusaranat ja kalustesaranat</span></a></li><li role="none" class="level2 nav-7-13-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/ovisaranat-ja-ikkunasaranat" role="menuitem" ><span>Ovisaranat ja ikkunasaranat</span></a></li><li role="none" class="level2 nav-7-13-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/hitsattavat-saranat-metalliovensaranat" role="menuitem" ><span>Hitsattavat saranat metalliovensaranat</span></a></li><li role="none" class="level2 nav-7-13-4 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/palo-oven-saranat-ja-erikoissaranat" role="menuitem" ><span>Palo-oven saranat ja erikoissaranat</span></a></li><li role="none" class="level2 nav-7-13-5 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/liukuoven-osat" role="menuitem" ><span>Liukuoven osat</span></a></li><li role="none" class="level2 nav-7-13-6 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/tyontoovenlaitteet" role="menuitem" ><span>Työntöovenlaitteet</span></a></li><li role="none" class="level2 nav-7-13-7 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/ikkunalukot" role="menuitem" ><span>Ikkunalukot</span></a></li><li role="none" class="level2 nav-7-13-8 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/oven-lukot" role="menuitem" ><span>Oven lukot</span></a></li><li role="none" class="level2 nav-7-13-9 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/valiovenlukot" role="menuitem" ><span>Väliovenlukot</span></a></li><li role="none" class="level2 nav-7-13-10 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/riippulukot" role="menuitem" ><span>Riippulukot</span></a></li><li role="none" class="level2 nav-7-13-11 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/ovensulkimet" role="menuitem" ><span>Ovensulkimet</span></a></li><li role="none" class="level2 nav-7-13-12 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/avaimet-lukonosat" role="menuitem" ><span>Avaimet, lukonosat</span></a></li><li role="none" class="level2 nav-7-13-13 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/vetimet" role="menuitem" ><span>Vetimet</span></a></li><li role="none" class="level2 nav-7-13-14 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/kalustevetimet-ja-liukuovenvetimet" role="menuitem" ><span>Kalustevetimet ja liukuovenvetimet</span></a></li><li role="none" class="level2 nav-7-13-15 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/ovenpainikkeet-ikkunapainakkeet-ja-vaantonupit" role="menuitem" ><span>Ovenpainikkeet, ikkunapainakkeet ja vääntönupit</span></a></li><li role="none" class="level2 nav-7-13-16 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/huonekaluhelat" role="menuitem" ><span>Huonekaluhelat</span></a></li><li role="none" class="level2 nav-7-13-17 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/avainkilvet-ikkunakilvet-ja-peitelevyt" role="menuitem" ><span>Avainkilvet, ikkunakilvet ja peitelevyt</span></a></li><li role="none" class="level2 nav-7-13-18 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/muut-ovi-ikkunahelat" role="menuitem" ><span>Muut ovi-, ikkunahelat</span></a></li><li role="none" class="level2 nav-7-13-19 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/vaatetangot-kannattimet" role="menuitem" ><span>Vaatetangot,-kannattimet</span></a></li><li role="none" class="level2 nav-7-13-20 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/kaidekoukut" role="menuitem" ><span>Kaidekoukut</span></a></li><li role="none" class="level2 nav-7-13-21 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/verholiukukiskot-osat" role="menuitem" ><span>Verholiukukiskot, -osat</span></a></li><li role="none" class="level2 nav-7-13-22 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/koukut" role="menuitem" ><span>Koukut</span></a></li><li role="none" class="level2 nav-7-13-23 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/salvat" role="menuitem" ><span>Salvat</span></a></li><li role="none" class="level2 nav-7-13-24 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/haat" role="menuitem" ><span>Haat</span></a></li><li role="none" class="level2 nav-7-13-25 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/hyllynkannattimet-ja-kaappien-kannattimet" role="menuitem" ><span>Hyllynkannattimet ja kaappien kannattimet</span></a></li><li role="none" class="level2 nav-7-13-26 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/ovenpysayttimet-ja-oven-aukipitolaitteet" role="menuitem" ><span>Ovenpysäyttimet ja oven aukipitolaitteet</span></a></li><li role="none" class="level2 nav-7-13-27 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/nimikilvet-ja-talonumerot" role="menuitem" ><span>Nimikilvet ja talonumerot</span></a></li><li role="none" class="level2 nav-7-13-28 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/ovikellot-ovisilmat-ja-varmuusketjut" role="menuitem" ><span>Ovikellot, ovisilmät ja varmuusketjut</span></a></li><li role="none" class="level2 nav-7-13-29 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/helat/huonekalutulpat-ja-huopanastat" role="menuitem" ><span>Huonekalutulpat ja huopanastat,</span></a></li></ul></li>
957<li role="none" class="level1 nav-7-14 category-item last nav-item parent"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/takat-piiput-ja-lammittimet" role="menuitem" ><span>Takat, piiput ja lämmittimet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-7-14-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/takat-piiput-ja-lammittimet/muut-lammittimet" role="menuitem" ><span>Muut lämmittimet</span></a></li><li role="none" class="level2 nav-7-14-2 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/takat-piiput-ja-lammittimet/tarkastusluukut" role="menuitem" ><span>Tarkastusluukut</span></a></li><li role="none" class="level2 nav-7-14-3 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/takat-piiput-ja-lammittimet/rakennuslammittimet-ja-pakkasvahdit" role="menuitem" ><span>Rakennuslämmittimet ja pakkasvahdit</span></a></li><li role="none" class="level2 nav-7-14-4 category-item nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/takat-piiput-ja-lammittimet/arinat-savupellit-ja-rakennusvalut" role="menuitem" ><span>Arinat, savupellit ja rakennusvalut</span></a></li><li role="none" class="level2 nav-7-14-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/rakennustarvikkeet/takat-piiput-ja-lammittimet/uunineduspellit-muut-valut-taokset" role="menuitem" ><span>Uunineduspellit, muut valut, taokset</span></a></li></ul></li></ul></li><li role="none" class="level0 nav-8 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet" role="menuitem" class="level-top" ><span>Työkalut</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-8-1 category-item first nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/hitsaus" role="menuitem" ><span>Hitsaus</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-8-1-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/hitsaus/kaasuhitsauskoneet-tarvikkeet" role="menuitem" ><span>Kaasuhitsauskoneet,-tarvikkeet</span></a></li><li role="none" class="level2 nav-8-1-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/hitsaus/kaasu-sahkohitsaustarvikkeet" role="menuitem" ><span>Kaasu-, sähköhitsaustarvikkeet</span></a></li><li role="none" class="level2 nav-8-1-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/hitsaus/hitsauspuikot" role="menuitem" ><span>Hitsauspuikot</span></a></li></ul></li><li role="none" class="level1 nav-8-2 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut" role="menuitem" ><span>Käsityökalut</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-8-2-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/optiset-tasomitat-ja-laser-tasomitat" role="menuitem" ><span>Optiset tasomitat ja laser tasomitat</span></a></li><li role="none" class="level2 nav-8-2-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/reikasahat" role="menuitem" ><span>Reikäsahat</span></a></li><li role="none" class="level2 nav-8-2-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/puristavat-pihdit-lukkopihdit-ja-siirtopihdit" role="menuitem" ><span>Puristavat pihdit,lukkopihdit ja siirtopihdit</span></a></li><li role="none" class="level2 nav-8-2-4 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/leikkaavatpihdit-voimapihdit-ja-hohtimet" role="menuitem" ><span>Leikkaavatpihdit, voimapihdit ja hohtimet</span></a></li><li role="none" class="level2 nav-8-2-5 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/pelti-levysakset-leikkurit" role="menuitem" ><span>Pelti-,levysakset, leikkurit</span></a></li><li role="none" class="level2 nav-8-2-6 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/kaakelipihdit-leikkurit" role="menuitem" ><span>Kaakelipihdit-,leikkurit</span></a></li><li role="none" class="level2 nav-8-2-7 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/pulttisakset-ja-teraskoysisakset" role="menuitem" ><span>Pulttisakset ja teräsköysisakset</span></a></li><li role="none" class="level2 nav-8-2-8 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/puu-hirsiseinaporat" role="menuitem" ><span>Puu-, hirsiseinäporat</span></a></li><li role="none" class="level2 nav-8-2-9 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/kovapalaterat-iskuporanterat" role="menuitem" ><span>Kovapalaterät, iskuporanterät</span></a></li><li role="none" class="level2 nav-8-2-10 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/mittanauhat-nivelmitat-ja-viivottimet" role="menuitem" ><span>Mittanauhat, nivelmitat ja viivottimet</span></a></li><li role="none" class="level2 nav-8-2-11 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/tyontomitat-mikrometrit" role="menuitem" ><span>Työntömitat, mikrometrit</span></a></li><li role="none" class="level2 nav-8-2-12 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/terasviivaimet-ja-tasolevyt" role="menuitem" ><span>Teräsviivaimet ja tasolevyt,</span></a></li><li role="none" class="level2 nav-8-2-13 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/suora-yleiskulmaimet-astemitat" role="menuitem" ><span>Suora-,yleiskulmaimet,astemitat</span></a></li><li role="none" class="level2 nav-8-2-14 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/vatupassit-vesivaaka-ja-vaaitusvalineet" role="menuitem" ><span>Vatupassit, vesivaaka ja vaaitusvälineet</span></a></li><li role="none" class="level2 nav-8-2-15 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/rakotulkit-ja-reikatulkit" role="menuitem" ><span>Rakotulkit ja reikätulkit</span></a></li><li role="none" class="level2 nav-8-2-16 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/muut-mittauslaitteet" role="menuitem" ><span>Muut mittauslaitteet</span></a></li><li role="none" class="level2 nav-8-2-17 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/piirtopuikot-ja-pistepuikot" role="menuitem" ><span>Piirtopuikot ja pistepuikot</span></a></li><li role="none" class="level2 nav-8-2-18 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/timpurikynat-merkitsemiskynat-ja-liidut" role="menuitem" ><span>Timpurikynät, merkitsemiskynät ja liidut</span></a></li><li role="none" class="level2 nav-8-2-19 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/tyokalupakit-laukut" role="menuitem" ><span>Työkalupakit, -laukut</span></a></li><li role="none" class="level2 nav-8-2-20 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/tyokaluk
957aapit-laatikostot" role="menuitem" ><span>Työkalukaapit, -laatikostot</span></a></li><li role="none" class="level2 nav-8-2-21 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/varastolaatikot-laatikonsiirto" role="menuitem" ><span>Varastolaatikot,laatikonsiirto</span></a></li><li role="none" class="level2 nav-8-2-22 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/sorkka-purkuraudat" role="menuitem" ><span>Sorkka-, purkuraudat</span></a></li><li role="none" class="level2 nav-8-2-23 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/muurauskauhat-puhdistuskauhat-ja-rappauskauhat" role="menuitem" ><span>Muurauskauhat, puhdistuskauhat ja rappauskauhat</span></a></li><li role="none" class="level2 nav-8-2-24 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/silityslatat-hiertimet" role="menuitem" ><span>Silityslatat, hiertimet</span></a></li><li role="none" class="level2 nav-8-2-25 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/laastikammat" role="menuitem" ><span>Laastikammat</span></a></li><li role="none" class="level2 nav-8-2-26 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/saumaraudat-ja-rappauskoneet" role="menuitem" ><span>Saumaraudat ja rappauskoneet</span></a></li><li role="none" class="level2 nav-8-2-27 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/laatoitustyovalineet" role="menuitem" ><span>Laatoitustyövälineet</span></a></li><li role="none" class="level2 nav-8-2-28 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/laattasaumaustyovalineet" role="menuitem" ><span>Laattasaumaustyövälineet</span></a></li><li role="none" class="level2 nav-8-2-29 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/muut-kasityokalut" role="menuitem" ><span>Muut käsityökalut</span></a></li><li role="none" class="level2 nav-8-2-30 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/jakoavaimet" role="menuitem" ><span>Jakoavaimet</span></a></li><li role="none" class="level2 nav-8-2-31 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/hylsyavaimet-hylsyvaantimet-ja-jatkovarret" role="menuitem" ><span>Hylsyavaimet, hylsyvääntimet ja jatkovarret</span></a></li><li role="none" class="level2 nav-8-2-32 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/kiintoavaimet-sarjat" role="menuitem" ><span>Kiintoavaimet, -sarjat</span></a></li><li role="none" class="level2 nav-8-2-33 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/konekarjet-karjen-pitimet" role="menuitem" ><span>Konekärjet, kärjen pitimet</span></a></li><li role="none" class="level2 nav-8-2-34 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/kuusiokolo-ja-koloavainsarjat" role="menuitem" ><span>Kuusiokolo ja ,koloavainsarjat</span></a></li><li role="none" class="level2 nav-8-2-35 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/penkki-ja-putkiruuvipuristimet" role="menuitem" ><span>Penkki- ja putkiruuvipuristimet</span></a></li><li role="none" class="level2 nav-8-2-36 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/liimaus-kisko-suurtehopuristimet" role="menuitem" ><span>Liimaus-,kisko-,suurtehopuristimet</span></a></li><li role="none" class="level2 nav-8-2-37 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/putkileikkurit-terat" role="menuitem" ><span>Putkileikkurit,-terät</span></a></li><li role="none" class="level2 nav-8-2-38 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/lyontinaulaimet-laitteet" role="menuitem" ><span>Lyöntinaulaimet, laitteet</span></a></li><li role="none" class="level2 nav-8-2-39 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/sahat" role="menuitem" ><span>Sahat</span></a><ul class="level2 submenu"><li role="none" class="level3 nav-8-2-39-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/sahat/kasisahat-terat" role="menuitem" ><span>Käsisahat,-terät</span></a></li><li role="none" class="level3 nav-8-2-39-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/sahat/halko-oksa-kaarisahat-tera" role="menuitem" ><span>Halko-,oksa-,kaarisahat, -terä</span></a></li><li role="none" class="level3 nav-8-2-39-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/sahat/metallisahankaaret-terat-kone" role="menuitem" ><span>Metallisahankaaret,-terät,kone</span></a></li><li role="none" class="level3 nav-8-2-39-4 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/sahat/kevytbetonisahat" role="menuitem" ><span>Kevytbetonisahat</span></a></li><li role="none" class="level3 nav-8-2-39-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/sahat/muut-sahat" role="menuitem" ><span>Muut sahat</span></a></li></ul></li><li role="none" class="level2 nav-8-2-40 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/vasarat" role="menuitem" ><span>Vasarat</span></a><ul class="level2 submenu"><li role="none" class="level3 nav-8-2-40-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/vasarat/kirvesmiehen-talousvasarat" role="menuitem" ><span>Kirvesmiehen-, talousvasarat</span></a></li><li role="none" class="level3 nav-8-2-40-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/vasarat/harja-kuula-levy-ja-konepa" role="menuitem" ><span>Harja-, kuula-,levy- ja konepa</span></a></li><li role="none" class="level3 nav-8-2-40-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/vasarat/nuijat-kumi-muovivasara" role="menuitem" ><span>Nuijat, kumi-, muovivasara</span></a></li><li role="none" class="level3 nav-8-2-40-4 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/vasarat/moskat-kivi-pajamoukarit" role="menuitem" ><span>Moskat, kivi-, pajamoukarit</span></a></li></ul></li><li role="none" class="level2 nav-8-2-41 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/viilat-ja-raspit" role="menuitem" ><span>Viilat ja raspit</span></a><ul class="level2 submenu"><li role="none" class="level3 nav-8-2-41-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/viilat-ja-raspit/muut-viilat" role="menuitem" ><span>Muut viilat</span></a></li><li role="none" class="level3 nav-8-2-41-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/viilat-ja-raspit/konepajaviilat" role="menuitem" ><span>Konepajaviilat</span></a></li><li role="none" class="level3 nav-8-2-41-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/viilat-ja-raspit/muita-viiloja" role="menuitem" ><span>Muita viiloja</span></a></li></ul></li><li role="none" class="level2 nav-8-2-42 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/taltat-ja-tuurnat" role="menuitem" ><span>Taltat ja tuurnat</span></a><ul class="level2 submenu"><li role="none" class="level3 nav-8-2-42-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/taltat-ja-tuurnat/tasa-kouru-sorvitaltat" role="menuitem" ><span>Tasa-, kouru-,sorvitaltat</span></a></li><li role="none" class="level3 nav-8-2-42-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/taltat-ja-tuurnat/katkaisutaltat-tuurnat" role="menuitem" ><span>Katkaisutaltat, tuurnat</span></a></li><li role="none" class="level3 nav-8-2-42-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/taltat-ja-tuurnat/kivi-piikkaustaltat" role="menuitem" ><span>Kivi-, piikkaustaltat</span></a></li><li role="none" class="level3 nav-8-2-42-4 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/taltat-ja-tuurnat/ruuvitaltat-osat" role="menuitem" ><span>Ruuvitaltat, -osat</span></a></li></ul></li>
957<li role="none" class="level2 nav-8-2-43 category-item last nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/puukot-veitset-ja-terat" role="menuitem" ><span>Puukot, veitset ja terät</span></a><ul class="level2 submenu"><li role="none" class="level3 nav-8-2-43-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/puukot-veitset-ja-terat/vuolupuukot-kaantoveitset" role="menuitem" ><span>Vuolupuukot, kääntöveitset</span></a></li><li role="none" class="level3 nav-8-2-43-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/puukot-veitset-ja-terat/yleisveitset-terat" role="menuitem" ><span>Yleisveitset, -terät</span></a></li><li role="none" class="level3 nav-8-2-43-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/kasityokalut/puukot-veitset-ja-terat/muut-tyoveitset-terat" role="menuitem" ><span>Muut työveitset, -terät</span></a></li></ul></li></ul></li><li role="none" class="level1 nav-8-3 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/sahkotyokalut-ja-tarvikkeet" role="menuitem" ><span>Sähkötyökalut ja tarvikkeet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-8-3-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/sahkotyokalut-ja-tarvikkeet/sahko-isku-miniporakoneet" role="menuitem" ><span>Sähkö isku-,miniporakoneet</span></a></li><li role="none" class="level2 nav-8-3-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/sahkotyokalut-ja-tarvikkeet/kulma-suora-taso-nauhahioma" role="menuitem" ><span>Kulma-,suora-,taso-,nauhahioma</span></a></li><li role="none" class="level2 nav-8-3-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/sahkotyokalut-ja-tarvikkeet/sahko-pyoro-puukko-pisto-ke" role="menuitem" ><span>Sähkö pyörö-,puukko-,pisto-,ke</span></a></li><li role="none" class="level2 nav-8-3-4 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/sahkotyokalut-ja-tarvikkeet/ruuvin-mutterinvaantimet" role="menuitem" ><span>Ruuvin-, mutterinvääntimet</span></a></li><li role="none" class="level2 nav-8-3-5 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/sahkotyokalut-ja-tarvikkeet/kuumaliimapistoolit" role="menuitem" ><span>Kuumaliimapistoolit</span></a></li><li role="none" class="level2 nav-8-3-6 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/sahkotyokalut-ja-tarvikkeet/kasityokalujen-lisavarusteet" role="menuitem" ><span>Käsityökalujen lisävarusteet,-</span></a></li><li role="none" class="level2 nav-8-3-7 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/sahkotyokalut-ja-tarvikkeet/muut-hiomakoneet" role="menuitem" ><span>Muut hiomakoneet</span></a></li></ul></li><li role="none" class="level1 nav-8-4 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/paineilmatyokalut" role="menuitem" ><span>Paineilmatyökalut</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-8-4-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/paineilmatyokalut/lattia-kiinteat-kompressorit" role="menuitem" ><span>Lattia-, kiinteät kompressorit</span></a></li><li role="none" class="level2 nav-8-4-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/paineilmatyokalut/paineilmaletkut" role="menuitem" ><span>Paineilmaletkut</span></a></li><li role="none" class="level2 nav-8-4-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/paineilmatyokalut/muut-paineilmatyokalut" role="menuitem" ><span>Muut paineilmatyökalut</span></a></li><li role="none" class="level2 nav-8-4-4 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/paineilmatyokalut/ruuvin-mutterinvaantajat" role="menuitem" ><span>Ruuvin-, mutterinvääntäjät</span></a></li><li role="none" class="level2 nav-8-4-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/paineilmatyokalut/paineilmanaulaimet" role="menuitem" ><span>Paineilmanaulaimet</span></a></li></ul></li>
957<li role="none" class="level1 nav-8-5 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/lastuavat-tyokalut" role="menuitem" ><span>Lastuavat työkalut</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-8-5-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/lastuavat-tyokalut/metalli-kierukka-asennuspora" role="menuitem" ><span>Metalli-,kierukka-,asennuspora</span></a></li><li role="none" class="level2 nav-8-5-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/lastuavat-tyokalut/kierreleuanvaantimet" role="menuitem" ><span>Kierreleuanvääntimet</span></a></li><li role="none" class="level2 nav-8-5-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/lastuavat-tyokalut/kierretapinvaantimet-tapit" role="menuitem" ><span>Kierretapinvääntimet, -tapit,</span></a></li></ul></li><li role="none" class="level1 nav-8-6 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/hiomatarvikkeet" role="menuitem" ><span>Hiomatarvikkeet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-8-6-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/hiomatarvikkeet/hioma-katkaisu-kiillotuslaik" role="menuitem" ><span>Hioma-,katkaisu-,kiillotuslaik</span></a></li><li role="none" class="level2 nav-8-6-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/hiomatarvikkeet/hiomakankaat-paperit" role="menuitem" ><span>Hiomakankaat,-paperit</span></a></li><li role="none" class="level2 nav-8-6-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/hiomatarvikkeet/muut-hiomatarvikkeet" role="menuitem" ><span>Muut hiomatarvikkeet</span></a></li></ul></li><li role="none" class="level1 nav-8-7 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-tyokalut" role="menuitem" ><span>Muut työkalut</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-8-7-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-tyokalut/kuumailmapistoolit-lisavarust" role="menuitem" ><span>Kuumailmapistoolit,-lisävarust</span></a></li><li role="none" class="level2 nav-8-7-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-tyokalut/nitomislaitteet" role="menuitem" ><span>Nitomislaitteet</span></a></li><li role="none" class="level2 nav-8-7-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-tyokalut/tynnyri-oljytelineet" role="menuitem" ><span>Tynnyri-, öljytelineet</span></a></li><li role="none" class="level2 nav-8-7-4 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-tyokalut/vetoniittilaitteet" role="menuitem" ><span>Vetoniittilaitteet</span></a></li></ul></li><li role="none" class="level1 nav-8-8 category-item last nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-teollisuustarvikkeet" role="menuitem" ><span>Muut teollisuustarvikkeet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-8-8-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-teollisuustarvikkeet/kuulalaakerit" role="menuitem" ><span>Kuulalaakerit</span></a></li><li role="none" class="level2 nav-8-8-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-teollisuustarvikkeet/rullalaakerit" role="menuitem" ><span>Rullalaakerit</span></a></li><li role="none" class="level2 nav-8-8-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-teollisuustarvikkeet/kuljetuspyorat-kalustepyorat" role="menuitem" ><span>Kuljetuspyörät,kalustepyörät</span></a></li><li role="none" class="level2 nav-8-8-4 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-teollisuustarvikkeet/muut-kuljetus-kuormausvalineet" role="menuitem" ><span>
957Muut kuljetus-, kuormausvälineet</span></a></li><li role="none" class="level2 nav-8-8-5 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-teollisuustarvikkeet/voimansiirto" role="menuitem" ><span>Voimansiirto</span></a></li><li role="none" class="level2 nav-8-8-6 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-teollisuustarvikkeet/trasselit-kiillotusvanut-saamiskat" role="menuitem" ><span>Trasselit, kiillotusvanut, säämiskät</span></a></li><li role="none" class="level2 nav-8-8-7 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-teollisuustarvikkeet/muut-autotarvikkeet" role="menuitem" ><span>Muut autotarvikkeet</span></a></li><li role="none" class="level2 nav-8-8-8 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut-ja-teollisuustarvikkeet/muut-teollisuustarvikkeet/muut-asennustarvikkeet" role="menuitem" ><span>Muut asennustarvikkeet</span></a></li></ul></li></ul></li><li role="none" class="level0 nav-9 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna" role="menuitem" class="level-top" ><span>Kylpyhuone ja sauna</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-9-1 category-item first nav-item parent"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kiukaat-ja-padat" role="menuitem" ><span>Kiukaat ja padat</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-9-1-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kiukaat-ja-padat/puulammitteiset-kiukaat" role="menuitem" ><span>Puulämmitteiset kiukaat</span></a></li><li role="none" class="level2 nav-9-1-2 category-item nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kiukaat-ja-padat/sahkokiukaat" role="menuitem" ><span>Sähkökiukaat</span></a></li><li role="none" class="level2 nav-9-1-3 category-item nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kiukaat-ja-padat/kiukaiden-osat-tarvikkeet" role="menuitem" ><span>Kiukaiden osat, tarvikkeet</span></a></li><li role="none" class="level2 nav-9-1-4 category-item last nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kiukaat-ja-padat/savuhormit-ja-savuputket" role="menuitem" ><span>Savuhormit ja savuputket</span></a></li></ul></li><li role="none" class="level1 nav-9-2 category-item nav-item parent"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonetarvikkeet-ja-saunatarvikkeet" role="menuitem" ><span>Kylpyhuonetarvikkeet ja saunatarvikkeet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-9-2-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonetarvikkeet-ja-saunatarvikkeet/suihkuverhot" role="menuitem" ><span>Suihkuverhot</span></a></li><li role="none" class="level2 nav-9-2-2 category-item nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonetarvikkeet-ja-saunatarvikkeet/saunakalusteet" role="menuitem" ><span>Saunakalusteet</span></a></li><li role="none" class="level2 nav-9-2-3 category-item nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonetarvikkeet-ja-saunatarvikkeet/kylpyhuonetarvikkeet" role="menuitem" ><span>Kylpyhuonetarvikkeet</span></a></li><li role="none" class="level2 nav-9-2-4 category-item last nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonetarvikkeet-ja-saunatarvikkeet/vaatenaulakot-koukut" role="menuitem" ><span>Vaatenaulakot,-koukut</span></a></li></ul></li><li role="none" class="level1 nav-9-3 category-item nav-item parent"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/saunapuutavara" role="menuitem" ><span>Saunapuutavara</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-9-3-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/saunapuutavara/saunapaneelit-ja-laudelaudat" role="menuitem" ><span>Saunapaneelit ja laudelaudat</span></a></li><li role="none" class="level2 nav-9-3-2 category-item last nav-item">
957<a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/saunapuutavara/saunan-lauteet-ja-puuritilat" role="menuitem" ><span>Saunan lauteet ja puuritilät</span></a></li></ul></li><li role="none" class="level1 nav-9-4 category-item nav-item parent"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/suihkut-ja-hanat" role="menuitem" ><span>Suihkut ja hanat</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-9-4-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/suihkut-ja-hanat/hanat" role="menuitem" ><span>Hanat</span></a></li><li role="none" class="level2 nav-9-4-2 category-item last nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/suihkut-ja-hanat/hanavarusteet" role="menuitem" ><span>Hanavarusteet</span></a></li></ul></li><li role="none" class="level1 nav-9-5 category-item last nav-item parent"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonekalusteet-ja-wc-kalusteet" role="menuitem" ><span>Kylpyhuonekalusteet ja wc-kalusteet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-9-5-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonekalusteet-ja-wc-kalusteet/suihkualtaat-suihkukaapit-ja-suihkuseinat" role="menuitem" ><span>Suihkualtaat, suihkukaapit ja suihkuseinät</span></a></li><li role="none" class="level2 nav-9-5-2 category-item nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonekalusteet-ja-wc-kalusteet/kylpyammeet-porealtaat-ja-kylpytynnyrit" role="menuitem" ><span>Kylpyammeet, porealtaat ja kylpytynnyrit</span></a></li><li role="none" class="level2 nav-9-5-3 category-item nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonekalusteet-ja-wc-kalusteet/peilit" role="menuitem" ><span>Peilit</span></a></li><li role="none" class="level2 nav-9-5-4 category-item nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonekalusteet-ja-wc-kalusteet/wc-istuinrenkaat-varusteet" role="menuitem" ><span>
957Wc-istuinrenkaat, -varusteet</span></a></li><li role="none" class="level2 nav-9-5-5 category-item nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonekalusteet-ja-wc-kalusteet/allaskaapit-ja-peilikaapit" role="menuitem" ><span>Allaskaapit ja peilikaapit</span></a></li><li role="none" class="level2 nav-9-5-6 category-item nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonekalusteet-ja-wc-kalusteet/pesualtaat-ja-tulvasuojat" role="menuitem" ><span>Pesualtaat ja tulvasuojat</span></a></li><li role="none" class="level2 nav-9-5-7 category-item last nav-item"><a href="https://www.hartman.fi/fi/kylpyhuone-ja-sauna/kylpyhuonekalusteet-ja-wc-kalusteet/wc-istuimet" role="menuitem" ><span>WC istuimet</span></a></li></ul></li></ul></li><li role="none" class="level0 nav-10 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat" role="menuitem" class="level-top" ><span>Pintamateriaalit ja liimat</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-10-1 category-item first nav-item parent"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/listat" role="menuitem" ><span>Listat</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-10-1-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/listat/kattolistat-varjolistat-ja-holkkalistat" role="menuitem" ><span>Kattolistat, varjolistat ja holkkalistat</span></a></li><li role="none" class="level2 nav-10-1-2 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/listat/peitelistat-reunalistat-ja-hobbylistat" role="menuitem" ><span>Peitelistat, reunalistat ja hobbylistat</span></a></li><li role="none" class="level2 nav-10-1-3 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/listat/muovilistat" role="menuitem" ><span>Muovilistat</span></a></li><li role="none" class="level2 nav-10-1-4 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/listat/alumiinilistat-eritasolistat-ja-kulmalistat" role="menuitem" ><span>Alumiinilistat, eritasolistat ja kulmalistat</span></a></li><li role="none" class="level2 nav-10-1-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/listat/laattalistat" role="menuitem" ><span>Laattalistat</span></a></li></ul></li><li role="none" class="level1 nav-10-2 category-item nav-item parent"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/keraamiset-ja-muut-laatat" role="menuitem" ><span>Keraamiset laatat ja kaakelit</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-10-2-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/keraamiset-ja-muut-laatat/lattialaatat" role="menuitem" ><span>Lattialaatat</span></a></li><li role="none" class="level2 nav-10-2-2 category-item last nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/keraamiset-ja-muut-laatat/seinalaatat" role="menuitem" ><span>Seinälaatat</span></a></li></ul></li><li role="none" class="level1 nav-10-3 category-item nav-item parent"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet" role="menuitem" ><span>Lattia- ja seinäpäällysteet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-10-3-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet/non-woven-tapetit-eli-kuitutapetit" role="menuitem" ><span>Non-woven tapetit eli kuitutapetit</span></a></li><li role="none" class="level2 nav-10-3-2 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet/ohuet-muovipaallysteet" role="menuitem" ><span>Ohuet muovipäällysteet</span></a></li><li role="none" class="level2 nav-10-3-3 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet/lasikuitukudokset" role="menuitem" ><span>Lasikuitukudokset</span></a></li><li role="none" class="level2 nav-10-3-4 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet/muovimatot-homogeniset" role="menuitem" ><span>Muovimatot ja vinyylimatot</span></a></li><li role="none" class="level2 nav-10-3-5 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet/vinyylilankut-ja-vinyylilattialaatat" role="menuitem" ><span>Vinyylilankut ja vinyylilattialaatat</span></a></li><li role="none" class="level2 nav-10-3-6 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet/parketit" role="menuitem" ><span>Parketit</span></a></li><li role="none" class="level2 nav-10-3-7 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet/laminaatit" role="menuitem" ><span>Laminaatit</span></a></li><li role="none" class="level2 nav-10-3-8 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet/kylpyhuonematot" role="menuitem" ><span>Kylpyhuonematot</span></a></li><li role="none" class="level2 nav-10-3-9 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet/sisustuslevyt" role="menuitem" ><span>Sisustuslevyt</span></a></li><li role="none" class="level2 nav-10-3-10 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet/neulehuopa-tekstiilimatot" role="menuitem" ><span>Neulehuopa-, tekstiilimatot</span></a></li><li role="none" class="level2 nav-10-3-11 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet/kynnysmatot-ja-kaytavamatot" role="menuitem" ><span>Kynnysmatot ja käytävämatot</span></a></li><li role="none" class="level2 nav-10-3-12 category-item last nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/lattia-ja-seinapaallysteet/muut-matot" role="menuitem" ><span>Muut matot</span></a></li></ul></li>
957<li role="none" class="level1 nav-10-4 category-item last nav-item parent"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat" role="menuitem" ><span>Liimat</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-10-4-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat/silikoni-akryylimassa-ja-sulfidimassa" role="menuitem" ><span>Silikoni, akryylimassa ja sulfidimassa</span></a></li><li role="none" class="level2 nav-10-4-2 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat/yleisliimat" role="menuitem" ><span>Yleisliimat</span></a></li><li role="none" class="level2 nav-10-4-3 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat/puuliimat" role="menuitem" ><span>Puuliimat</span></a></li><li role="none" class="level2 nav-10-4-4 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat/reaktio-pikaliimat" role="menuitem" ><span>Reaktio-, pikaliimat</span></a></li><li role="none" class="level2 nav-10-4-5 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat/lattia-seinakateliimat" role="menuitem" ><span>Lattia., seinäkateliimat</span></a></li><li role="none" class="level2 nav-10-4-6 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat/laattaliimat" role="menuitem" ><span>Laattaliimat</span></a></li><li role="none" class="level2 nav-10-4-7 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat/tapettiliimat-ja-tapettiliisterit" role="menuitem" ><span>Tapettiliimat ja tapettiliisterit</span></a></li><li role="none" class="level2 nav-10-4-8 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat/teollisuusliimat-ja-kuumasaumaliimat" role="menuitem" ><span>Teollisuusliimat ja kuumasaumaliimat</span></a></li><li role="none" class="level2 nav-10-4-9 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat/muut-liimat" role="menuitem" ><span>Muut liimat</span></a></li><li role="none" class="level2 nav-10-4-10 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat/vari-ja-petsiaineet" role="menuitem" ><span>Väri- ja petsiaineet</span></a></li><li role="none" class="level2 nav-10-4-11 category-item nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat/koristepinnoitteet" role="menuitem" ><span>Koristepinnoitteet</span></a></li><li role="none" class="level2 nav-10-4-12 category-item last nav-item"><a href="https://www.hartman.fi/fi/pintamateriaalit-ja-liimat/liimat/polynsidontapinnoitteet-ja-pinnankyllastyspinnoitteet" role="menuitem" ><span>Pölynsidontapinnoitteet ja pinnankyllästyspinnoitteet</span></a></li></ul></li></ul></li><li role="none" class="level0 nav-11 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/lvis" role="menuitem" class="level-top" ><span>LVIS</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-11-1 category-item first nav-item parent"><a href="https://www.hartman.fi/fi/lvis/vesi-ja-viemarointi" role="menuitem" ><span>Vesi ja viemäröinti</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-11-1-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/lvis/vesi-ja-viemarointi/kupariputki-osat" role="menuitem" ><span>Kupariputki osat</span></a></li><li role="none" class="level2 nav-11-1-2 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/vesi-ja-viemarointi/viemarinaukaisulaitteet" role="menuitem" ><span>Viemärinaukaisulaitteet</span></a></li><li role="none" class="level2 nav-11-1-3 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/vesi-ja-viemarointi/kupariputket" role="menuitem" ><span>Kupariputket</span></a></li><li role="none" class="level2 nav-11-1-4 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/vesi-ja-viemarointi/putket-putkiosat-ja-liittimet" role="menuitem" ><span>Putket, putkiosat ja liittimet</span></a></li><li role="none" class="level2 nav-11-1-5 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/vesi-ja-viemarointi/pel-vesijohtoputki" role="menuitem" ><span>Pel-vesijohtoputki</span></a></li><li role="none" class="level2 nav-11-1-6 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/vesi-ja-viemarointi/pe-maaviemariputket-yhteet" role="menuitem" ><span>
957Pe-maaviemäriputket, -yhteet</span></a></li><li role="none" class="level2 nav-11-1-7 category-item last nav-item"><a href="https://www.hartman.fi/fi/lvis/vesi-ja-viemarointi/lattiakaivot-korotusrenkaat" role="menuitem" ><span>Lattiakaivot, korotusrenkaat</span></a></li></ul></li><li role="none" class="level1 nav-11-2 category-item nav-item parent"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput" role="menuitem" ><span>Sähkötarvikkeet ja lamput</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-11-2-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/erikoislamput" role="menuitem" ><span>Erikoislamput</span></a></li><li role="none" class="level2 nav-11-2-2 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/asennusjohdot" role="menuitem" ><span>Asennusjohdot</span></a></li><li role="none" class="level2 nav-11-2-3 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/jatkojohdot" role="menuitem" ><span>Jatkojohdot</span></a></li><li role="none" class="level2 nav-11-2-4 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/kytkimet" role="menuitem" ><span>Kytkimet</span></a></li><li role="none" class="level2 nav-11-2-5 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/pistorasiat" role="menuitem" ><span>Pistorasiat</span></a></li><li role="none" class="level2 nav-11-2-6 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/liittimet-jakorasiat-tiivisteet" role="menuitem" ><span>Liittimet, jakorasiat, tiivisteet</span></a></li><li role="none" class="level2 nav-11-2-7 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/asennusputket-ja-putkitustarvikkeet" role="menuitem" ><span>Asennusputket ja putkitustarvikkeet</span></a></li><li role="none" class="level2 nav-11-2-8 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/sulakkeet" role="menuitem" ><span>Sulakkeet</span></a></li><li role="none" class="level2 nav-11-2-9 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/seinavalaisimet" role="menuitem" ><span>Seinävalaisimet</span></a></li><li role="none" class="level2 nav-11-2-10 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/kattovalaisimet" role="menuitem" ><span>Kattovalaisimet</span></a></li><li role="none" class="level2 nav-11-2-11 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/ulko-ja-pihavalaisimet" role="menuitem" ><span>Ulko- ja pihavalaisimet</span></a></li><li role="none" class="level2 nav-11-2-12 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/tyovalot" role="menuitem" ><span>Työvalot</span></a></li><li role="none" class="level2 nav-11-2-13 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/hehkulamput" role="menuitem" ><span>Hehkulamput</span></a></li><li role="none" class="level2 nav-11-2-14 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/loistelamput" role="menuitem" ><span>Loistelamput</span></a></li><li role="none" class="level2 nav-11-2-15 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/puhelin-radio-ja-tv-tarvikkeet" role="menuitem" ><span>Puhelin- radio- ja tv-tarvikkeet</span></a></li><li role="none" class="level2 nav-11-2-16 category-item nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/paristot" role="menuitem" ><span>Paristot</span></a></li><li role="none" class="level2 nav-11-2-17 category-item last nav-item"><a href="https://www.hartman.fi/fi/lvis/sahkotarvikkeet-ja-lamput/taskulamput" role="menuitem" ><span>Taskulamput</span></a></li></ul></li><li role="none" class="level1 nav-11-3 category-item last nav-item parent"><a href="https://www.hartman.fi/fi/lvis/ilmanvaihto" role="menuitem" ><span>Ilmanvaihto</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-11-3-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/lvis/ilmanvaihto/ilmastointikanavat" role="menuitem" ><span>Ilmastointikanavat</span></a></li><li role="none" class="level2 nav-11-3-2 category-item last nav-item"><a href="https://www.hartman.fi/fi/lvis/ilmanvaihto/ilmanvaihtoventtiilit" role="menuitem" ><span>
957Ilmanvaihtoventtiilit</span></a></li></ul></li></ul></li><li role="none" class="level0 nav-12 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/tyoymparisto" role="menuitem" class="level-top" ><span>Henkilökohtaiset suojavarusteet</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-12-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/suojakyparat-paahineet" role="menuitem" ><span>Suojakypärät,-päähineet</span></a></li><li role="none" class="level1 nav-12-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/suojalasit-kasvosuojaimet" role="menuitem" ><span>Suojalasit, kasvosuojaimet</span></a></li><li role="none" class="level1 nav-12-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/poly-ja-hengityssuojaimet" role="menuitem" ><span>Pöly- ja hengityssuojaimet</span></a></li><li role="none" class="level1 nav-12-4 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/kuulosuojaimet" role="menuitem" ><span>Kuulosuojaimet</span></a></li><li role="none" class="level1 nav-12-5 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/muut-suojaimet-suojavalineet" role="menuitem" ><span>Muut suojaimet, suojavälineet</span></a></li><li role="none" class="level1 nav-12-6 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/miesten-kumi-ja-muovijalkinee" role="menuitem" ><span>Miesten kumi- ja muovijalkinee</span></a></li><li role="none" class="level1 nav-12-7 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/sukat-lyhyet" role="menuitem" ><span>Sukat, lyhyet</span></a></li><li role="none" class="level1 nav-12-8 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/t-paidat" role="menuitem" ><span>T-paidat</span></a></li><li role="none" class="level1 nav-12-9 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/turvakengat" role="menuitem" ><span>Turvakengät</span></a></li><li role="none" class="level1 nav-12-10 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/jalkineiden-pohjalliset" role="menuitem" ><span>Jalkineiden pohjalliset</span></a></li><li role="none" class="level1 nav-12-11 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/tyosormikkaat-nahkaa" role="menuitem" ><span>Työsormikkaat, nahkaa</span></a></li><li role="none" class="level1 nav-12-12 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/tyosormikkaat-kumia" role="menuitem" ><span>Työsormikkaat, kumia</span></a></li><li role="none" class="level1 nav-12-13 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/erikoiskasineet" role="menuitem" ><span>Erikoiskäsineet</span></a></li><li role="none" class="level1 nav-12-14 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/kertakayttokasineet" role="menuitem" ><span>Kertakäyttökäsineet</span></a></li><li role="none" class="level1 nav-12-15 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/laastarit" role="menuitem" ><span>Laastarit</span></a></li></ul></li><li role="none" class="level0 nav-13 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/puutavara" role="menuitem" class="level-top" ><span>Puutavara</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-13-1 category-item first nav-item parent"><a href="https://www.hartman.fi/fi/puutavara/kyllastetty" role="menuitem" ><span>Kyllästetty</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-13-1-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/puutavara/kyllastetty-puutavara/kyllastetty-puutavara" role="menuitem" ><span>Kyllästetty puutavara</span></a></li><li role="none" class="level2 nav-13-1-2 category-item last nav-item"><a href="https://www.hartman.fi/fi/puutavara/kyllastetty-puutavara/komposiittilaudat" role="menuitem" ><span>Komposiittilaudat</span></a></li></ul></li>
957<li role="none" class="level1 nav-13-2 category-item nav-item parent"><a href="https://www.hartman.fi/fi/puutavara/sahattu" role="menuitem" ><span>Sahattu</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-13-2-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/puutavara/sahattu/sahattu-puutavara" role="menuitem" ><span>Sahattu puutavara</span></a></li><li role="none" class="level2 nav-13-2-2 category-item nav-item"><a href="https://www.hartman.fi/fi/puutavara/sahattu/lujuusluokiteltu-puu" role="menuitem" ><span>Lujuusluokiteltu puu</span></a></li><li role="none" class="level2 nav-13-2-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/puutavara/sahattu/hienosahattu-muu-sahattu-puut" role="menuitem" ><span>Hienosahattu-,muu sahattu puut</span></a></li></ul></li><li role="none" class="level1 nav-13-3 category-item nav-item parent"><a href="https://www.hartman.fi/fi/puutavara/hoylatty" role="menuitem" ><span>Höylätty</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-13-3-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/puutavara/hoylatty/pontattu-puutavara" role="menuitem" ><span>Pontattu puutavara</span></a></li><li role="none" class="level2 nav-13-3-2 category-item nav-item"><a href="https://www.hartman.fi/fi/puutavara/hoylatty/hoylatty-puutavara" role="menuitem" ><span>Höylätty puutavara</span></a></li><li role="none" class="level2 nav-13-3-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/puutavara/hoylatty/paneelit" role="menuitem" ><span>Paneelit</span></a></li></ul></li><li role="none" class="level1 nav-13-4 category-item nav-item"><a href="https://www.hartman.fi/fi/puu-ja-levytuotteet/puutavara/liimapuu-ja-liimapuujalosteet" role="menuitem" ><span>Liimapuu ja liimapuujalosteet</span></a></li><li role="none" class="level1 nav-13-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/puu-ja-levytuotteet/puutavara/viilupuu" role="menuitem" ><span>Viilupuu</span></a></li></ul></li><li role="none" class="level0 nav-14 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet" role="menuitem" class="level-top" ><span>Maalit ja maalaustarvikkeet</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-14-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/pastat" role="menuitem" ><span>Pastat</span></a></li><li role="none" class="level1 nav-14-2 category-item nav-item parent"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/sisamaalit" role="menuitem" ><span>Sisämaalit</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-14-2-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/sisamaalit/sisalateksit" role="menuitem" ><span>Sisälateksit</span></a></li><li role="none" class="level2 nav-14-2-2 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/sisamaalit/sisaoljy-lakkamaalit" role="menuitem" ><span>Sisäöljy-, lakkamaalit</span></a></li><li role="none" class="level2 nav-14-2-3 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/sisamaalit/betonimaalit" role="menuitem" ><span>Betonimaalit</span></a></li><li role="none" class="level2 nav-14-2-4 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/sisamaalit/vesiohenteiset-lakat" role="menuitem" ><span>Vesiohenteiset lakat</span></a></li><li role="none" class="level2 nav-14-2-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/sisamaalit/liuotinohenteiset-lakat" role="menuitem" ><span>Liuotinohenteiset lakat</span></a></li></ul></li><li role="none" class="level1 nav-14-3 category-item nav-item parent"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalipesu-ja-ohenteet" role="menuitem" ><span>Maalipesu ja ohenteet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-14-3-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalipesu-ja-ohenteet/ohenteet" role="menuitem" ><span>
957Ohenteet</span></a></li><li role="none" class="level2 nav-14-3-2 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalipesu-ja-ohenteet/maalinpesuaineet" role="menuitem" ><span>Maalinpesuaineet</span></a></li><li role="none" class="level2 nav-14-3-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalipesu-ja-ohenteet/maalinpoistoaineet" role="menuitem" ><span>Maalinpoistoaineet</span></a></li></ul></li><li role="none" class="level1 nav-14-4 category-item nav-item parent"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/ulkomaalit-ja-sisamaalit" role="menuitem" ><span>Ulkomaalit</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-14-4-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/ulkomaalit-ja-sisamaalit/oljymaalit" role="menuitem" ><span>Öljymaalit</span></a></li><li role="none" class="level2 nav-14-4-2 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/ulkomaalit-ja-sisamaalit/oljykitit" role="menuitem" ><span>Öljykitit</span></a></li><li role="none" class="level2 nav-14-4-3 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/ulkomaalit-ja-sisamaalit/katumaalit" role="menuitem" ><span>Katumaalit</span></a></li><li role="none" class="level2 nav-14-4-4 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/ulkomaalit-ja-sisamaalit/ulkolateksit" role="menuitem" ><span>Ulkolateksit</span></a></li><li role="none" class="level2 nav-14-4-5 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/ulkomaalit-ja-sisamaalit/julkisivumaalit" role="menuitem" ><span>Julkisivumaalit</span></a></li><li role="none" class="level2 nav-14-4-6 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/ulkomaalit-ja-sisamaalit/puunsuojat" role="menuitem" ><span>Puunsuojat</span></a></li><li role="none" class="level2 nav-14-4-7 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/ulkomaalit-ja-sisamaalit/ruosteenesto-ja-peltikattomaalit" role="menuitem" ><span>Ruosteenesto ja peltikattomaalit</span></a></li><li role="none" class="level2 nav-14-4-8 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/ulkomaalit-ja-sisamaalit/punamulta" role="menuitem" ><span>Punamulta</span></a></li><li role="none" class="level2 nav-14-4-9 category-item last nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/ulkomaalit-ja-sisamaalit/spraymaalit" role="menuitem" ><span>Spraymaalit</span></a></li></ul></li><li role="none" class="level1 nav-14-5 category-item nav-item parent"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/muut-kemialliset-tuotteet" role="menuitem" ><span>Muut kemialliset tuotteet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-14-5-1 category-item first last nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/muut-kemialliset-tuotteet/polttoaineiden-ja-oljyn-lisaaineet" role="menuitem" ><span>Polttoaineiden ja öljyn lisäaineet</span></a></li></ul></li><li role="none" class="level1 nav-14-6 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalauslaitteet-ja-pintakasittelylaitteet-seka-tarvikkeet" role="menuitem" ><span>Maalauslaitteet ja pintakäsittelylaitteet sekä tarvikkeet</span></a></li><li role="none" class="level1 nav-14-7 category-item nav-item parent"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalaustarvikkeet" role="menuitem" ><span>Maalaustarvikkeet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-14-7-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalaustarvikkeet/sekoituslapiot-laastivispilat" role="menuitem" ><span>Sekoituslapiot, laastivispilät</span></a></li><li role="none" class="level2 nav-14-7-2 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalaustarvikkeet/siveltimet-pensselit-ja-rajaimet" role="menuitem" ><span>Siveltimet, pensselit ja rajaimet</span></a></li><li role="none" class="level2 nav-14-7-3 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalaustarvikkeet/maalaustelat-maalaustelalaatikot-ja-varanahat" role="menuitem" ><span>Maalaustelat, maalaustelalaatikot ja varanahat</span></a></li><li role="none" class="level2 nav-14-7-4 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalaustarvikkeet/teraslastat-ja-kumilastat" role="menuitem" ><span>Teräslastat ja kumilastat</span></a></li><li role="none" class="level2 nav-14-7-5 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalaustarvikkeet/siklit-kaapimet-raapat" role="menuitem" ><span>Siklit,kaapimet,raapat</span></a></li><li role="none" class="level2 nav-14-7-6 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalaustarvikkeet/muut-maalaustarvikkeet" role="menuitem" ><span>Muut maalaustarvikkeet</span></a></li><li role="none" class="level2 nav-14-7-7 category-item last nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/maalaustarvikkeet/terasharjat" role="menuitem" ><span>Teräsharjat</span></a></li></ul></li>
957<li role="none" class="level1 nav-14-8 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/metalliteollisuusmaalit/korroosionestomaalit" role="menuitem" ><span>Korroosionestomaalit</span></a></li><li role="none" class="level1 nav-14-9 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/metalliteollisuusmaalit/automaalit" role="menuitem" ><span>Automaalit</span></a></li><li role="none" class="level1 nav-14-10 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/metalliteollisuusmaalit/ajoratamaalit" role="menuitem" ><span>Ajoratamaalit</span></a></li><li role="none" class="level1 nav-14-11 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/metalliteollisuusmaalit/muut-teollisuusmaalit-pastat" role="menuitem" ><span>Muut teollisuusmaalit / pastat</span></a></li><li role="none" class="level1 nav-14-12 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/metalliteollisuusmaalit/metalliteollisuusohenteet" role="menuitem" ><span>Metalliteollisuusohenteet</span></a></li><li role="none" class="level1 nav-14-13 category-item nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/metalliteollisuusmaalit/pulverimaalit" role="menuitem" ><span>Pulverimaalit</span></a></li><li role="none" class="level1 nav-14-14 category-item last nav-item"><a href="https://www.hartman.fi/fi/maalit-ja-maalaustarvikkeet/puuteollisuusmaalit/puuteollisuusmaalit/puuteollisuusmaalit" role="menuitem" ><span>Puuteollisuusmaalit</span></a></li></ul></li><li role="none" class="level0 nav-15 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/tyovaatteet" role="menuitem" class="level-top" ><span>Työvaatteet</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-15-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyovaatteet/tyotakit" role="menuitem" ><span>Työtakit</span></a></li><li role="none" class="level1 nav-15-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyovaatteet/muut-suojapuvut-ja-tyovaatteet" role="menuitem" ><span>Muut suojapuvut ja työvaatteet</span></a></li><li role="none" class="level1 nav-15-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyovaatteet/sadepuvut" role="menuitem" ><span>Sadepuvut</span></a></li><li role="none" class="level1 nav-15-4 category-item nav-item"><a href="https://www.hartman.fi/fi/tyovaatteet/umpisuojapuvut" role="menuitem" ><span>Umpisuojapuvut</span></a></li><li role="none" class="level1 nav-15-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyovaatteet/tyohousut" role="menuitem" ><span>Työhousut</span></a></li></ul></li><li role="none" class="level0 nav-16 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/terakset-ja-metallit" role="menuitem" class="level-top" ><span>Teräkset ja metallit</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-16-1 category-item first nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset" role="menuitem" ><span>Hiiliteräkset</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-16-1-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/terasputket-kierteistettavat" role="menuitem" ><span>Teräsputket, kierteistettävät</span></a></li><li role="none" class="level2 nav-16-1-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/kiila-teras" role="menuitem" ><span>Kiila teräs</span></a></li><li role="none" class="level2 nav-16-1-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/nelioterakset" role="menuitem" ><span>Neliöteräkset</span></a></li><li role="none" class="level2 nav-16-1-4 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/kulmaterakset" role="menuitem" ><span>Kulmateräkset</span></a></li><li role="none" class="level2 nav-16-1-5 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/pyoroterakset" role="menuitem" ><span>Pyöröteräkset</span></a></li><li role="none" class="level2 nav-16-1-6 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/lattaterakset" role="menuitem" ><span>Lattateräkset</span></a></li><li role="none" class="level2 nav-16-1-7 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/huonekalu-ohutseinaputket" role="menuitem" ><span>Huonekalu-, ohutseinäputket</span></a></li><li role="none" class="level2 nav-16-1-8 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/putkipalkit" role="menuitem" ><span>Putkipalkit</span></a></li><li role="none" class="level2 nav-16-1-9 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/kylmamuotoillut-terasprofiilit" role="menuitem" ><span>Kylmämuotoillut teräsprofiilit</span></a></li><li role="none" class="level2 nav-16-1-10 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/u-i-teraspalkit" role="menuitem" ><span>U, i-teräspalkit</span></a></li><li role="none" class="level2 nav-16-1-11 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/kuumasinkityt-teraslevyt" role="menuitem" ><span>Kuumasinkityt teräslevyt</span></a></li><li role="none" class="level2 nav-16-1-12 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/rihla-nystyra-kulutuslevyt" role="menuitem" ><span>Rihla-, nystyrä-, kulutuslevyt</span></a></li><li role="none" class="level2 nav-16-1-13 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/kylmavalssatut-teraslevyt" role="menuitem" ><span>Kylmävalssatut teräslevyt</span></a></li><li role="none" class="level2 nav-16-1-14 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/hiiliterakset/kuumavalssatut-teraslevyt" role="menuitem" ><span>Kuumavalssatut teräslevyt</span></a></li></ul></li>
957<li role="none" class="level1 nav-16-2 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/ruostumattomat-terakset" role="menuitem" ><span>Ruostumattomat teräkset</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-16-2-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/ruostumattomat-terakset/saumattomat-ruostumattomat-put" role="menuitem" ><span>Saumattomat ruostumattomat put</span></a></li><li role="none" class="level2 nav-16-2-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/ruostumattomat-terakset/haponkestavat-terastangot" role="menuitem" ><span>Haponkestävät terästangot</span></a></li><li role="none" class="level2 nav-16-2-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/ruostumattomat-terakset/ruostumattomat-terastangot" role="menuitem" ><span>Ruostumattomat terästangot</span></a></li><li role="none" class="level2 nav-16-2-4 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/ruostumattomat-terakset/kuumavals-haponk-teraslevyt" role="menuitem" ><span>Kuumavals. haponk.teräslevyt</span></a></li><li role="none" class="level2 nav-16-2-5 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/ruostumattomat-terakset/kuumavals-ruost-teraslevyt" role="menuitem" ><span>Kuumavals. ruost. teräslevyt</span></a></li><li role="none" class="level2 nav-16-2-6 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/ruostumattomat-terakset/kylmavalssatut-haponkestavat-t" role="menuitem" ><span>Kylmävalssatut haponkestävät t</span></a></li><li role="none" class="level2 nav-16-2-7 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/ruostumattomat-terakset/kylmavalssatut-ruostumattomat" role="menuitem" ><span>Kylmävalssatut ruostumattomat</span></a></li></ul></li><li role="none" class="level1 nav-16-3 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/alumiinit" role="menuitem" ><span>Alumiinit</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-16-3-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/alumiinit/lyijylevyt" role="menuitem" ><span>Lyijylevyt</span></a></li><li role="none" class="level2 nav-16-3-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/alumiinit/alumiiniputket-tangot-prof" role="menuitem" ><span>Alumiiniputket, -tangot, -prof</span></a></li><li role="none" class="level2 nav-16-3-3 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/alumiinit/alumiinilevyt-puolikovat" role="menuitem" ><span>Alumiinilevyt, puolikovat</span></a></li></ul></li><li role="none" class="level1 nav-16-4 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/ritilat-ja-verkot" role="menuitem" ><span>Ritilät ja verkot</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-16-4-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/ritilat-ja-verkot/laattaverkot" role="menuitem" ><span>Laattaverkot</span></a></li><li role="none" class="level2 nav-16-4-2 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/ritilat-ja-verkot/terasrakenneosat" role="menuitem" ><span>Teräsrakenneosat</span></a></li></ul></li><li role="none" class="level1 nav-16-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyokalut/terakset-ja-metallit/kuluttajaterakset" role="menuitem" ><span>Kuluttajateräkset</span></a></li></ul></li><li role="none" class="level0 nav-17 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/levytuotteet" role="menuitem" class="level-top" ><span>Levytuotteet</span></a><ul class="level0 submenu">
957<li role="none" class="level1 nav-17-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/liimapuulevyt" role="menuitem" ><span>Liimapuulevyt</span></a></li><li role="none" class="level1 nav-17-2 category-item nav-item parent"><a href="https://www.hartman.fi/fi/levytuotteet/vanerit" role="menuitem" ><span>Vanerit</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-17-2-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/vanerit/koivuvanerit-ja-sekavanerit" role="menuitem" ><span>Koivuvanerit ja sekavanerit</span></a></li><li role="none" class="level2 nav-17-2-2 category-item nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/vanerit/havuvanerit" role="menuitem" ><span>Havuvanerit</span></a></li><li role="none" class="level2 nav-17-2-3 category-item nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/vanerit/erikoisvanerit-teak-vanerit" role="menuitem" ><span>Erikoisvanerit, teak-vanerit</span></a></li><li role="none" class="level2 nav-17-2-4 category-item nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/vanerit/filmivanerit" role="menuitem" ><span>Filmivanerit</span></a></li><li role="none" class="level2 nav-17-2-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/vanerit/muottivanerit-betonoimislevyt" role="menuitem" ><span>Muottivanerit, betonoimislevyt</span></a></li></ul></li><li role="none" class="level1 nav-17-3 category-item nav-item parent"><a href="https://www.hartman.fi/fi/levytuotteet/kuitulevyt" role="menuitem" ><span>Kuitulevyt</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-17-3-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/kuitulevyt/mdf-levy-ja-hdf-levy" role="menuitem" ><span>MDF-levy ja HDF-levy</span></a></li><li role="none" class="level2 nav-17-3-2 category-item nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/kuitulevyt/kovakuitulevy" role="menuitem" ><span>Kovakuitulevy</span></a></li><li role="none" class="level2 nav-17-3-3 category-item nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/kuitulevyt/kovakuitulevyjalosteet" role="menuitem" ><span>Kovakuitulevyjalosteet</span></a></li><li role="none" class="level2 nav-17-3-4 category-item last nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/kuitulevyt/exterior-mdf" role="menuitem" ><span>Exterior MDF</span></a></li></ul></li><li role="none" class="level1 nav-17-4 category-item nav-item parent"><a href="https://www.hartman.fi/fi/levytuotteet/lastulevyt" role="menuitem" ><span>Lastulevyt</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-17-4-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/lastulevyt/lastulevy-vakio" role="menuitem" ><span>Lastulevy vakio</span></a></li><li role="none" class="level2 nav-17-4-2 category-item nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/lastulevyt/melamiinipintaiset-lastulevyt" role="menuitem" ><span>Melamiinipintaiset lastulevyt</span></a></li><li role="none" class="level2 nav-17-4-3 category-item nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/lastulevyt/pontatut-lastulevyt" role="menuitem" ><span>Pontatut lastulevyt</span></a></li><li role="none" class="level2 nav-17-4-4 category-item last nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/lastulevyt/vedenkestavat-lastulevyt" role="menuitem" ><span>Vedenkestävät lastulevyt</span></a></li></ul></li><li role="none" class="level1 nav-17-5 category-item nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/korkepainelaminaatit-ja-tyotasot" role="menuitem" ><span>Korkepainelaminaatit ja työtasot</span></a></li><li role="none" class="level1 nav-17-6 category-item last nav-item parent"><a href="https://www.hartman.fi/fi/levytuotteet/osb-levyt" role="menuitem" ><span>Osb levyt</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-17-6-1 category-item first last nav-item"><a href="https://www.hartman.fi/fi/levytuotteet/osb-levyt/osb-levyt" role="menuitem" ><span>Osb levyt</span></a></li></ul></li></ul></li><li role="none" class="level0 nav-18 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/pakkaustarvikkeet" role="menuitem" class="level-top" ><span>Pakkaustarvikkeet</span></a><ul class="level0 submenu">
957<li role="none" class="level1 nav-18-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/pakkaustarvikkeet/teipit-tarrat" role="menuitem" ><span>Teipit, tarrat</span></a></li><li role="none" class="level1 nav-18-2 category-item nav-item"><a href="https://www.hartman.fi/fi/pakkaustarvikkeet/muut-toimistkonetarvikkeet" role="menuitem" ><span>Muut toimistkonetarvikkeet</span></a></li><li role="none" class="level1 nav-18-3 category-item nav-item"><a href="https://www.hartman.fi/fi/pakkaustarvikkeet/kylmavalssattu-paalausvanneteras" role="menuitem" ><span>Kylmävalssattu paalausvanneteräs</span></a></li><li role="none" class="level1 nav-18-4 category-item nav-item"><a href="https://www.hartman.fi/fi/pakkaustarvikkeet/kalvot-muovia" role="menuitem" ><span>Kalvot, muovia</span></a></li><li role="none" class="level1 nav-18-5 category-item nav-item"><a href="https://www.hartman.fi/fi/pakkaustarvikkeet/sidelangat-ja-vanteet-muovia" role="menuitem" ><span>Sidelangat ja vanteet muovia</span></a></li><li role="none" class="level1 nav-18-6 category-item nav-item"><a href="https://www.hartman.fi/fi/pakkaustarvikkeet/muut-pakkausaineet-muovia" role="menuitem" ><span>Muut pakkausaineet, muovia</span></a></li><li role="none" class="level1 nav-18-7 category-item nav-item"><a href="https://www.hartman.fi/fi/pakkaustarvikkeet/paperi-pinnoitettu-tai-kyllastetty" role="menuitem" ><span>Paperi, pinnoitettu tai kyllästetty</span></a></li><li role="none" class="level1 nav-18-8 category-item nav-item"><a href="https://www.hartman.fi/fi/pakkaustarvikkeet/muut-pakkausaineet-paperia-pahvia" role="menuitem" ><span>Muut pakkausaineet, paperia, pahvia</span></a></li><li role="none" class="level1 nav-18-9 category-item last nav-item"><a href="https://www.hartman.fi/fi/pakkaustarvikkeet/muut-metallirasiat" role="menuitem" ><span>Muut metallirasiat</span></a></li></ul></li><li role="none" class="level0 nav-19 category-item level-top nav-item parent"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito" role="menuitem" class="level-top" ><span>Siivous ja puhtaanapito</span></a><ul class="level0 submenu"><li role="none" class="level1 nav-19-1 category-item first nav-item parent"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/henkilohygienia" role="menuitem" ><span>Henkilöhygienia</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-19-1-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/henkilohygienia/nestesaippuat-ja-shampoot" role="menuitem" ><span>Nestesaippuat ja shampoot</span></a></li><li role="none" class="level2 nav-19-1-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/henkilohygienia/saippua-annostelijat-ja-kasihuuhdeannostelijat" role="menuitem" ><span>Saippua-annostelijat ja käsihuuhdeannostelijat</span></a></li><li role="none" class="level2 nav-19-1-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/henkilohygienia/muut-jalkojenhoitovalmisteet" role="menuitem" ><span>Muut jalkojenhoitovalmisteet,</span></a></li><li role="none" class="level2 nav-19-1-4 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/henkilohygienia/kasihuuhteet" role="menuitem" ><span>Käsihuuhteet</span></a></li><li role="none" class="level2 nav-19-1-5 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/henkilohygienia/saunasaippuat" role="menuitem" ><span>Saunasaippuat</span></a></li><li role="none" class="level2 nav-19-1-6 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/henkilohygienia/muut-hiustenhoitovalineet" role="menuitem" ><span>Muut hiustenhoitovälineet</span></a></li><li role="none" class="level2 nav-19-1-7 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/henkilohygienia/kasivoiteet-ja-pesuvoiteet" role="menuitem" ><span>
957Käsivoiteet ja pesuvoiteet</span></a></li><li role="none" class="level2 nav-19-1-8 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/henkilohygienia/kasienpuhdistusaineet" role="menuitem" ><span>Käsienpuhdistusaineet</span></a></li></ul></li><li role="none" class="level1 nav-19-2 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/hoivatuotteet" role="menuitem" ><span>Hoivatuotteet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-19-2-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/hoivatuotteet/muut-sailytysastiat-ja-valineet" role="menuitem" ><span>Muut säilytysastiat ja välineet</span></a></li><li role="none" class="level2 nav-19-2-2 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/hoivatuotteet/suusuojat" role="menuitem" ><span>Suusuojat</span></a></li><li role="none" class="level2 nav-19-2-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/hoivatuotteet/suoja-asusteet" role="menuitem" ><span>Suoja-asusteet</span></a></li><li role="none" class="level2 nav-19-2-4 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/hoivatuotteet/ruokalaput-ja-esiliinat" role="menuitem" ><span>Ruokalaput ja esiliinat</span></a></li><li role="none" class="level2 nav-19-2-5 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/hoivatuotteet/alustat" role="menuitem" ><span>Alustat</span></a></li></ul></li><li role="none" class="level1 nav-19-3 category-item nav-item parent"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivousvalineet-ammattikayttoon" role="menuitem" ><span>Siivousvälineet ammattikäyttöön</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-19-3-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivousvalineet-ammattikayttoon/pesusienet-ja-polyhuiskat" role="menuitem" ><span>Pesusienet ja pölyhuiskat</span></a></li><li role="none" class="level2 nav-19-3-2 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivousvalineet-ammattikayttoon/siivoussangot-ja-pesualtaat" role="menuitem" ><span>Siivoussangot ja pesualtaat</span></a></li><li role="none" class="level2 nav-19-3-3 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivousvalineet-ammattikayttoon/muut-siivoustarvikkeet" role="menuitem" ><span>Muut siivoustarvikkeet</span></a></li><li role="none" class="level2 nav-19-3-4 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivousvalineet-ammattikayttoon/ikkunapesuvalineet-ja-ikkunalastat" role="menuitem" ><span>Ikkunapesuvälineet ja ikkunalastat</span></a></li><li role="none" class="level2 nav-19-3-5 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivousvalineet-ammattikayttoon/lattiakuivaimet-ja-poytakuivaimet" role="menuitem" ><span>Lattiakuivaimet ja pöytäkuivaimet</span></a></li><li role="none" class="level2 nav-19-3-6 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivousvalineet-ammattikayttoon/lattiamopit-ja-kasimopit" role="menuitem" ><span>Lattiamopit ja käsimopit</span></a></li><li role="none" class="level2 nav-19-3-7 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivousvalineet-ammattikayttoon/siivousliinat-kuituliinat-ja-kertakayttopyyhkeet" role="menuitem" ><span>Siivousliinat, kuituliinat ja kertakäyttöpyyhkeet</span></a></li><li role="none" class="level2 nav-19-3-8 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivousvalineet-ammattikayttoon/siivousvaunut-ja-siivousvaunutarvikkeet" role="menuitem" ><span>Siivousvaunut ja siivousvaunutarvikkeet</span></a></li><li role="none" class="level2 nav-19-3-9 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivousvalineet-ammattikayttoon/laikat-hankauslevyt-ja-hankausliinat" role="menuitem" ><span>Laikat, hankauslevyt ja hankausliinat</span></a></li><li role="none" class="level2 nav-19-3-10 category-item last nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivousvalineet-ammattikayttoon/annostelupumput-ja-muut-annosteluvalineet" role="menuitem" ><span>Annostelupumput ja muut annosteluvälineet</span></a></li></ul></li>
957<li role="none" class="level1 nav-19-4 category-item nav-item parent"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/siivouskoneet" role="menuitem" ><span>Siivouskoneet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-19-4-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivouskoneet/marka-kuivaimurit-ja-vedenimurit" role="menuitem" ><span>Märkä-kuivaimurit ja vedenimurit</span></a></li><li role="none" class="level2 nav-19-4-2 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/siivouskoneet/polynimurit-ja-varusteet-ammattikayttoon" role="menuitem" ><span>Pölynimurit ja varusteet ammattikäyttöön</span></a></li><li role="none" class="level2 nav-19-4-3 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/siivouskoneet/painepesurit" role="menuitem" ><span>Painepesurit</span></a></li><li role="none" class="level2 nav-19-4-4 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/siivouskoneet/lakaisukoneet" role="menuitem" ><span>Lakaisukoneet</span></a></li><li role="none" class="level2 nav-19-4-5 category-item nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/siivouskoneet/polypussit-ja-suodattimet" role="menuitem" ><span>Pölypussit ja -suodattimet</span></a></li><li role="none" class="level2 nav-19-4-6 category-item last nav-item"><a href="https://www.hartman.fi/fi/tyoymparisto/siivous-ja-puhtaanapito/siivouskoneet/yhdistelmakoneet-ja-yhdistelmakoneenvarusteet" role="menuitem" ><span>
957Yhdistelmäkoneet ja yhdistelmäkoneenvarusteet</span></a></li></ul></li><li role="none" class="level1 nav-19-5 category-item nav-item parent"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/pehmopaperit-ja-annostelijat" role="menuitem" ><span>Pehmopaperit ja annostelijat</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-19-5-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/pehmopaperit-ja-annostelijat/teollisuuspyyhket-ja-vetopyyhkeet" role="menuitem" ><span>Teollisuuspyyhket ja vetopyyhkeet</span></a></li><li role="none" class="level2 nav-19-5-2 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/pehmopaperit-ja-annostelijat/paperiannostelijat-ja-paperitelineet" role="menuitem" ><span>Paperiannostelijat ja paperitelineet</span></a></li><li role="none" class="level2 nav-19-5-3 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/pehmopaperit-ja-annostelijat/talouspaperit" role="menuitem" ><span>Talouspaperit</span></a></li><li role="none" class="level2 nav-19-5-4 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/pehmopaperit-ja-annostelijat/wc-paperit" role="menuitem" ><span>Wc-paperit</span></a></li><li role="none" class="level2 nav-19-5-5 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/pehmopaperit-ja-annostelijat/nenaliinat" role="menuitem" ><span>Nenäliinat</span></a></li><li role="none" class="level2 nav-19-5-6 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/pehmopaperit-ja-annostelijat/lautasliinat" role="menuitem" ><span>Lautasliinat</span></a></li><li role="none" class="level2 nav-19-5-7 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/pehmopaperit-ja-annostelijat/kasipyyhkeet" role="menuitem" ><span>Käsipyyhkeet</span></a></li><li role="none" class="level2 nav-19-5-8 category-item last nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/pehmopaperit-ja-annostelijat/muut-paperipyyhkeet-ja-talouspaperit" role="menuitem" ><span>Muut paperipyyhkeet ja talouspaperit</span></a></li></ul></li><li role="none" class="level1 nav-19-6 category-item nav-item parent"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet" role="menuitem" ><span>Puhdistusaineet</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-19-6-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/tekstiilien-nestemaiset-pesuaineet" role="menuitem" ><span>Tekstiilien nestemäiset pesuaineet</span></a></li><li role="none" class="level2 nav-19-6-2 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/erikoispuhdistusaineet" role="menuitem" ><span>Erikoispuhdistusaineet</span></a></li><li role="none" class="level2 nav-19-6-3 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/desinfioivat-puhdistusaineet" role="menuitem" ><span>Desinfioivat puhdistusaineet</span></a></li><li role="none" class="level2 nav-19-6-4 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/muut-tekstiilin-huoltovalineet" role="menuitem" ><span>Muut tekstiilin huoltovälineet</span></a></li><li role="none" class="level2 nav-19-6-5 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/mantysuopa-ja-matonpesuaineet" role="menuitem" ><span>Mäntysuopa ja matonpesuaineet</span></a></li><li role="none" class="level2 nav-19-6-6 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/textiilien-huuhteluaineet" role="menuitem" ><span>Textiilien huuhteluaineet</span></a></li><li role="none" class="level2 nav-19-6-7 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/valkaisuaineet-ja-kloriitit" role="menuitem" ><span>Valkaisuaineet ja kloriitit</span></a></li><li role="none" class="level2 nav-19-6-8 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/hoitavat-puhdistusaineet" role="menuitem" ><span>Hoitavat puhdistusaineet</span></a></li><li role="none" class="level2 nav-19-6-9 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/yleispuhdistusaineet" role="menuitem" ><span>Yleispuhdistusaineet</span></a></li><li role="none" class="level2 nav-19-6-10 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/saniteettipuhdistuaineet" role="menuitem" ><span>Saniteettipuhdistuaineet</span></a></li><li role="none" class="level2 nav-19-6-11 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/tekstiilien-pesujauheet" role="menuitem" ><span>Tekstiilien pesujauheet</span></a></li>
957<li role="none" class="level2 nav-19-6-12 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/hankausjauheet-ja-nesteet" role="menuitem" ><span>Hankausjauheet ja nesteet</span></a></li><li role="none" class="level2 nav-19-6-13 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/astian-ikkunanpesuaineet" role="menuitem" ><span>Astian-, ikkunanpesuaineet</span></a></li><li role="none" class="level2 nav-19-6-14 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/ilmanraikastajat" role="menuitem" ><span>Ilmanraikastajat</span></a></li><li role="none" class="level2 nav-19-6-15 category-item last nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/puhdistusaineet/lattiavahat-vahanpoistoaineet" role="menuitem" ><span>Lattiavahat, vahanpoistoaineet</span></a></li></ul></li><li role="none" class="level1 nav-19-7 category-item last nav-item parent"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/harjat-1702563156" role="menuitem" ><span>Harjat</span></a><ul class="level1 submenu"><li role="none" class="level2 nav-19-7-1 category-item first nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/harjat-1702563156/katuharjat-ja-lakaisuharjat" role="menuitem" ><span>Katuharjat ja lakaisuharjat</span></a></li><li role="none" class="level2 nav-19-7-2 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/harjat-1702563156/harjanvarret-valinevarret-ja-moppikehykset" role="menuitem" ><span>Harjanvarret, välinevarret ja moppikehykset</span></a></li><li role="none" class="level2 nav-19-7-3 category-item nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/harjat-1702563156/wc-harjat-tiskiharjat-pulloharjat-ja-pesuharjat" role="menuitem" ><span>WC-Harjat, tiskiharjat, pulloharjat ja pesuharjat</span></a></li><li role="none" class="level2 nav-19-7-4 category-item last nav-item"><a href="https://www.hartman.fi/fi/siivous-ja-puhtaanapito/harjat-1702563156/rikkalapiot-ja-lattiaharjat" role="menuitem" ><span>Rikkalapiot ja lattiaharjat</span></a></li></ul></li></ul></li> 958</ul> 959<div class="pages-mobile-wrapper"> 960 961 <!-- Drilldown menu --> 962 <ul id="mobile-pages-menu" class="menu" role="menubar" data-drilldown data-options="autoHeight: true; parentLink: false; animationDuration: 200; backButton: false;"> 963 964 <li class="level0 ambrands-menu-item" 965 data-ambrands-js="brands-menu-link"> 966 <a href="https://www.hartman.fi/fi/tuotemerkki/" 967 class="level-top ambrands-link" 968 title="Tuotemerkit"> 969 Tuotemerkit </a> 970 </li> 971<li role="none" class="level0 nav-1 first level-top nav-item"><a href="https://www.hartman.fi/fi/rautakauppa" role="menuitem" class="level-top" ><span>Kuluttajille</span></a></li><li role="none" class="level0 nav-2 level-top nav-item"><a href="https://www.hartman.fi/fi/ammattirakentajille" role="menuitem" class="level-top" ><span>Ammattirakentajille</span></a></li><li role="none" class="level0 nav-3 level-top nav-item"><a href="https://www.hartman.fi/fi/jalleenmyyjille" role="menuitem" class="level-top" ><span>Jälleenmyyjille</span></a></li><li role="none" class="level0 nav-4 level-top nav-item"><a href="https://www.hartman.fi/fi/teollisuus" role="menuitem" class="level-top" ><span>Teollisuudelle</span></a></li><li role="none" class="level0 nav-5 level-top nav-item"><a href="https://www.hartman.fi/fi/inspiraatio" role="menuitem" class="level-top" ><span>Esitteet</span></a></li><li role="none" class="level0 nav-6 level-top nav-item"><a href="https://www.hartman.fi/fi/historia" role="menuitem" class="level-top" ><span>Historia</span></a></li><li role="none" class="level0 nav-7 level-top nav-item"><a href="https://www.hartman.fi/fi/export" role="menuitem" class="level-top" ><span>Vienti</span></a></li> 972 </ul> 973</div> 974 <ul class="mobile-language-switcher"> 975 <li class="view-sv nav-item"> 976 <a href="#" data-post='{"action":"https:\/\/www.hartman.fi\/fi\/stores\/store\/redirect\/","data":{"___store":"sv","___from_store":"fi","uenc":"aHR0cHM6Ly93d3cuaGFydG1hbi5maS9zdi9lbmdsaXNo"}}' class="level-top"> 977 <i class="hartman-icon h-globe"></i>svenska </a> 978 </li> 979 <li class="view-fi nav-item"> 980 <a href="https://www.hartman.fi/fi/english" aria-label="icon"> 981 <i class="hartman-icon h-globe"></i>english </a> 982 </li> 983 <li class="view-sv nav-item"> 984 <a href="https://www.hartman.fi/sv/danish" aria-label="icon"> 985 <i class="hartman-icon h-globe"></i>danish </a> 986 </li> 987 </ul> 988 989 </div> 990 991</div> 992 993
994<script> 995 var LOCALE = 'fi\u002DFI'; 996 var BASE_URL = 'https\u003A\u002F\u002Fwww.hartman.fi\u002Ffi\u002F'; 997 var require = { 998 'baseUrl': 'https\u003A\u002F\u002Fwww.hartman.fi\u002Fstatic\u002Fversion1789641330\u002Ffrontend\u002FSolteq\u002Fhartman\u002Ffi_FI' 999 };</script>
vendor: 1 bytes, line 999
999
1000<script type="text/javascript" src="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/requirejs/require.min.js"></script>
vendor: 1 bytes, line 1000
1000
1001<script type="text/javascript" src="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/requirejs-min-resolver.min.js"></script>
vendor: 1 bytes, line 1001
1001
1002<script type="text/javascript" src="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/mage/requirejs/mixins.min.js"></script>
vendor: 1 bytes, line 1002
1002
1003<script type="text/javascript" src="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/requirejs-config.min.js"></script>
vendor: 1 bytes, line 1003
1003
1004<script type="text/javascript" src="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/Solteq_PageBuilderLazyLoading/js/resource/lazysizes/lazySizesConfig.min.js"></script>
vendor: 1 bytes, line 1004
1004
1005<script defer type="text/javascript" src="https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/Solteq_PageBuilderLazyLoading/js/resource/lazysizes/ls.attrchange.min.js"></script>
vendor: 1 bytes, line 1005
1005
1006<script defer type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.1.1/lazysizes.min.js"></script>
vendor: 1 bytes, line 1006
1006
1007<script defer id="CookieConsent" src="https://policy.app.cookieinformation.com/uc.js" data-culture="FI" type="text/javascript" data-gcm-enabled="false"></script>
vendor: 1 bytes, line 1007
1007
1008<script type="text/x-magento-init"> 1009 { 1010 "*": { 1011 "Magento_PageCache/js/form-key-provider": { 1012 "isPaginationCacheEnabled": 1013 1 } 1014 } 1015 } 1016 </script>
vendor: 1 bytes, line 1016
1016
1017<script type="text/x-magento-init"> 1018 { 1019 "*": { 1020 "Magento_PageBuilder/js/widget-initializer": { 1021 "config": {"[data-content-type=\"slider\"][data-appearance=\"default\"]":{"Solteq_PageBuilderSliderExtend\/js\/content-type\/slider\/appearance\/default\/widget":false},"[data-content-type=\"map\"]":{"Magento_PageBuilder\/js\/content-type\/map\/appearance\/default\/widget":false},"[data-content-type=\"row\"]":{"Magento_PageBuilder\/js\/content-type\/row\/appearance\/default\/widget":false},"[data-content-type=\"tabs\"]":{"Magento_PageBuilder\/js\/content-type\/tabs\/appearance\/default\/widget":false},"[data-content-type=\"slide\"]":{"Magento_PageBuilder\/js\/content-type\/slide\/appearance\/default\/widget":{"buttonSelector":".pagebuilder-slide-button","showOverlay":"hover","dataRole":"slide"}},"[data-content-type=\"banner\"]":{"Magento_PageBuilder\/js\/content-type\/banner\/appearance\/default\/widget":{"buttonSelector":".pagebuilder-banner-button","showOverlay":"hover","dataRole":"banner"}},"[data-content-type=\"buttons\"]":{"Magento_PageBuilder\/js\/content-type\/buttons\/appearance\/inline\/widget":false},"[data-content-type=\"products\"][data-appearance=\"carousel\"]":{"Magento_PageBuilder\/js\/content-type\/products\/appearance\/carousel\/widget":false},"[data-content-type=\"column-group\"]":{"Solteq_PageBuilderColumnsExtend\/js\/content-type\/column-group\/appearance\/default\/widget":false}}, 1022 "breakpoints": {"desktop":{"label":"Desktop","stage":true,"default":true,"class":"desktop-switcher","icon":"Magento_PageBuilder::css\/images\/switcher\/switcher-desktop.svg","conditions":{"min-width":"1024px"},"options":{"products":{"default":{"slidesToShow":"5"}}}},"tablet":{"conditions":{"max-width":"1024px","min-width":"768px"},"options":{"products":{"default":{"slidesToShow":"4"},"continuous":{"slidesToShow":"3"}}}},"mobile":{"label":"Mobile","stage":true,"class":"mobile-switcher","icon":"Magento_PageBuilder::css\/images\/switcher\/switcher-mobile.svg","media":"only screen and (max-width: 768px)","conditions":{"max-width":"768px","min-width":"640px"},"options":{"products":{"default":{"slidesToShow":"3"}}}},"mobile-small":{"conditions":{"max-width":"640px"},"options":{"products":{"default":{"slidesToShow":"2"},"continuous":{"slidesToShow":"1"}}}}} } 1023 } 1024 } 1025</script>
vendor: 1 bytes, line 1025
1025
1026<script type="text/javascript">document.querySelector("#cookie-status").style.display = "none";</script>
vendor: 1 bytes, line 1026
1026
1027<script type="text/x-magento-init"> 1028 { 1029 "*": { 1030 "cookieStatus": {} 1031 } 1032 } 1033</script>
vendor: 1 bytes, line 1033
1033
1034<script type="text/x-magento-init"> 1035 { 1036 "*": { 1037 "mage/cookies": { 1038 "expires": null, 1039 "path": "\u002F", 1040 "domain": ".www.hartman.fi", 1041 "secure": true, 1042 "lifetime": "3600" 1043 } 1044 } 1045 } 1046</script>
vendor: 1 bytes, line 1046
1046
1047<script> 1048 window.cookiesConfig = window.cookiesConfig || {}; 1049 window.cookiesConfig.secure = true; 1050</script>
vendor: 1 bytes, line 1050
1050
1051<script> require.config({ 1052 map: { 1053 '*': { 1054 wysiwygAdapter: 'mage/adminhtml/wysiwyg/tiny_mce/tinymceAdapter' 1055 } 1056 } 1057 });</script>
vendor: 1 bytes, line 1057
1057
1058<script type="text/x-magento-init"> 1059 { 1060 "*": { 1061 "Magento_Ui/js/core/app": { 1062 "components": { 1063 "company": { 1064 "component": "Magento_Company/js/view/company", 1065 "logoutUrl": "https://www.hartman.fi/fi/customer/account/logout/" 1066 } 1067 } 1068 } 1069 } 1070 } 1071</script>
vendor: 1 bytes, line 1071
1071
1072<script> require.config({ 1073 paths: { 1074 googleMaps: 'https\u003A\u002F\u002Fmaps.googleapis.com\u002Fmaps\u002Fapi\u002Fjs\u003Fv\u003D3.53\u0026key\u003DAIzaSyBZn0g\u002DP_iuZYAuWbVeVm4wAczOFJQZBCg' 1075 }, 1076 config: { 1077 'Magento_PageBuilder/js/utils/map': { 1078 style: '', 1079 }, 1080 'Magento_PageBuilder/js/content-type/map/preview': { 1081 apiKey: 'AIzaSyBZn0g\u002DP_iuZYAuWbVeVm4wAczOFJQZBCg', 1082 apiKeyErrorMessage: 'You\u0020must\u0020provide\u0020a\u0020valid\u0020\u003Ca\u0020href\u003D\u0027https\u003A\u002F\u002Fwww.hartman.fi\u002Ffi\u002Fadminhtml\u002Fsystem_config\u002Fedit\u002Fsection\u002Fcms\u002F\u0023cms_pagebuilder\u0027\u0020target\u003D\u0027_blank\u0027\u003EGoogle\u0020Maps\u0020API\u0020key\u003C\u002Fa\u003E\u0020to\u0020use\u0020a\u0020map.' 1083 }, 1084 'Magento_PageBuilder/js/form/element/map': { 1085 apiKey: 'AIzaSyBZn0g\u002DP_iuZYAuWbVeVm4wAczOFJQZBCg', 1086 apiKeyErrorMessage: 'You\u0020must\u0020provide\u0020a\u0020valid\u0020\u003Ca\u0020href\u003D\u0027https\u003A\u002F\u002Fwww.hartman.fi\u002Ffi\u002Fadminhtml\u002Fsystem_config\u002Fedit\u002Fsection\u002Fcms\u002F\u0023cms_pagebuilder\u0027\u0020target\u003D\u0027_blank\u0027\u003EGoogle\u0020Maps\u0020API\u0020key\u003C\u002Fa\u003E\u0020to\u0020use\u0020a\u0020map.' 1087 }, 1088 } 1089 });</script>
vendor: 1 bytes, line 1089
1089
1090<script> 1091 require.config({ 1092 shim: { 1093 'Magento_PageBuilder/js/utils/map': { 1094 deps: ['googleMaps'] 1095 } 1096 } 1097 });</script>
vendor: 1 bytes, line 1097
1097
1098<script> 1099 require([ 1100 'jquery', 1101 'Mirasvit_SearchAutocomplete/js/autocomplete', 1102 'Mirasvit_SearchAutocomplete/js/typeahead' 1103 ], function ($, autocomplete, typeahead) { 1104 var selector = 'input#search, input#mobile_search, .minisearch input[type="text"]'; 1105 1106 $(document).ready(function () { 1107 $('#search_mini_form').prop("minSearchLength", 10000); 1108 1109 const $input = $(selector); 1110 1111 $input.each(function (index, searchInput) { 1112 new autocomplete($(searchInput)).init({"query":"","priceFormat":{"pattern":"%s\u00a0\u20ac","precision":2,"requiredPrecision":2,"decimalSymbol":",","groupSymbol":"\u00a0","groupLength":3,"integerRequired":false},"minSearchLength":2,"url":"https:\/\/www.hartman.fi\/fi\/searchautocomplete\/ajax\/suggest\/","storeId":"3","delay":0,"isAjaxCartButton":false,"isShowCartButton":false,"isShowImage":true,"isShowPrice":true,"isShowSku":true,"isShowRating":true,"isShowDescription":true,"isShowStockStatus":false,"layout":"1column","popularTitle":"Suosituimmat haut","popularSearches":["Tapetit","Eristeet","Paneelit","Puutavara","Sis\u00e4maali","Vaneri"],"isTypeaheadEnabled":false,"typeaheadUrl":"https:\/\/www.hartman.fi\/fi\/searchautocomplete\/ajax\/typeahead\/","minSuggestLength":2,"currency":"EUR","limit":12,"customerGroupId":0,"filterPosition":"disable"}); 1113 }); 1114 }); 1115 } 1116 ); 1117 </script>
vendor: 1 bytes, line 1117
1117
1118<script id="searchAutocompletePlaceholder" type="text/x-custom-template"> 1119 <div class="mst-searchautocomplete__autocomplete"> 1120 <div class="mst-searchautocomplete__spinner"> 1121 <div class="spinner-item spinner-item-1"></div> 1122 <div class="spinner-item spinner-item-2"></div> 1123 <div class="spinner-item spinner-item-3"></div> 1124 <div class="spinner-item spinner-item-4"></div> 1125 </div> 1126 1127 <div class="mst-searchautocomplete__close">×</div> 1128 </div> 1129</script>
vendor: 1 bytes, line 1129
1129
1130<script id="searchAutocompleteWrapper" type="text/x-custom-template"> 1131 <div class="mst-searchautocomplete__wrapper"> 1132 <div class="mst-searchautocomplete__show-all" data-bind="visible: result().urlAll && result().totalItems > 0"> 1133 <a data-bind="attr: { href: result().urlAll }"> 1134 <span data-bind="text: result().textAll"></span> 1135 </a> 1136 </div> 1137 1138 <div class="mst-searchautocomplete__results" data-bind="{ 1139 visible: result().noResults == false, 1140 css: { 1141 __all: result().urlAll && result().totalItems > 0 1142 } 1143 }"> 1144 <div data-bind="foreach: { data: result().indexes, as: 'index' }"> 1145 <div data-bind="visible: index.totalItems, attr: {class: 'mst-searchautocomplete__index ' + index.identifier}"> 1146 <div class="mst-searchautocomplete__index-title"> 1147 <span data-bind="text: index.title"></span> 1148 <span data-bind="visible: index.isShowTotals"> 1149 (<span data-bind="text: index.totalItems"></span>) 1150 </span> 1151 </div> 1152 1153 <ul data-bind="foreach: { data: index.items, as: 'item' }"> 1154 <li data-bind=" 1155 template: { name: index.identifier, data: item }, 1156 attr: {class: 'mst-searchautocomplete__item ' + index.identifier}, 1157 event: { mouseover: $parents[1].onMouseOver, mouseout: $parents[1].onMouseOut, mousedown: $parents[1].onClick }, 1158 css: {_active: $data.isActive}"> 1159 </li> 1160 </ul> 1161 </div> 1162 </div> 1163 </div> 1164 1165 <div class="mst-searchautocomplete__empty-result" data-bind="visible: result().noResults == true && !loading()"> 1166 <span data-bind="text: result().textEmpty"></span> 1167 </div> 1168 </div> 1169</script>
vendor: 1 bytes, line 1169
1169
1170<script id="popular" type="text/x-custom-template"> 1171 <a class="title" data-bind="text: query"></a> 1172</script>
vendor: 1 bytes, line 1172
1172
1173<script id="magento_search_query" type="text/x-custom-template"> 1174 <a class="title" data-bind="text: query_text, attr: {href: url}, highlight"></a> <span class="num_results" data-bind="text: num_results"></span> 1175</script>
vendor: 1 bytes, line 1175
1175
1176<script id="magento_catalog_product" type="text/x-custom-template"> 1177 <!-- ko if: (imageUrl && $parents[2].config.isShowImage) --> 1178 <a rel="noreferrer" data-bind="attr: {href: url}"> 1179 <div class="mst-product-image-wrapper"><img alt="" data-bind="attr: {src: imageUrl}"/></div> 1180 </a> 1181 <!-- /ko --> 1182 1183 <div class="meta"> 1184 <div class="title"> 1185 <a rel="noreferrer" data-bind="html: name, attr: {href: url}, highlight"></a> 1186 1187 <!-- ko if: (sku && $parents[2].config.isShowSku) --> 1188 <span class="sku" data-bind="text: sku, highlight"></span> 1189 <!-- /ko --> 1190 </div> 1191 1192 <!-- ko if: (description && $parents[2].config.isShowDescription) --> 1193 <div class="description" data-bind="text: description, highlight"></div> 1194 <!-- /ko --> 1195 1196 <!-- ko if: (rating && $parents[2].config.isShowRating) --> 1197 <div> 1198 <div class="rating-summary"> 1199 <div class="rating-result"> 1200 <span data-bind="style: { width: rating + '%' }"></span> 1201 </div> 1202 </div> 1203 </div> 1204 <!-- /ko --> 1205 1206 <!-- ko if: (stockStatus && $parents[2].config.isShowStockStatus) --> 1207 <span class="stock_status" data-bind="text: stockStatus, processStockStatus"></span> 1208 <!-- /ko --> 1209 1210 <!-- ko if: (addToCartUrl && $parents[2].config.isShowCartButton) --> 1211 <div class="to-cart"> 1212 <a class="action primary mst__add_to_cart" data-bind="attr: { _href: addToCartUrl }"> 1213 <span>Lisää ostoskoriin</span> 1214 </a> 1215 </div> 1216 <!-- /ko --> 1217 </div> 1218 1219 </script>
vendor: 1 bytes, line 1219
1219
1220<script id="magento_catalog_categoryproduct" type="text/x-custom-template"> 1221 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1222</script>
vendor: 1 bytes, line 1222
1222
1223<script id="magento_catalog_category" type="text/x-custom-template"> 1224 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1225</script>
vendor: 1 bytes, line 1225
1225
1226<script id="magento_cms_page" type="text/x-custom-template"> 1227 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1228</script>
vendor: 1 bytes, line 1228
1228
1229<script id="magento_catalog_attribute" type="text/x-custom-template"> 1230 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1231</script>
vendor: 1 bytes, line 1231
1231
1232<script id="magento_catalog_attribute_2" type="text/x-custom-template"> 1233 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1234</script>
vendor: 1 bytes, line 1234
1234
1235<script id="magento_catalog_attribute_3" type="text/x-custom-template"> 1236 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1237</script>
vendor: 1 bytes, line 1237
1237
1238<script id="magento_catalog_attribute_4" type="text/x-custom-template"> 1239 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1240</script>
vendor: 1 bytes, line 1240
1240
1241<script id="magento_catalog_attribute_5" type="text/x-custom-template"> 1242 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1243</script>
vendor: 1 bytes, line 1243
1243
1244<script id="mirasvit_kb_article" type="text/x-custom-template"> 1245 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1246</script>
vendor: 1 bytes, line 1246
1246
1247<script id="external_wordpress_post" type="text/x-custom-template"> 1248 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1249</script>
vendor: 1 bytes, line 1249
1249
1250<script id="amasty_blog_post" type="text/x-custom-template"> 1251 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1252</script>
vendor: 1 bytes, line 1252
1252
1253<script id="amasty_faq_question" type="text/x-custom-template"> 1254 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1255</script>
vendor: 1 bytes, line 1255
1255
1256<script id="magefan_blog_post" type="text/x-custom-template"> 1257 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1258</script>
vendor: 1 bytes, line 1258
1258
1259<script id="mageplaza_blog_post" type="text/x-custom-template"> 1260 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1261</script>
vendor: 1 bytes, line 1261
1261
1262<script id="aheadworks_blog_post" type="text/x-custom-template"> 1263 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1264</script>
vendor: 1 bytes, line 1264
1264
1265<script id="mirasvit_blog_post" type="text/x-custom-template"> 1266 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1267</script>
vendor: 1 bytes, line 1267
1267
1268<script id="mirasvit_gry_registry" type="text/x-custom-template"> 1269 <a class="title" data-bind="text: title, attr: {href: url}, highlight"></a> 1270 <p data-bind="text: name, highlight"></p> 1271</script>
vendor: 1 bytes, line 1271
1271
1272<script id="ves_blog_post" type="text/x-custom-template"> 1273 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1274</script>
vendor: 1 bytes, line 1274
1274
1275<script id="fishpig_glossary_word" type="text/x-custom-template"> 1276 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1277</script>
vendor: 1 bytes, line 1277
1277
1278<script id="blackbird_contentmanager_content" type="text/x-custom-template"> 1279 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1280</script>
vendor: 1 bytes, line 1280
1280
1281<script id="mirasvit_brand_page" type="text/x-custom-template"> 1282 <a class="title" data-bind="text: name, attr: {href: url}, highlight"></a> 1283</script>
vendor: 1 bytes, line 1283
1283
1284<script type="text/x-magento-init"> 1285 { 1286 "*": { 1287 "Magento_Ui/js/core/app": { 1288 "components": { 1289 "price-display-notification": { 1290 "component": "Solteq_RealTimePrices/js/price-display-notification", 1291 "currentAction": "cms_page_view" 1292 } 1293 } 1294 } 1295 } 1296 } 1297</script>
vendor: 1 bytes, line 1297
1297
1298<script type="text/x-magento-init"> 1299 { 1300 "*": { 1301 "Magento_Ui/js/core/app": { 1302 "components": { 1303 "store-filter-header": { 1304 "component": "Solteq_StoreFilter/js/store-filter-header" 1305 }, 1306 "store-filter-selection": { 1307 "component": "Solteq_StoreFilter/js/store-filter-prompt", 1308 "currentFilter": "" 1309 } 1310 } 1311 } 1312 } 1313 } 1314 1315</script>
vendor: 1 bytes, line 1315
1315
1316<script type="text/javascript"> 1317 //<![CDATA[ 1318 requirejs(['jquery', 'Magento_Customer/js/customer-data'], function(jQuery, customerData) { 1319 jQuery(function($) { 1320 customerData.reload(['customer'], true); 1321 }); 1322 }); 1323 //]]> 1324</script>
vendor: 1 bytes, line 1324
1324
1325<script> 1326 window.checkout = {"shoppingCartUrl":"https:\/\/www.hartman.fi\/fi\/checkout\/cart\/","checkoutUrl":"https:\/\/www.hartman.fi\/fi\/checkout\/","updateItemQtyUrl":"https:\/\/www.hartman.fi\/fi\/checkout\/sidebar\/updateItemQty\/","removeItemUrl":"https:\/\/www.hartman.fi\/fi\/checkout\/sidebar\/removeItem\/","imageTemplate":"Magento_Catalog\/product\/image_with_borders","baseUrl":"https:\/\/www.hartman.fi\/fi\/","minicartMaxItemsVisible":5,"websiteId":"1","maxItemsToDisplay":10,"storeId":"3","storeGroupId":"1","customerLoginUrl":"https:\/\/www.hartman.fi\/fi\/customer\/account\/login\/referer\/aHR0cHM6Ly93d3cuaGFydG1hbi5maS9maS9lbmdsaXNo\/","isRedirectRequired":false,"autocomplete":"off","captcha":{"user_login":{"isCaseSensitive":false,"imageHeight":50,"imageSrc":"","refreshUrl":"https:\/\/www.hartman.fi\/fi\/captcha\/refresh\/","isRequired":false,"timestamp":1790918741}}}; 1327 </script>
vendor: 1 bytes, line 1327
1327
1328<script type="text/x-magento-init"> 1329 { 1330 "[data-block='minicart']": { 1331 "Magento_Ui/js/core/app": {"components":{"minicart_content":{"children":{"subtotal.container":{"children":{"subtotal":{"children":{"subtotal.totals":{"config":{"display_cart_subtotal_incl_tax":1,"display_cart_subtotal_excl_tax":0,"template":"Magento_Tax\/checkout\/minicart\/subtotal\/totals"},"component":"Magento_Tax\/js\/view\/checkout\/minicart\/subtotal\/totals","children":{"subtotal.totals.msrp":{"component":"Magento_Msrp\/js\/view\/checkout\/minicart\/subtotal\/totals","config":{"displayArea":"minicart-subtotal-hidden","template":"Magento_Msrp\/checkout\/minicart\/subtotal\/totals"}}}}},"component":"uiComponent","config":{"template":"Magento_Checkout\/minicart\/subtotal"}}},"component":"uiComponent","config":{"displayArea":"subtotalContainer"}},"item.renderer":{"component":"Magento_Checkout\/js\/view\/cart-item-renderer","config":{"displayArea":"defaultRenderer","template":"Solteq_StoreFilter\/minicart\/item\/default"},"children":{"item.image":{"component":"Magento_Catalog\/js\/view\/image","config":{"template":"Magento_Catalog\/product\/image","displayArea":"itemImage"}},"checkout.cart.item.price.sidebar":{"component":"uiComponent","config":{"template":"Magento_Checkout\/minicart\/item\/price","displayArea":"priceSidebar"}}}},"extra_info":{"component":"uiComponent","config":{"displayArea":"extraInfo"}},"promotion":{"component":"uiComponent","config":{"displayArea":"promotion"}}},"config":{"itemRenderer":{"default":"defaultRenderer","simple":"defaultRenderer","virtual":"defaultRenderer"},"template":"Magento_Checkout\/minicart\/content"},"component":"Magento_Checkout\/js\/view\/minicart"}},"types":[]} }, 1332 "*": { 1333 "Magento_Ui/js/block-loader": "https://www.hartman.fi/static/version1789641330/frontend/Solteq/hartman/fi_FI/images/loader-1.gif" 1334 } 1335 } 1336 </script>
vendor: 1 bytes, line 1336
1336
1337<script type="text/javascript"> 1338 //<![CDATA[ 1339 requirejs(['jquery'], function(jQuery) { 1340 jQuery(function($) { 1341 // If header is in mobile mode, remove "display: block". See #10. 1342 $(document).on('dropdowndialogcreate', function(event) { 1343 if ($('#header-container').hasClass('header-mobile')) 1344 { 1345 $('#header-cart').css('display', ''); 1346 } 1347 }); 1348 $(document).on('dropdowndialogbeforeclose', function(event) { 1349 $('#header-cart').data('mage-dropdownDialog').opener = $(document.body); // See #5 1350 }); 1351 }); 1352 }); //end: requirejs 1353 //]]> 1354 </script>
vendor: 1 bytes, line 1354
1354
1355<script type="text/x-magento-init"> 1356{"[data-role=compare-products-link]": {"Magento_Ui/js/core/app": {"components":{"compareProducts":{"component":"Magento_Catalog\/js\/view\/compare-products"}}}}} 1357</script>
vendor: 1 bytes, line 1357
1357
1358<script type="text/javascript"> 1359//<![CDATA[ 1360 1361requirejs(['jquery', 'smartheader', 'stickyheader', 'dropdownDialog'], function(jQuery, smartheader, stickyheader, dropdownDialog) { 1362 1363 var theHeaderContainer = jQuery('#header-container'); 1364 1365 1366 //alert('header tpl, before smartheader'); 1367 1368 theHeaderContainer.smartheader({ mobileHeaderThreshold: 1024 }); 1369 1370 1371 jQuery(function($) { 1372 1373 //console.log('header tpl, on(ready), ater smartheader'); 1374 //alert('header tpl, on(ready), ater smartheader'); 1375 1376 1377 // Skip Links 1378 var skipContents = $('.skip-content'); 1379 var skipLinks = $('.skip-link'); 1380 1381 skipLinks.on('click', function (event) { 1382 1383 // In case skip link is "a" tag 1384 event.preventDefault(); 1385 1386 var self = $(this); 1387 var target = self.data('skiptarget'); 1388 1389 // Get target element 1390 var elem = $(target); 1391 1392 // Check if stub is open 1393 var isSkipContentOpen = elem.hasClass('skip-active') ? 1 : 0; 1394 1395 // Hide all stubs 1396 skipLinks.removeClass('skip-active'); 1397 skipContents.removeClass('skip-active'); 1398 1399 // Toggle stubs 1400 if (isSkipContentOpen) { 1401 self.removeClass('skip-active'); 1402 } else { 1403 self.addClass('skip-active'); 1404 elem.addClass('skip-active'); 1405 } 1406 }); 1407 1408 1409 1410 }); //end: on document ready 1411 1412}); //end: requirejs 1413 1414 // TODO: move this below to it's own file. 1415 requirejs(['jquery'], function(jQuery) { 1416 jQuery(document).ready(function () { 1417 // This uses specific class names for compatibility with Magento Page Builder. 1418 // It assumes there's two elements: an opener container and a content container. 1419 // Opener container should have a class "accordion-title" and "accordion-for-X", the content container should have classes "accordion-content" and "accordion-for-X-content". 1420 // The X should be a distinguishing identifier for the accordion content. 1421 const accordionOpeners = jQuery(".accordion-title"); 1422 const accordionContents = jQuery(".accordion-content"); 1423 if(accordionOpeners.length > 0 && accordionContents.length > 0) { 1424 accordionOpeners.on('click', function() { 1425 const classList = jQuery(this).prop("classList"); 1426 1427 for (var i = 0; i < classList.length; i++) { 1428 const isAccordionContentClass = classList[i].indexOf("accordion-for-") === 0; 1429 // If this class name is the one indicating the accordion content. 1430 if (isAccordionContentClass) { 1431 const isAlreadyOpen = jQuery(this).hasClass('opened'); 1432 accordionOpeners.removeClass('opened'); 1433 accordionContents.removeClass('opened'); 1434 1435 // If container wasn't already open. If it was, we just close it. 1436 if(!isAlreadyOpen) { 1437 jQuery(this).addClass('opened'); 1438 jQuery('.' + classList[i] + '-content').addClass('opened'); 1439 } 1440 // End loop. 1441 i = classList.length; 1442 } 1443 } 1444 }); 1445 } 1446 }); 1447 }); 1448//]]> 1449 1450</script>
vendor: 1 bytes, line 1450
1450
1451<script type="text/x-magento-init"> 1452 { 1453 "*": { 1454 "Magento_Ui/js/core/app": { 1455 "components": { 1456 "messages": { 1457 "component": "Magento_Theme/js/view/messages" 1458 } 1459 } 1460 } 1461 } 1462 } 1463</script>
vendor: 1 bytes, line 1463
1463
1464<script>window.authenticationPopup = {"autocomplete":"off","customerRegisterUrl":"https:\/\/www.hartman.fi\/fi\/customer\/account\/create\/","customerForgotPasswordUrl":"https:\/\/www.hartman.fi\/fi\/customer\/account\/forgotpassword\/","baseUrl":"https:\/\/www.hartman.fi\/fi\/","customerLoginUrl":"https:\/\/www.hartman.fi\/fi\/customer\/ajax\/login\/"}</script>
vendor: 1 bytes, line 1464
1464
1465<script type="text/x-magento-init"> 1466 { 1467 "#authenticationPopup": { 1468 "Magento_Ui/js/core/app": {"components":{"authenticationPopup":{"component":"Magento_Customer\/js\/view\/authentication-popup","children":{"messages":{"component":"Magento_Ui\/js\/view\/messages","displayArea":"messages"},"captcha":{"component":"Magento_Captcha\/js\/view\/checkout\/loginCaptcha","displayArea":"additional-login-form-fields","formId":"user_login","configSource":"checkout"}}}}} }, 1469 "*": { 1470 "Magento_Ui/js/block-loader": "https\u003A\u002F\u002Fwww.hartman.fi\u002Fstatic\u002Fversion1789641330\u002Ffrontend\u002FSolteq\u002Fhartman\u002Ffi_FI\u002Fimages\u002Floader\u002D1.gif" 1471 } 1472 } 1473 </script>
vendor: 1 bytes, line 1473
1473
1474<script type="text/x-magento-init"> 1475 { 1476 "*": { 1477 "Magento_Customer/js/section-config": { 1478 "sections": {"stores\/store\/switch":["*"],"stores\/store\/switchrequest":["*"],"directory\/currency\/switch":["*"],"*":["messages","company","customer","account_user","show_default_prices","realprices","store_filter"],"customer\/account\/logout":["*","recently_viewed_product","recently_compared_product","persistent"],"customer\/account\/loginpost":["*"],"customer\/account\/createpost":["*"],"customer\/account\/editpost":["*"],"customer\/ajax\/login":["checkout-data","cart","captcha"],"catalog\/product_compare\/add":["compare-products","wp_ga4"],"catalog\/product_compare\/remove":["compare-products"],"catalog\/product_compare\/clear":["compare-products"],"sales\/guest\/reorder":["cart","amasty-storepickup-data","amasty-selected-pickup-info"],"sales\/order\/reorder":["cart","amasty-storepickup-data","amasty-selected-pickup-info"],"rest\/v1\/requisition_lists":["requisition"],"requisition_list\/requisition\/delete":["requisition"],"requisition_list\/item\/addtocart":["cart"],"checkout\/cart\/add":["cart","directory-data","amasty-storepickup-data","amasty-selected-pickup-info","wp_ga4"],"checkout\/cart\/delete":["cart","amasty-storepickup-data","amasty-selected-pickup-info","wp_ga4"],"checkout\/cart\/updatepost":["cart","amasty-storepickup-data","wp_ga4"],"checkout\/cart\/updateitemoptions":["cart","amasty-storepickup-data","wp_ga4"],"checkout\/cart\/couponpost":["cart"],"checkout\/cart\/estimatepost":["cart","amasty-storepickup-data"],"checkout\/cart\/estimateupdatepost":["cart","amasty-storepickup-data"],"checkout\/onepage\/saveorder":["cart","checkout-data","last-ordered-items","amasty-deliverydate","amasty-storepickup-data","amasty-selected-pickup-info"],"checkout\/sidebar\/removeitem":["cart","amasty-storepickup-data","wp_ga4"],"checkout\/sidebar\/updateitemqty":["cart","amasty-storepickup-data","wp_ga4"],"rest\/*\/v1\/carts\/*\/payment-information":["cart","last-ordered-items","captcha","instant-purchase","amasty-deliverydate","wp_ga4"],"rest\/*\/v1\/guest-carts\/*\/payment-information":["cart","captcha","amasty-deliverydate","wp_ga4"],"rest\/*\/v1\/guest-carts\/*\/selected-payment-method":["cart","checkout-data"],"rest\/*\/v1\/carts\/*\/selected-payment-method":["cart","checkout-data","instant-purchase"],"customer_order\/cart\/updatefaileditemoptions":["cart"],"checkout\/cart\/updatefaileditemoptions":["cart"],"customer_order\/cart\/advancedadd":["cart"],"checkout\/cart\/advancedadd":["cart"],"checkout\/cart\/removeallfailed":["cart"],"checkout\/cart\/removefailed":["cart"],"customer_order\/cart\/addfaileditems":["cart"],"checkout\/cart\/addfaileditems":["cart"],"customer_order\/sku\/uploadfile":["cart"],"wishlist\/index\/add":["wishlist","wp_ga4"],"wishlist\/index\/remove":["wishlist"],"wishlist\/index\/updateitemoptions":["wishlist"],"wishlist\/index\/update":["wishlist"],"wishlist\/index\/cart":["wishlist","cart","wp_ga4"],"wishlist\/index\/fromcart":["wishlist","cart"],"wishlist\/index\/allcart":["wishlist","cart","wp_ga4"],"wishlist\/shared\/allcart":["wishlist","cart"],"wishlist\/shared\/cart":["cart"],"giftregistry\/index\/cart":["cart"],"giftregistry\/view\/addtocart":["cart"],"company\/company\/select":["customer-companies","cart","cart-data","checkout-data","negotiable_quote","purchase_order"],"rest\/*\/v1\/carts\/*\/po-payment-information":["cart","checkout-data","last-ordered-items"],"purchaseorder\/purchaseorder\/success":["cart","checkout-data","last-ordered-items"],"customer\/address\/*":["instant-purchase"],"customer\/account\/*":["instant-purchase"],"vault\/cards\/deleteaction":["instant-purchase"],"multishipping\/checkout\/overviewpost":["cart","amasty-storepickup-data","amasty-selected-pickup-info"],"wishlist\/index\/copyitem":["wishlist"],"wishlist\/index\/copyitems":["wishlist"],"wishlist\/index\/deletewishlist":["wishlist","multiplewishlist"],"wishlist\/index\/createwishlist":["multiplewishlist"],"wishlist\/index\/editwishlist":["multiplewishlist"],"wishlist\/index\/moveitem":["wishlist"],"wishlist\/index\/moveitems":["wishlist"],"wishlist\/search\/addtocart":["cart","wishlist"],"persistent\/index\/unsetcookie":["persistent"],"quickorder\/sku\/uploadfile\/":["cart"],"review\/product\/post":["review"],"paymentservicespaypal\/smartbuttons\/placeorder":["cart","checkout-data"],"paymentservicespaypal\/smartbuttons\/cancel":["cart","checkout-data"],"paypal\/express\/placeorder":["amasty-deliverydate","amasty-storepickup-data","amasty-selected-pickup-info"],"paypal\/payflowexpress\/placeorder":["amasty-deliverydate","amasty-storepickup-data","amasty-selected-pickup-info"],"paypal\/express\/onauthorization":["amasty-storepickup-data","amasty-selected-pickup-info"],"amasty_cart\/cart\/add":["amasty-storepickup-data","amasty-selected-pickup-info"],"braintree\/paypal\/placeorder":["amasty-storepickup-data","amasty-selected-pickup-info"],"authorizenet\/directpost_payment\/place":["amasty-storepickup-data","amasty-selected-pickup-info"],"checkout\/cart\/configure":["wp_ga4"],"rest\/*\/v1\/guest-carts\/*\/shipping-information":["wp_ga4"],"rest\/*\/v1\/carts\/*\/shipping-information":["wp_ga4"]}, 1479 "clientSideSections": ["checkout-data","cart-data","amasty-deliverydate","amasty-selected-pickup-info"], 1480 "baseUrls": ["https:\/\/www.hartman.fi\/fi\/"], 1481 "sectionNames": ["messages","customer","compare-products","last-ordered-items","requisition","cart","directory-data","captcha","wishlist","company","company_authorization","customer-companies","negotiable_quote","purchase_order","instant-purchase","loggedAsCustomer","multiplewishlist","persistent","review","payments","amasty-storepickup-data","account_user","show_default_prices","realprices","store_filter","wp_ga4","recently_viewed_product","recently_compared_product","product_data_storage"] } 1482 } 1483 } 1484</script>
vendor: 1 bytes, line 1484
1484
1485<script type="text/x-magento-init"> 1486 { 1487 "*": { 1488 "Magento_Customer/js/customer-data": { 1489 "sectionLoadUrl": "https\u003A\u002F\u002Fwww.hartman.fi\u002Ffi\u002Fcustomer\u002Fsection\u002Fload\u002F", 1490 "expirableSectionLifetime": 60, 1491 "expirableSectionNames": ["cart","persistent","amasty-storepickup-data"], 1492 "cookieLifeTime": "3600", 1493 "cookieDomain": "", 1494 "updateSessionUrl": "https\u003A\u002F\u002Fwww.hartman.fi\u002Ffi\u002Fcustomer\u002Faccount\u002FupdateSession\u002F", 1495 "isLoggedIn": "" 1496 } 1497 } 1498 } 1499</script>
vendor: 1 bytes, line 1499
1499
1500<script type="text/x-magento-init"> 1501 { 1502 "*": { 1503 "Magento_Customer/js/invalidation-processor": { 1504 "invalidationRules": { 1505 "website-rule": { 1506 "Magento_Customer/js/invalidation-rules/website-rule": { 1507 "scopeConfig": { 1508 "websiteId": "1" 1509 } 1510 } 1511 } 1512 } 1513 } 1514 } 1515 } 1516</script>
vendor: 1 bytes, line 1516
1516
1517<script type="text/x-magento-init"> 1518 { 1519 "body": { 1520 "pageCache": {"url":"https:\/\/www.hartman.fi\/fi\/page_cache\/block\/render\/page_id\/17\/","handles":["default","cms_page_view","cms_page_view_id_english"],"originalRequest":{"route":"cms","controller":"page","action":"view","uri":"\/fi\/english"},"versionCookieName":"private_content_version"} } 1521 } 1522</script>
vendor: 1 bytes, line 1522
1522
1523<script type="text/x-magento-init"> 1524{ 1525 "*": { 1526 "Magento_Banner/js/model/banner": 1527 {"sectionLoadUrl":"https:\/\/www.hartman.fi\/fi\/banner\/ajax\/load\/","cacheTtl":30000} } 1528} 1529</script>
vendor: 1 bytes, line 1529
1529
1530<script> 1531 var feedId = getUrlParam('ff'), 1532 product = getUrlParam('fp'), 1533 currentDate = new Date(), 1534 session = getCookie('feed_session'); 1535 1536 if (!session) { 1537 session = '' + Math.floor(currentDate.getTime() / 1000) + Math.floor(Math.random() * 10000001); 1538 } 1539 1540 if (session && feedId > 0 && product > 0) { 1541 setCookie('feed_session', session, {expires: 365, path: '/'}); 1542 setCookie('feed_id', feedId, 365); 1543 1544 var xhr = new XMLHttpRequest(), 1545 baseUrl = 'https://www.hartman.fi/fi/', 1546 url = BASE_URL + '?rnd=' + Math.floor(Math.random() * 10000001) + "&feed=" + feedId + "&session=" + session + "&product=" + product; 1547 1548 xhr.open('GET', url, true); 1549 xhr.setRequestHeader('Content-Type', 'application/json'); 1550 xhr.send(); 1551 } 1552 1553 function getUrlParam(name) { 1554 let results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href); 1555 1556 if (results === null) { 1557 return ''; 1558 } else { 1559 return results[1] || 0; 1560 } 1561 } 1562 1563 function getCookie(cookieName) { 1564 var name = cookieName + "=", 1565 decodedCookie = decodeURIComponent(document.cookie), 1566 cookieArray = decodedCookie.split(';'); 1567 1568 for (var i = 0; i < cookieArray.length; i++) { 1569 var cookie = cookieArray[i].trim(); 1570 if (cookie.indexOf(name) === 0) { 1571 return cookie.substring(name.length, cookie.length); 1572 } 1573 } 1574 1575 return null; 1576 } 1577 1578 function setCookie(cookieName, cookieValue, expirationDays) { 1579 var d = new Date(); 1580 d.setTime(d.getTime() + (expirationDays * 24 * 60 * 60 * 1000)); 1581 var expires = "expires=" + d.toUTCString(); 1582 document.cookie = cookieName + "=" + cookieValue + ";" + expires + ";path=/"; 1583 } 1584</script>
vendor: 1 bytes, line 1584
1584
1585<script type="text/x-magento-init"> 1586 { 1587 "*": { 1588 "Magento_Ui/js/core/app": { 1589 "components": { 1590 "storage-manager": { 1591 "component": "Magento_Catalog/js/storage-manager", 1592 "appendTo": "", 1593 "storagesConfiguration" : {"recently_viewed_product":{"requestConfig":{"syncUrl":"https:\/\/www.hartman.fi\/fi\/catalog\/product\/frontend_action_synchronize\/"},"lifetime":"1000","allowToSendRequest":null},"recently_compared_product":{"requestConfig":{"syncUrl":"https:\/\/www.hartman.fi\/fi\/catalog\/product\/frontend_action_synchronize\/"},"lifetime":"1000","allowToSendRequest":null},"product_data_storage":{"updateRequestConfig":{"url":"https:\/\/www.hartman.fi\/fi\/rest\/fi\/V1\/products-render-info"},"requestConfig":{"syncUrl":"https:\/\/www.hartman.fi\/fi\/catalog\/product\/frontend_action_synchronize\/"},"allowToSendRequest":null}} } 1594 } 1595 } 1596 } 1597 } 1598</script>
vendor: 1 bytes, line 1598
1598
1599<script type="text/javascript"> 1600 require([ 1601 'jquery', 1602 'foundation', 1603 'domReady!' 1604 ], function ($) { 1605 1606 // Init foundation 1607 $(document).foundation(); 1608 1609 }); 1610</script>
vendor: 1 bytes, line 1610
1610
1611<script type="text/javascript"> 1612//<![CDATA[ 1613 1614requirejs([ 1615 'jquery', 1616 'foundation' 1617], function(jQuery) { 1618 1619 // Init foundation 1620 jQuery(document).foundation(); 1621 1622 1623 var gridItemsEqualHeightApplied = false; 1624 function setGridItemsEqualHeight() 1625 { 1626 var bottomMinSpace = 20; // Minimum space below the button at the bottom of the item 1627 var gridItemMaxHeight = 0; 1628 var gridItemMaxPaddingBottom = 0; 1629 var $listContainer = jQuery('.category-products-grid'); 1630 var $listItems = $listContainer.children('ol').children(); 1631 var centered = $listContainer.hasClass('centered'); 1632 var $row = jQuery(); 1633 1634 $listItems.each(function() { 1635 1636 var $item = jQuery(this); 1637 var $actionsBlock = $item.find('.actions'); 1638 1639 // Check if first item in a row 1640 if ($item.css("clear") == "left") 1641 { 1642 // If row not empty, apply the max values to all items in a row 1643 if ($row.length) 1644 { 1645 $row.css({ 1646 "height": gridItemMaxHeight + "px", 1647 "padding-bottom": gridItemMaxPaddingBottom + "px" 1648 }); 1649 1650 // Reset the row collection and reset the max values 1651 $row = jQuery(); 1652 gridItemMaxHeight = 0; 1653 gridItemMaxPaddingBottom = 0; 1654 } 1655 } 1656 $row = $row.add($item); 1657 1658 $item.css("height", "auto"); gridItemMaxHeight = Math.max(gridItemMaxHeight, $item.height()); 1659 1660 // Use constant bottomMinSpace as bottom offset for the actions container 1661 $actionsBlock.css("bottom", bottomMinSpace + "px"); 1662 1663 // Align button to the center 1664 if (centered) 1665 { 1666 var objectWidth = $actionsBlock.width(); 1667 var availableWidth = $item.width(); 1668 var space = availableWidth - objectWidth; 1669 var leftOffset = ~~(space / 2); 1670 $actionsBlock.css("padding-left", leftOffset + "px"); } 1671 1672 // Set bottom padding wich equals to: actions container height + bottomMinSpace 1673 var currentPaddingBottom = bottomMinSpace + $actionsBlock.innerHeight(); 1674 gridItemMaxPaddingBottom = Math.max(gridItemMaxPaddingBottom, currentPaddingBottom); 1675 1676 $item.css("padding-bottom", currentPaddingBottom + "px"); // TODO: possibly redundant. Padding will be applied for the entire row. 1677 1678 }); 1679 1680 // Apply the max values to all items in the last row 1681 if ($row.length) 1682 { 1683 $row.css({ 1684 "height": gridItemMaxHeight + "px", 1685 "padding-bottom": gridItemMaxPaddingBottom + "px" 1686 }); 1687 } 1688 1689 gridItemsEqualHeightApplied = true; 1690 1691 } 1692 1693 1694 1695 1696 jQuery(function($) { 1697 1698 1699 1700 // Products grid: equal height of items 1701 1702 $(document).on('last-swatch-found', function(e) { 1703 setGridItemsEqualHeight(); 1704 $(document).off('last-swatch-found'); 1705 e.stopPropagation(); 1706 }); 1707 1708 setGridItemsEqualHeight(); 1709 1710 1711 1712 1713 1714 $('.category-products-grid').on('mouseenter', '.item', function() { 1715 $(this).find(".display-onhover").fadeIn(400, "easeOutCubic"); 1716 }).on('mouseleave', '.item', function() { 1717 $(this).find(".display-onhover").stop(true).hide(); 1718 }); 1719 1720 1721 1722 1723 $('.items-grid, .products-list').on('mouseenter', '.product-item-img', function() { 1724 $(this).find(".alt-img").fadeIn(400, "easeOutCubic"); 1725 }).on('mouseleave', '.product-item-img', function() { 1726 $(this).find(".alt-img").stop(true).fadeOut(400, "easeOutCubic"); 1727 }); 1728 1729 1730 1731 $('.fade-on-hover').on('mouseenter', function() { 1732 $(this).animate({opacity: 0.75}, 300, 'easeInOutCubic'); 1733 }).on('mouseleave', function() { 1734 $(this).stop(true).animate({opacity: 1}, 300, 'easeInOutCubic'); 1735 }); 1736 1737 1738 1739 // Drop-down 1740 var ddBlockSelector = '.dropdown-block-trigger'; // '.dropdown-block'; 1741 var ddOpenTimeout; 1742 var dMenuPosTimeout; 1743 var DD_DELAY_IN = 200; 1744 var DD_DELAY_OUT = 0; 1745 var DD_ANIMATION_IN = 0; 1746 var DD_ANIMATION_OUT = 0; 1747 1748 $(document).on('mouseenter touchstart', ddBlockSelector, function(e) { 1749 1750 var dd = $(this); 1751 var ddHeading = dd.children('.dropdown-heading'); 1752 var ddContent = dd.children('.dropdown-content'); 1753 1754 // If dd is not opened yet (or not initialized yet) 1755 var isDdOpened = dd.data('ddOpened'); 1756 if (isDdOpened === false || isDdOpened === undefined) 1757 { 1758 // Clear old position of dd menu 1759 ddContent.css("left", ""); 1760 ddContent.css("right", ""); 1761 1762 // Show dd menu 1763 clearTimeout(ddOpenTimeout); 1764 ddOpenTimeout = setTimeout(function() { 1765 1766 dd.addClass('open'); 1767 1768 // Set dd open flag 1769 dd.data('ddOpened', true); 1770 1771 }, DD_DELAY_IN); 1772 1773 ddContent.stop(true, true).delay(DD_DELAY_IN).fadeIn(DD_ANIMATION_IN, "easeOutCubic"); 1774 1775 // Set new position of dd menu. 1776 // This code is delayed the same amount of time as dd animation. 1777 clearTimeout(dMenuPosTimeout); 1778 dMenuPosTimeout = setTimeout(function() { 1779 1780 if (ddContent.offset().left < 0) 1781 { 1782 var space = dd.offset().left; // Space available on the left of dd
1783 ddContent.css("left", (-1)*space); 1784 ddContent.css("right", "auto"); 1785 } 1786 1787 }, DD_DELAY_IN); 1788 1789 } // end: dd is not opened yet 1790 1791 }).on('mouseleave', ddBlockSelector, function(e) { 1792 1793 var dd = $(this); 1794 var ddContent = dd.children('.dropdown-content'); 1795 1796 clearTimeout(ddOpenTimeout); // Clear, to close dd on mouseleave 1797 ddContent.stop(true, true).delay(DD_DELAY_OUT).fadeOut(DD_ANIMATION_OUT, "easeInCubic"); 1798 if (ddContent.is(":hidden")) 1799 { 1800 ddContent.hide(); 1801 } 1802 dd.removeClass('open'); 1803 1804 // Clear dd open flag 1805 dd.data('ddOpened', false); 1806 1807 // After hiding, clear the click event flag 1808 dd.data('ddClickIntercepted', false); 1809 1810 }).on('click', ddBlockSelector, function(e) { 1811 1812 var dd = $(this); 1813 var ddHeading = dd.children('.dropdown-heading'); 1814 var ddContent = dd.children('.dropdown-content'); 1815 1816 // Only if the heading was clicked 1817 if ($.contains(ddHeading[0], e.target) || ddHeading.is(e.target)) 1818 { 1819 // Only after the first click already happened, the second click can close the dropdown 1820 if (dd.data('ddClickIntercepted')) 1821 { 1822 if (dd.hasClass('open')) 1823 { 1824 clearTimeout(ddOpenTimeout); // Clear, to close dd on mouseleave 1825 ddContent.stop(true, true).delay(DD_DELAY_OUT).fadeOut(DD_ANIMATION_OUT, "easeInCubic"); 1826 if (ddContent.is(":hidden")) 1827 { 1828 ddContent.hide(); 1829 } 1830 dd.removeClass('open'); 1831 1832 // Clear dd open flag 1833 dd.data('ddOpened', false); 1834 1835 // After hiding, clear the click event flag 1836 dd.data('ddClickIntercepted', false); 1837 } 1838 } 1839 else 1840 { 1841 // Set the click event flag 1842 dd.data('ddClickIntercepted', true); 1843 } 1844 } 1845 1846 }); 1847 1848 1849 1850 var windowScroll_t; 1851 $(window).scroll(function(){ 1852 1853 clearTimeout(windowScroll_t); 1854 windowScroll_t = setTimeout(function() { 1855 1856 if ($(this).scrollTop() > 100) 1857 { 1858 $('#scroll-to-top').fadeIn(); 1859 } 1860 else 1861 { 1862 $('#scroll-to-top').fadeOut(); 1863 } 1864 1865 }, 500); 1866 1867 }); 1868 1869 $('#scroll-to-top').click(function(){ 1870 $("html, body").animate({scrollTop: 0}, 600, "easeOutCubic"); 1871 return false; 1872 }); 1873 1874 1875 1876 var dResize = { 1877 1878 winWidth : 0 1879 , winHeight : 0 1880 , windowResizeTimeout : null 1881 1882 , init : function() 1883 { 1884 dResize.winWidth = $(window).width(); 1885 dResize.winHeight = $(window).height(); 1886 dResize.windowResizeTimeout; 1887 1888 $(window).on('resize', function(e) { 1889 clearTimeout(dResize.windowResizeTimeout); 1890 dResize.windowResizeTimeout = setTimeout(function() { 1891 dResize.onEventResize(e); 1892 }, 50); 1893 }); 1894 } 1895 1896 , onEventResize : function(e) 1897 { 1898 //Prevent from executing the code in IE when the window wasn't actually resized 1899 var winNewWidth = $(window).width(); 1900 var winNewHeight = $(window).height(); 1901 1902 //Code in this condition will be executed only if window was actually resized 1903 if (dResize.winWidth != winNewWidth || dResize.winHeight != winNewHeight) 1904 { 1905 //Trigger deferred resize event 1906 $(window).trigger("themeResize", e); 1907 1908 //Additional code executed on deferred resize 1909 dResize.onEventDeferredResize(); 1910 } 1911 1912 //Update window size variables 1913 dResize.winWidth = winNewWidth; 1914 dResize.winHeight = winNewHeight; 1915 } 1916 1917 , onEventDeferredResize : function() //Additional code, execute after window was actually resized 1918 { 1919 1920 //Products grid: equal height of items 1921 1922 setGridItemsEqualHeight(); 1923 1924 1925 } 1926 1927 }; //end: dResize 1928
1929 dResize.init(); 1930 1931 1932 1933 }); //end: on document ready 1934 1935 1936 1937 jQuery(window).on('load',function() { 1938 1939 1940 setGridItemsEqualHeight(); 1941 1942 1943 }); //end: on load 1944 1945 1946 1947}); //end: requirejs 1948 1949 1950 1951requirejs(['jquery', 'enquire'], function(jQuery, enquire) { 1952 1953 jQuery(function($) { 1954 1955 // Collapsible block 1956 // This plugin requires a specific markup structure. The plugin expects a set of elements that it 1957 // will use as the toggle link. It then hides all immediately following siblings and toggles the sibling's 1958 // visibility when the toggle link is clicked. 1959 // 1960 // Example markup: 1961 // <div class="block"> 1962 // <div class="block-title">Trigger</div> 1963 // <div class="block-content">Content that should show when </div> 1964 // </div> 1965 // 1966 // JS: jQuery('.block-title').toggleSingle(); 1967 // 1968 // Options: 1969 // destruct: defaults to false, but if true, the plugin will remove itself, display content, and remove event handlers 1970 1971 jQuery.fn.toggleSingle = function (options) { 1972 1973 var settings = $.extend({ 1974 destruct: false 1975 }, options); 1976 1977 return this.each(function () { 1978 if (!settings.destruct) { 1979 $(this).on('click', function () { 1980 $(this) 1981 .next() 1982 .toggleClass('no-display') 1983 .parent() 1984 .toggleClass('active'); 1985 }); 1986 1987 // Hide the content 1988 $this = $(this); 1989 if (!$this.parent().hasClass('active')) 1990 { 1991 $this.next().addClass('no-display'); 1992 } 1993 } 1994 else 1995 { 1996 // Remove event handler so that the toggle link can no longer be used 1997 $(this).off('click'); 1998 1999 // Remove all classes that were added by this plugin 2000 $(this) 2001 .next() 2002 .removeClass('no-display') 2003 .parent() 2004 .removeClass('active'); 2005 } 2006 2007 }); 2008 2009 } // end: toggleSingle 2010 2011 // Collapsible block - with delegated event 2012 // Modification of the standard collapsible block plugin. It has a delegated click event attached to block's container. 2013 // It is required for some blocks inside "additional sidebar" (currently: wishlist and compare) 2014 // which are created/modified dynamically by Magento's JavaScript code. 2015 2016 jQuery.fn.toggleMultiBlocks = function (options) { 2017 2018 var settings = $.extend({ 2019 destruct: false, 2020 blockHeadingSelector: '.block-title' 2021 }, options); 2022 2023 return this.each(function () { 2024 2025 // Container of blocks 2026 var $sidebar = $(this); 2027 2028 // All blocks inside the container 2029 var $blockHeadings = $sidebar.find(settings.blockHeadingSelector); 2030 2031 if (!settings.destruct) 2032 { 2033 $sidebar.on('click', settings.blockHeadingSelector, function(e) { 2034 $(this) 2035 .next().toggleClass('no-display') 2036 .parent().toggleClass('active'); 2037 }); 2038 2039 // Hide the content in all blocks 2040 $blockHeadings.each(function () { 2041 var heading = $(this); 2042 if (!heading.parent().hasClass('active')) 2043 { 2044 heading.next().addClass('no-display'); 2045 // Here we may need to add that class to the next sibling 2046 // if block's content consists of more elements than just one: 2047 // .next().addClass('no-display') 2048 } 2049 else 2050 { 2051 heading.next().removeClass('no-display'); 2052 } 2053 }); 2054 } 2055 else 2056 { 2057 // Remove event handler so that the toggle link can no longer be used 2058 $sidebar.off('click'); 2059 2060 // Remove all classes that were added by this plugin 2061 $blockHeadings 2062 .next().removeClass('no-display') 2063 .parent().removeClass('active'); 2064 } 2065 2066 }); 2067 2068 } // end: toggleMultiBlocks 2069 2070 var breakpointScreenM = 768; // The same value as Magento's breakpoint @screen__m 2071 2072 // Blocks collapsing on smaller viewports 2073 enquire.register('(max-width: ' + (breakpointScreenM - 1) + 'px)', { 2074 setup: function () { 2075 this.toggleElements = $( 2076 '.mobile-collapsible .block-title' 2077 ); 2078 this.delayedToggleElements = $( 2079 '.sidebar' 2080 ); 2081 }, 2082 match: function () { 2083 this.toggleElements.toggleSingle(); 2084 this.delayedToggleElements.toggleMultiBlocks({blockHeadingSelector: '.block:not(#layered-filter-block) .block-title'}); 2085 }, 2086 unmatch: function () {
2087 this.toggleElements.toggleSingle({destruct: true}); 2088 this.delayedToggleElements.toggleMultiBlocks({destruct: true, blockHeadingSelector: '.block:not(#layered-filter-block) .block-title'}); 2089 } 2090 }); 2091 2092 // Blocks collapsing on all viewports. 2093 // For backward compatibility exclude blocks which have both classes: "collapsible" and "mobile-collapsible" 2094 $('.collapsible:not(.mobile-collapsible) .block-title').toggleSingle(); 2095 2096 }); //end: on document ready 2097 2098}); //end: requirejs 2099 2100 2101 2102//]]> 2103</script>
vendor: 1 bytes, line 2103
2103
2104<script> 2105 require(['jquery', 'Magento_Customer/js/customer-data', 'domReady!'], 2106 function ($, customerData) { 2107 $(document).ready(() => { 2108 if (window.dataLayer) { 2109 let account_user = customerData.get('account_user'); 2110 let hasPushed = false; 2111 account_user.subscribe((updatedCustomer) => { 2112 if (!hasPushed) { 2113 window.dataLayer.push({'hartman_customer_type': updatedCustomer.customer_group}); 2114 } 2115 hasPushed = true; 2116 }, this); 2117 } 2118 }); 2119 }); 2120</script>
vendor: 1 bytes, line 2120
2120
2121<script> 2122 require(['jquery','weltpixel_ga4_persistentLayer','weltpixel_ga4_gtm', 'Magento_Customer/js/customer-data'], 2123 function ($, wpGa4PersDl ,wpGa4gtm, customerData) { 2124 $( document ).ajaxComplete(function( event, xhr, settings ) { 2125 if (settings.url.search('/customer\/section\/load/') > 0) { 2126 var response = xhr.responseJSON; 2127 if (response.wp_ga4) { 2128 var dataLayerData = $.parseJSON(response.wp_ga4.datalayer); 2129 for (index in dataLayerData) { 2130 window.dataLayer.push({ecommerce: null}); 2131 window.dataLayer.push(dataLayerData[index]); 2132 } 2133 } 2134 } 2135 }); 2136 var wpPersDlOptions = {'storageExpiryTime' : 30 }; 2137 var wpGtmOptions = { 2138 'enabled' : 0, 2139 'persDataLayer' : wpGa4PersDl 2140 }; 2141 wpGa4PersDl.init(wpPersDlOptions); 2142 wpGa4gtm.trackPromotion(wpGtmOptions); 2143 }); 2144 </script>
vendor: 1 bytes, line 2144
2144
2145<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-bb307877636d68d4978","applicationID":"1086880230","transactionName":"YVNSYhdXDRcEABBQC1gZcVURXwwKSgAJSktGV1dTSkAKARI=","queueTime":0,"applicationTime":1271,"atts":"TRRFFF9NHkhHAkYDH0tL","errorBeacon":"bam.nr-data.net","agent":""}</script>
2145</body> 2146</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.