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: proxima-nova, sans-serif;}
	h1{ font-size:21px; }
	h2{ font-size:18px; }
	h3{ font-size:16px; }
	h4{ font-size:14px; }
	h5{ font-size:13px; }

html{height: 100%;}

:root{--verde_scuro: #006E77; --verde_medio: #7FB6BB; --verde_chiaro: #B8DBDE; --grigio: #E8E8E8; --nero: #000; --giallo: #FFE649;}
p{ font-size:16px;  line-height:1.4; padding:0 0 3px 0; font-weight:inherit; color: var(--nero);}
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: var(--verde_medio);}
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; max-width: 1280px;}

*::-webkit-scrollbar {width: 0px; background: transparent;}


*{outline: none; -webkit-tap-highlight-color: transparent;}

.link_esempio{padding: 10px; display: block;}

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;}


textarea{height: 150px; border: 1px solid #EDEDED; padding: 10px; box-sizing: border-box; border-radius: 10px;}
input::placeholder, textarea::placeholder{color: #c6c6c6;}

	
body{background: #FFF; font-size:16px; line-height:1.3; font-family: proxima-nova, sans-serif; font-weight: 400; color: var(--nero); height: 100%; position: relative; margin: 0 auto;}


	header{padding: 50px; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 10; position: fixed; left: 0; top: 0; right: 0;}		
		.logo{width: 100px; position: relative; z-index: 20; opacity: 1; transition: opacity .4s ease-in-out;}

			.head_no_logo .logo{opacity: 0;}
			
			.head_no_logo.has_menu_open .logo{opacity: 1;}


		.nav_top{display: flex;}
			.nav_top a{width: 40px; height: 40px; margin: 0 10px;}
		
		#menu{position: fixed; top: 0; left: 0; right: 0; bottom: 100%; overflow: hidden; opacity: 0; transition: bottom, opacity, .6s ease-in-out; background: var(--verde_scuro); display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center center; background-repeat: no-repeat;}	
			#menu.visible{bottom: 200px; opacity: 1;}
		
		.chiudi{position: absolute; right: 60px; top: 60px; display: none;}
		.visible .chiudi{ display: block; cursor: pointer;}
		
		#menu ul{list-style: none; display: flex; flex-wrap: wrap; align-content: center; justify-content: center;}
			#menu ul li{text-align: center; flex: 1 0 50%;}
				#menu ul li a{display: block; padding: 15px 0; font-size: 22px; text-transform: uppercase; font-style: italic; color: #FFF; transition: color .4s ease-in-out;}
					#menu ul li a:hover{color: var(--giallo);}
			
		.menu_bottom{position: fixed; bottom: 0; top: auto; left: 0; right: 0; height: 0; background: #FFF; transition: height .6s ease-in-out; display: flex; justify-content: space-between; padding: 0 50px; align-items: center;}
			#menu.visible .menu_bottom{height: 200px;}
		
		
		.social_cnt{display: flex; align-items: center;  box-sizing: border-box;}
			.social_cnt a{width: 35px; margin: 0 10px; text-align: center;}
				.social_cnt a img{height: 100%; width: auto;}

			#menu .menu_footer{display: flex; padding: 0 20px; box-sizing: border-box;}
				#menu .menu_footer ul li{flex: none;}
					#menu .menu_footer ul li a{color: var(--nero); font-size: 12px; text-transform: uppercase; padding: 10px; font-style: normal;}
		
		.sponsor{text-align: center;}
			.sponsor img{width: 45px;}
			.sponsor h5{color: #BCBEC0; font-size: 10px;}
			
	.homepage{position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-size: cover; background-position: center center; z-index: 1;}		
			
				
		
		#prezzi{position: fixed; top: 0; left: 0; right: 0; bottom: 100%; opacity: 0; transition: all .6s ease-in-out; background: rgba(0, 0, 0, 0.85); z-index: 30; color: #FFF; overflow-y: scroll;}
			#prezzi.visible{bottom: 0; opacity: 1;}
		
		.logo_prezzi{text-align: center; padding: 20px 0;}
			.logo_prezzi img{width: 100px;}
			.logo_prezzi h2{color: var(--verde_chiaro); font-size: 18px; font-weight: 600; text-align: center; margin: 20px 0;}
			
		
		
		.listino_cnt{display: flex; align-items: flex-start; padding: 20px 0;}
			.listino_single{width: 300px; padding: 10px 40px; margin: 0 auto; box-sizing: border-box; text-align: center;}
		
				.tipo{font-size: 18px; color: var(--giallo); text-transform: uppercase; font-style: oblique;}
				.prezzo{font-size: 60px; font-weight: bold;}
				.servizio{color: var(--verde_chiaro); font-size: 10px; text-transform: uppercase;}
				.concorrenza_cnt{margin: 10px 0; border: 1px solid #FFF; padding: 8px; box-sizing: border-box;}
					.concorrenza_cnt h4{color: var(--verde_chiaro); font-size: 18px; margin-bottom: 10px; font-weight: normal;}
					.concorrenza_cnt h5{font-size: 13px; text-transform: uppercase; font-weight: 200; color: var(--verde_chiaro);}
					.concorrenza_cnt h3{font-size: 28px; color: var(--verde_chiaro); font-weight: 900; line-height: 1; margin-bottom: 10px;}
		
		.disclaimer_prezzi{text-transform: uppercase; text-align: center; font-weight: 200; letter-spacing: 4px; font-size: 10px;}
		
		
		#cerca{position: fixed; top: 0; left: 0; right: 0; bottom: 100%; opacity: 0; transition: all .6s ease-in-out; background: rgba(0, 0, 0, 0.85); z-index: 30; color: #FFF; display: flex; align-items: center; justify-content: center;}
			#cerca.visible{bottom: 0; opacity: 1;}
		
			#cerca input{max-width: 800px; width: 90%; color: var(--verde_chiaro); background: transparent; background-image: url(img/lente.svg); background-position: right center; background-repeat: no-repeat; background-size: 40px 40px; border-bottom: 1px solid #FFF; font-size: 40px; font-weight: 100; padding: 20px 0; position: relative;}
			#cerca input::placeholder{color:  var(--verde_chiaro);}
		
		
		
		.flex{display: flex; align-items: center;}
		.col_1_2{width: 50%;}
			.txt_col{padding: 0 80px; box-sizing: border-box;}
		
		
		.testata h1{font-size: 45px; text-transform: uppercase; font-style: oblique; color: #FFF; width: 75%; float: right; display: block; padding: 40px; background: rgba(0, 0, 0, 0.5); margin-top: 400px; text-align: right;}
		
		
		.fascia_img_sx_txt_dx{margin: 60px 0; display: block;}
		.primo_contenuto{width: 75%; float: right; display: block; padding: 40px; background: var(--grigio); font-size: 24px;}
			.primo_contenuto p{font-size: 18px;}
	
	
	
	.qpz_app{background: #B8DBDE; padding: 60px 0;}
	.qpz_app .txt_col{padding: 0 20px; text-align: center;}
		.qpz_app h3{color: var(--verde_scuro); font-size: 15px; text-transform: uppercase; font-weight: 100; margin-bottom: 40px;}
		.qpz_app h2{color: var(--verde_scuro); font-size: 34px; font-weight: 600; margin-bottom: 40px;}
		.qpz_app p{font-size: 18px; font-weight: 100;}
	
		.btn{background: var(--verde_medio); color: #FFF; text-transform: uppercase; font-size: 18px; font-weight: 200; padding: 25px 50px; display: inline-block; margin: 40px 0; border-radius: 10px;}
	
	
	.flex.qpz_app_download{align-items: center; justify-content: center;}
		.qpz_app_download{padding: 20px 0;}
			.qpz_app_download a{margin: 10px 25px; font-size: 15px; text-transform: uppercase; color: var(--verde_scuro); font-weight: 200;}
	
		
	
	.titolo_paragrafo{font-size: 40px; font-weight: 600; margin: 20px 0;}
	
	.teamwork_gallery_cnt{margin: 40px 0;}
	
	.teamwork_gallery_cnt .swiper-slide{opacity: .2; transition: opacity .4s ease;}
	.teamwork_gallery_cnt .swiper-slide-active{opacity: 1;}
	
	.teamwork_gallery_item{display: flex; align-items: flex-end;}
		.teamwork_gallery_item_img, .teamwork_gallery_item_infos{width: 50%; margin: 0; padding: 10px;}
	
	
	
	.teamwork_gallery_item_name{font-size: 18px; }
	.teamwork_gallery_item_role{font-size: 14px; color: var(--verde_medio); font-weight: 600;}
	
	.teamwork_gallery_item_cv{padding: 20px 0;}
		.teamwork_gallery_item_cv p{font-size: 14px; line-height: 1.3;}
	
	.link_mailto{width: 35px; display: block;}
	
	
	
	
	
	
	.swiper-container, .home_gallery-slide{width: 100%; height: 100%; position: relative;}

	.home_gallery img{height: 100%; object-fit: cover;}
	
		.home_gallery h2{position: absolute; bottom: 50px; left: 0; right: 0; text-align: center; font-size: 48px; color: #FFF;}
	
	
	
		
		
	.footer_cnt{margin-top: 50px; background: var(--verde_scuro);}	
		
		.footer_in{display: flex; padding: 80px 0;}
			
			.footer_in ul{list-style: none;}
			
			.logo_footer, #menu_footer, .footer_in .sponsor{flex: 1 0 16.6%}
			.footer_middle{flex: 1 0 49.8%;}
		
		
			.logo_footer{text-align: center;}
				.logo_footer a img{width: 100px;}
		
		
			#menu_footer ul li a{font-size: 15px; padding: 5px 0; display: block;}
			
			#legal_menu{margin-bottom: 80px;}
				#legal_menu h4, .social_footer h4{font-size: 16px; text-transform: uppercase; color: #BCBEC0; margin-bottom: 5px; font-weight: 400;}
					#legal_menu ul{display: flex; flex-wrap: wrap;}
						#legal_menu ul li a{font-size: 12px; padding: 5px 15px 5px 0;}

		
			.social_footer{margin: 20px 0;}
			.social_footer a{width: 35px; margin: 10px 10px; text-align: left; display: inline-block;}
				.social_footer a img{height: 100%; width: auto;}
		
		
		
		
		
		
		
			