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


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

/* Montserrat */
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 300; font-display: swap; src: url(fonts/montserrat_ext.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 300; font-display: swap; src: url(fonts/montserrat.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: italic; font-weight: 300; font-display: swap; src: url(fonts/montserrat_italic_ext.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: italic; font-weight: 300; font-display: swap; src: url(fonts/montserrat_italic.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: italic; font-weight: 700; font-display: swap; src: url(fonts/montserrat_bold_ext.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/montserrat_bold.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face { font-family: 'Montserrat'; font-style: italic; font-weight: 700; font-display: swap; src: url(fonts/montserrat_bold_italic_ext.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: italic; font-weight: 700; font-display: swap; src: url(fonts/montserrat_bold_italic.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/montserrat_400_ext.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap;
src: url(fonts/montserrat_400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Quattrocento */
@font-face { font-family: 'Quattrocento'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/Quattrocento_ext.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Quattrocento'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/Quattrocento.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Quattrocento'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/QuattrocentoBold_ext.woff2) format('woff2'); unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Quattrocento'; font-style: normal; font-weight: 700; font-display: swap; src: url(fonts/QuattrocentoBold.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }



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

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

/* 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%; }
.stretch { align-items:stretch!important; }

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


/* colori */
.bgwhite{ background:#fff; }
.bggrey{ background:#f2efed; }
.bgblack{ background:#222222; color:#fff; }
.bgdark{ background:#7b6653; color:#fff; }
.bgred{ background:#d04a45; color:#fff; }
	.bgred a{ 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 { display:flex; justify-content:space-between; flex-flow: row nowrap; align-items:flex-start;  }
	.two>* { width:46%; }
	.split-two>* { width:50%; }
	.three>* { width:30%; }
		.three .main { width:58%; }
	.split-three { width:33.3%; }
	.four>* { width:22%; }
	.center { justify-content:center; }


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

/* video */
main .video-container {
	margin-top:2%;
  width: 100%; /* Occupa tutta la larghezza disponibile */
  aspect-ratio: 16 / 9; /* Mantiene la proporzione automatica */
}

.video-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

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

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

body {color:#666; font-family: 'Montserrat', sans-serif; margin:0; }
	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: 5px 1.8vw; position: fixed; width: 100%; top: 0; left: 0; z-index: 100; background-color:#fff; box-shadow: 0 4px 8px -5px #666; }
	header h1 { margin:0; padding:0; }
		header h1 img { height:40px; }
	header .languages { padding:10px; border:1px solid #333;  font-size: 10px; color:#333; }
		header .languages a { display:inline-block; color:#333; margin: 0 20px; }
	nav li { display:inline-block; font-size:10px; text-align:center; line-height:1.4em; color:#ccc; position:relative; font-weight:bold; text-transform: uppercase;  }
		nav li:hover ul a { font-weight:normal; text-transform: none; }				
				
main { clear:both; }
	main p, main ul li, main ol li { line-height:1.6em; }
		main p:last-of-type { margin-bottom:0!important; }

main .cover { height:80vh; position:relative; overflow:hidden; }
	main .cover img { height:100%; text-align:center; object-fit: cover; width:100%; }
	main .cover p { text-align:center; position:absolute; bottom:-1vw; color:#fff; font-size:10vw; width:100%; margin:0; padding:0; line-height:0.8; font-family: 'Quattrocento', serif; }

/* titles */
main .titlewrapper { text-align:center; margin-bottom:50px; }
	main .titlewrapper h2 { font-family: 'Quattrocento', serif; font-size:30px; }
	main .titlewrapper .subtitle { display:inline-block; text-transform: uppercase; margin-top:0; padding-top: 15px; border-top:1px solid;  }

main .hero { color:#e73f1a; text-align:center;  }
	main .hero h1 { text-transform: none; margin:0; padding:0; font-size:4vw; font-family:'Quattrocento', serif; }
	main .hero h2 { background-color:#e73f1a; color:#fff; padding-top: 15px; padding-bottom:15px; margin:0; }

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

/* splitted sections */
main .split-two { align-items: center; }
	main .split-two .pic { max-height:600px; overflow:hidden; display:flex; align-content: center; }
		main .split-two .pic img { width:100%; object-fit: cover; }

main .map img { width:100%; height:auto; }

main .boxes { align-items: stretch; }
	main .boxes>* { background-color:#f2efed; position:relative; }
	main .boxes img { width:100%; }
	main .boxes .textwrapper { padding:10%; }
		main .boxes .textwrapper h3 { margin-top:0; margin-bottom:30px; background-color: #e73f1a; color: #fff; text-transform: uppercase; padding:5px 10px; font-size:14px; }
main .boxes .textwrapper h3.label { background-color:#e73f1a; color:#fff; display:inline-block; position:absolute; top:0; left:0; z-index:10; }

main .food { display:flex; justify-content: space-between; flex-wrap:wrap; }
	main .food article { width:15%; margin:20px 0; }
		main .food article h3, main .food article p { margin:0; padding:0; font-size:14px; text-align:center; }
		main .food article img { width:100%;  }

main .seasons { flex-wrap:wrap; }
	main .seasons article { position:relative; margin:2% 0; }
		main .seasons img { width:100%; }
		main .seasons article .textwrapper { width:100%; position:absolute; bottom:0; left:0; padding: 7px 10px; background-color:#f2efed; }
		main .seasons article .textwrapper h3 { margin:0; font-size:16px; color:#333;  font-weight: normal; }
		main .seasons article .textwrapper h3 strong { text-transform:uppercase; }

main .gallery { flex-wrap:wrap; }
 main .gallery div { margin:2% 0; }
	main .gallery img { width:100%; }

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

a.button { margin-top:20px; background-color:#fff; color:#e73f1a!important; padding:20px 40px; display:inline-block; }

footer { clear:both; text-align:center; font-size:12px; }
	footer h2 { font-size:12px; font-weight:normal; }
		footer h2 strong { font-size:14px; }

footer .ministero-info { margin-top:50px; border:1px solid #ccc; background-color:#fff; align-items: center; padding:50px;  }
	footer .ministero-info img { height:50px; margin-right:50px; }
	footer .ministero-info p { font-size:12px; text-align:left; margin-bottom:0; }


/****************************/
/*    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 0px; margin:0 20px; color: #333;  }
			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:0px; 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) { 
.desktop { display:none; }
.mobile { display:block; }
	
header { overflow:visible; }
	
/* Slideout menu */
nav.mobile img.hamburger { height:45px!important; opacity:0.6; }	 
	.slideout-sidebar { position: fixed; top: 0; left: -190px; z-index: 100; width: 150px; height: 100%; padding: 20px; background: #e73f1a!important; transition: all 300ms ease-in-out; }
		.slideout-sidebar a, .slideout-sidebar .a { color:#fff; }
		.slideout-sidebar .a:last-of-type { margin-left:0;}
		.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; margin-top:18px }
			.slideout-sidebar ul li:hover ul li { color:#aaa; border-color:#173d76; background:#2d4e7f; padding-right:10px; display:block;  }
				.slideout-sidebar ul li:hover ul li:last-of-type { margin-bottom:-18px;}
	/* closed */
	.menu-icon {  font-size:14px; z-index:1; transition:all 300ms ease-in-out; cursor:pointer; }
	#menu-toggle { display: none!important; }
		#menu-toggle:checked ~ .slideout-sidebar { left: 0; }
		#menu-toggle:checked + .menu-icon { left: 210px; filter:invert(1);  }
		#menu-toggle:checked ~ .content-container { padding-left: 190px; }
	.content-container { max-width: 480px; }
	/* open */ 
	#close { position:absolute; right:20px; filter: invert(1); width:30px; }
	#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: 100%; }
		#menu-toggle:checked + .menu-icon { left: 75%; color: #fafafa; z-index:1000; }
	
main .scroll a { display:none; }
	
/* video */
main .video-wrap video { height:100%; width:auto; }
	main .video-wrap .big { font-size:12vw;  }
		main .video-wrap .small { margin-top:-20px; }
}


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

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

.alignleft, .alignright { text-align:center; }
	
.cols { flex-flow: row wrap; }
	.cols>*, main .three .main { width:100%;  margin:30px 0; }
	.split>* { width:100%; text-align:center; }
.four>* { width:48%; }
main .food article { width:48%; margin:20px 0; }

/* 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 .ministero-info>* { text-align:center; }
	footer .ministero-info img { height:50px; margin:0; }	
}




	



