{"id":74562,"date":"2026-01-13T09:50:05","date_gmt":"2026-01-13T07:50:05","guid":{"rendered":"https:\/\/www.sweco.fi\/?page_id=74562"},"modified":"2026-01-13T09:56:00","modified_gmt":"2026-01-13T07:56:00","slug":"indoor-air-quality-and-management","status":"publish","type":"page","link":"https:\/\/www.sweco.fi\/en\/services\/buildings-and-urban-areas\/indoor-air-quality-and-management\/","title":{"rendered":"Indoor air quality and management"},"content":{"rendered":"<section class=\"block hero \" >\n    <img width=\"1680\" height=\"800\" src=\"https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2026\/01\/Indoor-Air-quality-and-management-1680x800.jpg\" class=\"hero__bg-img\" alt=\"Modern lobby interior with hanging spherical lights, people walking, seating areas, and a reception desk.\" fetchpriority=\"high\" decoding=\"async\" sizes=\"(max-width: 767px) 1080px, 1920px\" \/>        \n\t        <div class=\"block__inner hero__blurbs\" data-amount=\"1\">\n\t\t\t                <a href=\"#contactus\" target=\"\"\n                   class=\"col--12\">\n                <span>\n                    \t                Contact                     <span class=\"last\">\n                        Us                        <i class=\"icon icon-arrow-right\"><\/i>\n                    <\/span>\n                <\/span>\n                <\/a>\n\t\t\t        <\/div>\n\t<\/section>\n\n\n\n\n<section class=\"block cb block--white\" >\n\t<div class=\"block__inner cb__inner cb__inner--one\">\n\t<div class=\"col--12 col--center col--wrapper\">\n\t\t<div class=\"col col--6 editor-content\">\n\t\t\t<div>\n<h1>High-quality indoor air is a shared benefit \u2013 Here\u2019s how we ensure it<\/h1>\n<p>High-quality indoor air benefits property owners, builders, and users alike. Clean air, proper building physics, and sufficient ventilation can be ensured during new construction or renovation projects.<\/p>\n<p>We support municipalities, cities, property owners, and construction companies across Finland in managing indoor air quality. For over a decade, we have served as moisture and cleanliness management coordinators in hundreds of projects from Helsinki to Rovaniemi.<\/p>\n<p>Our moisture and cleanliness management coordinators can also take on other roles in the project, such as <a href=\"https:\/\/www.sweco.fi\/en\/services\/buildings-and-urban-areas\/structural-engineering\/\">structural designer,<\/a> <a href=\"https:\/\/www.sweco.fi\/en\/project-management-and-construction-services\/\">construction consultant<\/a>, or site supervisor. We also provide comprehensive <a href=\"https:\/\/www.sweco.fi\/en\/services\/buildings-and-urban-areas\/research-services\/indoor-air-and-humidity-condition-surveys\/\">research services.<\/a><\/p>\n<h2>Indoor air quality management services<\/h2>\n<ol>\n<li><a href=\"https:\/\/www.sweco.fi\/en\/services\/buildings-and-urban-areas\/quality-assurance\/moisture-management-coordination\/\">Moisture Management Coordination<\/a><\/li>\n<li>Cleanliness Management Coordination<\/li>\n<li><a href=\"https:\/\/www.sweco.fi\/en\/services\/buildings-and-urban-areas\/structural-engineering\/building-physics\/\">Building Physics<\/a><\/li>\n<li><a href=\"https:\/\/www.sweco.fi\/en\/services\/buildings-and-urban-areas\/research-services\/indoor-air-and-humidity-condition-surveys\/\">Indoor Air and Moisture Condition Surveys<\/a><\/li>\n<li>Services for Housing Companies<\/li>\n<\/ol>\n<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/section>\n\n\n<section class=\"block block--white columns\" >\n\t<div class=\"block__inner columns__inner\">\n\t\t<div class=\"col--11 col--wrapper col--stretch\">\n\t\t\t\n\t\t\t\t\t\t\t<div class=\"columns__col col col--6\">\n\t\t\t\t\t<div class=\"editor-content columns__content columns__content--content\">\n\t\t\t\t\t\t<h3>Indoor air quality ensured from project planning to commissioning<\/h3>\n<div>\n<p>Ensuring indoor air quality requires expert guidance, as goals and optimal solutions vary by project. We steer design from the start toward sustainable, resilient solutions that support indoor air quality throughout the building\u2019s lifecycle.<\/p>\n<p>It\u2019s best to involve Sweco\u2019s experts in quality management already during the project planning phase to ensure cost-effective impact. Proactive indoor air quality management reduces concerns for property owners and saves construction costs, such as unnecessary drying or demolition expenses.<\/p>\n<h3>Indoor air quality management for projects large and small<\/h3>\n<p>We provide indoor air quality management services for all types and sizes of buildings\u2014from schools and hospitals to offices and industrial facilities. Our services are always tailored to the client\u2019s needs, focusing on the most critical areas and construction phases.<\/p>\n<p>Our quality management specialists ensure that public buildings and workplaces are safe and healthy for users, with no hidden moisture or cleanliness risks left behind. Explore also our services for <a href=\"https:\/\/www.sweco.fi\/en\/services\/buildings-and-urban-areas\/services-for-housing-companies\/\">housing companies<\/a>.<\/p>\n<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"columns__col col col--6\">\n\t\t\t\t\t<div class=\"editor-content columns__content columns__content--image\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1680\" height=\"1000\" src=\"https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2025\/06\/Sisailma-ja-kosteustekniset-kuntotutkimukset.jpg\" class=\"attachment-full size-full\" alt=\"Modernin monikerroksisen rakennuksen sis\u00e4tila, jossa on avoin atrium. Rakennuksessa on useita kerroksia lasikaiteilla ja puukoristeilla.\" srcset=\"https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2025\/06\/Sisailma-ja-kosteustekniset-kuntotutkimukset.jpg 1680w, https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2025\/06\/Sisailma-ja-kosteustekniset-kuntotutkimukset-200x119.jpg 200w, https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2025\/06\/Sisailma-ja-kosteustekniset-kuntotutkimukset-768x457.jpg 768w, https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2025\/06\/Sisailma-ja-kosteustekniset-kuntotutkimukset-1536x914.jpg 1536w, https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2025\/06\/Sisailma-ja-kosteustekniset-kuntotutkimukset-1260x750.jpg 1260w, https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2025\/06\/Sisailma-ja-kosteustekniset-kuntotutkimukset-520x310.jpg 520w, https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2025\/06\/Sisailma-ja-kosteustekniset-kuntotutkimukset-800x476.jpg 800w, https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2025\/06\/Sisailma-ja-kosteustekniset-kuntotutkimukset-504x300.jpg 504w, https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2025\/06\/Sisailma-ja-kosteustekniset-kuntotutkimukset-756x450.jpg 756w, https:\/\/www.sweco.fi\/wp-content\/uploads\/sites\/7\/2025\/06\/Sisailma-ja-kosteustekniset-kuntotutkimukset-652x388.jpg 652w\" sizes=\"auto, (max-width: 1680px) 100vw, 1680px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t<\/div>\n<\/section>\n\n\n<section class=\"block cb block--white\" >\n\t<div class=\"block__inner cb__inner cb__inner--one\">\n\t<div class=\"col--12 col--center col--wrapper\">\n\t\t<div class=\"col col--6 editor-content\">\n\t\t\t<div>\n<h2>Cleanliness management coordination<\/h2>\n<p>Our cleanliness management coordinator supports designers and contractors in selecting the right solutions and scheduling work phases throughout the construction process. Cleanliness management is especially critical during HVAC system installations, but indoor air impurities can also be prevented through proper design solutions. <em>Read more!<\/em><\/p>\n<h2>Moisture management coordination<\/h2>\n<p>Our moisture management coordinator guides all parties in the construction project in choosing and implementing moisture-safe solutions. During construction, we ensure that structures are built with moisture safety in mind, so the end result is healthy and safe for all users. <em>Read more!<\/em><\/p>\n<h2>Building physics expert services<\/h2>\n<p>Climate change increases moisture stress on structures, which means building physics expertise is more important than ever. We ensure thermally and moisture-safe, resilient, and easily repairable structures and joints. We use modern calculation methods and software, such as flow simulations (CFD) and condition simulations. <em>Read more!<\/em><\/p>\n<h2>Building health services<\/h2>\n<p>The goal of building health services is to ensure healthy spaces at home and work. We consider all factors and risks affecting indoor air quality already during the design phase. Building health can be promoted, for example, through Healthy Building criteria or the SILVK model (Indoor Air Quality Assurance Consultant).<\/p>\n<h2>Construction quality assurance services<\/h2>\n<p>We support construction quality assurance with a wide range of additional services, such as airtightness and moisture measurements and thermal imaging with infrared cameras.<\/p>\n<ol>\n<li><strong>Airtightness measurements<\/strong> detect air leaks in the building envelope. We perform tests according to the SFS-EN ISO 9972:2015 standard, including leak detection using smoke or thermal imaging. Measurements by certified testers include recommendations for corrective actions.<\/li>\n<li><strong>Moisture measurements<\/strong> determine the moisture content of building materials, verifying that drying structures are safe to finish. If needed, we measure moisture using sample or borehole methods and the drying-weighing method.<\/li>\n<li><strong>Thermal imaging<\/strong> assesses the thermal and moisture performance of structures or building systems. It can be done without damaging structures, both in completed buildings and during construction, for example, as input for renovation design. Thermal imaging reveals air leak paths, missing insulation, and thermal bridges.<\/li>\n<\/ol>\n<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n<\/section>\n\n\n    <section class=\"block block--white contacts\" id=\"contactus\">\n        <div class=\"block__inner contacts__inner\">\n            <div class=\"col--11 col--wrapper col--stretch\">\n\t\t\t\t\t\t\t\t                    <div class=\"col col--6 person person--card--img\">\n                        <div class=\"person__inner\">\n\t\t\t\t\t\t\t                            <div class=\"person__content editor-content\">\n                                <p class=\"h4 hyphenate\">Joonas Nortio<\/p>                                <em>Team Leader<\/em>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"person__contact\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button class=\"btn btn__small btn__secondary contact-info-btn\" data_contact-id=\"41609\" data-email-subject=\"\">Show contact information<\/button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t                            <\/div>\n                        <\/div>\n                    <\/div>\n\t\t\t\t            <\/div>\n        <\/div>\n    <\/section>\n\n\n<section class=\"block form-block block--white\" >\n\t<div class=\"block__inner form-block__inner \">\n\n                    <div class=\"col--11 col--wrapper\">\n                                    <div class=\"col col--4 editor-content form-block__title\">\n                        <h3 class=\"h3 hyphenate\">Contact Us!<\/h3>                    <\/div>\n                    <div class=\"col--12 col\"><\/div>\n                \n                <div class=\"col col--4 editor-content\">\n                                    <\/div>\n\n                <div class=\"col col--7\">\n                    <script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\nvar gform;gform||(document.addEventListener(\"gform_main_scripts_loaded\",function(){gform.scriptsLoaded=!0}),document.addEventListener(\"gform\/theme\/scripts_loaded\",function(){gform.themeScriptsLoaded=!0}),window.addEventListener(\"DOMContentLoaded\",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>\"function\"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn(\"The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.\"),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener(\"gform_main_scripts_loaded\",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener(\"gform\/theme\/scripts_loaded\",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener(\"DOMContentLoaded\",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook(\"action\",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook(\"filter\",o,r,e,t)},doAction:function(o){gform.doHook(\"action\",o,arguments)},applyFilters:function(o){return gform.doHook(\"filter\",o,arguments)},removeAction:function(o,r){gform.removeHook(\"action\",o,r)},removeFilter:function(o,r,e){gform.removeHook(\"filter\",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+\"_\"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){\"function\"!=typeof(t=o.callable)&&(t=window[t]),\"action\"==r?t.apply(null,e):e[0]=t.apply(null,e)})),\"filter\"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});\n\/* ]]> *\/\n<\/script>\n\n                <div class='gf_browser_gecko gform_wrapper gform_legacy_markup_wrapper gform-theme--no-framework' data-form-theme='legacy' data-form-index='0' id='gform_wrapper_6' ><form class=\"gform_analytics_tracking\" method='post' enctype='multipart\/form-data' target='gform_ajax_frame_6' id='gform_6'  action='\/en\/wp-json\/wp\/v2\/pages\/74562' data-formid='6' novalidate autocomplete=\"off\">\n                        <div class='gform-body gform_body'><ul id='gform_fields_6' class='gform_fields top_label form_sublabel_below description_below validation_below'><li id=\"field_6_8\" class=\"gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible gform_honeypot\"  data-field-class=\"gform_honeypot\" ><label class='gfield_label gform-field-label' for='input_6_8'>X\/Twitter<\/label><div class='ginput_container'><input autocomplete=\"off\"  name='input_8' id='input_6_8' type='text' value='' autocomplete='new-password'\/><\/div><div class='gfield_description' id='gfield_description_6_8'>This field is for validation purposes and should be left unchanged.<\/div><\/li><li id=\"field_6_1\" class=\"gfield gfield--type-text half field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gform_text\"  data-field-class=\"gform_text\" ><label class='gfield_label gform-field-label' for='input_6_1'>Name<\/label><div class='ginput_container ginput_container_text'><input autocomplete=\"off\"  name='input_1' id='input_6_1' type='text' value='' class='medium'      aria-invalid=\"false\"   \/><\/div><\/li><li id=\"field_6_2\" class=\"gfield gfield--type-text half field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gform_text\"  data-field-class=\"gform_text\" ><label class='gfield_label gform-field-label' for='input_6_2'>Company<\/label><div class='ginput_container ginput_container_text'><input autocomplete=\"off\"  name='input_2' id='input_6_2' type='text' value='' class='medium'      aria-invalid=\"false\"   \/><\/div><\/li><li id=\"field_6_5\" class=\"gfield gfield--type-email half gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gform_email\"  data-field-class=\"gform_email\" ><label class='gfield_label gform-field-label' for='input_6_5'>Email<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_email'>\n                            <input autocomplete=\"off\"  name='input_5' id='input_6_5' type='email' value='' class='medium'    aria-required=\"true\" aria-invalid=\"false\"  \/>\n                        <\/div><\/li><li id=\"field_6_3\" class=\"gfield gfield--type-text half gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gform_text\"  data-field-class=\"gform_text\" ><label class='gfield_label gform-field-label' for='input_6_3'>Mobile<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_text'><input autocomplete=\"off\"  name='input_3' id='input_6_3' type='text' value='' class='medium'     aria-required=\"true\" aria-invalid=\"false\"   \/><\/div><\/li><li id=\"field_6_6\" class=\"gfield gfield--type-textarea full expanding-textarea field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gform_textarea\"  data-field-class=\"gform_textarea\" ><label class='gfield_label gform-field-label' for='input_6_6'>How can we help you?<\/label><div class='ginput_container ginput_container_textarea'><textarea autocomplete=\"off\"  name='input_6' id='input_6_6' class='textarea medium'      aria-invalid=\"false\"   rows='10' cols='50'><\/textarea><\/div><\/li><li id=\"field_6_7\" class=\"gfield gfield--type-consent gfield--type-choice gfield--input-type-consent gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible gform_consent\"  data-field-class=\"gform_consent\" ><label class='gfield_label gform-field-label gfield_label_before_complex' >Agreement<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_asterisk\">*<\/span><\/span><\/label><div class='ginput_container ginput_container_consent'><input autocomplete=\"off\"  name='input_7.1' id='input_6_7_1' type='checkbox' value='1'   aria-required=\"true\" aria-invalid=\"false\"   \/> <label class=\"gform-field-label gform-field-label--type-inline gfield_consent_label\" for='input_6_7_1' >By sending this form I accept that my information will be saved in Sweco customer register. <a href=\"https:\/\/www.sweco.fi\/en\/about-sweco\/sweco-data-privacy-statement\/\">Sweco Data Privacy Statement<\/a>&gt;<\/label><input autocomplete=\"off\"  type='hidden' name='input_7.2' value='By sending this form I accept that my information will be saved in Sweco customer register. &lt;a href=&quot;https:\/\/www.sweco.fi\/en\/about-sweco\/sweco-data-privacy-statement\/&quot;&gt;Sweco Data Privacy Statement&lt;\/a&gt;&gt;' class='gform_hidden' \/><input autocomplete=\"off\"  type='hidden' name='input_7.3' value='5' class='gform_hidden' \/><\/div><\/li><\/ul><\/div>\n        <div class='gform-footer gform_footer top_label'> <button class='btn btn__primary' id='gform_submit_button_6'><span>Send<\/span><\/button> <input type='hidden' name='gform_ajax' value='form_id=6&amp;title=&amp;description=&amp;tabindex=0&amp;theme=legacy&amp;hash=4fef7decf52ef6029b89308caac65e3b' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_6' value='iframe' \/>\n            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_6' id='gform_theme_6' value='legacy' \/>\n            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_6' id='gform_style_settings_6' value='' \/>\n            <input type='hidden' class='gform_hidden' name='is_submit_6' value='1' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submit' value='6' \/>\n            \n            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='EUR' value='3rt+1b3agpJdZSMruS1NMRZT6jxyHxIDtosvmLJVm+bZHPlRr9vPhJDEzJRB\/zDzbVIVN4s+Dz5I4SvZLmbUZarugjZaACtT4aAu5bQ2TEh7DUY=' \/>\n            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' \/>\n            <input type='hidden' class='gform_hidden' name='state_6' value='WyJ7XCI3LjFcIjpcIjVhYWVlZmI3NTc0MTU1YjA1ZTkwNjQxMWI2MWVlNGZiXCIsXCI3LjJcIjpcIjNiMjE4NmJlMWQ5YWNhNTQ3NTA5NzgyNzViYzNjNmM4XCIsXCI3LjNcIjpcIjY5M2FkN2IxNjZjMGFlYWRiOTEwNmMzMjZkNGEwOGZhXCJ9IiwiZTk3ZDcyNzQ2ZWYyMzZjOTU0OGJiOGM0NWQ0ZTRiNTYiXQ==' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_6' id='gform_target_page_number_6' value='0' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_6' id='gform_source_page_number_6' value='1' \/>\n            <input type='hidden' name='gform_field_values' value='' \/>\n            \n        <\/div>\n                        <\/form>\n                        <\/div>\n\t\t                <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_6' id='gform_ajax_frame_6' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'><\/iframe>\n\t\t                <script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n gform.initializeOnLoaded( function() {gformInitSpinner( 6, 'https:\/\/www.sweco.fi\/wp-content\/themes\/sweco\/assets\/dist\/oval.svg', true );jQuery('#gform_ajax_frame_6').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_6');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_6').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_6').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_6').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_6').removeClass('gform_validation_error');}setTimeout( function() { \/* delay the scroll by 50 milliseconds to fix a bug in chrome *\/  }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_6').val();gformInitSpinner( 6, 'https:\/\/www.sweco.fi\/wp-content\/themes\/sweco\/assets\/dist\/oval.svg', true );jQuery(document).trigger('gform_page_loaded', [6, current_page]);window['gf_submitting_6'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_6').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [6]);window['gf_submitting_6'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_6').text());}else{jQuery('#gform_6').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(\"gform_pre_post_render\", [{ formId: \"6\", currentPage: \"current_page\", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( \"gform_wrapper_6\" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( \"span\" );            visibilitySpan.id = \"gform_visibility_test_6\";            gformWrapperDiv.insertAdjacentElement( \"afterend\", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( \"gform_visibility_test_6\" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 6, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} ); \n\/* ]]> *\/\n<\/script>\n                <\/div>\n            <\/div>\n        \n\t<\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":41,"featured_media":74566,"parent":17583,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"","_seopress_titles_title":"Indoor air quality and management - Sweco","_seopress_titles_desc":"Ensure healthy indoor air from planning to construction. Sweco provides expert services in moisture, cleanliness, and building physics across Finland.","_seopress_robots_index":"","footnotes":""},"class_list":["post-74562","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/pages\/74562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/comments?post=74562"}],"version-history":[{"count":3,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/pages\/74562\/revisions"}],"predecessor-version":[{"id":74571,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/pages\/74562\/revisions\/74571"}],"up":[{"embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/pages\/17583"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/media\/74566"}],"wp:attachment":[{"href":"https:\/\/www.sweco.fi\/en\/wp-json\/wp\/v2\/media?parent=74562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}