html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { background: transparent; border: 0; margin: 0; padding: 0; vertical-align: baseline; }

h1, h2, h3, h4, h5, h6 { clear: both; font-weight:normal; padding: 0 0 0 0; margin-bottom:0px; line-height:1.3; font-weight: bold; font-family: 'Montserrat', sans-serif;}
	h1{ font-size:21px; }
	h2{ font-size:18px; }
	h3{ font-size:16px; }
	h4{ font-size:14px; }
	h5{ font-size:13px; }

html{ -webkit-overflow-scrolling: touch; /* overflow-y: scroll; */ height: 100%;}

:root{--verde: #8cccc5; --scuro: #596869; --verde_scuro: #589f77; height: 100%; background-color: #EDEDED;}

p{ font-size:16px;  line-height:1.4; padding:0 0 3px 0; font-weight:inherit; color: #596869;}
p a, label a{text-decoration: underline;}
ol, ul { list-style-position: inside; list-style-type: disc;}
img{width: 100%; margin: 0; height: auto; padding: 0;}
a img { border: none;}
a {text-decoration:none; color: #8CCCC5;}
a:hover {}
hr{ border:none; border-top:1px dotted #000; font-size:1px; height:0px; padding:0px; display:block; margin:5px 0;}
button{display: block; font-size: 14px; background: transparent; color: #FF9900; border: 1px solid #FF9900; padding: 20px; width: 200px; border-radius: 32px; margin: 10px auto;}
.left{ float:left; }
.center{text-align: center;}
.myClear{clear:both; padding:0; margin:0; font-size:0px; height:0px; font-size:0px; display:block; }
.myRow {display: block; clear: both; padding:5px 0; margin: 0;}
.myIn {margin: 0 auto; width: 90%; padding: 0;}

*::-webkit-scrollbar {width: 0px; background: transparent;}



*{outline: none; -webkit-tap-highlight-color: transparent;}


label{color: #000; font-size: 16px}
input, textarea, select{width: 100%; font-size: 16px; border-radius: 0; border: none; padding: 7px 0; border-bottom: 1px solid var(--verde); box-shadow: none;  margin: 0 0 30px 0; color: var(--scuro); display: block; -webkit-appearance: none; font-family: 'Roboto', sans-serif;}

textarea{resize: none;}
select{margin: 5px 0 20px 0;}

	
body{background: #FFF; font-size:16px; line-height:1.3; font-family: 'Roboto', sans-serif; font-weight: 400; color: #596869; max-width: 720px; position: relative; margin: 0 auto; /* touch-action: pan-y; -webkit-overflow-scrolling: touch; overflow-y: scroll;*/}

#lang_switch{position: fixed; top: 30px; right: 10px; width: 50px; padding: 0; background: #eee; overflow: hidden; max-height: 50px; box-sizing: border-box; z-index: 100; border-radius: 50px; box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.201); transition: all .2s ease;}
#lang_switch.open{max-height: 100%; width: 95%; border-radius: 40px;}
	#lang_switch ul{list-style: none; display: flex; flex-wrap: wrap; flex-direction: row-reverse; justify-content: space-between; transition: all .2s ease;}
	#lang_switch.open ul{margin: 10px;}
		#lang_switch ul li{width: 50px; max-width: 50px; margin: 5px; opacity: 0; transition: opacity .2s ease; transition-delay: .2s;}
		#lang_switch ul li img{display: block; margin: 0;}
		#lang_switch ul li:first-child, #lang_switch.open ul li{opacity: 1;}
	/*	#lang_switch ul li:last-child img{margin: 10px 0 0 0;}
	*/
	#testata{position: fixed; top: 0; left: 0; right: 0; bottom: 50vh; height: 50vh;}
		#testata:after{content: ''; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: #000000; z-index: 5; opacity: .3;}

	#navbar{position: fixed; top: 0; left: 0; right: 0; background: var(--scuro); color: #FFF; text-align: center; padding: 20px 10px; z-index: 120; display: none; font-size: 16px; font-weight: 400; box-shadow: 0px 3px 5px rgb(0 0 0 / 10%);}

		.titolo{position: absolute; top: 40px; left: 20px; right: 80px; z-index: 10; color: #FFF;}
			.produttore{font-family: 'Roboto', sans-serif; margin-top: 5px;}
		
		#testata img{width: 100%; height: 100%; object-fit: cover;}
			.main_img{transform: translateY(0);}
	
	#header_cliente{height: 100px; background: #FFF; position: fixed; top: 0; left: 0; right: 0; z-index: 999; display: flex; align-items: center; justify-content: center; border-radius: 0 0 20px 20px; box-shadow: 0px 0px 10px 3px rgb(0 0 0 / 10%);}
	.logo_cliente{width: 80px; object-fit: contain; position: absolute; left: 20px; bottom: 20px;}
	
	.back{position: fixed; left: 20px; top: 30px; }
		.back img{width: 15px; padding: 5px; transform: rotateZ(180deg);}
			
		
	#content{background-color: #EDEDED; border-radius: 20px 20px 0 0; margin-top: 45vh; position: relative; box-shadow: 0px -5px 7px rgb(0 0 0 / 10%); z-index: 99; padding: 5px 12px 90px 12px; box-sizing: border-box;}	
	
	.modulo_cnt{background: #FFF; border-radius: 10px; box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.1); box-sizing: border-box; padding: 10px 5px;  margin: 10px 0 15px 0;}
		
	#materiali_cnt{}
	
	.conferimento_cnt{border-bottom: 2px solid #ededed; padding: 15px 10px; }
		
		.conferimento_single{background-color: #FFF; display: flex; box-sizing: border-box; align-items:  center;}
		
			.sotto_conferimento{background-color: #FFF; display: flex; box-sizing: border-box; align-items:  center; margin-left: 25px; border-left: 1px solid #eaeaea; padding-left: 0; padding-top: 10px; position: relative;}
			
			.sotto_conferimento:before{content: ''; width: 30px; min-width: 30px; height: 1px; background: #eaeaea;}
			.sotto_conferimento:last-child:after{content: ''; width: 2px; height: 20px; background: #ffffff; position: absolute; left: -1px; bottom: 0;}
			
			.testo_tra_conferimenti{background: #eaeaea; color: var(--verde_scuro); text-align: center; padding: 10px 0; margin: 10px 0 0 0; border-radius: 10px;}
		
				.sotto_conferimento .icona_rifiuto {width: 40px; height: 40px; background: #edf729; border-radius: 50%; display: block; margin-right: 5px; min-width: 40px;}

		
			.conferimento_row{display: flex; align-items: center; padding: 20px 0; border-top: 1px solid #EDEDED;}
				.conferimento_row:first-child{border-top: none;}
		
		
			.icona_rifiuto {width: 50px; height: 50px; background: #edf729; border-radius: 50%; display: block; margin-right: 10px; min-width: 50px;}
			.icona_rifiuto img {padding: 6px; box-sizing: border-box;}
			
			.testi_rifiuto h2{color: var(--scuro); font-size: 17px; font-weight: bold; text-transform: capitalize; line-height: 1;}
			.testi_rifiuto h4{font-size: 16px; font-family: 'Roboto', sans-serif; font-weight: normal;}
			.testi_rifiuto h5{font-size: 11px; font-family: 'Roboto', sans-serif; }


		.modulo_cnt h1{border-bottom: 1px solid #EDEDED; padding-bottom: 10px; font-size: 17px; text-align: center;}
			
			.campo_libero_cnt{text-align: center;}
			.campo_libero_cnt img{width: auto !important; margin: 5px auto; /* max-height: 120px !important; */}
			
			#val_nutr_cnt table{margin: 10px 0;}
		
			#val_nutr_cnt th, #val_nutr_cnt td{padding: 5px; vertical-align: middle;}
			
			#val_nutr_cnt tbody tr:nth-child(even), #val_nutr_cnt tbody tr:first-child{background-color: #e3e3e3;}
			
			#val_nutr_cnt thead tr{background: var(--verde_scuro); color: #FFF;}	
			
			#val_nutr_cnt tbody tr td:last-child{text-align: center;}
			
			#val_nutr_cnt th:first-of-type {
			  border-top-left-radius: 10px;
			}
			#val_nutr_cnt th:last-of-type {
			  border-top-right-radius: 10px;
			}
			#val_nutr_cnt tr:last-of-type td:first-of-type {
			  border-bottom-left-radius: 10px;
			}
			#val_nutr_cnt tr:last-of-type td:last-of-type {
			  border-bottom-right-radius: 10px;
			}
		
		.footer_extra_info{padding-top: 10px; margin-top: 10px; border-top: 1px solid #EDEDED;}
			.riga_1{display: flex; align-items: center; justify-content: center;}
				.logo_ead{width: 25%; max-width: 80px;}
					.logo_ead img{width: 100% !important; height: auto !important; max-height: none !important;}
				.riga_1 p{font-size: 13px; width: 75%; text-align: left; padding-left: 10px;}
			.riga_2 p{font-size: 12px; color: #aaa;}
	
	#geoloc_cnt{position: fixed; padding: 0 20px;  z-index: 999; bottom: 0; left: 0; right: 0; top: auto; height: 60px; background: #FFF; border-radius: 10px 10px 0 0; overflow: hidden; box-shadow: 0px 0px 10px 3px rgb(0 0 0 / 10%); transition: height .6s cubic-bezier(0.65, 0.05, 0.36, 1);}
		#geoloc_cnt.aperto{height: 100%; border-radius: 0;}
		
			#geoloc_cnt.aperto .btn{position: fixed; opacity: 1;}
		
		.g_header{height: 60px; display: flex; align-items: center; border-bottom: 1px solid #EDEDED;}	
		
			.testi_cerca h5{font-weight: normal; color: var(--scuro);}
			
			.g_header img{width: 25px; margin-right: 10px;}
			.g_header .freccia{margin-left: auto; width: 10px; transform: rotate(-90deg); transition: transform .4s ease;}
			#geoloc_cnt.aperto .g_header .freccia{transform: rotate(90deg);}
			
			.mappa{position: relative; height: calc(100vh - 60px); overflow-y: scroll; overscroll-behavior: contain;}
			
				#search{/*position: absolute; top: 10px; left: 10px; right: 10px; */ margin: 10px auto 0 auto; width: 98%;}
			
					#search input, #search select{background: #FFF; border: 1px solid #EDEDED; border-radius: 50px; padding: 15px 20px; box-sizing: border-box; box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.21);}
					
			
			
	.comune_descr{text-align: center;}		
		.comune_descr p{color: var(--scuro);}		
			
			
			.btn{text-align: center; position: absolute; bottom: 10px; left: 0; right: 0; opacity: 0; transition: opacity .6s ease-in-out;}
			a.pulsante {
				font-family: 'Montserrat', sans-serif;
				background: #FFF;
				color: #8CCCC5;
				border: 1px solid #8CCCC5;
				border-radius: 30px;
				font-size: 13px;
				text-transform: uppercase;
				display: inline-block;
				padding: 20px 30px;
				margin: 15px 0;
				font-weight: 500;
				text-align: center;
				box-shadow: 0px 3px 6px rgb(0 0 0 / 16%);
				min-width: 150px;
			}
			
			
	.powered_by{color:#8CCCC5; text-align: center; margin: 30px auto 0 auto; display: block;}		
			
			
	.error{text-align: center;}	
			
	.titolo_pagina {padding: 20px 0 10px 0; display: block; text-align: center; color: #596869;line-height: 1.3; font-size: 38px;}	
		.sottotitolo {padding: 0; display: block; text-align: center; color: var(--scuro); line-height: 1.3;}
			
	
	#scandit{position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 1;}
	
	
	
	.scuro_camera{position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.25); display: flex; align-items: center; justify-content: center; z-index: 10;}
		.scuro_camera img{width: 90%;}
	
	
	.text{padding: 20px; color: #FFF; background: rgba(0, 0, 0, 0.82); margin: 20px auto 0 auto; width: 80%; border-radius: 20px; text-align: center; z-index: 999; position: absolute; left: 0; right: 0;}
	
	#footer_cliente{max-height: 30vh; background: #589f77; position: fixed; bottom: 0; left: 0; right: 0; z-index: 999; /* border-radius: 20px 20px 0 0; */ box-shadow: 0px 0px 10px 3px rgb(0 0 0 / 10%); padding: 20px; box-sizing: border-box; display: flex; align-items: center; justify-content: center;}
		
.powered_txt {
	color: #FFF;
}

.powered_txt a {
	color: #FFF;
}
			
			
	#search_results{display: block; position: absolute; left: 0px; right: 0px; top: 150px; background: #FFF; list-style: none; padding: 0 20px 100px 20px; display: none; min-height: calc(100% - 200px);}	
	
		#search_results.has_results{display: block;}
		
		#search_results li{padding: 20px 0; border-bottom: 1px solid #EDEDED;}		
			
			
	
	.cookie_banner_in{border: 1px solid #589f77; background: #FFF; border-radius: 20px 20px 0 0; padding: 20px; box-sizing: border-box; position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999;}	
	.bottoni_cookie{display: flex; justify-content: space-between;}
	.bottoni_cookie a.pulsante{font-size: 12px; padding: 10px 15px; min-width: auto; margin: 20px 0 0 0;}
	
	a.pulsante.verde{background: var(--verde); color: #FFF;}
			
			
			
	.loader {
	  position: fixed;
	  top: 0;
	  left: 0;
	  right: 0;
	  bottom: 0;
	  background: #000;
	  opacity: .5;
	  display: none;
	  z-index: 9999;
	  align-items: center;
	  justify-content: center;
	}
	
	.loader.loading {
	  display: flex;
	}
	
	.spinner {
	  display: inline-block;
	  width: 80px;
	  height: 80px;
	}
	
	.spinner:after {
	  content: " ";
	  display: block;
	  width: 64px;
	  height: 64px;
	  margin: 8px;
	  border-radius: 50%;
	  border: 6px solid #fff;
	  border-color: #fff transparent #fff transparent;
	  animation: dual-ring 1.2s linear infinite;
	}
	
	@keyframes dual-ring {
	  0% {
		transform: rotate(0deg);
	  }
	
	  100% {
		transform: rotate(360deg);
	  }
	}		
			
			