/**
   HOMEPAGE
========================================================================================== 
**/


/* Primo banner
------------------------------------------------------------------------------------------ */
.pc_background{background:#000; overflow: hidden;}
.pc_first_banner{ height: 750px; overflow: hidden; font-family: 'Futura-Med'; background-position: center bottom 190px; }
	.bg_video{
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		object-fit: cover;
		z-index: 1;
	}
	
	.min_banner{
		width: 100%;
		height: auto;
		min-height: 150px;
		overflow: hidden;
		position: absolute;
		left: 0;
		bottom: 0;
		color: #FFF;
		background: rgba(255, 255, 255, 0.2);
		z-index: 2;
	}
		.mb_container{
			max-width: 1280px;
			width: 90%;
			height: 150px;
			margin: 0 auto;
			position: relative;
			display: flex;
			flex-direction: column;
			justify-content: center;
			text-align: left;
		}
			.mb_container h2{
				width: 100%;
				margin: 0 0 10px 0;
				box-sizing: border-box;
				line-height: 43px;
				font-size: 40px;
				font-weight: normal;
				letter-spacing: 0.01em;
				text-transform: uppercase;
			}
			.mb_container p{ width: 100%; padding: 0; margin: 0; line-height: 22px; font-size: 19px; box-sizing: border-box; }
			.mb_video_link{
				width: 275px;
				height: 150px;
				display: block;
				position: absolute;
				top: 0;
				right: 0;
				box-sizing: border-box;
				border-bottom: 7px solid #00BA61;
				background: no-repeat center center;
				background-size: cover;
			}
				.mb_video_link::before{
					content: '';
					width: 38px;
					height: 38px;
					display: block;
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
					border-radius: 50%;
					background: url(/img/icon_play.svg) no-repeat center center;
					background-size: contain;
					transition-duration: 0.4s;
				}
				.mb_video_link span{
					width: 100%;
					display: block;
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, 20px);
					font-size: 18px;
					letter-spacing: 1px;
					text-align: center;
				}
					.mb_video_link:hover::before{ background-color: rgba(255, 255, 255, 0.3); }
					.mb_video_link:hover span{ color: #FFF; }

/* Seconda fascia
------------------------------------------------------------------------------------------ */
.news{
	width: 100%;
	height: auto;
	min-height: 50px;
	padding: 45px 0 0 0;
	overflow: hidden;
	box-sizing: border-box;
	font-size: 11px;
	text-align: center;
	background: #DFE4E3;
}
	.news::after{
		content: '';
		max-width: 1280px;
		width: 100%;
		height: 1px;
		display: block;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		background: #00BA61;
	}
	.news h4{ margin-bottom: 10px; font-weight: 400; text-transform: uppercase; letter-spacing: 6px; font-family: 'Open Sans', sans-serif; }
	.news p{
		width: 90%;
		max-width: 680px;
		margin: 0 auto 45px auto;
		font-size: 22px;
		font-family: 'Futura-Med';
		color: #00BA61;
	}

.blink{ animation: blink 1s infinite both; }
.blink:hover{ animation: none; }
@keyframes blink {
	0% { opacity: 1; }
	50% { opacity: 0.2; }
	100% { opacity: 1; }
}


/* Terza fascia
------------------------------------------------------------------------------------------ */
.processing{
	width: 100%;
	height: auto;
	min-height: 800px;
	padding: 100px 0 120px 0;
	box-sizing: border-box;
	font-family: 'Futura-Med';
	background: #DFE4E3 no-repeat center top;
}
	.p_container{ width: calc(50% + 640px); height: auto; overflow: visible; float: right; }
		.p_container h3{ margin: 0 0 35px 0; font-size: 43px; text-transform: uppercase; color: #00BA61; }
		
		/* Titoli con icone */
		.p_list{
			width: 20%;
			height: auto;
			float: left;
			font-size: 18px;
			text-transform: uppercase;
		}
			.p_list li{ width: calc(100% - 40px); transform: translateX(40px); margin: 0 0 20px 0; transition-duration: 0.4s; cursor: pointer; opacity: .5; text-align: left;}
			.p_list li.active{ transform: translateX(40px); color: #00BA61; opacity: 1 }
			.p_list li::after{
				content: '';
				width: 25px;
				height: 1px;
				display: block;
				position: absolute;
				top: 50%;
				left: -40px;
				background: #00BA61;
				transform: scale(0);
				transition-duration: 0.4s;
			}
			.p_list li.active::after{ transform: scale(1); }
			.p_list li::before{
				content: '';
				width: 70px;
				height: 70px;
				display: block;
				border-radius: 50%;
				position: absolute;
				left: -110px;
				top: 50%;
				transform: translateY(-50%) scale(0);
				background: #00BA61;
				background-repeat: no-repeat;
				background-position: center center;
				background-size: 30px;
				transition-duration: 0.6s;
				transform-origin: 100% 50%;
			}
			.p_list li.active::before{ transform: translateY(-50%) scale(1); }

		/* Slide */
		.p_slide{ width: 80%; height: 480px; float: right; }
			.swiper-slide{ width: 640px; height: 480px; }
			.swiper-slide-next{ opacity: 0.3; }

		.slide_control{
			width: 210px;
			height: 480px;
			background: #DFE4E3;
			position: absolute;
			top: 0;
			left: 640px;
			z-index: 2;
		}
			.slide_control .button{
				width: 90px;
				height: 38px;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
			}
			.slide_control .prev, .slide_control .next{
				width: 38px;
				height: 38px;
				display: block;
				border-radius: 50%;
				float: left;
				opacity: 0.3;
				background: url(/img/home/icon_slide_scroll.svg) no-repeat left center;
				background-size: 200%;
				cursor: pointer;
				transition-duration: 0.4s;
			}
			.slide_control .prev:hover, .slide_control .next:hover{ background-color: #FFF; }
			.slide_control .next{ float: right; background-position: right center; }
			.slide_control .prev.active, .slide_control .next.active{ opacity: 1; }
	
	.swiper-slide a{ width: 100%; height: 100%; display: block; }
	.swiper-slide figure{ width: 100%; height: 100%; margin: 0; overflow: hidden; }
	.swiper-slide figure img{
		max-width: 100%;
		max-height: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.swiper-slide figure figcaption{
		width: 345px;
		min-height: 200px;
		height: auto;
		padding: 35px 35px 65px 35px;
		box-sizing: border-box;
		display: block;
		position: absolute;
		right: 0;
		bottom: 0;
		background: #00BA61;
		color: #FFF;
	}
		.swiper-slide figure figcaption .title{ display: block; line-height: 35px; font-size: 31px; text-align: left; }
	.swiper-slide .more{ display: inline-block; position: absolute; bottom: 35px; font-size: 11px; font-family: 'Open Sans', sans-serif; text-transform: uppercase; }
		.swiper-slide .more::after{
			content: '';
			width: 70px;
			height: 1px;
			display: block;
			position: absolute;
			right: -80px;
			top: 50%;
			transform: translateY(-50%);
			background: #FFF;
		}

/* Quarta fascia
------------------------------------------------------------------------------------------ */
.numbers{
	width: 100%;
	height: 580px;
	padding: 120px 0 135px 0;
	box-sizing: border-box;
	text-align: center;
	color: #FFF;
	background: url(/img/home/bg_numbers.jpg) no-repeat center center;
}
	.numbers h3{
		margin: 0 0 85px 0;
		line-height: 43px;
		font-size: 43px;
		font-weight: normal;
		text-transform: uppercase;
	}
	.numbers .item{ width: 25%; min-height: 200px; height: auto; float: left; }
		.numbers .item h5{
			line-height: 35px;
			font-size: 82px;
			letter-spacing: 0.01em;
			text-transform: uppercase;
			color: #98CF59;
		}
			.numbers .item h5 em{ font-style: normal; }
			.numbers .item h5 span{ margin-top: 10px; display: inline-block; font-size: 30px; font-family: 'Open Sans'; }
		.numbers .item span{
			width: 180px;
			margin-top: 20px;
			display: inline-block;
			font-size: 14px;
			letter-spacing: 0.02em;
			text-transform: uppercase;
		}

/* Quarta fascia
------------------------------------------------------------------------------------------ */
.sectors{ width: 100%; height: auto; padding-top: 100px; overflow: hidden; }
	.s_container{ width: 1220px; height: auto; overflow: hidden; margin: 0 auto; }
		.s_container .text{
			width: 450px;
			height: auto;
			padding: 0 0 100px 0;
			float: right;
			font-size: 14px;
		}
			.s_container .text h3{
				margin: 20px 0;
				line-height: 38px;
				font-size: 43px;
				text-transform: uppercase;
				color: #00BA61;
			}
		.s_container .text::before{
			content: '';
			width: 620px;
			height: 100%;
			display: block;
			position: absolute;
			left: -720px;
			background: url(/img/home/bg_sectors_1.jpg) no-repeat center center;
			background-size: cover;
		}
		.s_img{
			width: 100%;
			height: 84px;
			float: left;
			overflow: visible;
			background: #000;
			z-index: 4;
		}
			.s_img img{ position: absolute; top: 0px; left: 50%; transform: translate(10%, -80px); }





/* Animazioni numeri
------------------------------------------------------------------------------------------ */
@-webkit-keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.numbers .item{ visibility: hidden; }
.numbers .item.active{ visibility: visible; animation: fade-in-bottom 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;  }



/* Popup homepage, a sessione
------------------------------------------------------------------------------------------ */
#popup_home {
	width: 690px;
	padding: 30px;
	position: relative;
	display: none;
	background: #000;
	color: #FFF;
}
	#popup_home figure {
		width: 650px;
		margin: 0;
		float: left;
	}
	#popup_home > a {
		width: 100%;
		height: 100%;
		display: block;
		float: left;
		cursor: pointer !important;
	}

		#popup_home figure img {
			max-height: 650px;
			max-width: 650px;
			display: block;
			position: relative;
		}

	#popup_home h3 { margin-top: 0;}
		#popup_home.has_image h3 { margin-left: 320px;}
	#popup_home p { margin-bottom: 60px;}
		#popup_home.has_image p { margin-left: 320px; }
	#popup_home .btn { position: absolute; bottom: 0; }
		#popup_home.has_image .btn { left: 320px; }

		#popup_home.has_text figure{ width: 300px; }
		#popup_home.has_text figure img{ max-width: 300px; max-height: 300px; }
	.fancybox-can-pan .fancybox-content, .fancybox-can-swipe .fancybox-content{ cursor: initial !important; }




/* Schermi Intermedi
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= */
@media (max-width: 1439px){


/* Slide */
.p_list{ display: none; }
.p_container{ width: 95%;  }
	.p_slide{ width: 100%; }



/* ----------------- */
}
/* Fine schermi Intermedi */




/* Schermi Intermedi
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= */
@media (max-width: 1335px){

.mb_container h2{ width: 70%; font-size: 32px; line-height: 38px; }
.mb_container p{ width: 70%; }
.mb_video_link{ width: 29%; }

.numbers .item h5{ font-size: 70px; }

.sectors{ padding-top: 0; }
	.s_container{ width: 100%; }
		.s_container .text{ width: 50%; padding: 0 5% 100px 5%; box-sizing: border-box; }
			.s_container .text::before{ width: 100%; left: -100%; }
	.s_img img{ width: 50%; transform: translate(0, -50%); }

/* ----------------- */
}
/* Fine schermi Intermedi */



/* Tablet
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= */
@media (max-width: 768px){

.swiper-slide{ width: 583px; height: 438px; }
.slide_control{ width: 148px; height: 438px; left: 583px; }

.processing{ min-height: 600px; padding: 50px 0; }

.numbers{ height: auto; padding: 35px 0; text-align: left; background-size: cover; }
	.numbers .item{ width: 100%; }
		.numbers h3{ margin-bottom: 30px; }
		.numbers .item h5{ float: left; margin-right: 20px; }
		.numbers .item span{ width: auto; margin-top: 0; }

/* ----------------- */
}
/* Fine Tablet */





/* Schermi Piccoli
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= */
@media (max-width: 767px){

.pc_first_banner{
	height: calc(100vh - 230px);
	margin: 0;
	overflow: visible;
	background: url(/img/home/foto-homepage-mobile.jpg) no-repeat center center;
	background-size: cover;
}
	.min_banner{ height: auto; min-height: auto; overflow: hidden; background: #1D1D1B; }
		.mb_container{ height: auto; padding: 20px 0; overflow: hidden; }
		.mb_container h2{ width: 100%; font-size: 5vw; line-height: 5vw; }
		.mb_container p{ width: 100%; font-size: 3.5vw; line-height: 4.5vw; }
		.mb_video_link{ display: none; }
	.bg_video{ display: none; }


.processing{ min-height: 430px; height: auto; overflow: hidden; padding: 35px 0; }
	.p_container{ width: 90%; margin: 0 auto; float: initial; }
		.p_container h3{ font-size: 20px; }
		.p_slide{ height: auto; }
	.swiper-slide{ width: 100%; height: 325px; }
		.swiper-slide figure figcaption{
			width: 100%;
			height: 110px;
			padding: 20px;
			font-size: 18px;
			line-height: 22px;
		}
		.swiper-slide figure img{ transform: translate(-50%, -70%); }
		.slide_control{
			width: 99%;
			height: 40px;
			margin-top: 15px;
			position: relative;
			left: initial;
			top: initial;
		}
		.slide_control .button{ width: 100%; }


		.s_container .text{ width: 100%; padding: 10px 5% 40px 5%; }
			.s_container .text::before{ display: none; }
	.s_img{ height: auto; overflow: hidden; }
		.s_img img{ width: 100%; left: 0; position: relative; transform: none; }

	.numbers .item span{ width: 100%; float: left; }
	.numbers .item span br{ display: none; }


	/* Popup homepage, a sessione
	------------------------------------------------------------------------------------------ */
	#popup_home {width: 95%; padding-top: 45px; }
		#popup_home figure, #popup_home.has_text figure { width: 100%; float: initial; }
			#popup_home figure img { width: 100%; max-height: initial; max-width: initial; }

		#popup_home h3 { margin: 15px 0;}
			#popup_home.has_image h3 { margin-left: 0;}
		#popup_home p { margin-bottom: 30px;}
			#popup_home.has_image p { margin-left: 0; }
		#popup_home .btn { display: inline-block; position: relative; margin: 20px 0 0 0; }
			#popup_home.has_image .btn { left: 0; }

/* ----------------- */
}
/* Fine schermi Piccoli */