@charset "UTF-8";

*,
*:before,
*:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

body {
	/* font-family: "Raleway"; */
	font-family: "Montserrat"; 
    letter-spacing: .05rem;
	font-size: 14px; 
    padding: 0; margin: 0;
	background: #fff; 
    padding: 212px 0 0 0;
}
	/* 135 è la home2 */
body.body-no-sottomenu, body.page-id-135 { padding: 178px 0 0 0 !important; }
	/* modificatori di body */
	body.qr_view_medium,
	body.qr_view_small,
	body.qr_view_small.body-no-sottomenu { padding: 70px 0 0 0; }
	body.menu_mobile_aperto { }
	body.device_is_mobile { } /* classe fissa, inizializzata da php, che indica se il dispositivo è mobile oppure no... serve per variare alcuni comportamenti di jquery */
	body.device_is_desktop { }


a { color: #333; text-decoration: underline; }
		a:hover { color: #666; text-decoration: none; }

.separatore { height: 1px; overflow: hidden; clear: both; }

/* testata */
.testata { position: fixed; z-index: 4; top: 0; left: 0; right: 0; padding: 10px 0; background: #fff; }

    a.testata-logo,
	a.testata-logo-claim-1-riga,
	a.testata-logo-claim-2-righe { display: block; margin: 0 auto; }
		a.testata-logo { width: 276px; height: 110px; }
		a.testata-logo-claim-1-riga { width: 226px; height: 90px; }
		a.testata-logo-claim-2-righe { width: 188px; height: 75px; }

			a.testata-logo-claim-1-riga > img,
			a.testata-logo-claim-2-righe > img,		
			a.testata-logo > img { display: block; width: inherit; height: inherit; border: 0; }
		
	.testata-claim-1,
	.testata-claim-2 { text-align: center; text-transform: uppercase; }
		.testata-claim-1 { font-weight: 600; line-height: 22px; font-size: 14px; }
		.testata-claim-2 { line-height: 13px; font-size: 11px; }

	.testata-about,
	.testata-link-home,
	.testata-social,
	.testata-apri-menu-mobile { position: absolute; bottom: 7px; height: 40px; line-height: 40px; }
		.testata-about { left: 15px; }
			.testata-about > a { color: #999; font-size: 12px; text-decoration: none; font-weight: bold; }
				.testata-about > a > span { display: none; }
				.testata-about > a:hover { color: #666; }
				.testata-about > a:hover > span { display: inline; }
		.testata-link-home { left: 130px; }
			.testata-link-home > a { 
				display: inline-block; height: 30px; line-height: 30px; width: 30px; margin: 5px 2px; color: #999; text-decoration: none; text-align: center; font-size: 15px; 
			}
		.testata-social,
		.testata-apri-menu-mobile { right: 15px; }	
			.testata-social { text-align: right; }
				.testata-social > a { 
					-webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%;
					display: inline-block; height: 30px; line-height: 30px; width: 30px; margin: 5px 2px; 
					background: #999; color: #fff; text-decoration: none; text-align: center; font-size: 15px;
				}
					.testata-social > a:hover { background: #666; } 
			.testata-apri-menu-mobile { 
				display: none; /* serve solamente nella versione mobile */ 
				width: 40px;
			}
				.testata-apri-menu-mobile > a {
					display: block; width: inherit; height: inherit; line-height: inherit; text-align: center; color: #333; font-size: 24px; text-decoration: none;
				}
					.testata-apri-menu-mobile > a:hover { color: #666; }
	
/* menu about */	
.menu-about	 { position: fixed; background: #fff; top: 5px; left: -300px; min-width: 200px; border: 1px solid #ccc; border-left: 0; z-index: 6; }
	.menu-about > a.chiudi-menu-about { 
		display: block; width: 20px; height: 20px; line-height: 20px; text-align: center; color: #333; text-decoration: none;
		position: absolute; top: 5px; right: 5px; 
	}
	.menu-about > ul { display: block; list-style: none; padding: 5px; }
		.menu-about > ul > li { display: block; margin: 0; padding: 0; border-bottom: 1px solid #f2f2f2; overflow: hidden; }
			.menu-about > ul > li > a { display: block; padding: 5px 10px; color: #333; text-decoration: none; }
				.menu-about > ul > li > a:hover { background: #f2f2f2; color: #666; }
				
		.menu-about > ul > li:last-child { border-bottom: 0; }
	
/* menu (navigazione) */
.menu { 
	display: block; background: #f6f4f0; border-top: 1px solid #dcdcdc; border-bottom: 1px solid #dcdcdc; padding: 0; margin: 0; text-align: center; 
	position: fixed;
	top: 178px;
	left: 0;
	right: 0;
	z-index: 5;
}

	.menu.menu-home { top: 130px; }
	.menu > ul {
		display: block; list-style: none; padding: 0; margin: 0; text-align: center; font-size: 11px;
	}
		/* modificatore per quando il menù è in home page / home2 */	
		.menu.menu-home > ul {
			font-size: 12px;
		}
		.menu > ul > li { 
			position: relative; 
			display: inline-block; 
			padding: 0; 
			margin: 0;
			border: 0;
			/* margin-right: -4px; */ /* <-- trick per eliminare lo spazio a sinistra con inline-block */
			height: 32px; 
			line-height: 32px;
		}
        .menu.menu-home > ul > li { 
            height: 48px; 
			line-height: 14px;
        }
			.menu > ul > li:hover { }
			.menu > ul > li.current-menu-item ,
			.menu > ul > li.current-menu-parent  { }
			.menu > ul > li.menu-item-has-children { }

			/* bordo che evidenzia la sezione corrente del primo menù */
            .menu.menu-home.sezione_menu-item-138 > ul > li.menu-item-138 > a,
			.menu.menu-home.sezione_menu-item-406 > ul > li.menu-item-406 > a,
			.menu.menu-home.sezione_menu-item-889 > ul > li.menu-item-889 > a, 
			.menu.menu-home.sezione_menu-item-2557 > ul > li.menu-item-2557 > a,
			.menu.menu-home.sezione_menu-item-2330 > ul > li.menu-item-2330 > a {
				border-bottom: 5px solid #6b1400;
    			padding-bottom: 5px;
            }
			
			.menu > ul > li::after {
				/* losanga */
				transform: rotate(45deg);
    			background-color: #ccc;
    			content: " ";
    			display: inline-block;
    			height: .4rem;
    			width: .4rem;
			    position: absolute;
    			top: 12px;
    			left: -5px;
			}
            .menu.menu-home > ul > li::after { 
                top: 21px;
            }
			
			/* modifiche alle singole voci di menù generate da WP */
			/* nascondiamo il menù "about" */
			.menu > ul > li#menu-item-1579,
			.menu > ul > li#menu-item-17,
			.menu > ul > li#menu-item-141,
			.menu > ul > li#menu-item-150,
			.menu > ul > li#menu-item-159,
			.menu > ul > li#menu-item-883 { display: none; }
			
			.menu > ul > li > a { 
				display: block; height: inherit; line-height: inherit; color: #000; text-decoration: none; text-transform: uppercase; padding: 0 20px;
				/*font-family: "Montserrat"; letter-spacing: .05rem; */ font-weight: 600;
			}
				.menu > ul > li:first-child::after { display: none; }
				.menu > ul > li.menu-item-has-children > a { /* background: url(img/caret.png) no-repeat right center; padding-right: 32px; */ }
				.menu > ul > li > a:hover { }
            
            .menu.menu-home > ul > li > a {
                padding-top: 10px;
                padding-bottom: 10px;
            }
                .menu.menu-home > ul > li > a > span {
                    font-size: 9px;
                }

			/* sottomenù */
			.menu > ul > li > ul { 
				display: none; position: absolute; top: 30px; left: 0; list-style: none; padding: 0; margin: 0; min-width: 250px; text-align: left; font-size: 12px;
				background: #fff; border: 1px solid #ccc; z-index: 5;
			}
				.menu > ul > li > ul > li { display: block; padding: 0; margin: 0; }
					.menu > ul > li > ul > li > a { display: block; height: 32px; line-height: 32px; padding: 0 20px; color: #333; text-decoration: none; text-transform: uppercase; }
						.menu > ul > li > ul > li > a:hover { background: #f2f2f2; color: #666; }
		
		/* link social (visualizzati solo nel menù in modalità mobile ) */
		.menu .social-mobile { display: none; /* vedi css più sotto */ }


		/* JS MEDIAQUERY */
		/* versione mobile con modificatore del body "body.qr_view_medium" e "body.qr_view_small" */
		
		/* testata */
		body.qr_view_medium .testata,
		body.qr_view_small .testata { padding: 5px 0; }

			body.qr_view_medium a.testata-logo,
			body.qr_view_small a.testata-logo,
			body.qr_view_medium a.testata-logo-claim-1-riga,
			body.qr_view_small a.testata-logo-claim-1-riga,
			body.qr_view_medium a.testata-logo-claim-2-righe,
			body.qr_view_small a.testata-logo-claim-2-righe { }
				body.qr_view_medium a.testata-logo,
				body.qr_view_small a.testata-logo,
				body.qr_view_medium a.testata-logo-claim-1-riga,
				body.qr_view_small a.testata-logo-claim-1-riga,
				body.qr_view_medium a.testata-logo-claim-2-righe,
				body.qr_view_small a.testata-logo-claim-2-righe { width: 151px; height: 60px; }

			body.qr_view_medium .testata-claim-1,
			body.qr_view_small .testata-claim-1,
			body.qr_view_medium .testata-claim-2,
			body.qr_view_small .testata-claim-2,
			body.qr_view_medium .testata-about,
			body.qr_view_small .testata-about,
			body.qr_view_medium .testata-social,
			body.qr_view_small .testata-social { display: none; }
			body.qr_view_medium .testata-link-home,
			body.qr_view_small .testata-link-home { left: 5px; top: 50%; margin: -20px 0; bottom: auto; }
				body.qr_view_medium .testata-link-home > a,
				body.qr_view_small .testata-link-home > a { font-size: 20px; }
			body.qr_view_medium .testata-apri-menu-mobile,
			body.qr_view_small .testata-apri-menu-mobile { display: block; right: 5px; top: 50%; margin: -20px 0; bottom: auto; }
		
		/* menu */
		body.qr_view_medium .menu,
		body.qr_view_small .menu { 
			display: none;
			top: 70px;
			bottom: 0;
			overflow: auto;
			background: #333;
			padding: 0 0 40px 0;
		}
		
			body.qr_view_medium .menu > ul,
			body.qr_view_small .menu > ul {
				text-align: left; 
			}
				body.qr_view_medium .menu > ul > li,
				body.qr_view_small .menu > ul > li { 
					display: block; margin-right: 0; border-top: 0; height: auto; border-bottom: 1px dotted #000; /*border-bottom: 1px dotted #fff*/;
				}
					body.qr_view_medium .menu > ul > li:first-child,
					body.qr_view_small .menu > ul > li:first-child { border-top: 1px dotted #000; /*border-top: 1px dotted #fff;*/ }
					body.qr_view_medium .menu > ul > li:hover,
					body.qr_view_small .menu > ul > li:hover { }
					body.qr_view_medium .menu > ul > li.current-menu-item,
					body.qr_view_small .menu > ul > li.current-menu-item
					body.qr_view_medium .menu > ul > li.current-menu-parent,
					body.qr_view_small .menu > ul > li.current-menu-parent { }
					
					
						body.qr_view_medium .menu > ul > li::after,
						body.qr_view_small .menu > ul > li::after {
							/* losanga */
							display: none;
						}
						
						/* mostro il menù about nel mobile */
						body.qr_view_medium .menu > ul > li#menu-item-1579,
						body.qr_view_small .menu > ul > li#menu-item-1579,
						body.qr_view_medium .menu > ul > li#menu-item-17,
						body.qr_view_small .menu > ul > li#menu-item-17,
						body.qr_view_medium .menu > ul > li#menu-item-141,
						body.qr_view_small .menu > ul > li#menu-item-141,
						body.qr_view_medium .menu > ul > li#menu-item-150,
						body.qr_view_small .menu > ul > li#menu-item-150,
						body.qr_view_medium .menu > ul > li#menu-item-159,
						body.qr_view_small .menu > ul > li#menu-item-159 { display: block; }
					
					body.qr_view_medium .menu > ul > li > a,
					body.qr_view_small .menu > ul > li > a { 
						border-right: 0; padding: 15px; color: #fff;
					}
						body.qr_view_medium .menu > ul > li:last-child > a,
						body.qr_view_small .menu > ul > li:last-child > a { }
						body.qr_view_medium .menu > ul > li > a:hover,
						body.qr_view_small .menu > ul > li > a:hover { background-color: #545454; /*background-color: #ccc;*/ }
				
					/* sottomenù */
					body.qr_view_medium .menu > ul > li > ul,
					body.qr_view_small .menu > ul > li > ul { 
						position: static; top: auto; left: auto; min-width: 0; background: transparent; border: 0;
					}
						body.qr_view_medium .menu > ul > li > ul > li,
						body.qr_view_small .menu > ul > li > ul > li { margin-bottom: 1px; }
							body.qr_view_medium .menu > ul > li > ul > li > a,
							body.qr_view_small .menu > ul > li > ul > li > a { 
								height: auto; line-height: none; padding: 15; color: #fff; background: #454545; 
							}
								body.qr_view_medium .menu > ul > li > ul > li > a:hover,
								body.qr_view_small .menu > ul > li > ul > li > a:hover { background: #fff; color: #333; }	
								
					/* link social (visualizzati solo nel menù in modalità mobile ) */
					body.qr_view_medium .menu .social-mobile,
					body.qr_view_small .menu .social-mobile { display: block; position: fixed; left: 0; right: 0; bottom: 0; height: 40px; line-height: 40px; background: #333; }
						body.qr_view_medium .menu .social-mobile > a,
						body.qr_view_small .menu .social-mobile > a { 
							display: block; height: inherit; line-height: inherit; width: 25%; float: left; margin: 0; color: #fff; text-decoration: none; text-align: center; font-size: 17px;
						}
							body.qr_view_medium .menu .social-mobile > a:hover,
							body.qr_view_small .menu .social-mobile > a:hover { background: #666; } 
								



.aligner {
  
}

	.aligner-item {
	  max-width: 50%;
	}


/* testo in home page */
.home-text-wrapper { 
	max-width: 960px; margin: 0 auto; padding: 30px 30px 0 30px; 
}

/* box con immagini in Home Page */
.home-box-wrapper { 
	/*display: grid;
	grid-template-columns: 50% 50%;*/
	max-width: 960px; margin: 0 auto; padding: 15px;
}
	.home-box-1,
	.home-box-2,
	.home-box-3 { 
		position: relative; z-index: 1; /*float: left;*/ padding: 15px; font-size: 12px; 
	}
		.home-box-1,
		.home-box-2 { width: 100%; }
		
			/* 1 - immagine di sfondo */
			.home-box-img { }
				.home-box-img > img { display: block; width: 100%; height: auto; border: 0; }

			/* 2 - scritta fatta a immagine (la stessa della home page per le slide) */
			/* viene centrata con il metodo FLEXBOX */
			a.home-box-scritta {
				display: block;
				position: absolute; z-index: 2; top: 15px; left: 15px; right: 15px; bottom: 15px; 
				display: flex; align-items: center; justify-content: center; 
			} 
				a.home-box-scritta:hover { /*background: url(img/bg-content3.png) repeat center center;*/ }
				a.home-box-scritta > .flex-item { max-width: 85%; }
					a.home-box-scritta > .flex-item > img { max-width: 100%; max-height: 100%; width: auto; height: auto; border: 0; text-decoration: none; }
		
		/* .home-box-3 è diverso dagli altri due */
		.home-box-3	{ width: 100%; margin-left: 50%; }
			.home-box-3 a.home-box-img { }
			.home-box-3 .home-box-info { }
	
		@media screen and (min-width: 0px) and (max-width: 700px) {
			.home-box-wrapper { grid-template-columns: 100%; }
			.home-box-1,
			.home-box-2,
			.home-box-3 { /*float: none;*/ width: auto; padding: 0; margin: 0 0 15px 0; }
			.home-box-3 { margin-left: 0; }
				a.home-box-scritta {
					top: 0; left: 0; right: 0; bottom: 0;
				} 
		}


/* pagina generica */
.content { 
	padding: 30px 40px;		
	background-color: rgba(255, 255, 255, .85);
	color: #000;
	max-width: 900px; /* max-width: 820px; */
	margin: 0 auto;
}	
	.content h1,
	.content h2,
	.content h3	{ font-weight: bold; padding: 0; margin: 0 0 20px 0; }
		.content h1 { font-size: 20px; }
		.content h1 span { }
	.content p { margin: 0 0 20px 0; color: 000; line-height: 1.75; }	
	
	/* 1 - struttura colonna UNICA */
	.content .col_unica { }
	
	/* 2 - struttura a DUE colonne */	
	.content .col_sx { float: left; width: 31%; }
		/* sottomenù nella colonna di sx */
		.content .col_sx > ul { 
			display: block; list-style: none; padding: 0; margin: 0;
		}
			.content .col_sx > ul > li { padding: 0; margin: 0; display: block; }
			.content .col_sx > ul > li.page_item_has_children { position: relative; }
				.content .col_sx > ul > li.page_item_has_children > .mosNasSottomenu { 
					/* div per aprire e chiudere il sottomenù */
					position: absolute; top: 3px; right: 0; 
					height: 30px; width: 36px; border-left: 1px solid #999; 
				} 
					.content .col_sx > ul > li.page_item_has_children > .mosNasSottomenu > span { display: none; }
					.content .col_sx > ul > li.page_item_has_children > .mosNasSottomenu:hover { cursor: pointer; }
				.content .col_sx > ul > li.page_item_has_children > a { 
					padding-right: 30px; background-image: url(img/ico-open-close.png); 
					background-size: 25px 50px;
					background-repeat: no-repeat;
					background-position: right 10px;
				}
					/* modificatore applicato da jquery per capire che il submenù è aperto */
					.content .col_sx > ul > li.page_item_has_children.submenu_open { }
						.content .col_sx > ul > li.page_item_has_children.submenu_open > a { background-position: right -30px; }
			
				.content .col_sx > ul > li > a { 
					display: block;
					line-height: 36px;
					padding: 0 10px;
					text-transform: uppercase;
					font-size: 12px;
					letter-spacing: 1px;
					color: #000;
					text-decoration: none;
				}
					.content .col_sx > ul > li > a:hover { color: #666; }

					.content .col_sx > ul > li.current_page_item > a,
					.content .col_sx > ul > li > ul > li.current_page_item > a {
						background-color: #bfbfbf;
						background-color: rgba(0,0,0,0.20);						
					}
					
				/* sottomenù del sottomenù */
				.content .col_sx > ul > li > ul { display: none; list-style: none; padding: 0; margin: 0; }
					.content .col_sx > ul > li > ul > li { padding: 0; margin: 0; display: block; }					
						.content .col_sx > ul > li > ul > li > a { 
							display: block;
							line-height: 36px;
							padding: 0 22px;
							text-transform: uppercase;
							font-size: 12px;
							letter-spacing: 1px;
							color: #000;
							text-decoration: none;
							background: url(img/ico-submenu.png) left center no-repeat;
							background-size: 10px 10px;
						}
							.content .col_sx > ul > li > ul > li > a:hover { color: #666; }
	
	.content .col_dx { float: right; width: 65%; }

	body.qr_view_medium .content,
	body.qr_view_small .content { padding: 4%; max-width: none; }
	
		body.qr_view_small .content .col_sx,
		body.qr_view_small .content .col_dx { float: none; width: auto; }			
			body.qr_view_small .content .col_sx { 
				/* border: 1px solid #ccc; */
				padding: 5px;
			}


/* prev/next delle slide in home */
#img_prev,
#img_next {
	display: block;
	position: fixed;
	width: 24px;
	height: 48px;
	background-position: center center;
	background-repeat: no-repeat;
	top: 50%;
	margin: 60px 0 0 0;
	z-index: 2;
}		
	#img_prev span,
	#img_next span { display: none; }
	#img_prev { left: 30px; background-image: url(img/img_prev.png); }
	#img_next { right: 30px; background-image: url(img/img_next.png); }
	
		body.qr_view_medium #img_prev,
		body.qr_view_medium #img_next { margin: 40px 0 0 0; }
		body.qr_view_small #img_prev,
		body.qr_view_small #img_next { margin: 25px 0 0 0; }
		
/* testo in sovraimpressione nelle slide in home */
#mySlideText_container {
	/* display: none; */
	position: fixed;
	top: 100px;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}

		body.qr_view_medium #mySlideText_container,
		body.qr_view_small #mySlideText_container { top: 50px; }
		
	#mySlideText_container .slideText {
		display: block;
		position: absolute;
		margin-top: -5000px; /* non uso il display none, in modo da poter aggiustare l'altezza con js */
		top: 50%;
		left: 0;
		right: 0;
		text-align: center;
		padding: 0 10px;
;
	}
		/* id di .slideText */
		#mySlideText_container #slideText1,
		#mySlideText_container #slideText2 { }
		#mySlideText_container #slideText3 { }
		#mySlideText_container #slideText4 { }
		#mySlideText_container #slideText5 { }
		
			#mySlideText_container .slideText img { 		
				max-width: 100%;
				width: auto;
				height: auto;
				border: 0;
			}		
			
			
/* margine form */
.form-margin-sx { margin-left: 10%; }
	
	@media screen and (min-width: 0px) and (max-width: 600px) {
		form-margin-sx { margin-left: 0; }
	}

/* subtitle */
.subtitle { display: block; }

/* linea spessa */	
hr { 
	color: #666;
}
	hr.lineaSpessa {
		border-bottom-width: 4px;
		border-style: solid;		
		color: #67002e;
	}

/* allinea un testo a sx e uno a dx */
.txtSX,
.txtDX { width: 50%; float: left; text-align: center; margin: 0 0 20px 0; }
	.txtSX { }
	.txtDX { }
	
	/* risoluzioni basse */
	body.qr_view_small .txtSX,
	body.qr_view_small .txtDX { width: auto; float: none; }

/* classe per elementi rossi e blu */
.rosso,
	a.rosso { color: #790e11; }
		a.rosso:hover { color: #666; }
	
.blu,
	a.blu { color: #256183; }
		a.blu:hover { color: #666; }

.wpcf7-submit { 
    background: #6b1400;
    padding:10px;
    color: #ffffff;
}

/* questa modifica serve a risolvere un bug inspegabile con fontawesome comparso dal nulla... */
.svg-inline--fa { margin: 7px 0 0 0; }

/* ============================================
   FIX post-WP-update (maggio 2026)
   global-styles-inline-css di WordPress azzera il padding del body.
   Usiamo "html body" per alzare la specificità a (0,0,0,2) 
   e battere il selettore "body" del CSS inline di WP.
   Valore 212px = bottom del menu di sezione fisso (testata + menu primario + menu sezione).
   ============================================ */
html body { padding-top: 212px; }