{"id":10320,"date":"2021-09-20T10:48:19","date_gmt":"2021-09-20T08:48:19","guid":{"rendered":"https:\/\/www.s4bt.it\/issue-of-certificates-of-analysis-in-electronic-format\/"},"modified":"2026-02-02T09:11:11","modified_gmt":"2026-02-02T08:11:11","slug":"issue-of-certificates-of-analysis-in-electronic-format","status":"publish","type":"page","link":"https:\/\/www.s4bt.it\/en\/projects\/issue-of-certificates-of-analysis-in-electronic-format\/","title":{"rendered":"Issuance of certificates of analysis in electronic format"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10320\" class=\"elementor elementor-10320 elementor-2597\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2e0fdc7d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2e0fdc7d\" 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-33 elementor-top-column elementor-element elementor-element-12b87f01\" data-id=\"12b87f01\" 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-1f7eaa84 elementor-widget elementor-widget-heading\" data-id=\"1f7eaa84\" 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-5a004015 elementor-hidden-tablet elementor-hidden-phone elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"5a004015\" 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-30dbfcef elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading\" data-id=\"30dbfcef\" 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\">Issuance of certificates of analysis in electronic format<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e2d278d elementor-widget elementor-widget-text-editor\" data-id=\"7e2d278d\" 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><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 );\">a company that has always been involved in the research, development and marketing of innovative medicines.<\/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 );\"><strong>Sector:<\/strong> Pharmaceuticals<\/span><\/p>\n<p><strong>Objective:<\/strong> to improve and optimise the flow of issuing Certificates of Analysis <\/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-2d915d5a elementor-widget elementor-widget-heading\" data-id=\"2d915d5a\" 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-28092f13 elementor-widget elementor-widget-text-editor\" data-id=\"28092f13\" 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 );\">The purpose of the Project was to improve and optimise the flow of issuing Certificates of Analysis relating to finished products, raw materials, and primary packaging materials. The client company decided to introduce new software to manage the creation, revision, and approval of the Certificate itself.<\/span><\/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-30734312 elementor-widget elementor-widget-heading\" data-id=\"30734312\" 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-1847bbd0 elementor-widget elementor-widget-text-editor\" data-id=\"1847bbd0\" 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 );\">The work of the S4BT Consultant was split into two macro-activities:<\/span><\/p>\n<ol>\n<li><b>Test the functionality<\/b> of a new software designed to manage the creation and electronic signature of the Certificate of Analysis by the QC Manager or the Qualified Person;<\/li>\n<li><b>Create a new procedure<\/b> to report all information relating to the issuance of the Certificate of Analysis in electronic format.<\/li>\n<\/ol>\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-1d39a2dc elementor-widget elementor-widget-heading\" data-id=\"1d39a2dc\" 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-78e7e060 elementor-widget elementor-widget-text-editor\" data-id=\"78e7e060\" 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>\n<li>Reduction of Certificate of Analysis creation times;<\/li>\n<li>Reduction and optimisation of Certificate of Analysis review and approval times;<\/li>\n<li>Reduction in response times to requests from regulatory bodies and Customer Account Coordinators;<\/li>\n<li>Evidence of Certificate of Analysis revision, missing in the paper flow<\/li>\n<li>Savings in resources and space as document archiving is managed directly in the system.<\/li>\n<\/ul>\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-5cd8f6e7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5cd8f6e7\" 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-6641211f\" data-id=\"6641211f\" 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-768fb316 elementor-widget__width-auto elementor-widget elementor-widget-heading\" data-id=\"768fb316\" 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-4b19635a elementor-widget elementor-widget-text-editor\" data-id=\"4b19635a\" 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\/management-of-process-deviation-change-control-capa\/\">Management of Process Deviation, Change Control, CAPA<\/a><\/li><li><a href=\"https:\/\/www.s4bt.it\/en\/projects\/validation-of-analytical-methods-for-the-ehs-department\/\">Validation of analytical methods for the EHS department<\/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-3c644407 elementor-absolute elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"3c644407\" 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-33 elementor-top-column elementor-element elementor-element-8a6f511\" data-id=\"8a6f511\" 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-ad24c31 elementor-widget__width-initial elementor-widget elementor-widget-spacer\" data-id=\"ad24c31\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\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<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-766efc2f\" data-id=\"766efc2f\" 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-64e2ec0e elementor-section-height-min-height elementor-section-boxed elementor-section-height-default\" data-id=\"64e2ec0e\" 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-726a2105\" data-id=\"726a2105\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[{&quot;id&quot;:4876,&quot;url&quot;:&quot;https:\\\/\\\/www.s4bt.it\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/almighty-pill.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-38f2156d elementor-align-center elementor-widget elementor-widget-button\" data-id=\"38f2156d\" 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\/\/quality-regulatory-s4bt-consulting\/\">\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\">QUALITY &amp; REGULATORY<\/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-1749bb31 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1749bb31\" 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-5698dc7d\" data-id=\"5698dc7d\" 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-560323f2 elementor-widget__width-auto elementor-widget elementor-widget-heading\" data-id=\"560323f2\" 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\"><span style=\"color: var( --e-global-color-secondary );font-size: var( --e-global-typography-1ce1d7e-font-size );font-weight: var( --e-global-typography-1ce1d7e-font-weight );background-color: var( --e-global-color-ec25634 )\">CONSULTANCY SERVICES PURCHASED BY THE CLIENT COMPANY<\/span><\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-47c4ec01 elementor-widget elementor-widget-text-editor\" data-id=\"47c4ec01\" 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\/quality-regulatory\/\">Quality Control<\/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-68a033b9 elementor-widget__width-auto elementor-widget elementor-widget-heading\" data-id=\"68a033b9\" 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-ee4739b elementor-widget elementor-widget-html\" data-id=\"ee4739b\" 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\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<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>PROJECTS Client: a company that has always been involved in the research, development and marketing of innovative medicines. Sector: Pharmaceuticals Objective: to improve and optimise the flow of issuing Certificates of Analysis Project The purpose of the Project was to improve and optimise the flow of issuing Certificates of Analysis relating to finished products, raw [&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-10320","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>Project -Issuance of certificates of analysis in electronic format - S4BT.it<\/title>\n<meta name=\"description\" content=\"The purpose of the Project was to improve and optimise the flow of issuing Certificates of Analysis.\" \/>\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\/issue-of-certificates-of-analysis-in-electronic-format\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Project -Issuance of certificates of analysis in electronic format - S4BT.it\" \/>\n<meta property=\"og:description\" content=\"The purpose of the Project was to improve and optimise the flow of issuing Certificates of Analysis.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.s4bt.it\/en\/projects\/issue-of-certificates-of-analysis-in-electronic-format\/\" \/>\n<meta property=\"og:site_name\" content=\"S4BT\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-02T08:11:11+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=\"2 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\/issue-of-certificates-of-analysis-in-electronic-format\/\",\"url\":\"https:\/\/www.s4bt.it\/en\/projects\/issue-of-certificates-of-analysis-in-electronic-format\/\",\"name\":\"Project -Issuance of certificates of analysis in electronic format - S4BT.it\",\"isPartOf\":{\"@id\":\"https:\/\/www.s4bt.it\/en\/#website\"},\"datePublished\":\"2021-09-20T08:48:19+00:00\",\"dateModified\":\"2026-02-02T08:11:11+00:00\",\"description\":\"The purpose of the Project was to improve and optimise the flow of issuing Certificates of Analysis.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.s4bt.it\/en\/projects\/issue-of-certificates-of-analysis-in-electronic-format\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.s4bt.it\/en\/projects\/issue-of-certificates-of-analysis-in-electronic-format\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.s4bt.it\/en\/projects\/issue-of-certificates-of-analysis-in-electronic-format\/#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\":\"Issuance of certificates of analysis in electronic format\"}]},{\"@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":"Project -Issuance of certificates of analysis in electronic format - S4BT.it","description":"The purpose of the Project was to improve and optimise the flow of issuing Certificates of Analysis.","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\/issue-of-certificates-of-analysis-in-electronic-format\/","og_locale":"en_US","og_type":"article","og_title":"Project -Issuance of certificates of analysis in electronic format - S4BT.it","og_description":"The purpose of the Project was to improve and optimise the flow of issuing Certificates of Analysis.","og_url":"https:\/\/www.s4bt.it\/en\/projects\/issue-of-certificates-of-analysis-in-electronic-format\/","og_site_name":"S4BT","article_modified_time":"2026-02-02T08:11:11+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.s4bt.it\/en\/projects\/issue-of-certificates-of-analysis-in-electronic-format\/","url":"https:\/\/www.s4bt.it\/en\/projects\/issue-of-certificates-of-analysis-in-electronic-format\/","name":"Project -Issuance of certificates of analysis in electronic format - S4BT.it","isPartOf":{"@id":"https:\/\/www.s4bt.it\/en\/#website"},"datePublished":"2021-09-20T08:48:19+00:00","dateModified":"2026-02-02T08:11:11+00:00","description":"The purpose of the Project was to improve and optimise the flow of issuing Certificates of Analysis.","breadcrumb":{"@id":"https:\/\/www.s4bt.it\/en\/projects\/issue-of-certificates-of-analysis-in-electronic-format\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.s4bt.it\/en\/projects\/issue-of-certificates-of-analysis-in-electronic-format\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.s4bt.it\/en\/projects\/issue-of-certificates-of-analysis-in-electronic-format\/#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":"Issuance of certificates of analysis in electronic format"}]},{"@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\/10320","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=10320"}],"version-history":[{"count":13,"href":"https:\/\/www.s4bt.it\/en\/wp-json\/wp\/v2\/pages\/10320\/revisions"}],"predecessor-version":[{"id":19456,"href":"https:\/\/www.s4bt.it\/en\/wp-json\/wp\/v2\/pages\/10320\/revisions\/19456"}],"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=10320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}