{"id":10328,"date":"2021-09-20T10:49:01","date_gmt":"2021-09-20T08:49:01","guid":{"rendered":"https:\/\/www.s4bt.it\/mappatura-termica\/"},"modified":"2026-02-02T09:11:49","modified_gmt":"2026-02-02T08:11:49","slug":"temperature-mapping-project","status":"publish","type":"page","link":"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/","title":{"rendered":"Temperature Mapping Project"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10328\" class=\"elementor elementor-10328 elementor-3688\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6977f0a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6977f0a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7ae0720a\" data-id=\"7ae0720a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-56ee8a56 elementor-widget elementor-widget-heading\" data-id=\"56ee8a56\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">PROJECTS<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-38d0c215 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"38d0c215\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\" style=\"--divider-pattern-url: url(&quot;data:image\/svg+xml,%3Csvg xmlns=&#039;http:\/\/www.w3.org\/2000\/svg&#039; preserveAspectRatio=&#039;none&#039; overflow=&#039;visible&#039; height=&#039;100%&#039; viewBox=&#039;0 0 20 16&#039; fill=&#039;none&#039; stroke=&#039;black&#039; stroke-width=&#039;1&#039; stroke-linecap=&#039;square&#039; stroke-miterlimit=&#039;10&#039;%3E%3Cg transform=&#039;translate(-12.000000, 0)&#039;%3E%3Cpath d=&#039;M28,0L10,18&#039;\/%3E%3Cpath d=&#039;M18,0L0,18&#039;\/%3E%3Cpath d=&#039;M48,0L30,18&#039;\/%3E%3Cpath d=&#039;M38,0L20,18&#039;\/%3E%3C\/g%3E%3C\/svg%3E&quot;);\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6fe3c7ed elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading\" data-id=\"6fe3c7ed\" data-element_type=\"widget\" data-widget_type=\"theme-post-title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Temperature Mapping Project<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-41e29d79 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"41e29d79\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-extended\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-19a687bd\" data-id=\"19a687bd\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6b7e27f9 elementor-widget elementor-widget-text-editor\" data-id=\"6b7e27f9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Client: <\/strong>leading company in the logistics sector<\/p>\n<p><span style=\"color: var( --e-global-color-text ); font-size: var( --e-global-typography-primary-font-size ); font-weight: var( --e-global-typography-primary-font-weight );\"><strong>Sector:<\/strong> Pharmaceutical industry<\/span><\/p>\n<p><strong>Objective:<\/strong> to ensure the maintenance of the correct thermo-hygrometric conditions necessary to guarantee the quality and effectiveness of pharmaceutical products<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6971a2f9 elementor-widget elementor-widget-heading\" data-id=\"6971a2f9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Project<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6dd1cbd7 elementor-widget elementor-widget-text-editor\" data-id=\"6dd1cbd7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The client company is <span style=\"font-size: 1rem;\">a leader in <\/span><span style=\"font-size: 1rem;\">the logistics sector<\/span>, especially in the pharmaceutical sector. <\/p>\n<p>The company needed to perform temperature mapping of warehouses, cold rooms and\/or other environments.<\/p>\n<p>The aim is to demonstrate the capability of monitoring and control systems to ensure the maintenance throughout the year of correct thermo-hygrometric conditions necessary <br \/>to guarantee the quality and efficacy of the pharmaceutical products stored there.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e394caf elementor-widget elementor-widget-heading\" data-id=\"e394caf\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Our contribution<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-23b142bf elementor-widget elementor-widget-text-editor\" data-id=\"23b142bf\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The company entrusted the project to the S4BT<strong> Equipment &amp; Facilities Qualification Team<\/strong>.<\/p>\n<p>To achieve the objective, the S4BT Team divided the project into the following phases:<\/p>\n<p>1. <b>Inspection<\/b>. During which S4BT Consultants undertook the following activities:<\/p>\n<ul>\n<li>a tour inside the warehouse and the temperature-controlled environments in order to identify  critical issues in terms of temperature (thermal bridges, openings, glass surfaces, etc.)<\/li>\n<li>analysis of existing documentation (SOPs of use and management of temperature and\/or humidity controlled areas, maintenance and calibration plans, calibration certificates, layout with the positioning of measurement chains<br \/>installed for continuous monitoring of thermo-hygrometric conditions)<\/li>\n<li>analysis of the system for monitoring and controlling thermohygrometric conditions<\/li>\n<\/ul>\n<p>2. <b>Drafting of mapping protocols<\/b>.<\/p>\n<p>Based on the information obtained during the inspection, the S4BT Team prepared mapping protocols containing:<\/p>\n<ul>\n<li>a detailed description of the warehouse and\/or temperature-controlled rooms being mapped<\/li>\n<li>purposes of mapping and other related activities<\/li>\n<li>The rationale and\/or risk analysis identifying the critical points in terms of temperature (the points at which the data-loggers were positioned) <\/li>\n<li>a detailed description of all tests to be performed (documentation verification, procedure verification, positioning, programming and calibration of measurement chains used for mapping and where applicable recovery time and door opening tests) <\/li>\n<\/ul>\n<div>\n<p>3.<b> Data recording and analysis. <\/b> <\/p>\n<p>Once the mapping period was completed, the S4BT Team recorded and analysed the data collected by the<br \/>individual measurement chains<\/p>\n<\/div>\n<div>4. <strong>Drafting of the final report<\/strong>. The purpose of the final report was to:<\/div>\n<div> <\/div>\n<ul>\n<li>summarise all tasks performed including any deviations identified during testing<\/li>\n<li>highlight the critical elements (cold spots and hot spots) in terms of temperature identified during the mapping period<\/li>\n<li>certify &#8211; in the event of a positive outcome of the mapping activity &#8211; the suitability of the temperature controlled warehouse and\/or area for use as a storage site for pharmaceutical products.<\/li>\n<\/ul>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4d1b42b5 elementor-widget elementor-widget-heading\" data-id=\"4d1b42b5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Result<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e484f70 elementor-widget elementor-widget-text-editor\" data-id=\"2e484f70\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: var( --e-global-color-text ); font-size: var( --e-global-typography-primary-font-size ); font-weight: var( --e-global-typography-primary-font-weight );\">Preserving the quality, integrity and efficacy of pharmaceuticals plays a crucial role in all phases of the life cycle, from production to distribution. <\/span><\/p>\n<p><span style=\"color: var( --e-global-color-text ); font-size: var( --e-global-typography-primary-font-size ); font-weight: var( --e-global-typography-primary-font-weight );\">The temperature mapping activity ensured full compliance with the regulations and the respective guidelines and met all the needs and expectations of the customer. <\/span><\/p>\n<p><span style=\"color: var( --e-global-color-text ); font-size: var( --e-global-typography-primary-font-size ); font-weight: var( --e-global-typography-primary-font-weight );\">The documentation produced also allowed the company to successfully pass inspection by regulatory agencies and customers, thereby increasing its visibility.<\/span><\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-49863d1a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"49863d1a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-782f3d92\" data-id=\"782f3d92\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-39640926 elementor-widget__width-auto elementor-widget elementor-widget-heading\" data-id=\"39640926\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">read about other projects<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c7dd0af elementor-widget elementor-widget-text-editor\" data-id=\"4c7dd0af\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><a href=\"https:\/\/www.s4bt.it\/en\/projects\/assessment-csv\/\">Assessment of the control system for filling\/packaging machines<\/a><\/li><li><a href=\"https:\/\/www.s4bt.it\/en\/projects\/validation-of-facility-utilities\/\">Validation of Facility Utilities<\/a><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-575d55ff elementor-absolute elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"575d55ff\" data-element_type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-69a4404\" data-id=\"69a4404\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-70223e67 elementor-section-height-min-height elementor-section-boxed elementor-section-height-default\" data-id=\"70223e67\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-ca64522\" data-id=\"ca64522\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[{&quot;id&quot;:2693,&quot;url&quot;:&quot;https:\\\/\\\/www.s4bt.it\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/teamwork-of-pharmaceutical-laboratory-workers.jpg&quot;}],&quot;background_slideshow_loop&quot;:&quot;yes&quot;,&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-706be6b0 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"706be6b0\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/www.s4bt.it\/attivita-di-consulenza-e-validazione\/consulenza-validazione-qualifiche\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Validation &amp; Qualification<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-3bfa412 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3bfa412\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-35e3872\" data-id=\"35e3872\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-51c3a0b elementor-widget__width-auto elementor-widget elementor-widget-heading\" data-id=\"51c3a0b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">CONSULTANCY SERVICES PURCHASED BY THE CLIENT COMPANY<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-179a5ee elementor-widget elementor-widget-text-editor\" data-id=\"179a5ee\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><a href=\"https:\/\/www.s4bt.it\/en\/consulting\/equipment-and-facilities-qualification\/\">Equipment, environment, and utilities qualification<\/a><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4f16601 elementor-widget__width-auto elementor-widget elementor-widget-heading\" data-id=\"4f16601\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">REQUEST MORE INFORMATION<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a4e4b11 elementor-widget elementor-widget-html\" data-id=\"a4e4b11\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>@import url(https:\/\/fonts.bunny.net\/css?family=poppins:400,700);<\/style>\n<style>\n#_form_46_{font-size:14px;line-height:1.6;font-family:arial, helvetica, sans-serif;margin:0}#_form_46_ *{outline:0}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_46_._form-top{top:0}#_form_46_._form-bottom{bottom:0}#_form_46_._form-left{left:0}#_form_46_._form-right{right:0}#_form_46_ input[type=\"text\"],#_form_46_ input[type=\"tel\"],#_form_46_ input[type=\"date\"],#_form_46_ textarea{padding:6px;height:auto;border:#979797 1px solid;border-radius:4px;color:#000000 !important;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#_form_46_ textarea{resize:none}#_form_46_ ._submit{-webkit-appearance:none;cursor:pointer;font-family:arial, sans-serif;font-size:14px;text-align:center;background:#24D902 !important;border:0 !important;-moz-border-radius:4px !important;-webkit-border-radius:4px !important;border-radius:4px !important;color:#FFFFFF !important;padding:12px !important}#_form_46_ ._submit:disabled{cursor:not-allowed;opacity:0.4}#_form_46_ ._submit.processing{position:relative}#_form_46_ ._submit.processing::before{content:\"\";width:1em;height:1em;position:absolute;z-index:1;top:50%;left:50%;border:double 3px transparent;border-radius:50%;background-image:linear-gradient(#24D902, #24D902), conic-gradient(#24D902, #FFFFFF);background-origin:border-box;background-clip:content-box, border-box;animation:1200ms ease 0s infinite normal none running _spin}#_form_46_ ._submit.processing::after{content:\"\";position:absolute;top:0;bottom:0;left:0;right:0;background:#24D902 !important;border:0 !important;-moz-border-radius:4px !important;-webkit-border-radius:4px !important;border-radius:4px !important;color:#FFFFFF !important;padding:12px !important}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_46_ ._close-icon{cursor:pointer;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/esfkyjh1u_forms-close-dark.png\");background-repeat:no-repeat;background-size:14.2px 14.2px;position:absolute;display:block;top:11px;right:9px;overflow:hidden;width:16.2px;height:16.2px}#_form_46_ ._close-icon:before{position:relative}#_form_46_ ._form-body{margin-bottom:30px}#_form_46_ ._form-image-left{width:150px;float:left}#_form_46_ ._form-content-right{margin-left:164px}#_form_46_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_46_ ._form-branding ._logo{display:block;width:130px;height:14px;margin-top:6px;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/hh9ujqgv5_aclogo_li.png\");background-size:130px auto;background-repeat:no-repeat}#_form_46_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_46_ ._form-label,#_form_46_ ._form_element ._form-label{font-weight:bold;margin-bottom:5px;display:block}#_form_46_._dark ._form-branding{color:#333}#_form_46_._dark ._form-branding ._logo{background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/jftq2c8s_aclogo_dk.png\")}#_form_46_ ._form_element{position:relative;margin-bottom:10px;font-size:0;max-width:100%}#_form_46_ ._form_element *{font-size:14px}#_form_46_ ._form_element._clear{clear:both;width:100%;float:none}#_form_46_ ._form_element._clear:after{clear:left}#_form_46_ ._form_element input[type=\"text\"],#_form_46_ ._form_element input[type=\"date\"],#_form_46_ ._form_element select,#_form_46_ ._form_element textarea:not(.g-recaptcha-response){display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:inherit}#_form_46_ ._field-wrapper{position:relative}#_form_46_ ._inline-style{float:left}#_form_46_ ._inline-style input[type=\"text\"]{width:150px}#_form_46_ ._inline-style:not(._clear)+._inline-style:not(._clear){margin-left:20px}#_form_46_ ._form_element img._form-image{max-width:100%}#_form_46_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_46_ ._clear-element{clear:left}#_form_46_ ._full_width{width:100%}#_form_46_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_46_ input[type=\"text\"]._has_error,#_form_46_ textarea._has_error{border:#F37C7B 1px solid}#_form_46_ input[type=\"checkbox\"]._has_error{outline:#F37C7B 1px solid}#_form_46_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_46_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_46_ ._error._below{padding-top:8px;top:100%;right:0}#_form_46_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_46_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_46_ ._error-inner{padding:12px 12px 12px 36px;background-color:#FFDDDD;background-image:url(\"data:image\/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9 3V9H7V3H9ZM9 13V11H7V13H9Z' fill='%23CA0000'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:12px center;font-size:14px;font-family:arial, sans-serif;font-weight:600;line-height:16px;color:#000;text-align:center;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0px 1px 4px rgba(31, 33, 41, 0.298295)}#_form_46_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_46_ ._button-wrapper ._error-inner._form_error{position:static}#_form_46_ ._error-inner._no_arrow{margin-bottom:10px}#_form_46_ ._error-arrow{position:absolute;width:0;height:0}#_form_46_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}#_form_46_ input[type=\"text\"].datetime_date{width:69%;display:inline}#_form_46_ select.datetime_time{width:29%;display:inline;height:32px}#_form_46_ input[type=\"date\"].datetime_date{width:69%;display:inline-flex}#_form_46_ input[type=\"time\"].datetime_time{width:29%;display:inline-flex}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_46_{margin:0;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}#_form_46_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:1em}#_form_46_ ._form-content{margin:0;width:100%}#_form_46_ ._form-inner{display:block;min-width:100%}#_form_46_ ._form-title,#_form_46_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_46_ ._form-title{font-size:1.2em}#_form_46_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_46_ ._form-element,#_form_46_ ._inline-style,#_form_46_ input[type=\"text\"],#_form_46_ label,#_form_46_ p,#_form_46_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_46_ ._row._checkbox-radio label{display:inline}#_form_46_ ._row,#_form_46_ p,#_form_46_ label{margin-bottom:0.7em;width:100%}#_form_46_ ._row input[type=\"checkbox\"],#_form_46_ ._row input[type=\"radio\"]{margin:0 !important;vertical-align:middle !important}#_form_46_ ._row input[type=\"checkbox\"]+span label{display:inline}#_form_46_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_46_ ._form-image{max-width:100%;height:auto !important}#_form_46_ input[type=\"text\"]{padding-left:10px;padding-right:10px;font-size:16px;line-height:1.3em;-webkit-appearance:none}#_form_46_ input[type=\"radio\"],#_form_46_ input[type=\"checkbox\"]{display:inline-block;width:1.3em;height:1.3em;font-size:1em;margin:0 0.3em 0 0;vertical-align:baseline}#_form_46_ button[type=\"submit\"]{padding:20px;font-size:1.5em}#_form_46_ ._inline-style{margin:20px 0 0 !important}}#_form_46_{position:relative;text-align:left;margin:25px auto 0;padding-top:28px;padding-right:28px;padding-bottom:28px;padding-left:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:#f0f3f8 !important;border-top:0px solid gainsboro !important;border-right:0px solid gainsboro !important;border-bottom:0px solid gainsboro !important;border-left:0px solid gainsboro !important;max-width:500px;-moz-border-radius:0px !important;-webkit-border-radius:0px !important;border-radius:0px !important;color:#000000}#_form_46_._inline-form,#_form_46_._inline-form ._form-content{font-family:Poppins;font-size:14px;font-weight:400}#_form_46_._inline-form ._row span,#_form_46_._inline-form ._row label{font-family:Poppins;font-size:14px;font-weight:400;line-height:1.6em;color:black !important}#_form_46__inlineform input[type=\"text\"],#_form_46__inlineform input[type=\"date\"],#_form_46__inlineform input[type=\"tel\"],#_form_46__inlineform select,#_form_46__inlineform textarea:not(.g-recaptcha-response){font-family:Poppins;font-size:14px;font-weight:400;font-color:#000000;line-height:1.6em}#_form_46_._inline-form ._html-code *,#_form_46_._inline-form ._form-thank-you{font-family:Poppins;font-size:14px;font-weight:400;color:black !important}#_form_46_._inline-form ._form-label,#_form_46_._inline-form ._form-checkbox-option-label,#_form_46_._inline-form ._form-checkbox-option-description{font-family:Poppins;font-size:14px;font-weight:700;line-height:1.6em;color:black !important}#_form_46_._inline-form ._submit{font-family:Poppins;font-size:14px;font-weight:400}#_form_46_._inline-form ._form-title{font-family:Poppins;font-size:18px;line-height:normal;font-weight:400;color:black;margin-bottom:0}#_form_46_._inline-form ._form-branding{font-family:\"IBM Plex Sans\", Helvetica, sans-serif;font-size:13px;font-weight:100;font-style:normal;text-decoration:none}#_form_46_:before,#_form_46_:after{content:\" \";display:table}#_form_46_:after{clear:both}#_form_46_._inline-style{width:auto;display:inline-block}#_form_46_._inline-style input[type=\"text\"],#_form_46_._inline-style input[type=\"date\"]{padding:10px 12px}#_form_46_._inline-style button._inline-style{position:relative;top:27px}#_form_46_._inline-style p{margin:0}#_form_46_._inline-style ._button-wrapper{position:relative;margin:27px 12.5px 0 20px}#_form_46_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}@media (min-width:320px) and (max-width:667px){#_form_46_._inline-form._inline-style ._inline-style._button-wrapper{margin-top:20px !important;margin-left:0 !important}}#_form_46_ .iti.iti--allow-dropdown.iti--separate-dial-code{width:100%}#_form_46_ .iti input{width:100%;height:32px;border:#979797 1px solid;border-radius:4px}#_form_46_ .iti--separate-dial-code .iti__selected-flag{background-color:#FFFFFF;border-radius:4px}#_form_46_ .iti--separate-dial-code .iti__selected-flag:hover{background-color:rgba(0, 0, 0, 0.05)}#_form_46_ .iti__country-list{border-radius:4px;margin-top:4px;min-width:460px}#_form_46_ .iti__country-list--dropup{margin-bottom:4px}#_form_46_ .phone-error-hidden{display:none}#_form_46_ .phone-error{color:#E40E49}#_form_46_ .phone-input-error{border:1px solid #E40E49 !important}#_form_46_._inline-form ._form-content ._form-list-subscriptions-field fieldset{margin:0;margin-bottom:1.1428571429em;border:none;padding:0}#_form_46_._inline-form ._form-content ._form-list-subscriptions-field fieldset:last-child{margin-bottom:0}#_form_46_._inline-form ._form-content ._form-list-subscriptions-field legend{margin-bottom:1.1428571429em}#_form_46_._inline-form ._form-content ._form-list-subscriptions-field label{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:0.8571428571em}#_form_46_._inline-form ._form-content ._form-list-subscriptions-field label:last-child{margin-bottom:0}#_form_46_._inline-form ._form-content ._form-list-subscriptions-field input{margin:0;margin-right:8px}#_form_46_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label{line-height:1;display:block;font-weight:700}#_form_46_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-description{margin:0;margin-top:0.3333333333em;font-size:0.8571428571em}\n#_form_46_ ._submit{width:100%;height:45px;font-weight:bold;font-size:16px}#_form_46_ ._x27141261 select{height:30px}@media screen and (max-width:800px){#_form_46_ ._submit{margin:auto;width:100%; height: 65px}}<\/style>\n<form method=\"POST\" action=\"https:\/\/s4bt69577.activehosted.com\/proc.php\" id=\"_form_46_\" class=\"_form _form_46 _inline-form  _dark\" novalidate data-styles-version=\"5\">\n  <input type=\"hidden\" name=\"u\" value=\"46\" \/>\n  <input type=\"hidden\" name=\"f\" value=\"46\" \/>\n  <input type=\"hidden\" name=\"s\" \/>\n  <input type=\"hidden\" name=\"c\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"m\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"act\" value=\"sub\" \/>\n  <input type=\"hidden\" name=\"v\" value=\"2\" \/>\n  <input type=\"hidden\" name=\"or\" value=\"44b86efb2f6b01fa548b4bac617900df\" \/>\n  <div class=\"_form-content\">\n    <div class=\"_form_element _x05148103 _full_width \" >\n      <label for=\"firstname\" class=\"_form-label\">\n        First Name*\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"firstname\" name=\"firstname\" placeholder=\"John \" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x18376488 _full_width \" >\n      <label for=\"lastname\" class=\"_form-label\">\n        Last Name*\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"lastname\" name=\"lastname\" placeholder=\"Smith\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x62476374 _full_width \" >\n      <label for=\"email\" class=\"_form-label\">\n        Email Address*\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"email\" name=\"email\" placeholder=\"johnsmith@email.com\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x01792164 _full_width \" >\n      <label for=\"field[2]\" class=\"_form-label\">\n        Company Name*\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"field[2]\" name=\"field[2]\" value=\"\" placeholder=\"Company Name\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x08049119 _full_width \" >\n      <label for=\"field[25]\" class=\"_form-label\">\n        How can we help?*\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <select name=\"field[25]\" id=\"field[25]\" required>\n          <option selected>\n          <\/option>\n          <option value=\"Validation and Qualification Consulting\" >\n            Validation and Qualification Consulting\n          <\/option>\n          <option value=\"Project Management\" >\n            Project Management\n          <\/option>\n          <option value=\"Quality and Regulatory\" >\n            Quality and Regulatory\n          <\/option>\n          <option value=\"Other information\" >\n            Other information\n          <\/option>\n        <\/select>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x10568941 _full_width \" >\n      <label for=\"field[6]\" class=\"_form-label\">\n        Message*\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <textarea id=\"field[6]\" name=\"field[6]\" placeholder=\"Please leave us a message\"  required><\/textarea>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x49521979 _full_width \" >\n      <fieldset class=\"_form-fieldset\">\n        <div class=\"_row\">\n          <legend for=\"field[22][]\" class=\"_form-label\">\n          <\/legend>\n        <\/div>\n        <input data-autofill=\"false\" type=\"hidden\" id=\"field[22][]\" name=\"field[22][]\" value=\"~|\">\n        <div class=\"_row _checkbox-radio\">\n          <input id=\"field_22I have read the Privacy Statement and I authorize the treatment of my personal data (GDPR May 25, 2018)\" type=\"checkbox\" name=\"field[22][]\" value=\"I have read the Privacy Statement and I authorize the treatment of my personal data (GDPR May 25, 2018)\"   required>\n          <span>\n            <label for=\"field_22I have read the Privacy Statement and I authorize the treatment of my personal data (GDPR May 25, 2018)\">\n              I have read the Privacy Statement and I authorize the treatment of my personal data (GDPR May 25, 2018)*\n            <\/label>\n          <\/span>\n        <\/div>\n      <\/fieldset>\n    <\/div>\n    <div class=\"_form_element _x07624565 _full_width _clear\" >\n      <div class=\"_html-code\">\n        <a href=\"https:\/\/www.iubenda.com\/privacy-policy\/565733#\">Privacy Policy<\/a>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x15025022 _full_width \" >\n      <label for=\"ls\" class=\"_form-label\">\n      <\/label>\n      <div class=\"g-recaptcha\" data-sitekey=\"6LcwIw8TAAAAACP1ysM08EhCgzd6q5JAOUR1a0Go\">\n      <\/div>\n    <\/div>\n    <div class=\"_button-wrapper _full_width\">\n      <button id=\"_form_46_submit\" class=\"_submit\" type=\"submit\">\n        SEND REQUEST\n      <\/button>\n    <\/div>\n    <div class=\"_clear-element\">\n    <\/div>\n  <\/div>\n  <div class=\"_form-thank-you\" style=\"display:none;\">\n  <\/div>\n<\/form><script>\nwindow.cfields = {\"2\":\"azienda\",\"25\":\"how_can_we_help\",\"6\":\"messaggio_form\",\"22\":\"privacy_policy_eng\"};\nwindow._show_thank_you = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');\n    form.querySelector('._form-content').style.display = 'none';\n    thank_you.innerHTML = message;\n    thank_you.style.display = 'block';\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_unsubscribe = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), unsub = form.querySelector('._form-thank-you');\n    var branding = form.querySelector('._form-branding');\n    if (branding) {\n        branding.style.display = 'none';\n    }\n    form.querySelector('._form-content').style.display = 'none';\n    unsub.style.display = 'block';\n    form.insertAdjacentHTML('afterend', message)\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_error = function(id, message, html) {\n    var form = document.getElementById('_form_' + id + '_'),\n        err = document.createElement('div'),\n        button = form.querySelector('button'),\n        old_error = form.querySelector('._form_error');\n    if (old_error) old_error.parentNode.removeChild(old_error);\n    err.innerHTML = message;\n    err.className = '_error-inner _form_error _no_arrow';\n    var wrapper = document.createElement('div');\n    wrapper.className = '_form-inner';\n    wrapper.appendChild(err);\n    button.parentNode.insertBefore(wrapper, button);\n    var submitButton = form.querySelector('[id^=\"_form\"][id$=\"_submit\"]');\n    submitButton.disabled = false;\n    submitButton.classList.remove('processing');\n    if (html) {\n        var div = document.createElement('div');\n        div.className = '_error-html';\n        div.innerHTML = html;\n        err.appendChild(div);\n    }\n};\nwindow._load_script = function(url, callback, isSubmit) {\n    var head = document.querySelector('head'), script = document.createElement('script'), r = false;\n    var submitButton = document.querySelector('#_form_46_submit');\n    script.charset = 'utf-8';\n    script.src = url;\n    if (callback) {\n        script.onload = script.onreadystatechange = function() {\n            if (!r && (!this.readyState || this.readyState == 'complete')) {\n                r = true;\n                callback();\n            }\n        };\n    }\n    script.onerror = function() {\n        if (isSubmit) {\n            if (script.src.length > 10000) {\n                _show_error(\"46\", \"Invio non riuscito. Accorcia le risposte e riprova.\");\n            } else {\n                _show_error(\"46\", \"Invio non riuscito. Riprova.\");\n            }\n            submitButton.disabled = false;\n            submitButton.classList.remove('processing');\n        }\n    }\n\n    head.appendChild(script);\n};\n(function() {\n    if (window.location.search.search(\"excludeform\") !== -1) return false;\n    var getCookie = function(name) {\n        var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));\n        return match ? match[2] : null;\n    }\n    var setCookie = function(name, value) {\n        var now = new Date();\n        var time = now.getTime();\n        var expireTime = time + 1000 * 60 * 60 * 24 * 365;\n        now.setTime(expireTime);\n        document.cookie = name + '=' + value + '; expires=' + now + ';path=\/; Secure; SameSite=Lax;';\n    }\n            var addEvent = function(element, event, func) {\n        if (element.addEventListener) {\n            element.addEventListener(event, func);\n        } else {\n            var oldFunc = element['on' + event];\n            element['on' + event] = function() {\n                oldFunc.apply(this, arguments);\n                func.apply(this, arguments);\n            };\n        }\n    }\n    var _removed = false;\n        var form_to_submit = document.getElementById('_form_46_');\n    var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;\n\n    var getUrlParam = function(name) {\n        if (name.toLowerCase() !== 'email') {\n            var params = new URLSearchParams(window.location.search);\n            return params.get(name) || false;\n        }\n        \/\/ email is a special case because a plus is valid in the email address\n        var qString = window.location.search;\n        if (!qString) {\n            return false;\n        }\n        var parameters = qString.substr(1).split('&');\n        for (var i = 0; i < parameters.length; i++) {\n            var parameter = parameters[i].split('=');\n            if (parameter[0].toLowerCase() === 'email') {\n                return parameter[1] === undefined ? true : decodeURIComponent(parameter[1]);\n            }\n        }\n        return false;\n    };\n\n    var acctDateFormat = \"%d\/%m\/%Y\";\n    var getNormalizedDate = function(date, acctFormat) {\n        var decodedDate = decodeURIComponent(date);\n        if (acctFormat && acctFormat.match(\/(%d|%e).*%m\/gi) !== null) {\n            return decodedDate.replace(\/(\\d{2}).*(\\d{2}).*(\\d{4})\/g, '$3-$2-$1');\n        } else if (Date.parse(decodedDate)) {\n            var dateObj = new Date(decodedDate);\n            var year = dateObj.getFullYear();\n            var month = dateObj.getMonth() + 1;\n            var day = dateObj.getDate();\n            return `${year}-${month < 10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`;\n        }\n        return false;\n    };\n\n    var getNormalizedTime = function(time) {\n        var hour, minutes;\n        var decodedTime = decodeURIComponent(time);\n        var timeParts = Array.from(decodedTime.matchAll(\/(\\d{1,2}):(\\d{1,2})\\W*([AaPp][Mm])?\/gm))[0];\n        if (timeParts[3]) { \/\/ 12 hour format\n            var isPM = timeParts[3].toLowerCase() === 'pm';\n            if (isPM) {\n                hour = parseInt(timeParts[1]) === 12 ? '12' : `${parseInt(timeParts[1]) + 12}`;\n            } else {\n                hour = parseInt(timeParts[1]) === 12 ? '0' : timeParts[1];\n            }\n        } else { \/\/ 24 hour format\n            hour = timeParts[1];\n        }\n        var normalizedHour = parseInt(hour) < 10 ? `0${parseInt(hour)}` : hour;\n        var minutes = timeParts[2];\n        return `${normalizedHour}:${minutes}`;\n    };\n\n    for (var i = 0; i < allInputs.length; i++) {\n        var regexStr = \"field\\\\[(\\\\d+)\\\\]\";\n        var results = new RegExp(regexStr).exec(allInputs[i].name);\n        if (results != undefined) {\n            allInputs[i].dataset.name = allInputs[i].name.match(\/\\[time\\]$\/)\n                ? `${window.cfields[results[1]]}_time`\n                : window.cfields[results[1]];\n        } else {\n            allInputs[i].dataset.name = allInputs[i].name;\n        }\n        var fieldVal = getUrlParam(allInputs[i].dataset.name);\n\n        if (fieldVal) {\n            if (allInputs[i].dataset.autofill === \"false\") {\n                continue;\n            }\n            if (allInputs[i].type == \"radio\" || allInputs[i].type == \"checkbox\") {\n                if (allInputs[i].value == fieldVal) {\n                    allInputs[i].checked = true;\n                }\n            } else if (allInputs[i].type == \"date\") {\n                allInputs[i].value = getNormalizedDate(fieldVal, acctDateFormat);\n            } else if (allInputs[i].type == \"time\") {\n                allInputs[i].value = getNormalizedTime(fieldVal);\n            } else {\n                allInputs[i].value = fieldVal;\n            }\n        }\n    }\n\n    var remove_tooltips = function() {\n        for (var i = 0; i < tooltips.length; i++) {\n            tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n        }\n        tooltips = [];\n    };\n    var remove_tooltip = function(elem) {\n        for (var i = 0; i < tooltips.length; i++) {\n            if (tooltips[i].elem === elem) {\n                tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n                tooltips.splice(i, 1);\n                return;\n            }\n        }\n    };\n    var create_tooltip = function(elem, text) {\n        var tooltip = document.createElement('div'),\n            arrow = document.createElement('div'),\n            inner = document.createElement('div'), new_tooltip = {};\n        if (elem.type != 'radio' && elem.type != 'checkbox') {\n            tooltip.className = '_error';\n            arrow.className = '_error-arrow';\n            inner.className = '_error-inner';\n            inner.innerHTML = text;\n            tooltip.appendChild(arrow);\n            tooltip.appendChild(inner);\n            elem.parentNode.appendChild(tooltip);\n        } else {\n            tooltip.className = '_error-inner _no_arrow';\n            tooltip.innerHTML = text;\n            elem.parentNode.insertBefore(tooltip, elem);\n            new_tooltip.no_arrow = true;\n        }\n        new_tooltip.tip = tooltip;\n        new_tooltip.elem = elem;\n        tooltips.push(new_tooltip);\n        return new_tooltip;\n    };\n    var resize_tooltip = function(tooltip) {\n        var rect = tooltip.elem.getBoundingClientRect();\n        var doc = document.documentElement,\n            scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0));\n        if (scrollPosition < 40) {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _below';\n        } else {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _above';\n        }\n    };\n    var resize_tooltips = function() {\n        if (_removed) return;\n        for (var i = 0; i < tooltips.length; i++) {\n            if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);\n        }\n    };\n    var validate_field = function(elem, remove) {\n        var tooltip = null, value = elem.value, no_error = true;\n        remove ? remove_tooltip(elem) : false;\n        if (elem.type != 'checkbox') elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n        if (elem.getAttribute('required') !== null) {\n            if (elem.type == 'radio' || (elem.type == 'checkbox' && \/any\/.test(elem.className))) {\n                var elems = form_to_submit.elements[elem.name];\n                if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {\n                    no_error = elem.checked;\n                }\n                else {\n                    no_error = false;\n                    for (var i = 0; i < elems.length; i++) {\n                        if (elems[i].checked) no_error = true;\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, \"Seleziona un\\'opzione.\");\n                }\n            } else if (elem.type =='checkbox') {\n                var elems = form_to_submit.elements[elem.name], found = false, err = [];\n                no_error = true;\n                for (var i = 0; i < elems.length; i++) {\n                    if (elems[i].getAttribute('required') === null) continue;\n                    if (!found && elems[i] !== elem) return true;\n                    found = true;\n                    elems[i].className = elems[i].className.replace(\/ ?_has_error ?\/g, '');\n                    if (!elems[i].checked) {\n                        no_error = false;\n                        elems[i].className = elems[i].className + ' _has_error';\n                        err.push(\"\u00c8 necessario verificare %s\".replace(\"%s\", elems[i].value));\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, err.join('<br\/>'));\n                }\n            } else if (elem.tagName == 'SELECT') {\n                var selected = true;\n                if (elem.multiple) {\n                    selected = false;\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected) {\n                            selected = true;\n                            break;\n                        }\n                    }\n                } else {\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected\n                            && (!elem.options[i].value\n                            || (elem.options[i].value.match(\/\\n\/g)))\n                        ) {\n                            selected = false;\n                        }\n                    }\n                }\n                if (!selected) {\n                    elem.className = elem.className + ' _has_error';\n                    no_error = false;\n                    tooltip = create_tooltip(elem, \"Seleziona un\\'opzione.\");\n                }\n            } else if (value === undefined || value === null || value === '') {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Questo campo \u00e8 obbligatorio.\");\n            }\n        }\n        if (no_error && (elem.id == 'field[]' || elem.id == 'ca[11][v]')) {\n            if (elem.className.includes('phone-input-error')) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n            }\n        }\n        if (no_error && elem.name == 'email') {\n            if (!value.match(\/^[\\+_a-z0-9-'&=]+(\\.[\\+_a-z0-9-']+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$\/i)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Inserisci un indirizzo email valido.\");\n            }\n        }\n        if (no_error && \/date_field\/.test(elem.className)) {\n            if (!value.match(\/^\\d\\d\\d\\d-\\d\\d-\\d\\d$\/)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Inserisci una data valida.\");\n            }\n        }\n        tooltip ? resize_tooltip(tooltip) : false;\n        return no_error;\n    };\n    var needs_validate = function(el) {\n        if(el.getAttribute('required') !== null){\n            return true\n        }\n        if(el.name === 'email' && el.value !== \"\"){\n            return true\n        }\n\n        if((el.id == 'field[]' || el.id == 'ca[11][v]') && el.className.includes('phone-input-error')){\n            return true\n        }\n\n        return false\n    };\n    var validate_form = function(e) {\n        var err = form_to_submit.querySelector('._form_error'), no_error = true;\n        if (!submitted) {\n            submitted = true;\n            for (var i = 0, len = allInputs.length; i < len; i++) {\n                var input = allInputs[i];\n                if (needs_validate(input)) {\n                    if (input.type == 'tel') {\n                        addEvent(input, 'blur', function() {\n                            this.value = this.value.trim();\n                            validate_field(this, true);\n                        });\n                    }\n                    if (input.type == 'text' || input.type == 'number' || input.type == 'time') {\n                        addEvent(input, 'blur', function() {\n                            this.value = this.value.trim();\n                            validate_field(this, true);\n                        });\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'radio' || input.type == 'checkbox') {\n                        (function(el) {\n                            var radios = form_to_submit.elements[el.name];\n                            for (var i = 0; i < radios.length; i++) {\n                                addEvent(radios[i], 'click', function() {\n                                    validate_field(el, true);\n                                });\n                            }\n                        })(input);\n                    } else if (input.tagName == 'SELECT') {\n                        addEvent(input, 'change', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'textarea'){\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    }\n                }\n            }\n        }\n        remove_tooltips();\n        for (var i = 0, len = allInputs.length; i < len; i++) {\n            var elem = allInputs[i];\n            if (needs_validate(elem)) {\n                if (elem.tagName.toLowerCase() !== \"select\") {\n                    elem.value = elem.value.trim();\n                }\n                validate_field(elem) ? true : no_error = false;\n            }\n        }\n        if (!no_error && e) {\n            e.preventDefault();\n        }\n        resize_tooltips();\n        return no_error;\n    };\n    addEvent(window, 'resize', resize_tooltips);\n    addEvent(window, 'scroll', resize_tooltips);\n\n    var hidePhoneInputError = function(inputId) {\n        var errorMessage =  document.getElementById(\"error-msg-\" + inputId);\n        var input = document.getElementById(inputId);\n        errorMessage.classList.remove(\"phone-error\");\n        errorMessage.classList.add(\"phone-error-hidden\");\n        input.classList.remove(\"phone-input-error\");\n    };\n\n    var initializePhoneInput = function(input, defaultCountry) {\n        return window.intlTelInput(input, {\n            utilsScript: \"https:\/\/unpkg.com\/intl-tel-input@17.0.18\/build\/js\/utils.js\",\n            autoHideDialCode: false,\n            separateDialCode: true,\n            initialCountry: defaultCountry,\n            preferredCountries: []\n        });\n    }\n\n    var setPhoneInputEventListeners = function(inputId, input, iti) {\n        input.addEventListener('blur', function() {\n            var errorMessage = document.getElementById(\"error-msg-\" + inputId);\n            if (input.value.trim()) {\n                if (iti.isValidNumber()) {\n                    iti.setNumber(iti.getNumber());\n                    if (errorMessage.classList.contains(\"phone-error\")){\n                        hidePhoneInputError(inputId);\n                    }\n                } else {\n                    showPhoneInputError(inputId)\n                }\n            } else {\n                if (errorMessage.classList.contains(\"phone-error\")){\n                    hidePhoneInputError(inputId);\n                }\n            }\n        });\n\n        input.addEventListener(\"countrychange\", function() {\n            iti.setNumber('');\n        });\n\n        input.addEventListener(\"keydown\", function(e) {\n            var charCode = (e.which) ? e.which : e.keyCode;\n            if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode !== 8) {\n                e.preventDefault();\n            }\n        });\n    };\n\n    var showPhoneInputError = function(inputId) {\n        var errorMessage =  document.getElementById(\"error-msg-\" + inputId);\n        var input = document.getElementById(inputId);\n        errorMessage.classList.add(\"phone-error\");\n        errorMessage.classList.remove(\"phone-error-hidden\");\n        input.classList.add(\"phone-input-error\");\n    };\n\n\n    window['recaptcha_callback'] = function() {\n  \/\/ Get all recaptchas in the DOM (there may be more than one form on the page).\n  var recaptchas = document.getElementsByClassName(\"g-recaptcha\");\n  for (var i in recaptchas) {\n    \/\/ Set the recaptcha element ID, so the recaptcha can be applied to each element.\n    var recaptcha_id = \"recaptcha_\" + i;\n    recaptchas[i].id = recaptcha_id;\n    var el = document.getElementById(recaptcha_id);\n    if (el != null) {\n      var sitekey = el.getAttribute(\"data-sitekey\");\n      var stoken = el.getAttribute(\"data-stoken\");\n      grecaptcha.render(recaptcha_id, {\"sitekey\":sitekey,\"stoken\":stoken});\n    }\n  }\n};    _load_script(\n        \"https:\/\/www.google.com\/recaptcha\/api.js?onload=recaptcha_callback&render=explicit\"\n    );\n    var _form_serialize = function(form){if(!form||form.nodeName!==\"FORM\"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===\"\"){continue}switch(form.elements[i].nodeName){case\"INPUT\":switch(form.elements[i].type){case\"tel\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(\" \")+encodeURIComponent(form.elements[i].value));break;case\"text\":case\"number\":case\"date\":case\"time\":case\"hidden\":case\"password\":case\"button\":case\"reset\":case\"submit\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"checkbox\":case\"radio\":if(form.elements[i].checked){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value))}break;case\"file\":break}break;case\"TEXTAREA\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"SELECT\":switch(form.elements[i].type){case\"select-one\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"select-multiple\":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case\"BUTTON\":switch(form.elements[i].type){case\"reset\":case\"submit\":case\"button\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break}break}}return q.join(\"&\")};\n\n    const formSupportsPost = false;\n          var form_submit = function(e) {\n        e.preventDefault();\n        if (validate_form()) {\n            \/\/ use this trick to get the submit button & disable it using plain javascript\n            var submitButton = e.target.querySelector('#_form_46_submit');\n            submitButton.disabled = true;\n            submitButton.classList.add('processing');\n                        var serialized = _form_serialize(\n                document.getElementById('_form_46_')\n            ).replace(\/%0A\/g, '\\\\n');\n            var err = form_to_submit.querySelector('._form_error');\n            err ? err.parentNode.removeChild(err) : false;\n            async function submitForm() {\n              var formData = new FormData();\n              const searchParams = new URLSearchParams(serialized);\n              searchParams.forEach((value, key) => {\n                formData.append(key, value);\n              });\n\n              const response = await fetch('https:\/\/s4bt69577.activehosted.com\/proc.php?jsonp=true', {\n                headers: {\n                  \"Accept\": \"application\/json\"\n                },\n                body: formData,\n                method: \"POST\"\n              });\n              return response.json();\n            }\n                if (formSupportsPost) {\n                  submitForm().then((data) => {\n                    eval(data.js);\n                  });\n                } else {\n                  _load_script('https:\/\/s4bt69577.activehosted.com\/proc.php?' + serialized + '&jsonp=true', null, true);\n                }\n        }\n        return false;\n    };\n    addEvent(form_to_submit, 'submit', form_submit);\n})();\n\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8ac8558 elementor-absolute elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"8ac8558\" data-element_type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-67b3dd92 elementor-reverse-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"67b3dd92\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-wider\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-3c6608cf\" data-id=\"3c6608cf\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-707e208e\" data-id=\"707e208e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-19d8b08c elementor-icon-list--layout-inline elementor-align-end elementor-mobile-align-center elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"19d8b08c\" data-element_type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items elementor-inline-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/www.s4bt.it\/privacy-policy-s4bt\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Privacy Policy<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/www.s4bt.it\/carriere\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Career<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>PROJECTS Client: leading company in the logistics sector Sector: Pharmaceutical industry Objective: to ensure the maintenance of the correct thermo-hygrometric conditions necessary to guarantee the quality and effectiveness of pharmaceutical products Project The client company is a leader in the logistics sector, especially in the pharmaceutical sector. The company needed to perform temperature mapping of [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":10646,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-10328","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Consulting Projects - Temperature Mapping - S4BT.IT<\/title>\n<meta name=\"description\" content=\"Project for temperature mapping of warehouses, cold rooms and\/or other environments of a logistics company operating in the pharmaceutical sector.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Consulting Projects - Temperature Mapping - S4BT.IT\" \/>\n<meta property=\"og:description\" content=\"Project for temperature mapping of warehouses, cold rooms and\/or other environments of a logistics company operating in the pharmaceutical sector.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/\" \/>\n<meta property=\"og:site_name\" content=\"S4BT\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-02T08:11:49+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/\",\"url\":\"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/\",\"name\":\"Consulting Projects - Temperature Mapping - S4BT.IT\",\"isPartOf\":{\"@id\":\"https:\/\/www.s4bt.it\/en\/#website\"},\"datePublished\":\"2021-09-20T08:49:01+00:00\",\"dateModified\":\"2026-02-02T08:11:49+00:00\",\"description\":\"Project for temperature mapping of warehouses, cold rooms and\/or other environments of a logistics company operating in the pharmaceutical sector.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.s4bt.it\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Projects\",\"item\":\"https:\/\/www.s4bt.it\/en\/projects\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Temperature Mapping Project\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.s4bt.it\/en\/#website\",\"url\":\"https:\/\/www.s4bt.it\/en\/\",\"name\":\"S4BT\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.s4bt.it\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.s4bt.it\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.s4bt.it\/en\/#organization\",\"name\":\"S4BT\",\"url\":\"https:\/\/www.s4bt.it\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.s4bt.it\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.s4bt.it\/wp-content\/uploads\/2021\/06\/nuovo-logo-s4bt_37348d1d9bc8bf0341e1f84d6c038700.png\",\"contentUrl\":\"https:\/\/www.s4bt.it\/wp-content\/uploads\/2021\/06\/nuovo-logo-s4bt_37348d1d9bc8bf0341e1f84d6c038700.png\",\"width\":316,\"height\":161,\"caption\":\"S4BT\"},\"image\":{\"@id\":\"https:\/\/www.s4bt.it\/en\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Consulting Projects - Temperature Mapping - S4BT.IT","description":"Project for temperature mapping of warehouses, cold rooms and\/or other environments of a logistics company operating in the pharmaceutical sector.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/","og_locale":"en_US","og_type":"article","og_title":"Consulting Projects - Temperature Mapping - S4BT.IT","og_description":"Project for temperature mapping of warehouses, cold rooms and\/or other environments of a logistics company operating in the pharmaceutical sector.","og_url":"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/","og_site_name":"S4BT","article_modified_time":"2026-02-02T08:11:49+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/","url":"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/","name":"Consulting Projects - Temperature Mapping - S4BT.IT","isPartOf":{"@id":"https:\/\/www.s4bt.it\/en\/#website"},"datePublished":"2021-09-20T08:49:01+00:00","dateModified":"2026-02-02T08:11:49+00:00","description":"Project for temperature mapping of warehouses, cold rooms and\/or other environments of a logistics company operating in the pharmaceutical sector.","breadcrumb":{"@id":"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.s4bt.it\/en\/projects\/temperature-mapping-project\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.s4bt.it\/en\/"},{"@type":"ListItem","position":2,"name":"Projects","item":"https:\/\/www.s4bt.it\/en\/projects\/"},{"@type":"ListItem","position":3,"name":"Temperature Mapping Project"}]},{"@type":"WebSite","@id":"https:\/\/www.s4bt.it\/en\/#website","url":"https:\/\/www.s4bt.it\/en\/","name":"S4BT","description":"","publisher":{"@id":"https:\/\/www.s4bt.it\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.s4bt.it\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.s4bt.it\/en\/#organization","name":"S4BT","url":"https:\/\/www.s4bt.it\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.s4bt.it\/en\/#\/schema\/logo\/image\/","url":"https:\/\/www.s4bt.it\/wp-content\/uploads\/2021\/06\/nuovo-logo-s4bt_37348d1d9bc8bf0341e1f84d6c038700.png","contentUrl":"https:\/\/www.s4bt.it\/wp-content\/uploads\/2021\/06\/nuovo-logo-s4bt_37348d1d9bc8bf0341e1f84d6c038700.png","width":316,"height":161,"caption":"S4BT"},"image":{"@id":"https:\/\/www.s4bt.it\/en\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.s4bt.it\/en\/wp-json\/wp\/v2\/pages\/10328","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.s4bt.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.s4bt.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.s4bt.it\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.s4bt.it\/en\/wp-json\/wp\/v2\/comments?post=10328"}],"version-history":[{"count":13,"href":"https:\/\/www.s4bt.it\/en\/wp-json\/wp\/v2\/pages\/10328\/revisions"}],"predecessor-version":[{"id":19459,"href":"https:\/\/www.s4bt.it\/en\/wp-json\/wp\/v2\/pages\/10328\/revisions\/19459"}],"up":[{"embeddable":true,"href":"https:\/\/www.s4bt.it\/en\/wp-json\/wp\/v2\/pages\/10646"}],"wp:attachment":[{"href":"https:\/\/www.s4bt.it\/en\/wp-json\/wp\/v2\/media?parent=10328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}