@import url("_reset.css");
@import url("_columns.css");
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&family=Roboto:wght@300;400;700;900&display=swap&family=Playfair+Display:wght@400;600;700&display=swap');


/*
primario: #000
secondario: #8cc63f
*/

/* struttura */
	html { font-family: 'Montserrat', sans-serif; font-size:16px;  }
	#wrapper { position:relative; z-index:1; width:100%; overflow:hidden; letter-spacing:.3px; margin:0 auto; max-width:2560px; }
	.innerTpl { position:relative; max-width:1920px; margin:0 auto; }
	.hide-desktop { display:none; }
	::-webkit-scrollbar              { background:#000; width:5px; height:5px; }
	::-webkit-scrollbar-button       { }
	::-webkit-scrollbar-track        {}
	::-webkit-scrollbar-track-piece  { }
	::-webkit-scrollbar-track-piece:start {  }
	::-webkit-scrollbar-thumb        { background:#000; }
	::-webkit-scrollbar-thumb:window-inactive { }
	::-webkit-scrollbar-button:horizontal:decrement:hover {}
	::-webkit-scrollbar-corner       { }
	::-webkit-resizer                { }

/* testi */
	h1, h2, h3, h4, .title, .subtitle, .text { position:relative; -webkit-font-smoothing: antialiased; word-wrap: break-word; font-smoothing: antialiased; color:#000; }
	h1, h2, h3, h4, .title {  margin-bottom:35px; font-family: 'Playfair Display', serif; }
	h1,
		.title { font-size:2.75rem; line-height:3.25rem; font-weight:700; }
	h2,
		.subtitle { font-size:2.5rem; line-height:3rem; font-weight:700; }
	h3 { font-size:2rem; line-height:2.5rem; font-weight:300; }
	h4 { font-size:1.25rem; line-height:1.75rem; font-weight:700; }
	.text { font-size:1.7rem; line-height:3rem; font-weight:300; }
	.text p { margin:0 0 15px 0; }
	.text img { max-width:100% !important; height:auto !important; }
	.title a,
		.subtitle a,
		.text a { position:relative; color:#000; padding-bottom:1px; border-bottom:2px solid #00000020; -webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; -o-transition: .25s ease-in-out; transition: .25s ease-in-out;  }
		.text a:after { transition: width .6s; display: block; position: absolute; content: ""; bottom:2px; left: 0; right: 0; width: 0; height: 1px; border-bottom:10px solid #8cc63f60; }
			.text a:hover::after  { width:100%; }	
	.title a:hover,
		.subtitle a:hover,
		.text a:hover { border-color:transparent; }
	.title ul li,
		.subtitle ul li,
		.text ul li { list-style-type:disc; margin-left:25px; }
	.title ol li,
		.subtitle ol li,
		.text ol li { list-style-type:decimal; margin-left:25px; }
	strong, b { font-weight:700; }
	em, .em { font-style:italic; /*  color:#999; font-size:3rem; line-height:3.5rem; font-family: 'Playfair Display', serif; */ }
	.em p:before { content: "\f10d"; font-family: "Font Awesome 6 Pro"; font-size: 36px; line-height:3.5rem; font-weight:700; position:relative; top:-10px; left:-15px; color:#aaa; }
	.em p:after { content: "\f10e"; font-family: "Font Awesome 6 Pro"; font-size: 36px; line-height:3.5rem; font-weight:700; position:relative; top:10px; right:-15px; color:#aaa; }

/* misc */
	hr { background:#DDD; height:1px; color:#DDD; border:0; margin:20px 0; width:100%; }
	hr:after { content: ""; display: block; clear:both; }
	.fa, .fab, .fad, .fal, .far, .fas { color:#000; font-size:24px; position:relative; margin:0 3px; }
	.button { font-size:0.875rem; text-transform:uppercase; padding:15px 45px 15px; margin:25px 0 0 0; text-align:center; display:inline-block; color:#FFF; cursor:pointer; border:0; background:#000; -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; -o-transition: .5s ease-in-out; transition: .5s ease-in-out; }
		.button:hover { background:#000; }
	.button.right { float:right; }
	.transition-050 { -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; -o-transition: .5s ease-in-out; transition: .5s ease-in-out; }
	.transition-025 { -webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; -o-transition: .25s ease-in-out; transition: .25s ease-in-out; }
	#goToTop { position:fixed; z-index:3; right:-51px; bottom:45px; border:0; width:40px; height:40px; background:#000; display:block; cursor:pointer; text-align:center; opacity:.4; }
		#goToTop:hover { opacity:1; }
	#goToTop i { color:#FFF; line-height:40px; font-size:18px; }
		#goToTop:hover i { color:#FFF; font-weight:400; }	

/* header */
	.header { position:relative; width:100%; z-index:5; background:#000; }
		body.view1019 .header { position:fixed; background:transparent; } 
		.header:after { content: ""; display: block; clear:both; }
	.header .column { height:150px; -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; -o-transition: .5s ease-in-out; transition: .5s ease-in-out; overflow:visible;  }
	.header .column img.logo { margin-top:35px; max-height:100px; -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; -o-transition: .5s ease-in-out; transition: .5s ease-in-out;  }
	
	.header .text { font-size:1rem; float:right; margin:47px 100px 0 0; color:#999; }
		body.scrolled .header .text { margin-top:25px; }
	.header .text a { color:#999; border-color:#DDD; padding-bottom:2px; }
		.header .text a:hover {  border-color:transparent; }
	
	.header .navOpenButton { float:right; cursor:pointer; width: 50px; height: 50px; position: relative; margin:60px 0px 0 0; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); cursor: pointer; }
	.header .navOpenButton span { display: block; position: absolute; height: 2px; width: 100%;  background:#FFF; opacity:1; left: 0; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); }
		.header .navOpenButton:hover span { width: 50px !important; }
	.header .navOpenButton span:nth-child(1) { top: 0px; width: 50px; }
	.header .navOpenButton span:nth-child(2) { top: 12px; width: 50px; }
	.header .navOpenButton span:nth-child(3) { top: 24px; width: 40px; left:10px; }
		.header .navOpenButton:hover span:nth-child(3) { left:0; }
	.header .navOpenButton.open span:nth-child(1) { width:50px; left:0; top: 10px; -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); -o-transform: rotate(135deg); transform: rotate(135deg); }
	.header .navOpenButton.open span:nth-child(2) { opacity: 0; }
	.header .navOpenButton.open span:nth-child(3) { width:50px; left:0; top: 10px; -webkit-transform: rotate(-135deg);  -moz-transform: rotate(-135deg); -o-transform: rotate(-135deg); transform: rotate(-135deg); }	
	
	.header .chooseLang { float:right; padding:10px 0 0 0; vertical-align:top; width:70px; padding-right:25px; background:url(../images/misc/open-choose-lang.png) right 16px no-repeat; cursor:pointer; }
	.header .chooseLang a {  font-size:1.125rem; line-height:1.125rem; color:#000; display:none; margin-bottom:7px; width:inherit; text-align:left; }
	.header .chooseLang a:hover { font-weight:700; }
	.header .chooseLang.open a:last-child { padding-bottom:10px; }
	.header .chooseLang a.selected { display:block;font-weight:700;  }

		body.scrolled .header { position:fixed; box-shadow: 0 0 15px 1px rgb(0 0 0 / 20%); background:#000; }
		body.scrolled .header .navOpenButton { margin-top:30px; }
		body.scrolled .header .column { height:80px; }
		body.scrolled .header .column img.logo { margin-top:10px; max-height:55px; }

/* nav */
	#navMobileBg { display:none; position:fixed; z-index:3; top:0; left:0; width:100%; height:100%;  background:#000; width:100%; }
	
	#navMobile { position:fixed; top:0; top:-100%; z-index:4; width:100%; height:100%; overflow-y:auto; }
	#navMobile .menu { padding:150px 4% 100px 4%; margin:0 auto; text-align:center; }
	#navMobile .menu ul {   }
	#navMobile .menu ul li { position:relative; }
	#navMobile .menu ul li:first-child { padding-top:0; }
	#navMobile .menu ul li.l1 { margin-top:5px; }
		#navMobile .menu ul li.l1[attr="0"]:after { content:""; display:none; }
	#navMobile .menu ul li a { color:#FFF; font-family: 'Playfair Display', serif; }
	#navMobile .menu ul li.l1 { padding:25px 0; display: inline-block; }
	#navMobile .menu ul li.l1 a {  font-size:4.5rem; line-height:5rem; font-weight:400; }
		#navMobile .menu ul li a:after { transition: width .3s; display: block; position: absolute; content: ""; bottom: 24px; left: 0; right: 0; width: 0; height: 1px; border-bottom:20px solid #8cc63f80; }
		#navMobile .menu ul li a:hover::after  { width:100%; }
	#navMobile .menu ul li a:hover {   }
	#navMobile .menu ul.l2 { margin:0; padding:10px 0 25px 40px;  }
	#navMobile .menu ul li.l2 { padding:6px 0;}
	#navMobile .menu ul li.l2 a { font-size:1.15rem; font-weight: 600; }
	#navMobile .menu ul li.on a { font-weight: 700; }
		#navMobile .menu ul li.on a:after  { width:100%; }
	#navMobile .menu ul li .open { display:inline-block; margin:0 0 0 10px;  position:relative; top:-4px; cursor:pointer; opacity:0.7; }
		#navMobile .menu ul li .open:after { content: "\f078"; font-family: "Font Awesome 6 Pro"; font-weight:900; font-size: 16px; color:#FFF; line-height:1.75rem; }
			#navMobile .menu ul li .open.active:after { content: "\f077"; }
		#navMobile .menu ul li .open:hover { opacity:1; }
	#navMobile .navOpenButton { z-index:10; top:60px; left:90%; width: 40px; height: 40px; position: relative; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); cursor: pointer; }
	#navMobile .navOpenButton span { display: block; position: absolute; height: 2px; width: 100%;  background: #FFF; opacity: 1; left: 0; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); }
	#navMobile .navOpenButton:hover span { background:#8cc63f; }
	#navMobile .navOpenButton span:nth-child(1) { top: 0px; width: 40px; }
	#navMobile .navOpenButton span:nth-child(2) { top: 8px; width: 40px; }
	#navMobile .navOpenButton span:nth-child(3) { top: 16px; width: 32px; }
	#navMobile .navOpenButton.open span:nth-child(1) { width:34px; top: 10px; -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); -o-transform: rotate(135deg); transform: rotate(135deg); }
	#navMobile .navOpenButton.open span:nth-child(2) { opacity: 0; }
	#navMobile .navOpenButton.open span:nth-child(3) { width:34px; top: 10px; -webkit-transform: rotate(-135deg);  -moz-transform: rotate(-135deg); -o-transform: rotate(-135deg); transform: rotate(-135deg); }	
	
	#nav2 { margin:0 auto 30px auto; }
	#nav2:after { content: ""; display: block; clear:both; }
	#nav2 .c10 { border-top:1px solid #000; border-bottom:1px solid #000; padding:15px 0; }
	#nav2 ul { }
	#nav2 ul li { display:inline-block; }
	#nav2 ul li.sep { margin:0 20px; width:1px; background:#000; height:15px; }
	#nav2 ul li.sep:nth-child(2) { display:none; }
	#nav2 ul li.parent { margin:0 30px 0 0; }
	#nav2 ul li.lv2 a,
		#nav2 ul li.parent a { font-size:0.95rem; line-height:1.75rem; color:#000; font-weight:700; }
	#nav2 ul li.parent a { background:#000; padding:5px 7px; text-transform:uppercase; }
	#nav2 ul li.lv2 a:hover { border-bottom:1px solid #000; }
	#nav2 ul li.lv2 a.on { color:#FFF; background:#000; padding:5px 7px; }
	#nav2 ul li.lv2 a.on:hover { border-bottom:0; }


/* footer */
	#footer { position:relative; z-index:2; background:#EEE; padding:0 0 100px 0; margin:50px 0 0 0;  }		
		body.view1019 #footer { margin:0; } 
	#footer:before { content: ""; display: block; clear:both; }
	#footer:after { content: ""; display: block; clear:both; }
	#footer .text { font-size:1rem; line-height:1.75rem; color:#666; }
	#footer .title a, 
		#footer .text a { color:#666; border-bottom:2px solid #e0e0e0; padding-bottom:1px;  }
	#footer .title a:hover, 
		#footer .text a:hover { border-color:transparent;  }

    #footer .testimonianze { padding: 100px 0 125px 0; margin:0 0 0 0; background: #FCFCFC; }	
    #footer .contacts { padding-top: 75px; }
	#footer .social { /* float:right; */ padding:0; margin-bottom: 50px; }
		#footer .social .text { font-size:0.9rem; font-weight:700; margin:8px 20px 0 0; float:left; text-transform:uppercase; }
	#footer .social i { color:#000; position:relative; font-size:30px; text-align:center; padding:6px 5px 4px 6px; }
		#footer .social i:hover { color:#8cc63f; }
	#footer .social i a { position:absolute; top:0; left:0; width:100%; height:100%; }	
	
/* form */
	form { position:relative; }
	form .column { padding:0 0 30px 0; }	
	
	form input,
		form select,
		form textarea,
		form label {  font:400 16px/45px 'Roboto', sans-serif; position:relative; color:#000; -webkit-box-sizing:border-box; box-sizing: border-box; }
	form input,
		form select,
		form textarea { border:1px solid #DDD; width:100%; padding:0 15px; margin:0 0 15px 0;  }
	form input.on,
		form select.on,
		form textarea.on { border-left:4px solid #F00; }		
	form input,
		form select { height:45px; }	
		form input.on,
			form select.on {  }
	form label .mandatory { display:inline; color:#000; font-weight:700; font-size:20px; line-height:45px; }
	form textarea { height:100px;}
	form input.checkbox { width:20px; height:20px; border:1px solid #CCC; }

/* share */
	#share	{ border-top:1px solid #CCC; border-bottom:1px solid #CCC; padding:0 0 15px 0; margin:100px 0 50px 0; text-align: center; }
	#share .text { color:#000; display:inline-block; margin:0 10px 0 0; position:relative; top:25px; line-height:50px; }
	#share .inner { display:inline-block; }
	#share i { color:#000; border:1px solid #000; font-size:22px; line-height:50px; border-radius:50%; height:50px; width:50px; font-weight:300; }
	#share i:hover { color:#000; background:#000; }
	#share i:hover:before { color:#FFF;  }

/* template */
	#template { position:relative; z-index:1; width:100%; height:100%; margin:0; padding:75px 0 50px;  }
		body.scrolled #template { padding:80px 0 50px; }
		body.view1019 #template { background:transparent; padding:0; } 

/* plugin */
	.slideshow { width:100%; height:100%; }
	.slideshow .item { position:relative; height:600px; }
	.slideshow .item .url { position:absolute; top:0; left:0; width:100%; height:100%; z-index:3; }
	.slideshow .item .innerTpl { height:inherit; }
	.slideshow .slick-arrow { top:calc(50% - 22px); z-index:2; display:inline-block; cursor:pointer; padding:0; width:auto; height:auto; font-weight:300;  }
	.slideshow .slick-arrow:before { font-family: "Font Awesome 6 Pro"; color:#FFF; opacity:.6; font-size:45px;  display: inline-block; }
		.slideshow .slick-arrow:hover:before { color:#FFF; opacity:1; }
	
	.slideshow .slick-arrow.slick-prev { left:30px; }
		.slideshow .slick-arrow.slick-prev:before { content: "\f053"; width:50px; height:50px; display:block; }
		.slideshow .slick-arrow.slick-prev:hover:before {  }
	.slideshow .slick-arrow.slick-next { right:30px;  }
		.slideshow .slick-arrow.slick-next:before { content: "\f054"; width:50px; height:50px; display:block; }
		.slideshow .slick-arrow.slick-next:hover:before {  }
	.slideshow .slick-dots { text-align:center; left:0; right:0; margin:auto; padding:0; bottom:30px; z-index:10;  }
	.slideshow .slick-dots li  { display:inline-block; width:auto; height:auto; }
	.slideshow .slick-dots li button { display: block; text-indent: -9999em; text-transform:uppercase; cursor:pointer; float:left; width: 20px; height: 5px; background: #CCC; border:0; margin:0 2px; padding:0; }
	.slideshow .slick-dots li:hover button{ background:#8cc63f;}
	.slideshow .slick-dots li.slick-active button { background:#8cc63f80; height: 20px; }
	

/* sezioni */
	section.section { position:relative; padding:50px 0; }
	section.section:before { content: ""; display: block; clear:both; }
	section.section:after { content: ""; display: block; clear:both; }
	
	section.clienti .list-clienti { margin:0; }
	section.clienti .list-clienti .c4 { padding:0 2px; }
	section.clienti .list-clienti img.media { margin:0; -webkit-filter: grayscale(100%); filter: grayscale(100%); -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; -o-transition: .5s ease-in-out; transition: .5s ease-in-out; }
	section.clienti .list-clienti img.media:hover { transform: scale(.95); -webkit-filter: grayscale(0%); filter: grayscale(0%);  }	


@media (max-width: 1921px) {

/* testi */
	
/* header */
	.header .innerTpl { padding:0 8%; }
	.header .column { height:140px; }	
	.header .column img.logo { max-height:90px;  }
	
/* nav */
	#navMobile .menu { padding:50px 4% 100px 4%;  }
	#navMobile .menu ul li.l1 { padding:15px 0; }
	
/* sezioni */

	
}

@media (max-width: 1441px) {

/* testi */
	
/* struttura */	
	#wrapper .innerTpl { max-width:100%; }	
	
/* header */
	.header .innerTpl { padding:0; }
	.header .column { height:120px; }	
	.header .column img.logo { max-height:70px; margin-top:25px; }
	.header .navOpenButton { margin-top:45px; }	
	
/* nav */	
	#navMobile .menu ul li.l1 { padding:15px 0; }
	#navMobile .menu ul li.l1 a {  font-size:3.5rem; line-height:4rem;  }
	
/* sezioni */
	section.section { padding:30px 0; }

}

@media (max-width: 1281px) {

/* struttura */	
	html { font-size: 14px; }

/* header */
	.header .column { height:100px; }	
	.header .column img.logo { max-height:55px;  }
	.header .navOpenButton { margin-top:40px; }	
	
/* nav */	
	#navMobile .menu { padding: 30px 4% 50px 4%; }
	#navMobile .menu ul li.l1 { padding:10px 0; }
	#navMobile .menu ul li a:after { bottom:15px; border-bottom: 15px solid #8cc63f80; }
		

/* plugin */

	
/* sezioni */

}

@media (max-width: 1025px) {


	
/* struttura */	
	html { font-size: 13px; }
	.hide-desktop  { display:block; }
	.hide-tablet { display:none; }	

/* nav */
	
/* misc */	
	

/* header */	

	
/* footer */
	#footer .c3 { min-height:300px;  }
	
/* plugin */	
	.slideshow .item { height:500px; }
	
/* sezioni */

}



@media only screen 
	and (min-device-width : 768px) 
	and (max-device-width : 1024px) 
	and (orientation : portrait) { 

}

@media (max-width: 769px) {

/* testi */
	em, .em { font-size:2rem; line-height:2.5rem; }
	.em p:before { font-size: 30px; line-height:2.5rem;  }
	.em p:after { font-size: 30px; line-height:2.5rem; }
	
/* struttura */	
	html { font-size: 12px; }

/* nav */
	#nav2 .c10 { overflow-x: auto;  }
	#nav2 ul { width:max-content; }
	#navMobile .menu { padding: 150px 4% 50px 4%; }
		
/* misc */	
	hr { margin:15px 0; }

/* headder */	
		
/* footer */

/* plugin */	
	.slideshow .item { height:400px; }
	
/* sezioni */

	
/* footer */	
	#footer { padding:0 0 100px; margin:30px 0 0 0; }
	#footer .tp12 { padding:0; text-align:center; }
	#footer .tp12:nth-child(1) { padding-bottom:30px; }
	#footer .c9 .tp12 p { margin-bottom:0; }
	#footer .social { float:none; }
	#footer .social .text { display:block; float:none; margin:0 0 -5px 0; }
}

@media (max-width: 641px) {

/* struttura */	
	html { font-size: 14px; }	
	.hide-desktop  { display:block; }
	.hide-tablet { display:block; }
	.hide-mobile { display:none; }

/* misc */	

/* testi */
	em, .em { font-size:1.75rem; line-height:2.25rem; }
	.em p:before { font-size:26px; line-height:2.25rem;  }
	.em p:after { font-size:26px; line-height:2.25rem; }
    h1, h2, h3, h4, .title { margin-bottom:25px; }
	.text { font-size:1.5rem; line-height:2.75rem; font-weight:300; }
	
/* header */	
	.header .text { display:none; }
	.header .navOpenButton { margin-top:32px; }		
	body .header .column img.logo { max-height:50px; margin-top:27px; }
	body.scrolled .header .column img.logo { margin-top:20px; }
	body.scrolled .header .navOpenButton  { margin-top:26px; margin-right: 5px; }
	
/* nav */	
	#navMobile,
		#navMobileBg { width:100%; }	
	#navMobile .menu { padding:75px 4% 50px 4%; }
	#navMobile .menu ul li.l1 a { font-size:2.5rem; line-height:3rem; }
	#navMobile .navOpenButton { left:80%; }

/* plugin */
	.slideshow .slick-arrow.slick-prev { left:10px; }
	.slideshow .slick-arrow.slick-next { right:10px; }
    .slideshow .slick-dots li button { height: 10px; }

/* footer */
	#footer .c3 { min-height:auto;  }

/* plugin */	
	.slideshow .item { height:300px; }
		
/* sezioni */
	section.clienti .list-clienti img.media { width:100%; height:auto; }

}

@media (max-width: 321px) {
		
}


