@charset "UTF-8";
/* CSS Document */


/******************/
/* SPECIAL FONTS */
/******************/

@font-face { font-family:"Futura"; font-style:normal; font-weight:200; src:url(fonts/Futura-Light.woff) format("woff"); }


/******************/
/* GENERIC STYLES */
/******************/

/* elementi standard */
* { box-sizing:border-box; }
b, strong { font-weight:bold; }
i, em { font-style:italic; }
a { text-decoration:none; color:#7D0134; }
	a:hover { text-decoration:underline; }
ol li { list-style-type:decimal; }
.cursor { cursor:pointer; }
.rounded { border-radius: 10px; }
.block { display:block; }

/* posizionamenti */		
.clear { clear:both; }
.left { float: left; }
.right { float: right; }
.aligncenter { text-align:center; }
.alignright { text-align:right; }
.alignleft { text-align:left; }
.alignmiddle { align-items:center; }
.border_zero { border:0 !important; }
.fullwidth { width:100%; }

/* spaziature */
.vspaced { padding-top:70px; padding-bottom:70px; }
.hspaced { padding-left:10%; padding-right:10%; }
.topspaced { padding-top:70px; padding-bottom:0!important; }
.bottomspaced { padding-bottom:60px; }

/* colori */
.bgwhite{ background:#fff; }
.bggrey{ background:#f0f0f0; }
.bgdark{ background:#333333; color:#fff; }
.white { color:#fff; }

/* display */
.mobile { display:none; }
.desktop { display:block; }

/* colonne */
.flexcontainer { display:flex; justify-content:space-between; flex-flow:row wrap; }
.cols, .split { display:flex; justify-content:space-between; flex-flow: row nowrap; align-items:flex-start; }
	.two>* { width:48%; }
	.split.two>* { width:50%; }
	.three>* { width:32%; }
		.three .main { width:58%; }
	.split.three>* { width:33.3%; }
		.split.three .main { width:66.6%; }
	.four>* { width:22%; }
	.center { justify-content:center; }


/********************/
/* SPECIAL ELEMENTS */
/********************/

/* loading */
.preload body * { display:none; }
  .preload body #loading { display:block; }
    .preload body #loading img { display:inline; }
#loading { position:fixed; top:0; left:0; right:0; bottom:0; width:100%; z-index:1000; background:#000; text-align:center; }
	#loading img { width:100px; height:100px; margin-top:20%;  }

/* FORMS */
	form>* { font-size: 1em; }
	form .subtitle { border-top:0; }
	form p { width:100%; }
	form label { padding:0 20px 20px 0; }
	form section { margin-bottom:30px; }
		form section h2 { margin:0 0 20px 0; }
	fieldset { margin:0 0 40px 0; padding:0; border:none; }
		fieldset legend { margin-bottom:20px; font-weight:bold; }
		fieldset .spaced { margin-bottom:15px; }

/* elements */
form .field { background: #f6f5f2; color:#666; cursor:pointer; font-size: 11px; width: 100%; height: auto; padding: 1.6em; border:1px solid #aaa; position:relative; text-transform: uppercase; letter-spacing: 0.4em; margin-bottom:20px; } /* stili generali */
	form .field:hover { background:#efede7; } 
	form input[type=text]:focus, form input[type=password]:focus, form input[type=email]:focus, form textarea:focus {color:#373737;}
	form input[type=text]::placeholder { color:#bbb; }

form #spam { width:100%; margin:10px 0 30px 0; }

/*textarea*/
form textarea.field { height:150px; text-transform: none; }

/* buttons */
form input[type=submit], form input[type=button], .button {display:inline-block; background-color:#7D0134; padding:20px 30px; color:#fff; font-size:14px; font-weight:bold; margin-top:0;  min-width:150px; text-align:center; cursor: pointer;  white-space: normal; border:none; }
	form input[type=button]:hover, .button:hover, form input[type=submit]:hover { background-color:#666; text-decoration:none; }
	form .button { width:auto;}
		.button.secondary { opacity:0.6; width:28%; }

/*checkbox*/
main form input[type=checkbox] { vertical-align:middle; margin-right:10px; }

/*select*/
form .selectionWrapper { position:relative; width: 100%; height: auto; line-height: 3; overflow: hidden; }
	form .selectionWrapper select { appearance:none; outline:0; box-shadow:none; background-image: none; flex: 1; border:1px solid #999; position:relative; }

/* captcha */
main .captchabox { text-align:left; padding:20px; border: 1px solid #ccc; margin:30px 0; }
	main .captchabox p { padding:0; margin:0; }
	main .captcha { margin-top:30px; }
		main .captcha img { width:110px; }
		main .captcha input[type=text] { text-align:center;float:right;width:150px; }

/* feedback*/
main .feedback { padding:30px; text-align:center; margin-bottom:30px; }
	main .feedback h2 { text-transform:uppercase; font-size:20px; font-weight:bold; margin:0 0 10px 0; color:#49463f; }
	main  .feedback p { margin-bottom:0; }
	main  .feedback a { display:block; margin-top: 10px; text-decoration: underline; } 
	main .error{ background-color:#f7d4d7; border:2px dashed #C00; color:#C00; }
		main  .error h2 { color:#C00; }
	main  .sent{ background-color:#e3f3d5; border:2px dashed #6ba639; color:#6ba639; }
		main .sent h2 { color:#6ba639; }
		main .sent cols img { width:150px; filter: grayscale(100%) }
		main .sent a  { margin-top:0; color:#6ba639; }


/* video */
main .video-wrap { display: flex; flex-flow: column wrap; align-items: center; justify-content: center; height: 100vh; overflow: hidden; color:#fff; position:relative; }
	main .video-wrap video, main .video-wrap img { width:100%; filter: brightness(90%); }
	main .video-wrap .text { position:absolute; z-index:10; text-align:center; margin-top:20px; }
			main .video-wrap .mid { font-size:20px; text-transform:uppercase; letter-spacing:0.3em; margin-bottom:100px; }
			main .video-wrap .big { font-size:10vw;  }
			main .video-wrap .small { font-size:18px; text-align:center;  margin-top:-50px; }
			main .video-wrap p img { height:30px; margin-bottom:-5px;}
			main .video-wrap .scroll { position:absolute; bottom:40px; z-index:10; }
				main .video-wrap .scroll a { color:#fff; letter-spacing:0.3em; text-transform: uppercase; font-size:10px; }
					main .video-wrap .scroll a:hover { opacity:0.6; text-decoration: none; }
	
main .video_wrapper { margin-top:40px; position: relative; width: 100%; height: 0; padding-bottom: 56.25%;}
	main .video_wrapper .video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
	

/* JS gallery */
main .gallery { text-align:center; margin:-2%; color:#ccc; display:flex; justify-content: center; flex-wrap: wrap; }
	/* main display */
	main .gallery article { width:250px; margin:2%;  }
		main .gallery article .pic { height:250px; display:flex; align-content: center; justify-content:center; overflow:hidden; }
			main .gallery article .pic img { object-fit: cover; }
			main .gallery article .pic img:hover { filter: brightness(50%); }	
		main .gallery article h2 { display:none; }
	/* modal*/
	main .gallery .gallerymodal { display: none; position: fixed; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; overflow: hidden; background: rgba(77, 77, 77, .7); align-items:center; }
		main .gallery .modal-content { position: relative; background-color: transparent; margin: auto; padding: 0; width: 80%; max-width: 1200px; height:85%; display:flex; justify-content: center; align-items: center; }
			main .gallery .numbertext { color: #f2f2f2; font-size: 12px; padding: 8px 12px; position: absolute; top: -30px; left:0; }
			main .gallery .captionpicture { color: #f2f2f2; font-size: 12px; padding: 8px 0; position: absolute; bottom: -40px }
			main .gallery img { margin-bottom: -4px; height:100%; width:100%; object-fit:scale-down; }
				main .gallery img.hover-shadow { transition: 0.3s; }
					main .gallery .hover-shadow:hover { box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); }
			/* elementi */
			main .gallery .mySlides { display:none; height:100%; overflow:hidden; align-content: center; justify-content: center;}
			main .gallery .close { color: white; position: absolute; top: 10px; right: 25px; font-size: 35px; font-weight: bold; }
				main .gallery .close:hover, .close:focus { color: #999;text-decoration: none; cursor: pointer; }
			main .gallery .prev,main .gallery .next { cursor: pointer; position: absolute; top: 50%; width: auto; padding: 16px; margin-top: -50px; color: white; font-weight: bold; font-size: 20px; transition: 0.6s ease; user-select: none; text-decoration:none; }
				main .gallery .next { right: 0; }
				main .gallery .prev { left: 0; }
				main .gallery .prev:hover, .next:hover { background-color:#000;	}
				main .gallery .close { color: white; position: absolute; top: 10px; right: 25px; font-size: 35px; font-weight: bold; }
					main .gallery .close:hover, main .gallery .close:focus { color: #999; text-decoration: none; cursor: pointer; }


/* CSS slider e cover */
main .cover { position:relative; text-align:center; overflow:hidden; }
	main .scroll { position:absolute; bottom:35%; z-index:10; left:50%; transform: translateX(-50%); text-align:center; }
		main .scroll h2 { color:#fff; font-size:30px; font-weight:300; text-transform: uppercase; margin-bottom:20px; padding-bottom:0; }
		main .scroll h3 { color:#fff; margin-top:-20px; }
		main .scroll a { margin-bottom:40px; border:1px solid #fff; font-size:16px;  }
		main .scroll img { width:60px; opacity:0.6; }
			main .scroll img:hover { opacity:1; }
	main .cover>img { width:100%; }
.st-slider { position:relative; }
.image { height: auto; }
.radio { display: none; }
.images { overflow: hidden; top: 0; bottom: 0; left: 0; right: 0; width: 100%; }
	.images-inner { width: 500%; transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); }
		.image-slide { width: 20%; float: left; text-align:center; }
			.image-slide img { width:100%; height:100vh; object-fit:cover; }
.image-slide,.fake-radio, .radio-btn { transition: all 0.5s ease-out; }
.fake-radio { float: right;}
.labels { position:absolute; top:50px; right:5%; z-index:10; }

/* Move slides overflowed container */
#slide1:checked ~ .images .images-inner { margin-left: 0; }
#slide2:checked ~ .images .images-inner { margin-left: -100%; }
#slide3:checked ~ .images .images-inner { margin-left: -200%; }

/* Color of bullets */
#slide1:checked ~ div .fake-radio .radio-btn:nth-child(1),
#slide2:checked ~ div .fake-radio .radio-btn:nth-child(2),
#slide3:checked ~ div .fake-radio .radio-btn:nth-child(3) { background: #7D0134; }
.radio-btn { width: 9px; height: 9px; border-radius: 5px; background:#ddd;; display: inline-block !important; margin: 0 1px; cursor: pointer; }

/* Text of slides */
#slide1:checked ~ .labels .label:nth-child(1),
#slide2:checked ~ .labels .label:nth-child(2),
#slide3:checked ~ .labels .label:nth-child(3) { opacity: 1; }

/* Calculate AUTOPLAY for BULLETS */
@keyframes bullet { 
	0%, 33.32333333333334%	{ background:#7D0134; }
	33.333333333333336%, 100% { background:#ddd; }
}
#play1:checked ~ div .fake-radio .radio-btn:nth-child(1) { animation: bullet 12300ms infinite -1000ms; }
#play1:checked ~ div .fake-radio .radio-btn:nth-child(2) { animation: bullet 12300ms infinite 3100ms; }
#play1:checked ~ div .fake-radio .radio-btn:nth-child(3) { animation: bullet 12300ms infinite 7200ms;	
}
/* Calculate AUTOPLAY for SLIDES */
@keyframes slide {
	0%, 25.203252032520325%	{ margin-left: 0; }
	33.333333333333336%, 58.53658536585366%	{ margin-left: -100%; }
	66.66666666666667%, 91.869918699187%	{ margin-left: -200%; }
}
.st-slider > #play1:checked ~ .images .images-inner { animation: slide 12300ms infinite; }



/******************************/
/*    STILI PER IL LAYOUT    */
/****************************/

.smartphone { display:none; }
.desktop { display:block; }

body {color:#666; margin:0; font-family:"Futura"; }
	body .background { position:fixed; top:0; z-index:-10; }
		body .background img { width:100%; }
		
header { display:flex; justify-content:space-between; align-items:center;  padding: 1.5vw 10vw; position: fixed; width: 100%; top: 0; left: 0; z-index: 100; background:#fff; margin:0 auto; height:70px; border-bottom:1px solid #ccc; }
	header h1 { float:left; margin:0; padding:0; line-height:0; }
		header h1 img { height:50px; margin-top:5px; }
		header nav #menuIcon { display:none; }
		header nav ul li { display:inline-block; line-height:0; margin:0; }
			header nav ul li a { display: block; text-transform:uppercase; color:#333; font-size:12px; padding: 0 20px; margin:0; font-family:Futura,Arial,Helvetica,sans-serif;  }
								
main { clear:both; }
	main>*>h2 { line-height:1.6em; margin-top:0; color:#7D0134; text-transform: uppercase; margin-bottom:30px; }
	main>*>h3 { line-height:1.6em; color:#7D0134;}
	main p, main ul li, main ol li { line-height:1.6em; }
		main p:last-of-type { margin-bottom:0!important; }

/* generic for primary sections */	
main>section>h2, main>section>h3 { text-align:center; }
main>section>h3 { margin:-20px 0 60px; }

/* intro sections */
main .intro { text-align:center; padding: 70px 20%; }
	main .intro h2 { margin:0 0 20px 0; padding:0; }
	main .intro h3 { margin-bottom:40px; }
		main .intro .wrapper { margin-left:50%; padding:30px 6%; }
			main .intro p { font-size:18px; }  
			main .intro .small { font-size:12px; }

/* styles for images */
main .displayimages { align-content: stretch; background-color: #f0f0f0; margin-top:50px; }
	main .displayimages img { width:100%; display:block; border:3px solid #f0f0f0; }
main .cols img { width:100%; }
main .deco { height:70vh; overflow:hidden; display: flex; align-items:center; }
	main .deco img { width:100%; }

/* home about points */
	main .points img { width:70%; }
	main .points h3 { text-transform: uppercase; }

/* logos */
main .logos { display:flex; justify-content: center; padding:0 10%; }
	main .logos img { height:20px; margin:50px 30px 0 30px; }

/* text */	
main .text p { margin-bottom:15px; line-height:1.6em; }
main .text section, main .text article { margin-bottom:30px; }
	main .text section h2, main .text article h2 { font-size:16px; } 

main .socials { display:flex; justify-content: center; align-items:center; }
	main .socials>* { margin:0 15px; }
	main .socials img { height:50px; }

footer { clear:both; text-align:center; font-size:12px; background:#f0f0f0; padding:3%; border-top:1px solid #ccc; line-height:1.6em; }
	footer .totop { position: fixed; right: 2%; bottom: 2%; background-color: transparent; padding: 0; min-width: 0; }
	footer h2 { font-size:12px; font-weight:normal; }
		footer h2 strong { font-size:14px; }

.iub__us-widget__link--privacy-choices::after, .iubenda-tp-btn.iubenda-cs-preferences-link{ filter:grayscale(1)!important}
.iub__us-widget__link { font-size:12px; }


/****************************/
/*    STILI PER I MAXI SCHERMI    */
/****************************/
@media only screen and (min-width: 1282px) { }

/****************************/
/*    STILI PER I DESKTOP   */
/****************************/
@media only screen and (min-width: 1025px) { 
	
/*navigazione*/
	header nav #menuIcon { display:none; }
	nav { font-size: 10px; text-transform:uppercase; letter-spacing: 0.2em; }
		nav ul { background:url(../img/backgrounds/default/bg_menu.png) bottom repeat-x; margin:0; padding:0; }
			nav li a, nav li .a { display:block; padding:5px 0; margin:0 20px; color: #fff;  }
			nav li strong { text-transform:uppercase; font-size:12px; color:#666; font-style:normal; }
			nav li a.special { background:#80a40a; color:#222; }
				nav li a.special strong { color:#222; }
			nav li a:hover, nav a.active { text-decoration:none; border-bottom:1px solid #fff; padding-bottom:4px; }
			/* subnav */
			nav li ul { display:none; }
				nav li:hover ul { display:block; position: absolute; width:200px; background:none; z-index:101; top:10px; padding-top:15px; left:0; background:transparent url(../img/submenu_arrow.png) no-repeat 40px top; }
					nav li:hover li { background:#111; width:200px; text-align:left; border:0; border-bottom:1px solid #333; }
					nav li:hover ul li strong { color:#fff; }
					nav li:hover ul a { color:#fff; margin:0; padding:10px 20px; }
						nav li:hover ul a:hover { background:#333; border:0;  }
}


/****************************/
/*    STILI PER I TABLET    */
/****************************/
@media only screen and (max-width: 1024px) { 
.mobile { display:block; }
.desktop { display:none; }
	
	
header { overflow:visible; }
/* slideout menu -- */
	nav .mobile img { height:50px; }
	.slideout-sidebar { position: fixed; top: 0; left: -190px; z-index: 0; width: 150px; height: 100%; padding: 20px; background-color: #ffffff; transition: all 300ms ease-in-out; }
		.slideout-sidebar a { color:#333; }
		.slideout-sidebar ul { list-style: none; margin: 0; padding: 0; }
			.slideout-sidebar ul li { cursor: pointer; padding: 18px 0; border-bottom: 1px solid #ccc; color:#fff; display:block; }
			.slideout-sidebar ul li:last-child { border-bottom: 0; }
			.slideout-sidebar ul li:hover { color: rgba(244,244,244,1); }
		/*submenu*/
		.slideout-sidebar ul li ul { display:none; }
		.slideout-sidebar ul li:hover ul { display:block; text-align:right; font-size:12px; border-top: 1px solid #ccc; }
			.slideout-sidebar ul li:hover ul li { color:#aaa; border-color:#555; }
			.slideout-sidebar ul li:hover ul li:last-of-type { padding-bottom:0; }
	/* closed */
	.menu-icon { position:absolute; top:10px; right:30px; font-size:14px; z-index:1; transition:all 300ms ease-in-out; }
	#menu-toggle { display: none; }
		#menu-toggle:checked ~ .slideout-sidebar { left: 0; }
		#menu-toggle:checked + .menu-icon {  }
		#menu-toggle:checked ~ .content-container { padding-left: 190px; }
	.content-container { max-width: 480px; }
	/* open */
	.menu-icon { right: 10vw; }  
	#menu-toggle:checked ~ .content-container { padding-left: 0; } 
		.slideout-sidebar ul { text-align: center; max-width: 200px; margin: 30px auto 0; } 
		#menu-toggle:checked ~ .slideout-sidebar { width: 300px; }
		#menu-toggle:checked + .menu-icon { color: #fafafa; }
	
	
	
	
/* video */
main .video-wrap video { height:100%; width:auto; }
	main .video-wrap .big { font-size:12vw;  }
		main .video-wrap .small { margin-top:-20px; }


/*slider */
	.images { height:100vh; width:auto; text-align: center; overflow:hidden; }
	.image-slide img { height:100vh; width:100%; }
	.inner .image-slide img { height:60vh; }

/* gallery */	
main .gallery article { width:28%; }	
main .gallery .modal-content img { height:auto; width:100%;  }
	
main .deco { height:40vh; }
main .displayimages { height: auto; }


/******************************/
/*    STILI PER SMARTPHONE    */
/******************************/

@media only screen and (max-width: 767px) {

.alignleft, .alignright { text-align:center; }
.vspaced { padding-top:30px; padding-bottom:30px; }
.topspaced { padding-top:30px; }
	
main .cols { flex-flow: row wrap; }
	main .cols>*, main .three .main { width:100%!important; text-align:center; }
	main .split.two { width:100%; text-align:center; }
	main .split.three>* { width:50%; }
main .four>* { width:48%; }

main .displayimages { margin:0; }	
main .deco { height:25vh; }
	main .cover.deco { height:35vh; }
	.st-slider.inner { height:400px; margin-top:30px; }
	.st-slider.inner img { width:100%; }

/* video */
main .video-wrap video { height:100%; width:auto; }
	main .video-wrap .big { font-size:12vw;  }
		main .video-wrap .small { margin-top:-20px; }
	
/* video */
main .video-wrap video { height:100%; width:auto; }
	
footer { margin-top:30px;}
}




@media only screen and (max-width: 500px) {
.desktop { display:none; }
.mobile { display:block; }

main .gallery article { width:45%; margin:2% 0;  }
}


	
	



