<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>life science Archivi - S4BT</title>
	<atom:link href="https://www.s4bt.it/tag/life-science/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description></description>
	<lastBuildDate>Mon, 02 Feb 2026 10:00:46 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.s4bt.it/wp-content/uploads/2021/06/cropped-Senza-titolo-1-32x32.png</url>
	<title>life science Archivi - S4BT</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Annex 1: Camere bianche e ambienti a contaminazione controllata</title>
		<link>https://www.s4bt.it/annex-1-camere-bianche-e-contaminazione-controllata/</link>
		
		<dc:creator><![CDATA[Redazione]]></dc:creator>
		<pubDate>Mon, 05 Sep 2022 11:31:14 +0000</pubDate>
				<category><![CDATA[Commissioning & Qualification]]></category>
		<category><![CDATA[commissioning]]></category>
		<category><![CDATA[consulting]]></category>
		<category><![CDATA[life science]]></category>
		<category><![CDATA[qualification]]></category>
		<guid isPermaLink="false">https://www.s4bt.it/?p=14248</guid>

					<description><![CDATA[<p>BLOG Articolo a cura del team Commissioning &#38; Qualification S4BT. Nella manifattura di prodotti sterili, rivestono particolare importanza le camere bianche e il grado di pulizia in esse raggiunto. In questo articolo approfondiamo il tema della qualifica e riqualifica in ambito GMP. Cosa occorre per ottenere un grado di pulizia appropriato? Sicuramente è necessario partire [&#8230;]</p>
<p>L'articolo <a href="https://www.s4bt.it/annex-1-camere-bianche-e-contaminazione-controllata/">Annex 1: Camere bianche e ambienti a contaminazione controllata</a> proviene da <a href="https://www.s4bt.it">S4BT</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="14248" class="elementor elementor-14248" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-b4805c3 elementor-section-height-min-height elementor-reverse-mobile elementor-section-boxed elementor-section-height-default elementor-section-items-middle" data-id="b4805c3" data-element_type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
							<div class="elementor-background-overlay"></div>
							<div class="elementor-container elementor-column-gap-wider">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-93eb71c" data-id="93eb71c" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-debd3df elementor-widget elementor-widget-heading" data-id="debd3df" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<div class="elementor-heading-title elementor-size-default">BLOG</div>				</div>
				</div>
				<div class="elementor-element elementor-element-83856d9 elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="83856d9" data-element_type="widget" data-widget_type="theme-post-title.default">
				<div class="elementor-widget-container">
					<h1 class="elementor-heading-title elementor-size-default">Annex 1: Camere bianche e ambienti a contaminazione controllata</h1>				</div>
				</div>
				<div class="elementor-element elementor-element-e1c4237 elementor-widget-divider--separator-type-pattern elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="e1c4237" data-element_type="widget" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<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;);">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-73cc9e2 elementor-hidden-phone elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading" data-id="73cc9e2" data-element_type="widget" data-widget_type="theme-post-title.default">
				<div class="elementor-widget-container">
					<h1 class="elementor-heading-title elementor-size-default">Annex 1: Camere bianche e ambienti a contaminazione controllata</h1>				</div>
				</div>
				<div class="elementor-element elementor-element-26100b6 elementor-widget elementor-widget-post-info" data-id="26100b6" data-element_type="widget" data-widget_type="post-info.default">
				<div class="elementor-widget-container">
							<ul class="elementor-inline-items elementor-icon-list-items elementor-post-info">
								<li class="elementor-icon-list-item elementor-repeater-item-b0a0713 elementor-inline-item" itemprop="author">
						<a href="https://www.s4bt.it/author/redazione/">
											<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="far fa-user-circle"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-author">
										Redazione					</span>
									</a>
				</li>
				<li class="elementor-icon-list-item elementor-repeater-item-92e643a elementor-inline-item" itemprop="datePublished">
						<a href="https://www.s4bt.it/2022/09/05/">
											<span class="elementor-icon-list-icon">
								<i aria-hidden="true" class="fas fa-calendar"></i>							</span>
									<span class="elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date">
										<time>05/09/2022</time>					</span>
									</a>
				</li>
				</ul>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-3f2e94f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="3f2e94f" data-element_type="section">
						<div class="elementor-container elementor-column-gap-extended">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-4d4544e" data-id="4d4544e" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-eb95fdf elementor-widget elementor-widget-text-editor" data-id="eb95fdf" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><em>Articolo a cura del team Commissioning &amp; Qualification S4BT.</em></p><p>Nella manifattura di prodotti sterili, rivestono particolare importanza <b>le camere bianche</b> e il grado di pulizia in <i>esse raggiunto. In questo articolo approfondiamo il tema della qualifica e riqualifica in ambito GMP.</i></p>								</div>
				</div>
				<div class="elementor-element elementor-element-a1280c1 elementor-widget elementor-widget-heading" data-id="a1280c1" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Cosa occorre per ottenere un grado di pulizia appropriato?</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-6fe054d5 elementor-widget elementor-widget-text-editor" data-id="6fe054d5" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Sicuramente è necessario partire da una <strong>buona progettazione</strong> e <strong>realizzazione</strong>.</p><h3>1. Superfici</h3><p>Nelle camere bianche tutte le <strong>superfici</strong> esposte come i piani di lavoro o le pareti dei locali dovrebbero essere <strong>lisce</strong> e di <strong>facile accesso</strong> in modo da ridurre al minimo l&#8217;accumulo di particelle contaminanti e permettere una quanto più comoda pulizia.</p><h3>2. Spazi e ingombri</h3><p>La progettazione ideale richiede che non ci siano <strong>rientranze</strong>, <strong>sporgenze</strong>, <strong>scaffali</strong> o <strong>armadi</strong> e che la presenza di altri tipi di qualsivoglia attrezzatura sia ridotta al minimo indispensabile.</p><h3>3. Porte e Soffitti</h3><p>Tale principio si applica anche alla progettazione delle <strong>porte</strong>, che dovrebbero essere realizzate in modo da evitare recessi di difficile pulizia.</p><p>Allo stesso modo i <strong>soffitti</strong> dovrebbero essere progettati e sigillati per prevenire la contaminazione dallo spazio sovrastante.</p><p>A tutte queste considerazioni, si aggiunge ancora la corretta progettazione del sistema HVAC e l’utilizzo dei filtri HEPA, attraverso i quali l’aria trattata viene opportunamente immessa nel locale.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-037e1f3 elementor-widget elementor-widget-heading" data-id="037e1f3" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Che cos'è Annex 1?</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-d3faada elementor-widget elementor-widget-text-editor" data-id="d3faada" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><a style="font-size: 16px; letter-spacing: 1.2px;" href="https://health.ec.europa.eu/document/download/e05af55b-38e9-42bf-8495-194bbf0b9262_en?filename=20220825_gmp-an1_en_0.pdf" target="_blank" rel="noopener">Annex 1</a> è un allegato delle <a href="https://health.ec.europa.eu/medicinal-products/eudralex/eudralex-volume-1_en" target="_blank" rel="noopener">EudraLex &#8211; Volume 4 &#8211; Good Manufacturing Practice (GMP)</a> guidelines, dedicato alla fabbricazione di prodotti sterili. Tuttavia alcuni principi e linee guida, come la strategia di controllo della contaminazione, la progettazione dei locali,<br />la classificazione delle camere bianche, la qualificazione, la convalida, il monitoraggio e la vestizione del personale, possono essere utilizzati per supportare la fabbricazione di altri prodotti non destinati alla sterilità, come determinati liquidi, creme, unguenti e intermedi biologici a bassa carica microbica, ma per i quali il controllo e la riduzione della<br />contaminazione microbica, particellare e da endotossine/pirogeni è considerato importante. Nel 2022 l&#8217;Annex 1 è stato revisionato.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-e6c30b1 elementor-widget elementor-widget-heading" data-id="e6c30b1" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Annex 1: 4 gradi di pulizia</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-6e22205 elementor-widget elementor-widget-text-editor" data-id="6e22205" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>L’Annex 1 fa riferimento ad una classificazione delle camere bianche e degli ambienti a contaminazione controllata che prevede quattro gradi di pulizia:</p><ul><li><strong>GRADO A:</strong> sono le zone critiche per le operazioni ad <strong>altro rischio</strong>, come linee di lavorazioni asettiche, zone di riempimento, piani di lavoro con ampolle e flaconi aperti;</li><li><strong>GRADO B:</strong> dedicate alla <strong>preparazione e al riempimento asettico</strong>. Sono solo e soltanto le zone che circondano quelle di grado A;</li><li><strong>GRADO C e D:</strong> zone utilizzate per l&#8217;esecuzione di <strong>fasi meno critiche</strong> nella fabbricazione di prodotti sterili riempiti asetticamente.</li></ul><p>Nei <strong>sistemi a flusso d&#8217;aria unidirezionale</strong>, tipici delle zone di grado A, un adeguato movimento d&#8217;aria fornisce la protezione del prodotto e dei componenti aperti all&#8217;altezza del piano di lavoro (ad esempio dove sono condotte le operazioni ad alto rischio e dove il prodotto e i componenti sono esposti).</p>								</div>
				</div>
				<div class="elementor-element elementor-element-702dcc2 elementor-widget elementor-widget-heading" data-id="702dcc2" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Qualifica di Camere Bianche e attrezzature per aria pulita</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-0baea56 elementor-widget elementor-widget-text-editor" data-id="0baea56" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>La qualifica viene intesa come il processo globale di valutazione del livello di conformità di una camera bianca classificata o di un&#8217;attrezzatura per l&#8217;aria pulita con il suo uso previsto.</p><p>Come tutti i sistemi e le apparecchiature aventi impatto GxP, anche la qualifica delle cleanrooms dovrà seguire i requisiti e l’approccio alla qualifica descritti nella normativa di riferimento <em>Annex 15 Qualification and Validation</em>.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-4679b55 elementor-widget elementor-widget-heading" data-id="4679b55" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">9 Test necessari per verificare la conformità di una camera bianca</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-2ceab52 elementor-widget elementor-widget-text-editor" data-id="2ceab52" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Al fine di verificare la conformità di una cleanroom vengono considerati necessari almeno i seguenti test di verifica:</p><h3 class="article__title">1. Test di integrità dei filtri installati</h3><p class="article__title">Questo test viene effettuato per <strong>assicurare che i filtri siano installati correttamente</strong> verificando l’assenza di perdite o di difetti e che sul telaio del filtro ci sia perfetta tenuta.</p><p>Vengono introdotte particelle di aerosol a monte del filtro tramite un generatore e ne viene misurata la concentrazione.</p><p>Viene poi effettuata una scansione a valle del filtro per misurarne la penetrazione tramite due modalità: attraverso l’uso di un fotometro o tramite l’uso di un contaparticelle.</p><p>Il limite massimo di penetrazione accettabile è lo 0,01%, come da indicazione della normativa ISO 14644-3.</p><h3 class="article__title">2. Misurazione del flusso d&#8217;aria &#8211; portata e velocità (la velocità viene misurata nei sistemi a flusso unidirezionale)</h3><p>Questo test viene eseguito per <strong>misurare il flusso d&#8217;aria introdotto</strong> in camere bianche a flusso unidirezionale e non unidirezionale.</p><p>Nelle applicazioni a flusso unidirezionale, la <strong>velocità del flusso d&#8217;aria</strong>, che dovrebbe ricadere all’interno dei valori guida <strong>0,36 &#8211; 0,54 m/s</strong>, è misurata in diversi punti della superficie del filtro e del piano di lavoro tramite ad esempio, un anemometro a filo caldo, al fine di dimostrarne l’uniformità.</p><p>Nelle zone a flusso non unidirezionale è possibile misurare direttamente la portata di aria utilizzando ad esempio un <strong>balometro</strong>, dotato di un convogliatore del flusso d’aria; il dato rilevato potrà essere utilizzato per il calcolo del numero di ricambi orari (volumi di aria nell’unità di tempo).</p><h3 class="article__title">3. Misurazione della pressione differenziale tra i locali</h3><p>Lo scopo del test della differenza di pressione dell&#8217;aria è quello di <strong>verificare la capacità del sistema di</strong> <strong>mantenere il differenziale di pressione</strong> specificato tra la camera bianca e l&#8217;ambiente circostante o tra camere bianche di grado diverso, in modo da non permettere contaminazione incrociata. Tale verifica viene effettuata con il supporto di un <strong>micromanometro</strong> differenziale.</p><h3 class="article__title">4. Direzione e visualizzazione dei flussi d’aria</h3><p>Il test della visualizzazione del flusso d&#8217;aria può essere condotto nello stato di riposo per determinare i modelli di base del flusso d&#8217;aria della camera bianca e può essere ripetuto nello stato dinamico simulando le operazioni reali. Questa verifica è necessaria per <strong>dimostrare che non c&#8217;è ingresso dalle aree di grado inferiore a quelle di grado superiore</strong> e che l&#8217;aria non transiti da aree meno pulite (pavimento) alle aree di grado superiore (piani di lavoro).</p><p>Inoltre la visualizzazione dei flussi d’aria consente di <strong>apportare migliorie al design</strong> della cleanroom, di individuare disomogeneità della velocità del flusso, di valutare correttamente la posizione dei punti di monitoraggio ambientale e di addestrare gli operatori riguardo alle corrette modalità di svolgimento delle operazioni asettiche.</p><h3 class="article__title">5. Contaminazione particellare</h3><p>Parte integrante della qualifica di una camera bianca è proprio la sua classificazione: è un metodo per <strong>valutare il livello di pulizia dell&#8217;aria rispetto a una specifica di riferimento</strong> (vedi tabella 1), misurando la concentrazione di particolato aerodisperso.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-759131a elementor-widget elementor-widget-image" data-id="759131a" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img fetchpriority="high" decoding="async" width="629" height="255" src="https://www.s4bt.it/wp-content/uploads/2022/09/Tabella-1_Annex1-2.jpg" class="attachment-large size-large wp-image-14282" alt="Tabella 1_Annex1" srcset="https://www.s4bt.it/wp-content/uploads/2022/09/Tabella-1_Annex1-2.jpg 629w, https://www.s4bt.it/wp-content/uploads/2022/09/Tabella-1_Annex1-2-300x122.jpg 300w" sizes="(max-width: 629px) 100vw, 629px" />															</div>
				</div>
				<div class="elementor-element elementor-element-746a614 elementor-widget elementor-widget-text-editor" data-id="746a614" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Per gli ambienti di grado A (nello stato occupazionale “at-rest” e “in operation”) e di grado B (nello stato occupazionale “at-rest”) non sono stati ritenuti applicabili i limiti di concentrazione per le particelle da 5 μm; pertanto, possono essere prese in considerazione particelle di dimensione maggiore o uguale a 1 μm, secondo i limiti indicati dalla norma ISO 14644-1.</p><p>Per la classificazione delle camere bianche, il numero minimo di punti di campionamento da effettuare e il loro posizionamento sono definiti nella normativa <strong>ISO 14644-1</strong>.</p><p>Nel caso di manifattura sterile e ambienti ad essa collegati (zone di grado A e di grado B), le posizioni dei punti di campionamento devono essere definite considerando anche tutte le zone critiche di lavorazione.</p><p>A tal proposito si rende necessaria un’attività di <strong>valutazione del rischio</strong> documentata sulla base della conoscenza del processo e delle operazioni da eseguire.</p><h3 class="article__title">6. Contaminazione microbica dell&#8217;aria e della superficie</h3><p> </p><p class="article__title">Lo scopo di questo test è la <strong>determinazione della concentrazione di microrganismi presenti nell’aria e sulle superfici</strong> attraverso il controllo della contaminazione nelle modalità statica, dinamica e attraverso la misura della contaminazione sulle superfici.</p><h3 class="article__title">7. Misurazione della temperatura e dell’umidità relativa</h3><p>Lo scopo di questo test è quello di <strong>verificare che i livelli di temperatura e di umidità relativa dell&#8217;aria siano entro i limiti di controllo</strong> sia nello stato occupazionale “at-rest” che in quello “in operation” per l&#8217;area da testare.</p><p>A tal proposito vengono effettuate <strong>mappature termoigrometriche</strong> utilizzando dispositivi di misurazione come i datalogger che rilevano e registrano i valori delle grandezze misurate in diversi punti della cleanroom.</p><h3 class="article__title">8. Test del &#8220;recovery&#8221;</h3><p>Lo scopo del test di recovery time è quello di <strong>valutare l’intervallo di tempo effettivo</strong> affinché la concentrazione di particelle inquinanti ritorni ad un livello di pulizia target dopo essere stata temporaneamente incrementata di un fattore 100 (o 10).  Le <strong>particelle sporcanti</strong> vengono prodotte da un generatore di fumo e ne viene misurata la concentrazione tramite un contaparticelle.</p><h3 class="article__title">9. Test di verifica del contenimento</h3><p><br />Questo test viene eseguito per <strong>rilevare eventuali intrusioni di aria non filtrata</strong> nella camera bianca o nelle zone pulite dall&#8217;esterno attraverso giunti, porte e soffitti pressurizzati. In accordo alla normativa <strong>ISO 14644‑2</strong> dovrebbe essere eseguito ogni quattro anni oppure nel caso di un qualsiasi cambiamento apportato che possa coinvolgere i flussi di aria.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-62617f0 elementor-widget elementor-widget-heading" data-id="62617f0" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Programma di Riqualifica</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-96f0a8d elementor-widget elementor-widget-text-editor" data-id="96f0a8d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Per garantire che una camera bianca operi in conformità con quanto richiesto dalle normative, assicurando sicurezza e qualità del prodotto finale durante tutto il suo ciclo di vita, è necessario pianificare un programma di <strong>riqualifica periodica</strong>, da effettuare secondo procedure definite.</p>
<p>I test minimi richiesti in fase di riqualifica e la cadenza temporale con la quale dovrebbero essere eseguiti secondo l’Annex 1 vengono riportati nella tabella 2:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-c895efb elementor-widget elementor-widget-image" data-id="c895efb" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="628" height="249" src="https://www.s4bt.it/wp-content/uploads/2022/09/Tabella-2_Annex-1-1.jpg" class="attachment-large size-large wp-image-14284" alt="Tabella 2_Annex 1" srcset="https://www.s4bt.it/wp-content/uploads/2022/09/Tabella-2_Annex-1-1.jpg 628w, https://www.s4bt.it/wp-content/uploads/2022/09/Tabella-2_Annex-1-1-300x119.jpg 300w" sizes="(max-width: 628px) 100vw, 628px" />															</div>
				</div>
				<div class="elementor-element elementor-element-bd54305 elementor-widget elementor-widget-text-editor" data-id="bd54305" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p></p>
<p></p>
<p></p>
<p>* eseguito secondo una valutazione dei rischi documentata; tuttavia, richiesto per le zone di riempimento e per quelle che circondano le zone di grado A.</p>
<p>Una riqualifica appropriata comprendente almeno le prove di cui sopra dovrebbe essere effettuata anche dopo il completamento di un’<strong>azione correttiva </strong>attuata per correggere una condizione di non conformità o dopo <strong>modifiche</strong> apportate.</p>
<p>Casi di modifiche da considerare includono, ad esempio:</p>
<ul>
<li>Cambi nell’uso operativo della camera bianca o dei parametri operativi di un HVAC</li>
<li>Interruzione della movimentazione dell&#8217;aria che influisce sul funzionamento dell&#8217;impianto.</li>
<li>Manutenzione speciale che influisce sul funzionamento dell&#8217;impianto (come il cambio dei filtri finali).</li>
</ul>
<p>Altre caratteristiche, come la <strong>temperatura</strong> e <strong>l&#8217;umidità relativa</strong>, dovrebbero essere controllate entro intervalli che si allineano con i requisiti di prodotto/lavorazione e supportano il mantenimento di standard di pulizia definiti (ad esempio, grado A o B).</p>
<p>La frequenza di esecuzione del test di visualizzazione dei flussi d’aria dovrà essere stabilita all’interno di un processo di <strong>valutazione del rischio</strong> o qualora siano implementati dei cambiamenti nella configurazione della clean room.</p>
<p></p>
<p></p>								</div>
				</div>
				<div class="elementor-element elementor-element-dc1141d elementor-widget elementor-widget-heading" data-id="dc1141d" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Servizio S4BT Commissioning &amp; Qualification</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-402423c elementor-widget elementor-widget-text-editor" data-id="402423c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span style="font-size: 14px; color: var( --e-global-color-text ); letter-spacing: var( --e-global-typography-primary-letter-spacing );">S4BT fornisce consulenza per la definizione del package documentale relativo al processo basato sul Quality Risk Management (QRM) per la definizione della strategia di Commissioning &amp; Qualification, nonché per l’esecuzione dei test, sfruttando l’esperienza maturata negli anni nelle aziende del settore.</span></p><p>Per maggiori informazioni visita la pagina dedicata: <a href="https://www.s4bt.it/consulenza/commissioning-qualification">Commissioning &amp; Qualification</a></p>								</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-5dcf74d" data-id="5dcf74d" data-element_type="column" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
			<div class="elementor-widget-wrap elementor-element-populated">
						<section class="elementor-section elementor-inner-section elementor-element elementor-element-66a8ab6 elementor-section-height-min-height elementor-section-boxed elementor-section-height-default" data-id="66a8ab6" data-element_type="section" data-settings="{&quot;background_background&quot;:&quot;classic&quot;}">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-8b3d716" data-id="8b3d716" data-element_type="column" data-settings="{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[{&quot;id&quot;:6905,&quot;url&quot;:&quot;https:\/\/www.s4bt.it\/wp-content\/uploads\/2021\/06\/Equipment-facilities.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}">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c339085 elementor-align-center elementor-widget elementor-widget-button" data-id="c339085" data-element_type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="https://www.s4bt.it/consulenza/commissioning-qualification">
						<span class="elementor-button-content-wrapper">
									<span class="elementor-button-text">COMMISSIONING &amp; QUALIFIATION</span>
					</span>
					</a>
				</div>
								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-inner-section elementor-element elementor-element-49b5280 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="49b5280" data-element_type="section">
						<div class="elementor-container elementor-column-gap-no">
					<div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-1ff9d32" data-id="1ff9d32" data-element_type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-f563eb4 elementor-widget__width-auto elementor-widget elementor-widget-heading" data-id="f563eb4" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h5 class="elementor-heading-title elementor-size-default">LEGGI ANCHE</h5>				</div>
				</div>
				<div class="elementor-element elementor-element-fe90ba2 elementor-widget elementor-widget-text-editor" data-id="fe90ba2" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p class="elementor-heading-title elementor-size-default"><a href="https://www.s4bt.it/perche-le-aziende-dovrebbero-aumentare-leffort-in-fase-di-commissioning/"><em>Perché le aziende dovrebbero aumentare l’effort in fase di Commissioning?</em></a></p>
<p><em><a href="https://www.s4bt.it/change-control-digitalizzazione/">Le sfide del Change Control tra condivisione, documentazione, Training e digitalizzazione</a></em></p>								</div>
				</div>
				<div class="elementor-element elementor-element-c8a3258 elementor-widget elementor-widget-heading" data-id="c8a3258" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Iscriviti alla Newsletter</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-8a1b477 elementor-absolute elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="8a1b477" data-element_type="widget" data-settings="{&quot;_position&quot;:&quot;absolute&quot;}" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-962d79a elementor-widget elementor-widget-text-editor" data-id="962d79a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									Aumenta la tua conoscenza, entra in una community di professionisti e rimani aggiornato ogni settimana sulle novità del settore.								</div>
				</div>
				<div class="elementor-element elementor-element-da4d749 elementor-widget elementor-widget-html" data-id="da4d749" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					<style>@import url(https://fonts.bunny.net/css?family=lato:400);</style>
<style>
 #_form_18_ { font-size:14px; line-height:1.6; font-family:arial, helvetica, sans-serif; margin:0; }
 #_form_18_ * { outline:0; }
 ._form_hide { display:none; visibility:hidden; }
 ._form_show { display:block; visibility:visible; }
 #_form_18_._form-top { top:0; }
 #_form_18_._form-bottom { bottom:0; }
 #_form_18_._form-left { left:0; }
 #_form_18_._form-right { right:0; }
 #_form_18_ input[type="text"],#_form_18_ input[type="tel"],#_form_18_ input[type="date"],#_form_18_ textarea { padding:6px; height:auto; border:#979797 1px solid; border-radius:4px; color:#000 !important; font-size:14px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
 #_form_18_ textarea { resize:none; }
 #_form_18_ ._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:#fff !important; padding:12px !important; }
 #_form_18_ ._submit:disabled { cursor:not-allowed; opacity:0.4; }
 #_form_18_ ._submit.processing { position:relative; }
 #_form_18_ ._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, #fff); background-origin:border-box; background-clip:content-box, border-box; animation:1200ms ease 0s infinite normal none running _spin; }
 #_form_18_ ._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:#fff !important; padding:12px !important; }
 @keyframes _spin { 0% { transform:translate(-50%, -50%) rotate(90deg); }
 100% { transform:translate(-50%, -50%) rotate(450deg); }
 }
 #_form_18_ ._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_18_ ._close-icon:before { position:relative; }
 #_form_18_ ._form-body { margin-bottom:30px; }
 #_form_18_ ._form-image-left { width:150px; float:left; }
 #_form_18_ ._form-content-right { margin-left:164px; }
 #_form_18_ ._form-branding { color:#fff; font-size:10px; clear:both; text-align:left; margin-top:30px; font-weight:100; }
 #_form_18_ ._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_18_ .form-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); border:0; }
 #_form_18_ ._form-label,#_form_18_ ._form_element ._form-label { font-weight:bold; margin-bottom:5px; display:block; }
 #_form_18_._dark ._form-branding { color:#333; }
 #_form_18_._dark ._form-branding ._logo { background-image:url('https://d226aj4ao1t61q.cloudfront.net/jftq2c8s_aclogo_dk.png'); }
 #_form_18_ ._form_element { position:relative; margin-bottom:10px; font-size:0; max-width:100%; }
 #_form_18_ ._form_element * { font-size:14px; }
 #_form_18_ ._form_element._clear { clear:both; width:100%; float:none; }
 #_form_18_ ._form_element._clear:after { clear:left; }
 #_form_18_ ._form_element input[type="text"],#_form_18_ ._form_element input[type="date"],#_form_18_ ._form_element select,#_form_18_ ._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_18_ ._field-wrapper { position:relative; }
 #_form_18_ ._inline-style { float:left; }
 #_form_18_ ._inline-style input[type="text"] { width:150px; }
 #_form_18_ ._inline-style:not(._clear) + ._inline-style:not(._clear) { margin-left:20px; }
 #_form_18_ ._form_element img._form-image { max-width:100%; }
 #_form_18_ ._form_element ._form-fieldset { border:0; padding:0.01em 0 0 0; margin:0; min-width:0; }
 #_form_18_ ._clear-element { clear:left; }
 #_form_18_ ._full_width { width:100%; }
 #_form_18_ ._form_full_field { display:block; width:100%; margin-bottom:10px; }
 #_form_18_ input[type="text"]._has_error,#_form_18_ textarea._has_error { border:#f37c7b 1px solid; }
 #_form_18_ input[type="checkbox"]._has_error { outline:#f37c7b 1px solid; }
 #_form_18_ ._error { display:block; position:absolute; font-size:14px; z-index:10000001; }
 #_form_18_ ._error._above { padding-bottom:4px; bottom:39px; right:0; }
 #_form_18_ ._error._below { padding-top:8px; top:100%; right:0; }
 #_form_18_ ._error._above ._error-arrow { bottom:-4px; right:15px; border-left:8px solid transparent; border-right:8px solid transparent; border-top:8px solid #fdd; }
 #_form_18_ ._error._below ._error-arrow { top:0; right:15px; border-left:8px solid transparent; border-right:8px solid transparent; border-bottom:8px solid #fdd; }
 #_form_18_ ._error-inner { padding:12px 12px 12px 36px; background-color:#fdd; 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_18_ ._error-inner._form_error { margin-bottom:5px; text-align:left; }
 #_form_18_ ._button-wrapper ._error-inner._form_error { position:static; }
 #_form_18_ ._error-inner._no_arrow { margin-bottom:10px; }
 #_form_18_ ._error-arrow { position:absolute; width:0; height:0; }
 #_form_18_ ._error-html { margin-bottom:10px; }
 .pika-single { z-index:10000001 !important; }
 #_form_18_ input[type="text"].datetime_date { width:69%; display:inline; }
 #_form_18_ select.datetime_time { width:29%; display:inline; height:32px; }
 #_form_18_ input[type="date"].datetime_date { width:69%; display:inline-flex; }
 #_form_18_ input[type="time"].datetime_time { width:29%; display:inline-flex; }
 @media all and (min-width:320px) and (max-width:667px) { ::-webkit-scrollbar { display:none; }
 #_form_18_ { margin:0; width:100%; min-width:100%; max-width:100%; box-sizing:border-box; }
 #_form_18_ * { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; font-size:1em; }
 #_form_18_ ._form-content { margin:0; width:100%; }
 #_form_18_ ._form-inner { display:block; min-width:100%; }
 #_form_18_ ._form-title,#_form_18_ ._inline-style { margin-top:0; margin-right:0; margin-left:0; }
 #_form_18_ ._form-title { font-size:1.2em; }
 #_form_18_ ._form_element { margin:0 0 20px; padding:0; width:100%; }
 #_form_18_ ._form-element,#_form_18_ ._inline-style,#_form_18_ input[type="text"],#_form_18_ label,#_form_18_ p,#_form_18_ textarea:not(.g-recaptcha-response) { float:none; display:block; width:100%; }
 #_form_18_ ._row._checkbox-radio label { display:inline; }
 #_form_18_ ._row,#_form_18_ p,#_form_18_ label { margin-bottom:0.7em; width:100%; }
 #_form_18_ ._row input[type="checkbox"],#_form_18_ ._row input[type="radio"] { margin:0 !important; vertical-align:middle !important; }
 #_form_18_ ._row input[type="checkbox"] + span label { display:inline; }
 #_form_18_ ._row span label { margin:0 !important; width:initial !important; vertical-align:middle !important; }
 #_form_18_ ._form-image { max-width:100%; height:auto !important; }
 #_form_18_ input[type="text"] { padding-left:10px; padding-right:10px; font-size:16px; line-height:1.3em; -webkit-appearance:none; }
 #_form_18_ input[type="radio"],#_form_18_ 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_18_ button[type="submit"] { padding:20px; font-size:1.5em; }
 #_form_18_ ._inline-style { margin:20px 0 0 !important; }
 }
 #_form_18_ { position:relative; text-align:left; margin:25px auto 0; padding-top:20px; padding-right:20px; padding-bottom:20px; padding-left:20px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; *zoom:1; background:rgba(240, 243, 248, 1) !important; border-top:0px solid rgba(220, 220, 220, 1) !important; border-right:0px solid rgba(220, 220, 220, 1) !important; border-bottom:0px solid rgba(220, 220, 220, 1) !important; border-left:0px solid rgba(220, 220, 220, 1) !important; max-width:500px; -moz-border-radius:0px !important; -webkit-border-radius:0px !important; border-radius:0px !important; color:#000; }
 #_form_18_._inline-form,#_form_18_._inline-form ._form-content { font-family:"Lato", sans-serif; }
 #_form_18_._inline-form ._row span,#_form_18_._inline-form ._row label { font-family:"Lato", sans-serif; font-size:14px; font-weight:400; line-height:1.6em; }
 #_form_18__inlineform input[type="text"],#_form_18__inlineform input[type="date"],#_form_18__inlineform input[type="tel"],#_form_18__inlineform select,#_form_18__inlineform textarea:not(.g-recaptcha-response) { font-family:"Lato", sans-serif; font-size:14px; font-weight:400; font-color:#000; line-height:1.6em; }
 #_form_18_._inline-form ._html-code * { font-family:"Lato", sans-serif; }
 #_form_18_._inline-form ._form-label { font-family:"Lato", sans-serif; font-size:14px; font-weight:700; line-height:1.6em; }
 #_form_18_._inline-form ._submit { font-family:"Lato", sans-serif; }
 #_form_18_._inline-form ._form-title { font-size:22px; line-height:normal; font-weight:600; margin-bottom:0; }
 #_form_18_._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_18_:before,#_form_18_:after { content:" "; display:table; }
 #_form_18_:after { clear:both; }
 #_form_18_._inline-style { width:auto; display:inline-block; }
 #_form_18_._inline-style input[type="text"],#_form_18_._inline-style input[type="date"] { padding:10px 12px; }
 #_form_18_._inline-style button._inline-style { position:relative; top:27px; }
 #_form_18_._inline-style p { margin:0; }
 #_form_18_._inline-style ._button-wrapper { position:relative; margin:27px 12.5px 0 20px; }
 #_form_18_ ._form-thank-you { position:relative; left:0; right:0; text-align:center; font-size:18px; }
 @media all and (min-width:320px) and (max-width:667px) { #_form_18_._inline-form._inline-style ._inline-style._button-wrapper { margin-top:20px !important; margin-left:0 !important; }
 }
 #_form_18_ .iti.iti--allow-dropdown.iti--separate-dial-code { width:100%; }
 #_form_18_ .iti input { width:100%; height:32px; border:#979797 1px solid; border-radius:4px; }
 #_form_18_ .iti--separate-dial-code .iti__selected-flag { background-color:#fff; border-radius:4px; }
 #_form_18_ .iti--separate-dial-code .iti__selected-flag:hover { background-color:rgba(0, 0, 0, 0.05); }
 #_form_18_ .iti__country-list { border-radius:4px; margin-top:4px; min-width:460px; }
 #_form_18_ .iti__country-list--dropup { margin-bottom:4px; }
 #_form_18_ .phone-error-hidden { display:none; }
 #_form_18_ .phone-error { color:#e40e49; }
 #_form_18_ .phone-input-error { border:1px solid #e40e49 !important; }

 #_form_18_ ._submit { width:350px; height:45px; font-weight:bold; font-size:16px; }
 #_form_18_ ._x27141261 select { height:30px; }
</style>
<form method="POST" action="https://s4bt69577.activehosted.com/proc.php" id="_form_18_" class="_form _form_18 _inline-form  _dark" novalidate data-styles-version="5">
  <input type="hidden" name="u" value="18" />
  <input type="hidden" name="f" value="18" />
  <input type="hidden" name="s" />
  <input type="hidden" name="c" value="0" />
  <input type="hidden" name="m" value="0" />
  <input type="hidden" name="act" value="sub" />
  <input type="hidden" name="v" value="2" />
  <input type="hidden" name="or" value="5299938faca92b9c1edd7e4d3481892d" />
  <div class="_form-content">
    <div class="_form_element _x05148103 _full_width " >
      <label for="firstname" class="_form-label">
      </label>
      <div class="_field-wrapper">
        <input type="text" id="firstname" name="firstname" placeholder="Nome" required/>
      </div>
    </div>
    <div class="_form_element _x18376488 _full_width " >
      <label for="lastname" class="_form-label">
      </label>
      <div class="_field-wrapper">
        <input type="text" id="lastname" name="lastname" placeholder="Cognome" required/>
      </div>
    </div>
    <div class="_form_element _x62476374 _full_width " >
      <label for="email" class="_form-label">
      </label>
      <div class="_field-wrapper">
        <input type="text" id="email" name="email" placeholder="Indirizzo email" required/>
      </div>
    </div>
    <div class="_form_element _x08496753 _full_width " >
      <fieldset class="_form-fieldset">
        <div class="_row">
          <legend for="field[16][]" class="_form-label">
            Privacy Policy
          </legend>
        </div>
        <input data-autofill="false" type="hidden" id="field[16][]" name="field[16][]" value="~|">
        <div class="_row _checkbox-radio">
          <input id="field_16Autorizzo ai sensi del GDPR 25-05-18 n. 196 il trattamento dei dati personali trasmessi." type="checkbox" name="field[16][]" value="Autorizzo ai sensi del GDPR 25-05-18 n. 196 il trattamento dei dati personali trasmessi."   >
          <span>
            <label for="field_16Autorizzo ai sensi del GDPR 25-05-18 n. 196 il trattamento dei dati personali trasmessi.">
              Autorizzo ai sensi del GDPR 25-05-18 n. 196 il trattamento dei dati personali trasmessi.
            </label>
          </span>
        </div>
      </fieldset>
    </div>
    <div class="_form_element _x07624565 _full_width _clear" >
      <div class="_html-code">
        <a href="https://www.iubenda.com/privacy-policy/565733#">Informativa</a>
      </div>
    </div>
    <div class="_form_element _x13050939 _full_width " >
      <label for="ls" class="_form-label">
        Verifica la richiesta.*
      </label>
      <div class="g-recaptcha" data-sitekey="6LcwIw8TAAAAACP1ysM08EhCgzd6q5JAOUR1a0Go">
      </div>
    </div>
    <div class="_button-wrapper _full_width">
      <button id="_form_18_submit" class="_submit" type="submit">
        ISCRIVITI
      </button>
    </div>
    <div class="_clear-element">
    </div>
  </div>
  <div class="_form-thank-you" style="display:none;">
  </div>
</form><script type="text/javascript">
window.cfields = {"16":"privacy_policy"};
window._show_thank_you = function(id, message, trackcmp_url, email) {
    var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');
    form.querySelector('._form-content').style.display = 'none';
    thank_you.innerHTML = message;
    thank_you.style.display = 'block';
    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;
    var visitorObject = window[vgoAlias];
    if (email && typeof visitorObject !== 'undefined') {
        visitorObject('setEmail', email);
        visitorObject('update');
    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {
        // Site tracking URL to use after inline form submission.
        _load_script(trackcmp_url);
    }
    if (typeof window._form_callback !== 'undefined') window._form_callback(id);
};
window._show_error = function(id, message, html) {
    var form = document.getElementById('_form_' + id + '_'),
        err = document.createElement('div'),
        button = form.querySelector('button'),
        old_error = form.querySelector('._form_error');
    if (old_error) old_error.parentNode.removeChild(old_error);
    err.innerHTML = message;
    err.className = '_error-inner _form_error _no_arrow';
    var wrapper = document.createElement('div');
    wrapper.className = '_form-inner';
    wrapper.appendChild(err);
    button.parentNode.insertBefore(wrapper, button);
    var submitButton = form.querySelector('[id^="_form"][id$="_submit"]');
    submitButton.disabled = false;
    submitButton.classList.remove('processing');
    if (html) {
        var div = document.createElement('div');
        div.className = '_error-html';
        div.innerHTML = html;
        err.appendChild(div);
    }
};
window._load_script = function(url, callback, isSubmit) {
    var head = document.querySelector('head'), script = document.createElement('script'), r = false;
    var submitButton = document.querySelector('#_form_18_submit');
    script.type = 'text/javascript';
    script.charset = 'utf-8';
    script.src = url;
    if (callback) {
        script.onload = script.onreadystatechange = function() {
            if (!r && (!this.readyState || this.readyState == 'complete')) {
                r = true;
                callback();
            }
        };
    }
    script.onerror = function() {
        if (isSubmit) {
            if (script.src.length > 10000) {
                _show_error("18", "Invio non riuscito. Accorcia le risposte e riprova.");
            } else {
                _show_error("18", "Invio non riuscito. Riprova.");
            }
            submitButton.disabled = false;
            submitButton.classList.remove('processing');
        }
    }

    head.appendChild(script);
};
(function() {
    if (window.location.search.search("excludeform") !== -1) return false;
    var getCookie = function(name) {
        var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));
        return match ? match[2] : null;
    }
    var setCookie = function(name, value) {
        var now = new Date();
        var time = now.getTime();
        var expireTime = time + 1000 * 60 * 60 * 24 * 365;
        now.setTime(expireTime);
        document.cookie = name + '=' + value + '; expires=' + now + ';path=/; Secure; SameSite=Lax;';
    }
            var addEvent = function(element, event, func) {
        if (element.addEventListener) {
            element.addEventListener(event, func);
        } else {
            var oldFunc = element['on' + event];
            element['on' + event] = function() {
                oldFunc.apply(this, arguments);
                func.apply(this, arguments);
            };
        }
    }
    var _removed = false;
        var form_to_submit = document.getElementById('_form_18_');
    var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;

    var getUrlParam = function(name) {
        if (name.toLowerCase() !== 'email') {
            var params = new URLSearchParams(window.location.search);
            return params.get(name) || false;
        }
        // email is a special case because a plus is valid in the email address
        var qString = window.location.search;
        if (!qString) {
            return false;
        }
        var parameters = qString.substr(1).split('&');
        for (var i = 0; i < parameters.length; i++) {
            var parameter = parameters[i].split('=');
            if (parameter[0].toLowerCase() === 'email') {
                return parameter[1] === undefined ? true : decodeURIComponent(parameter[1]);
            }
        }
        return false;
    };

    var acctDateFormat = "%d/%m/%Y";
    var getNormalizedDate = function(date, acctFormat) {
        var decodedDate = decodeURIComponent(date);
        if (acctFormat && acctFormat.match(/(%d|%e).*%m/gi) !== null) {
            return decodedDate.replace(/(\d{2}).*(\d{2}).*(\d{4})/g, '$3-$2-$1');
        } else if (Date.parse(decodedDate)) {
            var dateObj = new Date(decodedDate);
            var year = dateObj.getFullYear();
            var month = dateObj.getMonth() + 1;
            var day = dateObj.getDate();
            return `${year}-${month < 10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`;
        }
        return false;
    };

    var getNormalizedTime = function(time) {
        var hour, minutes;
        var decodedTime = decodeURIComponent(time);
        var timeParts = Array.from(decodedTime.matchAll(/(\d{1,2}):(\d{1,2})\W*([AaPp][Mm])?/gm))[0];
        if (timeParts[3]) { // 12 hour format
            var isPM = timeParts[3].toLowerCase() === 'pm';
            if (isPM) {
                hour = parseInt(timeParts[1]) === 12 ? '12' : `${parseInt(timeParts[1]) + 12}`;
            } else {
                hour = parseInt(timeParts[1]) === 12 ? '0' : timeParts[1];
            }
        } else { // 24 hour format
            hour = timeParts[1];
        }
        var normalizedHour = parseInt(hour) < 10 ? `0${parseInt(hour)}` : hour;
        var minutes = timeParts[2];
        return `${normalizedHour}:${minutes}`;
    };

    for (var i = 0; i < allInputs.length; i++) {
        var regexStr = "field\\[(\\d+)\\]";
        var results = new RegExp(regexStr).exec(allInputs[i].name);
        if (results != undefined) {
            allInputs[i].dataset.name = allInputs[i].name.match(/\[time\]$/)
                ? `${window.cfields[results[1]]}_time`
                : window.cfields[results[1]];
        } else {
            allInputs[i].dataset.name = allInputs[i].name;
        }
        var fieldVal = getUrlParam(allInputs[i].dataset.name);

        if (fieldVal) {
            if (allInputs[i].dataset.autofill === "false") {
                continue;
            }
            if (allInputs[i].type == "radio" || allInputs[i].type == "checkbox") {
                if (allInputs[i].value == fieldVal) {
                    allInputs[i].checked = true;
                }
            } else if (allInputs[i].type == "date") {
                allInputs[i].value = getNormalizedDate(fieldVal, acctDateFormat);
            } else if (allInputs[i].type == "time") {
                allInputs[i].value = getNormalizedTime(fieldVal);
            } else {
                allInputs[i].value = fieldVal;
            }
        }
    }

    var remove_tooltips = function() {
        for (var i = 0; i < tooltips.length; i++) {
            tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);
        }
        tooltips = [];
    };
    var remove_tooltip = function(elem) {
        for (var i = 0; i < tooltips.length; i++) {
            if (tooltips[i].elem === elem) {
                tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);
                tooltips.splice(i, 1);
                return;
            }
        }
    };
    var create_tooltip = function(elem, text) {
        var tooltip = document.createElement('div'),
            arrow = document.createElement('div'),
            inner = document.createElement('div'), new_tooltip = {};
        if (elem.type != 'radio' && elem.type != 'checkbox') {
            tooltip.className = '_error';
            arrow.className = '_error-arrow';
            inner.className = '_error-inner';
            inner.innerHTML = text;
            tooltip.appendChild(arrow);
            tooltip.appendChild(inner);
            elem.parentNode.appendChild(tooltip);
        } else {
            tooltip.className = '_error-inner _no_arrow';
            tooltip.innerHTML = text;
            elem.parentNode.insertBefore(tooltip, elem);
            new_tooltip.no_arrow = true;
        }
        new_tooltip.tip = tooltip;
        new_tooltip.elem = elem;
        tooltips.push(new_tooltip);
        return new_tooltip;
    };
    var resize_tooltip = function(tooltip) {
        var rect = tooltip.elem.getBoundingClientRect();
        var doc = document.documentElement,
            scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0));
        if (scrollPosition < 40) {
            tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _below';
        } else {
            tooltip.tip.className = tooltip.tip.className.replace(/ ?(_above|_below) ?/g, '') + ' _above';
        }
    };
    var resize_tooltips = function() {
        if (_removed) return;
        for (var i = 0; i < tooltips.length; i++) {
            if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);
        }
    };
    var validate_field = function(elem, remove) {
        var tooltip = null, value = elem.value, no_error = true;
        remove ? remove_tooltip(elem) : false;
        if (elem.type != 'checkbox') elem.className = elem.className.replace(/ ?_has_error ?/g, '');
        if (elem.getAttribute('required') !== null) {
            if (elem.type == 'radio' || (elem.type == 'checkbox' && /any/.test(elem.className))) {
                var elems = form_to_submit.elements[elem.name];
                if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {
                    no_error = elem.checked;
                }
                else {
                    no_error = false;
                    for (var i = 0; i < elems.length; i++) {
                        if (elems[i].checked) no_error = true;
                    }
                }
                if (!no_error) {
                    tooltip = create_tooltip(elem, "Seleziona un\'opzione.");
                }
            } else if (elem.type =='checkbox') {
                var elems = form_to_submit.elements[elem.name], found = false, err = [];
                no_error = true;
                for (var i = 0; i < elems.length; i++) {
                    if (elems[i].getAttribute('required') === null) continue;
                    if (!found && elems[i] !== elem) return true;
                    found = true;
                    elems[i].className = elems[i].className.replace(/ ?_has_error ?/g, '');
                    if (!elems[i].checked) {
                        no_error = false;
                        elems[i].className = elems[i].className + ' _has_error';
                        err.push("È necessario verificare %s".replace("%s", elems[i].value));
                    }
                }
                if (!no_error) {
                    tooltip = create_tooltip(elem, err.join('<br/>'));
                }
            } else if (elem.tagName == 'SELECT') {
                var selected = true;
                if (elem.multiple) {
                    selected = false;
                    for (var i = 0; i < elem.options.length; i++) {
                        if (elem.options[i].selected) {
                            selected = true;
                            break;
                        }
                    }
                } else {
                    for (var i = 0; i < elem.options.length; i++) {
                        if (elem.options[i].selected
                            && (!elem.options[i].value
                            || (elem.options[i].value.match(/\n/g)))
                        ) {
                            selected = false;
                        }
                    }
                }
                if (!selected) {
                    elem.className = elem.className + ' _has_error';
                    no_error = false;
                    tooltip = create_tooltip(elem, "Seleziona un\'opzione.");
                }
            } else if (value === undefined || value === null || value === '') {
                elem.className = elem.className + ' _has_error';
                no_error = false;
                tooltip = create_tooltip(elem, "Questo campo è obbligatorio.");
            }
        }
        if (no_error && (elem.id == 'field[]' || elem.id == 'ca[11][v]')) {
            if (elem.className.includes('phone-input-error')) {
                elem.className = elem.className + ' _has_error';
                no_error = false;
            }
        }
        if (no_error && elem.name == 'email') {
            if (!value.match(/^[\+_a-z0-9-'&=]+(\.[\+_a-z0-9-']+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i)) {
                elem.className = elem.className + ' _has_error';
                no_error = false;
                tooltip = create_tooltip(elem, "Inserisci un indirizzo email valido.");
            }
        }
        if (no_error && /date_field/.test(elem.className)) {
            if (!value.match(/^\d\d\d\d-\d\d-\d\d$/)) {
                elem.className = elem.className + ' _has_error';
                no_error = false;
                tooltip = create_tooltip(elem, "Inserisci una data valida.");
            }
        }
        tooltip ? resize_tooltip(tooltip) : false;
        return no_error;
    };
    var needs_validate = function(el) {
        if(el.getAttribute('required') !== null){
            return true
        }
        if(el.name === 'email' && el.value !== ""){
            return true
        }

        if((el.id == 'field[]' || el.id == 'ca[11][v]') && el.className.includes('phone-input-error')){
            return true
        }

        return false
    };
    var validate_form = function(e) {
        var err = form_to_submit.querySelector('._form_error'), no_error = true;
        if (!submitted) {
            submitted = true;
            for (var i = 0, len = allInputs.length; i < len; i++) {
                var input = allInputs[i];
                if (needs_validate(input)) {
                    if (input.type == 'tel') {
                        addEvent(input, 'blur', function() {
                            this.value = this.value.trim();
                            validate_field(this, true);
                        });
                    }
                    if (input.type == 'text' || input.type == 'number' || input.type == 'time') {
                        addEvent(input, 'blur', function() {
                            this.value = this.value.trim();
                            validate_field(this, true);
                        });
                        addEvent(input, 'input', function() {
                            validate_field(this, true);
                        });
                    } else if (input.type == 'radio' || input.type == 'checkbox') {
                        (function(el) {
                            var radios = form_to_submit.elements[el.name];
                            for (var i = 0; i < radios.length; i++) {
                                addEvent(radios[i], 'click', function() {
                                    validate_field(el, true);
                                });
                            }
                        })(input);
                    } else if (input.tagName == 'SELECT') {
                        addEvent(input, 'change', function() {
                            validate_field(this, true);
                        });
                    } else if (input.type == 'textarea'){
                        addEvent(input, 'input', function() {
                            validate_field(this, true);
                        });
                    }
                }
            }
        }
        remove_tooltips();
        for (var i = 0, len = allInputs.length; i < len; i++) {
            var elem = allInputs[i];
            if (needs_validate(elem)) {
                if (elem.tagName.toLowerCase() !== "select") {
                    elem.value = elem.value.trim();
                }
                validate_field(elem) ? true : no_error = false;
            }
        }
        if (!no_error && e) {
            e.preventDefault();
        }
        resize_tooltips();
        return no_error;
    };
    addEvent(window, 'resize', resize_tooltips);
    addEvent(window, 'scroll', resize_tooltips);

    var hidePhoneInputError = function(inputId) {
        var errorMessage =  document.getElementById("error-msg-" + inputId);
        var input = document.getElementById(inputId);
        errorMessage.classList.remove("phone-error");
        errorMessage.classList.add("phone-error-hidden");
        input.classList.remove("phone-input-error");
    };

    var initializePhoneInput = function(input, defaultCountry) {
        return window.intlTelInput(input, {
            utilsScript: "https://unpkg.com/intl-tel-input@17.0.18/build/js/utils.js",
            autoHideDialCode: false,
            separateDialCode: true,
            initialCountry: defaultCountry,
            preferredCountries: []
        });
    }

    var setPhoneInputEventListeners = function(inputId, input, iti) {
        input.addEventListener('blur', function() {
            var errorMessage = document.getElementById("error-msg-" + inputId);
            if (input.value.trim()) {
                if (iti.isValidNumber()) {
                    iti.setNumber(iti.getNumber());
                    if (errorMessage.classList.contains("phone-error")){
                        hidePhoneInputError(inputId);
                    }
                } else {
                    showPhoneInputError(inputId)
                }
            } else {
                if (errorMessage.classList.contains("phone-error")){
                    hidePhoneInputError(inputId);
                }
            }
        });

        input.addEventListener("countrychange", function() {
            iti.setNumber('');
        });

        input.addEventListener("keydown", function(e) {
            var charCode = (e.which) ? e.which : e.keyCode;
            if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode !== 8) {
                e.preventDefault();
            }
        });
    };

    var showPhoneInputError = function(inputId) {
        var errorMessage =  document.getElementById("error-msg-" + inputId);
        var input = document.getElementById(inputId);
        errorMessage.classList.add("phone-error");
        errorMessage.classList.remove("phone-error-hidden");
        input.classList.add("phone-input-error");
    };


    window['recaptcha_callback'] = function() {
  // Get all recaptchas in the DOM (there may be more than one form on the page).
  var recaptchas = document.getElementsByClassName("g-recaptcha");
  for (var i in recaptchas) {
    // Set the recaptcha element ID, so the recaptcha can be applied to each element.
    var recaptcha_id = "recaptcha_" + i;
    recaptchas[i].id = recaptcha_id;
    var el = document.getElementById(recaptcha_id);
    if (el != null) {
      var sitekey = el.getAttribute("data-sitekey");
      var stoken = el.getAttribute("data-stoken");
      grecaptcha.render(recaptcha_id, {"sitekey":sitekey,"stoken":stoken});
    }
  }
};    _load_script(
        "https://www.google.com/recaptcha/api.js?onload=recaptcha_callback&render=explicit"
    );
    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("&")};

    const formSupportsPost = false;
    var form_submit = function(e) {
        e.preventDefault();
        if (validate_form()) {
            // use this trick to get the submit button & disable it using plain javascript
            var submitButton = e.target.querySelector('#_form_18_submit');
            submitButton.disabled = true;
            submitButton.classList.add('processing');
                        var serialized = _form_serialize(
                document.getElementById('_form_18_')
            ).replace(/%0A/g, '\\n');
            var err = form_to_submit.querySelector('._form_error');
            err ? err.parentNode.removeChild(err) : false;
            async function submitForm() {
              var formData = new FormData();
              const searchParams = new URLSearchParams(serialized);
              searchParams.forEach((value, key) => {
                formData.append(key, value);
              });

              const response = await fetch('https://s4bt69577.activehosted.com/proc.php?jsonp=true', {
                headers: {
                  "Accept": "application/json"
                },
                body: formData,
                method: "POST"
              });
              return response.json();
            }

            if (formSupportsPost) {
              submitForm().then((data) => {
                eval(data.js);
              });
            } else {
              _load_script('https://s4bt69577.activehosted.com/proc.php?' + serialized + '&jsonp=true', null, true);
            }
        }
        return false;
    };
    addEvent(form_to_submit, 'submit', form_submit);
})();

</script>				</div>
				</div>
				<div class="elementor-element elementor-element-69c4ca3 elementor-absolute elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="69c4ca3" data-element_type="widget" data-settings="{&quot;_position&quot;:&quot;absolute&quot;}" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-46edb39 elementor-absolute elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="46edb39" data-element_type="widget" data-settings="{&quot;_position&quot;:&quot;absolute&quot;}" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-63ad649 elementor-absolute elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="63ad649" data-element_type="widget" data-settings="{&quot;_position&quot;:&quot;absolute&quot;}" data-widget_type="divider.default">
				<div class="elementor-widget-container">
							<div class="elementor-divider">
			<span class="elementor-divider-separator">
						</span>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>L'articolo <a href="https://www.s4bt.it/annex-1-camere-bianche-e-contaminazione-controllata/">Annex 1: Camere bianche e ambienti a contaminazione controllata</a> proviene da <a href="https://www.s4bt.it">S4BT</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
