/* @group CSS Reset & Basics  */
a{
	text-decoration: none;
	outline: none; /* ELIMINA SELEZIONE TRATTEGGIATA */
}
a:link, a:visited{
	color: var(--theme-color1-txt);
}
a:hover, a:active, a:focus{
	color: var(--theme-color2-txt);
}
.navbar a:link, .navbar a:visited, 
.tab a:link,.tab a:visited,
.navbar-nav .nav-link.show{
	color: var(--body-color);
}
:focus-visible{
	outline: none !important;
}
.bi-lg{
	font-size: 1.5rem;
}
.button-cont{
	display: flex;
	justify-content: center;
	padding-top: 50px;
}
.button-cont .btn:not(:last-child){
   /*white-space: normal;*/
   margin-right: 20px;
}
/* .btn{
	border-radius: var(--border-radius);
} */
.btn-pill{	/* bottone a "pillola" */
	border-radius: 20px;
	padding-left: 12%;
	padding-right: 12%;
}
.btn-circle{
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	text-align: center;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	color: #FFF;
}
.btn-circle:hover, .btn-circle:active,
.btn-pill:hover, .btn-pill:active{
	opacity: 0.75;
}
.btn-circle.btn-xl{
	width: 4.5rem;
	height: 4.5rem;
}
.btn-hover::after{
	top: 0;
	left: 0;
	height: 0;
	width: 100%;
	position: absolute;
	content: "";
	z-index: -1;
	transition: all .3s;
}
.btn-hover:hover::after{
	height: 100%;
}
a.btn-primary,  a.btn-secondary, a.btn-danger,
a.btn-warning, a.btn-info, a.btn-success, a.btn-dark{
	/* SILVIA: solo colore, no altri parametri */
	color: white;
}
a.btn-outline-dark{
	color: #333333;
}
.btn-outline-light{
	color: var(--body-color);
}
/*.btn-success{
	background-color: #2e8b57;
}
.btn-warning{
	background-color: #ffcc00;
	border-color: #ffcc00;
}*/


/*PER RIDEFINIRE IL BTN DI BOOTSTRAP*/
.btn-primary{  
	color: var(--theme-primary-txt);
	background-color: var(--theme-primary);
	border-color: var(--theme-primary-dark);
}
.btn-outline-primary{
	color: var(--theme-primary);
	border-color: var(--theme-primary);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn-primary:active:focus, .btn-primary:active:hover,
.btn-primary:not(:disabled):not(.disabled):active{
	color: var(--theme-primary-txt);
	background-color: var(--theme-primary-dark);
	border-color: var(--theme-primary-dark);
	box-shadow: none;
}
.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active,
.btn-outline-primary:active:focus, .btn-outline-primary:active:hover,
.btn-outline-primary:not(:disabled):not(.disabled):active{
	background-color: var(--theme-primary);
	border-color: var(--theme-primary);
	color: var(--theme-primary-txt);
}

.apice{
	vertical-align: super;
	font-size: .75rem;
}
.barrato{
	color: var(--body-color-light);
	text-decoration: line-through;
}
.bianco{
	color: white;
}
/* blockquote{
   background-color: var(--theme-primary-dark);
   font-size: 1.5rem;
   padding: 1.5rem;
   border-left: 3px solid var(--theme-primary-dark);
} */
.ellipses{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	max-width: 150px;
 }
.grande{
	font-size: 1.2rem;
}
pre{
	white-space: break-spaces;
}
.info{
	color: var(--body-color-light);
	font-size: .9rem;
	line-height: 1.2;
}
.nascondi, .hidden{
	display: none;
}
.break-word{
   word-wrap: break-word;
}
.clear{
	clear: both;
}
.clearfix:after{
	clear: both;
	content: ' ';
	display: block;
	font-size: 0;
	height: 0;
	line-height: 0;
	visibility: hidden;
	width: 0;
}
.piccolo{
	font-size: .9rem;
}
.preload{
	text-align: center;
	padding: 1rem;
}
.text-center{
	text-align: center !important;
}
.text-left{
	text-align: left !important;
}
.text-right{
	text-align: right !important;
}
.text-justify{
	text-align: justify !important;
}
.margin-bottom-20{
	margin-bottom: 20px;
}
hr{
	border: 1px solid var(--border-color-dark);
	clear: both;
	height: 0;
	opacity: 1;
	margin: 10px 0 30px;
}
img{
	border: 0;
	margin: auto;
}
.img-responsive,
.img-fluid,
.page-cont img{
	/* SILVIA: NON MODIFICARE! serve per i contenuti "vecchi" importati */
	height: auto !important;
	max-width: 100%;
}
.object-fit-cover{
	object-fit: cover;
	object-position: center;
	max-width: 100%;
	height: auto !important;
	width: 100%;
}
.object-fit-contain{
	object-fit: contain;
	object-position: center;
	max-width: 100%;
	height: auto !important;
}
.vertical-middle{
	position: relative;
	top: 50%;
	transform: perspective(1px) translateY(-50%);	
}
.lazy{
	background-image: url(../../easyAdmin/common/images/grey.gif); /* sfondo predefinito per il caricamento immagini "lazy" */
}
img.lazy{
   opacity: 1;
   transition: opacity 0.3s;
}
img.lazy[data-src]{
   opacity: 0;
}
.tooltip > .tooltip-inner{
   background-color: #f5f5f5;
   color: black;
   border: none;
   font-size: 12px;
}
.tooltip.top > .tooltip-arrow{
   border-top: 5px solid #f5f5f5;
}
.page-video{
	text-align: center;
	position: relative;
	max-width: 640px;
	margin: 0 auto;
}
.bounce{
	-moz-animation: bounce 2s infinite;
	-webkit-animation: bounce 2s infinite;
	animation: bounce 2s infinite;
}
/* @group PUNTI ELENCO */
.elenco{
	list-style-type: square;
	text-align: left;
}
.elenco a:link, .elenco a:visited,
.elencopdc a:link, .elencopdc a:visited{
	color: var(--body-color);
}
.elenco a:hover, .elenco a:active,
.elencopdc a:hover, .elencopdc a:active{
	color: var(--theme-primary);
}
.elenco2col > li{
	width: 50%;
	float: left;
}
.elenco4col > li{
	width: 25%;
	float: left;
}
ul.bullet{
	margin: 0;
   padding: 0;
	list-style-type: none;
}
ul.bullet li{
	position: relative;
	line-height: 1.8;
	list-style-type: none;
	margin-bottom:0.5rem;
}
ul.bullet li:before{
   /* Per il codice dei simboli: https://fontawesome.com/icons?d=gallery&m=free  */
   top: -3px;
   left: -1.8rem;
   font-size: 1.2rem;
   font-weight: 900;
   position: absolute;
   font-family: var(--icon-font-family);
}
ul.bullet-deco1 li:before{
	content: "\f00c";  /*CHECK */
   /*content: "\f560";*/ /*double check */
	color: var(--theme-success);
}
ul.bullet-deco2 li:before{
	content: "\f164";  /*LIKE */
	color: var(--theme-color3-bg);
}
ul.bullet-deco3 li:before{
	content: "\f185";  /* SOLE */ 
	color: var(--theme-color3-bg);
}
ul.bullet-deco4 li:before{
	content: "\f061";  /*FRECCIA*/ 
	color: var(--theme-evidence-bg);
}
/* @end */

/* @group form */
.form-group, .form-check{
	position: relative;
}
.form-control, .form-select,
.form-control-static{
	border-radius: var(--border-radius);
	border-color: var(--border-color);
}
.form-control::placeholder{
	color: var(--theme-color2-bg);
}	
label, label.control-label{
	font-weight: 400;
	position: relative;
	text-align: left !important;
}
.label-danger a:link,
.label-danger a:visited{
	color: white;
}
.fullrow{
	clear: both;
	margin-bottom: 0.5rem;
	position: relative;
	text-align: left;
	width: 100%;
	padding: 2px 0;
}
.fullrow label,
.fullrow .campo{
	min-height: 34px;
	line-height: 34px;
	padding-top: .4rem;
	padding-bottom: .4rem;
}
fieldset.bordo,
.form-sezioni fieldset{
	margin: 1.5rem 0 1rem 0;
	padding: .8rem;
	border: 1px solid var(--border-color);
}
legend{
	border-bottom: none;
	color: var(--text-light);
	font-weight: 300;
	font-size: .85rem;
	padding: 2px 20px;
	text-transform: uppercase;
	background-color: var(--body-bg);
	margin: -1.8rem 1rem 0.5rem;
	width: auto;
}
textarea{
	min-height: 60px;
}
.form-control-plaintext{
	font-weight: bold;
	font-size: larger;
}
.checkbox, .radio{
	display: inline-block;
   margin-right: 50px;
}
#login_admin input.form-control[type="text"],
#login_admin input.form-control[type="password"]{
	height: 44px;
}
.listcheck{
	line-height: 1.4;
	margin-left: 20px;
}
.form-default .control-label{
	padding-right: 45px;
   text-align: right;
}
.help-message{
	display: block !important;
	display: none; 	/* IE6 e inferiori */
	font-size: 1rem;
	right: 18px !important;
	color: #0057aa;
	left: 10px;
}
.help-message em,
.required-message em{
	border-radius: 3px;
	color: black;
	font: 11px/normal Arial,sans-serif;
	left: -9999px;
	padding: 4px;
	position: absolute;
	text-transform: none;
	z-index: 10;
}
.help-message em{
	background: #d8e5f5;
	border: 1px solid #0057aa;
}
.required-message em{
	background: var(--bg-medium);
	color: var(--theme-evidence-bg);
}
.help-message:hover em,
.required-message:hover em{
	left: 30px;
	top: -5px;
}
.no-required,
.required-message,
.help-message{
	position: absolute;
	height: 24px;
	width: 24px;
	right: 0;
   top: 5px;
}
.icon-help, .icon-required{
	cursor: help;
}
.icon-help{
	color: #0057aa;
}
.img-icon{
	margin-right: 5px;
	max-width: 60px;
}
.required-message{
	display: block !important;
	display: none;  /* IE6 e inferiori */
	font-size: 12px;
	color: var(--theme-evidence-bg);
}
.required-message:hover em{
	white-space: nowrap;
}
.captcha-cont{
	display: inline-block;
}
.input-group-text{
	padding: 10px;
}
input[type=number]{
	-moz-appearance: textfield;
	appearance: textfield;
}
.field-icon{	/* occhio campo password - è "dentro" l'input */
	top: .6rem;
	position: absolute;
	right: 1rem;
	z-index: 20;
}
.form-control-plaintext{
	color: var(--body-color);
}
.grecaptcha-badge{
	visibility: hidden;
}
/* @end */

/* @group CHECKBOX */
 /* Customize the label (the container) */
.checkbox-cont{
	display: block;
   position: relative;
   padding-left: 1.5rem;
   margin-bottom: .5rem;
   line-height: 1.5;
   padding-top: 0;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
}
/* Hide the browser's default checkbox */
.checkbox-cont input{
	position: absolute;
   opacity: 0;
   cursor: pointer;
   height: 0;
   width: 0;
}
/* Create a custom checkbox */
.checkmark{
   position: absolute;
   top: 0;
   left: 0;
   height: 25px;
   width: 25px;
   background-color: var(--bg-light);
   border: 1px solid var(--border-color-dark);
   border-radius: var(--border-radius);
}
.checkmark-radio{
   border-radius: 50%;
}
/* On mouse-over, add a grey background color */
.checkbox-cont:hover input ~ .checkmark{
   background-color: var(--theme-primary);
}
/* When the checkbox is checked, add a blue background */
.checkbox-cont input:checked ~ .checkmark{
	background-color: var(--theme-primary);
}
/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after{
	content: "";
   position: absolute;
   display: none;
}
/* Show the checkmark when checked */
.checkbox-cont input:checked ~ .checkmark:after{
   display: inline-block;
}
/* Style the checkmark/indicator */
.checkbox-cont .checkmark:after{
	left: 9px;
   top: 5px;
   width: 5px;
   height: 10px;
   border: solid white;
   border-width: 0 3px 3px 0;
   -webkit-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   transform: rotate(45deg);
} 
/* @end */

/* @group table, righe etc.*/
table{
	border-collapse: collapse;
	border-spacing: 0;
	max-width: 100% !important;
	color: var(--body-color) !important;
}
.table-hover tbody tr:hover{
	color: var(--body-color) !important;
}
.table-dark{
	color: white !important;
}
table tr .btn{
	padding: 6px 12px;
}
.table > thead > tr > th{
	border-bottom: none;
}
td, th{
	vertical-align: top;
}
.bg1{
	background-color: transparent;
}
.bg2{
	background-color: var(--bg-light);
}
.bordo{
	border: 1px solid var(--border-color);
}
/* @end */

/* @group BOX BASE  */
.doubleview{
	margin-top: 10px;
	margin-bottom: 10px;
	text-align: right;
}

.box{
   /*border: 1px solid var(--border-color);*/
   position: relative;
}
.d-flex .box{
	height: 100%;
	display: flex;
	flex-flow: column;
} 
/*.box a:link, .box a:visited{
	color: var(--body-color);
}
.box:hover a .boxlink, .box:hover .boxlink a{
	background-color: var(--theme-color1-bg);
	color: var(--theme-color1-txt);
}*/
.boxico{
	position: relative;
	overflow: hidden;
	/*border: 1px solid var(--border-color);*/
	text-align: center;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.boxico img{
 	margin-left: auto;
 	margin-right: auto;
}
h3.boxtitolo{
	font-size: 1.2rem;
	margin-top: 1rem;
	text-align: center;
}
.boxtitolo a:link, .boxtitolo a:visited,
.boxtesto a:link, .boxtesto a:visited,
a:link .boxtitolo, a:visited .boxtitolo,
a:link .boxtesto, a:visited .boxtesto{
	color: var(--body-color);
}
.text-white .boxtitolo a:link, .text-white .boxtitolo a:visited,
.text-white .boxtesto a:link, .text-white .boxtesto a:visited,
.text-white a:link .boxtitolo, .text-white a:visited .boxtitolo,
.text-white a:link .boxtesto, .text-white a:visited .boxtesto{
	color: white !important;
}
/*h3.boxtitolo span,
.boxdata, data{
	text-transform: uppercase;
}*/
.boxtesto{
	text-align: center;
}
.boxtimer{
	font-size: smaller;	
	position: absolute;
	width: 100%;
   bottom: 0;
	padding: 5px;
	z-index: 10;
	color: var(--theme-evidence-txt);
	background-color: var(--theme-evidence-bg);
}
/* @end */

#boxcont-evid1 .heading,
#boxcont-evid2 .heading,
#boxcont-evid3 .heading{
	display: none;
}
#boxcont-evid1 .owl-stage{
	padding-left: 0 !important;
}
#boxcont-evid2 ul{
	margin-bottom: 0;
}
#boxcont-evid2 .box{
	border-right: none;
}
#boxcont-evid2 .boxhorizontal .boxtesto{
  	font-size: 1.5rem;
}

#boxcont-evid3 .boxico{
	background-image: url(../sfondi/bgEvidMenuSx.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	padding: 2.5rem 0;
	height: 100%;
	width: 100%;
}
#boxcont-evid3 .boxico img{
	width: 50%;
	border: 1rem solid white;
}
#boxcont-evid3 .boxtitolo{
	font-family: var(--cursive-font-family);
	font-size: 3rem;
	margin-top: .5rem;
}
#boxcont-evid3 .boxtesto,
#boxcont-evid3 .boxlink{
	display: none;
}


.diariodibordo{
	background-color: var(--theme-color3-bg);
	color: var(--theme-color3-txt);
}
.diariodibordo .heading h2,
#eventi-cont .heading h2{
	background-color: transparent;
}
.diariodibordo h5{
	line-height: 1.6;
	font-size: 1.1rem;
	letter-spacing: .03rem;
}
.diario{
   margin-left: 40%;
   margin-right: 10%;
   height: 100%;
}
.diario h2, .home h2{
	font-size: 4rem;
	font-family: var(--cursive-font-family);
}
.diario .heading h2{
	margin-bottom: 0 !important;
}

#sezione-cont{
	margin-top: 15px;
}
#anteprima-cont{
	margin: 1rem 0 0 0;
	padding: 1rem 0;
}
#anteprima-cont .COD001 .box{
	overflow: hidden;
	border: 1px solid rgba(216, 229, 245, .3);
	border-radius: var(--boxhorizontal-radius);
	background-color: rgba(0, 44, 81, .35);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 .5rem 1.2rem rgba(0, 26, 67, .18);
	backdrop-filter: blur(8px) saturate(120%);
	-webkit-backdrop-filter: blur(8px) saturate(120%);
}

/* @group BOXHORIZONTAL */
.boxhorizontal h3.boxtitolo{
	font-size: 3.25rem;
	font-family: var(--cursive-font-family);
  	text-align: left;
}
.boxhorizontal .boxtesto{
  	/* font-size: 1.3rem;
  	line-height: 1.3;*/
  	letter-spacing: .05rem; 
  	text-align: left;
}
.boxhorizontal .boxcontent{
	background-image: url(../Sfondi/Chiave-Ancora-hover.png);
	background-position: right bottom;
	background-repeat: no-repeat;
}
/*.boxhorizontal:hover .boxcontent{
	background-image: url(../Sfondi/Chiave-Ancora-hover.png);
}*/
/*.boxhorizontal a .boxtitolo{
	color: var(--theme-color1-txt);
}
.boxhorizontal .boxlink a{
	background-color: var(--theme-primary);
  	border-color: var(--theme-primary-dark);		
}
.boxhorizontal .boxlink:hover a,
.boxhorizontal:hover .boxlink a{
	color: var(--theme-color1-txt);
}*/


/* @group BOXOVERLAY - box con testo sovrapposto*/
.boxoverlay{
	position: relative;
	overflow: hidden;
}
.box.boxoverlay{
	border: none;
	border-radius: 1.2rem;
}
.boxoverlay .boxico{
	width: 100%;
	height: 100%;
}
.boxoverlay .boxico img{
	width: 100%;
	height: 100%;
}
.boxoverlay .boxcontent{
	background: linear-gradient(transparent, rgba(0,0,0,.4));
	position: absolute;
	z-index: 5;
   top: 0;
   left: 0;
   height: 100%;
   width: 100%;
   padding: 0;
   display: flex;
   justify-content: center;
   flex-direction: column;
   transition: all .3s;
}
.boxoverlay:hover .boxcontent{
	padding-bottom: 1rem;
}
.boxoverlay .boxcontent > a{
   width: 100%;
   height: 100%;
   display: flex;
   justify-content: flex-end;
   flex-direction: column;
   position: relative;
}
.boxoverlay .sottotitolo{
   padding: .5rem .8rem;
}
.boxoverlay .boxtitolo{
	border: 1px solid rgba(216, 229, 245, .3);
	background-color: rgba(0, 44, 81, .35);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 .5rem 1.2rem rgba(0, 26, 67, .18);
	backdrop-filter: blur(8px) saturate(120%);
	-webkit-backdrop-filter: blur(8px) saturate(120%);
	color: var(--theme-color1-txt);
	font-size: 1.3rem;
	text-transform: uppercase;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: .6rem 1rem;
	text-shadow: 1px 1px 1px rgba(0,0,0,.175);
}
/*.boxoverlay:hover .boxtitolo{
	background-color: var(--theme-color1-bg);
	color: var(--theme-color1-txt);
}*/
.boxoverlay .boxtesto{
	text-shadow: 1px 1px 1px rgba(0,0,0,.175);
	padding: .6rem 1.3rem;
	text-align: left;
}
.boxoverlay .boxlink{
	display: none;
}
/*.boxoverlay a:link .boxtitolo, .boxoverlay a:visited .boxtitolo, 
.boxoverlay a:link .boxtesto, .boxoverlay a:visited .boxtesto,
.boxoverlay a:link .sottotitolo, .boxoverlay a:visited .sottotitolo,
.boxoverlay a:link .boxdata, .boxoverlay a:visited .boxdata{
	color: var(--theme-color2-txt);
}
.boxoverlay .boxlink{
	text-align: left;
	position: absolute;
	bottom: .5rem;
}
.boxoverlay .boxlink a{
	position: relative;
	z-index: 10;
}*/
/* @end */


/* @group BOX EVENTS/PHOTOGALLERY - box con "nota o oblò" sull'icona*/
.bg-eventi{
	background-color: var(--theme-color3-bg);
	/*background-image: url(../sfondi/bgEventi.jpg);
	background-position: top;
	background-repeat: repeat-x;*/
}
.boxeventi::after,
.cat00E::after{
	content: '';
	background-image: url(../sfondi/NotaEvento.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	height: 100%;
	width: 100%;
	top: 0;
	z-index: 2;
	position: absolute;
}
.boxeventi .boxico,
.cat00E .boxico{
	border-radius: 50%;
   overflow: hidden;
   margin: 32% 30% 10% 2%;
   height: auto;
   width: auto;
}
.boxeventi .boxcontent,
.cat00E .boxcontent{
	background: transparent;
}
.boxeventi .boxcontent a{
	justify-content: flex-end;
	
}
.cat00E .boxcontent a{
	justify-content: flex-end;
	margin-bottom: 3rem;
}

.boxeventi:hover .boxcontent{
	padding-bottom: 0;
}
.boxeventi .boxtitolo,
.cat00E .boxtitolo{
	text-transform: none;
	
	padding: .5rem 0.5rem;
	margin: 20% 25% 0 0;
	/* font-family: var(--cursive-font-family);
	font-size:1.9rem; */
	background-color: transparent;
	width: auto;
}
.boxeventi .boxdata,
.cat00E .boxdata{
	text-align: center;
}
.boxeventi .boxtesto,
.boxeventi .sottotitolo,
.cat00E .boxtesto,
.cat00E .sottotitolo{
	display: none;
}
.cat00E::after{
	background-image: url(../sfondi/salvagente2.png);
}
.cat00E .boxtitolo,
.cat00E .boxico{
	margin: 2%;
}
.cat00E a:link .boxtitolo, .cat00E a:visited .boxtitolo{
	color: var(--theme-color1-bg)
}
/* @end */

.boxnoimage .boxico,			/* NON CANCELLARE MAI!!! */
.boxnotesto .boxtesto{
	/* non rimuovere, non modificare */
	display: none;
}
.boxnoimage{
   background-color: var(--theme-color1-bg);
   -webkit-transition: background-color 500ms linear;
   -ms-transition: background-color 500ms linear;
   transition: background-color 500ms linear;
   display: flex;
   height: 100%;
   flex-flow: column;
}
.boxnoimage:focus,
.boxnoimage:hover{
	background-color: var(--theme-color1-bglight);
}
/*li:nth-child(even) .boxnoimage{	'effetto box di colori diversi nella stessa row'
	background-color: var(--theme-color1-bg);
}
li:nth-child(even) .boxnoimage:hover,
li:nth-child(even) .boxnoimage:focus{
	background-color: var(--theme-color2-bg);
}*/
.boxnoimage a{
	display: block;
	height: 100%;
}
.boxnoimage .boxcontent{
	height: 100%;
}
.boxnoimage .boxcontent{
	padding: 0;
}
.boxnoimage .boxcontent > a{
	padding: 5rem 2rem;
}
.boxnoimage .boxlink a{
	padding: .5rem 2rem;
}
.boxnoimage a .boxtitolo,
.boxnoimage a .boxtesto,
.boxnoimage a .sottotitolo{
   color: var(--theme-color1-txt);
}

/* BOXICONA - font awesome che "sostituisce" la classica img di anteprima */
/*.boxicona .boxico{
	margin: 0 auto;
}*/
.boxicona .boxico .fas{
	background-color: white;
	font-size: 80px;
	border-radius: 50%;
	padding: 30px;
}
.boxicona .boxico a .fas{
	color: var(--theme-color2-bg);
}
.boxicona .boxtitolo,
.boxicona .boxtesto,
.boxicona .boxlink{
	text-align: center;
}

/* @group Documenti */
.documenti-cont .box div{
	z-index: 1;
}
.documenti-cont .boxico a{
	color: var(--theme-evidence-bg);
}
.documenti-cont .boxhorizontal::after{
	top: 0;
	left: 0;
	height: 0;
	width: 100%;
	position: absolute;
	content: "";
	transition: all .3s;
}
.documenti-cont .boxhorizontal:hover::after{
	height: 100%;
	background-color: var(--bg-light);
}
/* @end */

/* @group VIDEO */
#video-cont{
	clear: both;
	margin-bottom: 15px;
	margin-top: 15px;
}
video[poster]{
	object-fit: cover;
}
.boxmedia .boxico{
	overflow: hidden;
	border: 1px solid var(--border-color);
}
.boxmedia .boxico::before{
	font-size: 70px;
	position: absolute;
	font-weight: 900;
   font-family: var(--icon-font-family);
	top: 50%;
	left: 50%;
	margin-top: -50px;
	margin-left: -30px;
	color: white;
	content: "\f144";
	opacity: 0.8;
}
.boxmedia:hover .boxico::before{
	opacity: 1;
}
.boxmedia .boxico a{
	bottom: 0;
	display: block;
	position: absolute;
	top: 0;
	width: 100%;
}
.boxmedia .boxico.youtube img{
   margin: -9.5% auto; 	/*ELIMINA BANDE NERE ICONA YOUTUBE */
}
.boxmedia img,
.boxmedia video{
	object-fit: cover;
	width: 100%;
}
.boxmedia iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/*.boxmedia .boxcontent{
	display: none;
}*/
iframe{
	max-width: 100% !important;
}
.video-container{
	height: 0;
   overflow: hidden;
   padding-bottom: 56.25%;
   padding-top: 30px;
   position: relative;
}
.video-container iframe,
.video-container object,
.video-container embed{
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
}
/* @end */

/* @group BOX e ELEMENTI - sezioni varie */
.boxcontent{
	padding: 0 15px;
	position: relative;
	flex-grow: 1;
}
.boxcontent a{
	width: 100%;
	height: 100%;
}

.boxlink{
	text-align: center;
	width: 100%;
	padding: 0 1rem .5rem;
}
.boxlink .btn{
	font-size: .9rem;
	text-transform: uppercase;
}
a .boxlink, .boxlink a{
	display: inline-block;
	/*color: var(--body-color);*/
}

/* @group RIBBON */
.ribbon{
	float: left;
	margin-right: 4px;
	font-size: .75rem;
	text-transform: uppercase;
	padding: 5px 15px 5px;
	text-align: center;
}
.ribbon::before{
	content: '';
   border-left: 12px solid transparent;
   border-right: 0px solid transparent;
   border-top: 14px solid #999999;
   border-top-color: rgb(153, 153, 153);
   position: absolute;
   bottom: -14px;
   left: 0;
}
.ribbon-evid1{
	background-color: var(--theme-evidence-bg);
	color: var(--theme-evidence-txt);
}
.ribbon-evid2{
	background-color: var(--theme-color1-bg);
	color: var(--theme-color1-txt);
}
.ribbon-evid3{
	background-color: var(--theme-primary);
	color: var(--theme-primary-txt);
}
.ribbon-evid4{
	background-color: var(--theme-info);
	color: var(--theme-info-txt);
}
.ribbon-evid1::after, .ribbon-evid2::after, 
.ribbon-evid3::after, .ribbon-evid4::after{
	/*content: "Novita'";*/
	content: attr(title);
}
.boxstatus{
	top: 10px;
   right: 10px;
	position: absolute;
	width: 100%;
	left: -10px;
	width: 100%;
	z-index: 5;
}

.segnapagine{
/* Pagine modulari - segnaposto per admin */
	position: absolute;
	right: 0;
	top: 30px;  /* alto quanto header fixed */
	z-index: 10;
	padding: 0 5px;
}
.segnapagine .label{
	background-color: var(--alder-bg);
	color: var(--alder-txt);
	font-size: .8rem;
	padding: 0 4px;
}
/* @end */

/* SETTORE e CATEGORIE */
#boxsettore-cont,
#boxcategoria-cont,
#boxcorr-cont{
	clear: both;
	position: relative;
}
.boxsettore .boxtitolo,
.boxcategoria .boxtitolo{
	text-align: center;
}
.boxsettore .boxtesto,
.boxcategoria .boxtesto{
	display: none !important;
}
.boxsettore .boxlink,
.boxcategoria .boxlink{
	display: none;
}
/*----*/
.boxsettore img{
	transition: all .3s;
}
.boxsettore:hover img{
	-webkit-transform: scale3d(1.1, 1.1, 1.1);
   transform: scale3d(1.1, 1.1, 1.1);
   transition: all .3s;
   overflow: hidden;
}
.boxsettore .boxcontent{
	text-align: center;
	background: linear-gradient(transparent, rgba(0,0,0,.6));
	padding: 1rem;
}
.boxsettore:hover .boxcontent{
   padding: 1rem;
}
.boxsettore .boxtitolo{
	text-transform: uppercase;
	border-top: 4px solid rgba(255,255,255,.6);
	border-bottom: 4px solid rgba(255,255,255,.6);
	font-size: 1.6rem;
	font-weight: 600;
}
.boxsettore .boxtitolo a{
	color: var(--theme-color1-txt);
	padding: 2rem;
   width: 100%;
   display: inline-block;
   height: 100%;
}
/*----*/

#boxcorr-cont{
	position: relative;
	margin: 1.5rem auto;
}
#slide-correlati-prev{
	position: absolute;
	top: 35%;
	left: 0;
}
#slide-correlati-next{
	position: absolute;
	top: 35%;
	right: 0;
}
/* @end */

.evidenza, .evidenza2{
	font-size: 1.2rem; 	/*DEVE essere un formato VISIBILE */
	margin: 20px 0;
	padding: 30px 60px;
	line-height: 1.8;
}
.evidenza{
	background-color: var(--bg-light);
	color: var(--body-color-light);
}
.evidenza2{
	background-color: var(--theme-color1-bglight);
	color: var(--theme-color1-txt);
}
.evidenza b, .evidenza strong{
	color: var(--theme-primary);
}
.evidenziatore{
	background-color: var(--theme-color1-bg);
	color: var(--theme-color1-txt);
	padding: 4px 10px;
}
.evidword, .evidword2{
	font-weight: 600;
}
.evidword{
	color: var(--theme-evidence-bg);
}

/* @group MODAL WINDOW */
/* Non rimuovere,  modificare rispettando i colori "di sistema"*/
/* verde:conferma, rosso: cancellazione, azzurro: info */
.modal h1, .modal h2, .modal h3,
.modal h4, .modal h5, .modal h6{
	color: black;
}
.modal-dialog .modal-content{
	padding: 1.5rem;
	border-radius: var(--border-radius);
	text-align: center;
}
.modal-dialog .modal-header{
	border-bottom: none; 
	flex-flow: column;
}
.modal-dialog .modal-footer{
	border: none;
	justify-content: center;		
}
.modal-dialog .icon-box{
	margin: 0 auto;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.modal-dialog .icon-box i{
	font-size: 4rem;
}
.modal-dialog .btn{
	transition: all 0.4s;
	margin: 0 0.5rem;
}

/****** COOKIE MODAL ******/
#cookieModal .modal-content{
   margin-top: 0;
   max-width: 100%;
	background-color: var(--theme-primary-dark);
   color: white;
   border-top: 4px solid white;
}
#cookieModal .modal-dialog{
	max-width: 100%;
	width: 100%;
	margin: auto 0 0 0;
	position: fixed;
	top: auto;
	right: 0;
	left: 0;
	bottom: 0;
}
#cookieModal .notice{
	max-width: 980px;
	margin: 0 auto;
	display: flex;
	-ms-flex-align: center !important;
	align-items: center !important;
	-ms-flex-pack: justify !important;
	justify-content: space-between !important;
}
#cookieModal .cookie-text{
	font-size: 15px;
}
#cookieModal .cookie-text a{
	color: var(--theme-warning);;
}
/****** LOGIN MODAL ******/
.loginmodal-container{
	padding: 30px;
   max-width: 350px;
   width: 100% !important;
   background-color: #f5f5f5;
   margin: 0 auto;
   border-radius: 2px;
   box-shadow: 0 2px 2px rgba(0,0,0,.3);
   overflow: hidden;
}
.loginmodal-container h1{
   text-align: center;
   font-size: 1.8em;
}
.loginmodal-container input[type=submit]{
   width: 100%;
   display: block;
   margin-bottom: 10px;
   position: relative;
}
.loginmodal-container input[type=text], 
.loginmodal-container input[type=password]{
   height: 44px;
   font-size: 16px;
   width: 100%;
   margin-bottom: 10px;
   background: white;
   border: 1px solid var(--border-color);
   border-top: 1px solid var(--border-color);
   padding: 0 8px;
   box-sizing: border-box;
   -moz-box-sizing: border-box;
}
.loginmodal-container input[type=text]:hover, input[type=password]:hover{
   border: 1px solid #cccccc;
   border-top: 1px solid #999999;
   -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
   -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
   box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
}
.loginmodal{
   text-align: center;
   font-size: 14px;
   font-weight: 700;
   height: 36px;
   padding: 0 8px;
}
.loginmodal-submit{
   border: 0;
   color: white;
   text-shadow: 0 1px rgba(0,0,0,0.15); 
   background-color: #1877f2;
   padding: 17px 0;
   font-size: 14px;
}
.loginmodal-submit:hover{
   border: 0;
   text-shadow: 0 1px rgba(0,0,0,0.175);
   background-color: #0073b1;
}
.loginmodal-container a{
   text-decoration: none;
   color: #666666;
   font-weight: 400;
   text-align: center;
   display: inline-block;
   opacity: 0.6;
   transition: opacity ease 0.5s;
} 
.login-help{
   font-size: 12px;
}

#MdlWelcome .modal-header,
#MdlWelcome .modal-footer{
	padding: 0;
	border: none;
}
#MdlWelcome .modal-content{
	/*background: #333333 url(/Pagine/Sfondi/popupbg.jpg) no-repeat;
	background-size: cover;
	background-position: center;
	color: white;*/
	padding: 2rem 2rem 3rem;
	line-height: 1.5;
	font-size: 1.25rem;
}
#MdlWelcome .modal-content::before{
	content: " ";
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-color: rgba(0,0,0,.25);
}
#MdlWelcome .modal-body{
   z-index: 5;
}
#MdlWelcome a:link,
#MdlWelcome a:visited{
   color: #999999;
}
/* @end */

/* @group MAIN NOTIFY */
.alert{
	margin: 20px auto;
	font-size: 1.1rem;
	font-weight: 500;
}
.alert-warning{
	background-color: #fafad2;
}
/* @end */

/* @group Social bar */
.boxsegnala{
	text-align: center;
	display: inline-block;
	margin: 0 .5rem 0 0;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	border-radius: 50rem;
}
.boxsegnala:hover{
	opacity: 0.8;
}
.boxsegnala > div{
	width: 46px;
	height: 46px;
	overflow: hidden;
	display: flex;
   justify-content: center;
   flex-direction: column;
}
.boxsegnala a{
	color: white !important;
}
.boxsegnala.facebook{
   background: #1877f2;
}
.boxsegnala.twitter{
  background: black;
}
.boxsegnala.whatsapp{
	background: #3cb82a;
}
.boxsegnala.linkedin{
	background: #0073b1;
}
.boxsegnala.pinterest{
	background: var(--theme-evidence-bg);
}
#socialbar{
	clear: both;
	margin: 1.5rem 0 1rem;
}
#page-buttons{
	margin: 1rem 0;
	display: flex;
   justify-content: flex-start;
   align-items: baseline;
}
/* @end */

#share-left{
	text-align: left;
}
#share-right{
	text-align: right;
}

/* @group BUTTON ICON GRUPPO  */
.btn-gruppo-cont{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;	/*space-evenly*/
	position: relative;
	z-index: 10;
}
.btn-gruppo-cont .btn{
	font-size: .85rem;
}
.btn-gruppo-cont .btn-gruppo{
	margin: 0 1rem 1rem 0;
	padding: 0 .5rem;
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: space-evenly;  /*flex-start*/
	align-items: center;
}
.btn-icon{
  	border-radius: 50%;
   position: relative;
   text-align: center;
   margin-right: 10px;
}
.btn-icon-inner{
   position: relative;
   transition: all .1s ease-in-out;
   border-radius: 50%;
   display: block;
   overflow: hidden;
   width: 30px;
	height: 30px;
}
.btn-icon > a.btn-icon-inner > i,
.btn-icon > span.btn-icon-inner > i{
   position: relative;
   top: 50%;
   display: block;
   -webkit-transform: translateY(-50%);
   -ms-transform: translateY(-50%);
   transform: translateY(-50%);
   z-index: 2;
}
/* @end */

#counter{
   /* visibile solo come gestore */
	color: #cccccc;
}

/* - ACCESSO AREA RISERVATA - */
#login-cont{
	max-width: 400px;
	margin: 20px auto;
}
/* @group EDITING BAR */
body.editing{
	padding-top: 30px;
}
#editing-bar{
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
	background-color: var(--alder-bg);
 	color: var(--alder-txt);
 	line-height: 1.8rem;
 	z-index: 161;
}
#editing-bar a,
#editing-bar .btn .fa{
	color: var(--alder-txt);
	text-transform: uppercase;
	margin-bottom: 0;
	font-weight: 600;
}
#editing-bar .btn{
	background-color: transparent;
	background-image: none;
	box-shadow: none;
	border: none;
	padding: .3rem;
	color: var(--alder-txt);
}
/* @end */

/* @group Box login */
#boxlogin{
	margin: 0 0 0 20px;
}
#boxlogin a{
	color: var(--body-color-light);
}
#boxlogin input{
	border: 1px solid var(--border-color);
	color: #999999;
	font-size: 11px;
	width: 104px;
}
#boxlogin label{
	clear: left;
	float: left;
	height: 24px;
	margin: 0;
	padding: 0;
	text-align: right;
	vertical-align: middle;
	width: 190px;
}
#boxlogin ul{
	clear: both;
	font-size: 11px;
	margin: 0;
	padding: 0 0 0 30px;
	text-align: left;
}
/* @end */

/* @group LAYOUT GENERALE */
html{
	/* serve per il posizionamento del footer */
	position: relative;
}
html, body{
	background-color: var(--body-bg);
	color: var(--body-color);
	font-size: var(--body-font-size);
	font-family: var(--body-font-family);
	height: auto !important;
	min-height: 100%;
	min-height: 100vh;
}
.container{
	margin: 0 auto;
	position: relative;
}
#contenuto{
	position: relative;
}
#pagewrap, #home-cont{
	position: relative;
}
.btgrid .col{
	/* serve per editor grid */
	flex-basis: auto;
}
.jumbotron, blockquote{
	padding: 2rem 1rem;
	margin-bottom: 2rem;
	border: 1px solid rgba(216, 229, 245, .3);
	background-color: rgba(0, 97, 200, .68);
	color: var(--bg-dark-txt);
	border-radius: var(--boxhorizontal-radius);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 .5rem 1.2rem rgba(0, 26, 67, .18);
	backdrop-filter: blur(8px) saturate(120%);
	-webkit-backdrop-filter: blur(8px) saturate(120%);
}
@media (min-width:576px){
	.jumbotron{
	 	padding: 4rem 2rem;
	}
}
section{
	position: relative;
}
.flex-container .box,
.flex-container .panel{
	height: 100%;
   display: flex;
   -webkit-flex-direction: column;
   -ms-flex-direction: column;
   flex-direction: column;
}

#titolopagina{
	margin: 0;
	padding: 0;
}
#titolopagina .titoloh1{
	position: relative;
	font-family: var(--cursive-font-family);
	font-size: 2.4vw;
	margin: 1rem 0;
	padding: 0 0 .8rem 0;
	text-align: left;
}
/* #titolopagina:not(.titolohover) .titoloh1::after{
	content: "";
	width: 100px;
	height: 2px;
	background-color: var(--theme-color1-bg);
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
} */
#titolopagina h1{
	display: none; 	/* serve solo per indicizzazione; non va mostrato al pubblico */
}
#titolopaginahidden{
	display: none;
}
h1, h2, h3, h4{
	margin-bottom: 1rem;
	word-break: break-word;
	position: relative;
	/* NOTA SILVIA: Non modificare dimensioni generali, lasciare predefinite boostrap */
}
h1 .piccolo{
	font-size: 80%;
	color: var(--body-color-light);
}
h2{
	font-family: var(--cursive-font-family);
	font-size: 4rem;
}
p + h2{
	margin-top: 30px;
}
h4{
	/*color: var(--theme-color3-bg);*/
	letter-spacing: .05rem;
}
.occhiello, .sottotitolo{
	line-height: 1.2;
}
.occhiello{
	font-weight: 600;
}
.sottotitolo{
	font-size: 1.2rem;
	margin-bottom: 1.5rem;
}
h1 + .sottotitolo{
	margin: -20px 0 50px;
}

/* FORMATTAZIONE TITOLO CON AFTER!!! */
.heading{
	margin: 1rem 0;
	position: relative;
	/* NOTA SILVIA: non allineare qui: aggiungi text-center nel file */
}
.heading h1, .heading h2, .heading h3,
.heading h4, .heading h5, .heading h6{
	background-color: var(--body-bg);
	display: inline-block;
	position: relative;
	z-index: 1;
}
h5{line-height: 1.8;}
/* default (left): linea orizzontale */
.brd-std{
	text-align: left;
}
.brd-std::after{
	content: "";
	width: 60px;
	height: 3px;
	background-color: var(--theme-color1-bg);
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}
/* tit centrato: linea verticale */
.heading.brd-vert h1, .heading.brd-vert h2, .heading.brd-vert h3,
.heading.brd-vert h4, .heading.brd-vert h5, .heading.brd-vert h6{
	margin-bottom: 1.5rem;
	padding-bottom: .5rem;
}
.brd-vert{
	text-align: left;
}
.brd-vert::after{
	width: 3px;
	content: "";
	background-color: var(--theme-color1-bg);
	position: absolute;
	bottom: 0;
	right: 0;
	left: -3rem;
   margin: 0;
   height: 100%;
}
/* sinistra: riga orizzontale */
.brd-right{
	text-align: left;
}
.brd-right h1, .brd-right h2, .brd-right h3,
.brd-right h4, .brd-right h5, .brd-right h6{
	margin: 0;
}
.brd-right::after{
	top: calc(50% - 2px);
	border-bottom-style: solid;
	content: ' ';
   width: 50%;
   right: 0;
   position: absolute;
   border-width: 3px;
   border-color: var(--theme-color2-bg);
}
/* centrato: linea orizzontale a dx e sx */
.brd-sides{
   text-align: center;
   padding: 0 1rem;
}
.brd-sides h1, .brd-sides h2, .brd-sides h3,
.brd-sides h4, .brd-sides h5, .brd-sides h6{
	margin-bottom: 10px;
	padding: 0 1rem;
}
.brd-sides::before,
.brd-sides::after{
	top: calc(50% - 3px);
	border-bottom-style: solid;
	content: ' ';
   width: 40%;
   position: absolute;
   border-width: 1px;
   border-color: var(--border-color-dark);
}
.brd-sides::before{
	left: 0;
	right: auto;
}
.brd-sides::after{
	left: auto;
	right: 0;
}
/* FORMATTAZIONE TITOLO CON AFTER!!! */

.dropcap{
	float: left;
	font-family: Georgia, Times;
	font-size: 75px;
	line-height: 60px;
	padding-top: 4px;
	padding-right: 8px;
	padding-left: 3px;
} 
.dropcap-bg{
   float: left;
	font-family: Georgia, Times;
	font-size: 75px;
	background: var(--bg-light);
	color: var(--theme-color2-bg);
	padding: 5px 0;
	min-width: 70px;
	line-height: 70px;
	text-align: center;
	margin: 4px 10px 0 0;
}
#modular-cont p{
   width: 100%;
}
.bg-base{
	background-color: var(--body-bg);
	color: var(--body-color);
}
.bg-light{
	background-color: var(--bg-light);
	color: var(--body-color-light);
}
.bg-light .heading h1, .bg-light .heading h2, .bg-light .heading h3,
.bg-light .heading h4, .bg-light .heading h5, .bg-light .heading h6{
	background-color: transparent;
}
.bg-scuro{
	background-color: #002c51;
	color: white;
}
footer .bg-scuro{
	padding: 1rem;
	height: 100%;
}
footer .copyright{
	font-size: 14px;
    line-height: 2;
}
.bg-rosso{
	background-color: var(--theme-evidence-bg);
	color: var(--theme-evidence-txt);
}
.bg-arancio{ background-color: var(--theme-evidence-bg); color: var(--theme-evidence-txt);}
.bg-verde{ background-color: #3cb82a; color: white;}
.bg-turchese{ background-color: #008ccd; color: white;}
.bg-blu{ background-color: #0057aa; color: white;}
.bg-azzurro{ background-color: var(--theme-color2-bg); color: var(--theme-color2-txt);}
/* @end */
header .bg-azzurro{
	border-top: .3rem solid var(--theme-color3-bg);
}
/*.bg-events{
	background-image: url(../sfondi/bgEventi.jpg);
	background-position: center;
	color: var(--theme-color1-bg);
}*/

/* https://blog.polarbits.co/2014/02/16/quick-tips-5-column-layout-with-twitter-bootstrap/ */
/* @group 5 columns layout with Twitter Bootstrap */
.col-5col,
.col-sm-5col,
.col-md-5col,
.col-lg-5col{
   position: relative;
   min-height: 1px;
   padding-right: 10px;
   padding-left: 10px;
}
.g-0 .col-5col, .gx-0 .col-5col, 
.g-0 .col-sm-5col, .gx-0 .col-sm-5col,
.g-0 .col-md-5col, .gx-0 .col-md-5col,
.g-0 .col-lg-5col, .gx-0 .col-lg-5col{
	padding: 0 !important;
}
.col-5col{
	width: 20%;
	-ms-flex: 0 0 20%;
	flex: 0 0 20%;
	float: left;
}
@media (min-width: 768px){
   .col-sm-5col{
		width: 20%;
		-ms-flex: 0 0 20%;
		flex: 0 0 20%;
		float: left;
   }
}
@media (min-width: 992px){
   .col-md-5col{
		width: 20%;
		-ms-flex: 0 0 20%;
		flex: 0 0 20%;
		float: left;
   }
}
@media (min-width: 1200px){
	.col-lg-5col{
		width: 20%;
		-ms-flex: 0 0 20%;
		flex: 0 0 20%;
		float: left;
   }
}
/* @end */

/* @group nav-tabs */
.tab-content > .active{
	border-bottom: 1px solid var(--border-color);
   border-left: 1px solid var(--border-color);
   border-right: 1px solid var(--border-color);
   padding: 15px;
}
.nav-tabs > li{
   padding: 0;
}
.nav-tabs{
	margin-top: 40px;
}
/* @end */

/* @group PAGINATION */
.text-center .pagination{
   justify-content: center;
}
.pagination > li > a{
	background-color: var(--theme-primary-dark);
	color: var(--body-color);
}
.page-item.active .page-link{
   background-color: var(--theme-primary);
   border-color: var(--border-color);
}
.pagination > .active > a,
.pagination > .active > a:hover,
.pagination li > a:hover,
.pagination li > a:active{
	background-color: var(--theme-color1-bg);
	border-color: var(--theme-color1-txt);
	color: var(--theme-color1-txt) !important;
}
/* @end */

.breadcrumb + #titolopagina .titoloh1,
.breadcrumb + .heading{
	/*spazio tra bricione e titolo: non azzerare */
 	margin-top: -.5rem;
}
.breadcrumb{
	background-color: transparent;
	margin-bottom: 5px;
	padding: .75rem 0;
}
.breadcrumb li{
   padding-right: 4px;
   font-size: 1.05rem;
}
.breadcrumb li a{
	color: var(--body-color);
}
.breadcrumb-item + .breadcrumb-item::before{
   color: var(--theme-color2-txt);
   content: "/\00a0";
}
.breadcrumb-item.active{
	color: var(--theme-info);
}

#print, .only4print{
	display: none;
}
.col-nopadding > .row > div[class*="col-"],
.col-nopadding > .row > li[class*="col-"]{	
/* Box attaccati senza spaziatura (da applicare al contenitore esterno)*/
	padding: 0;
}
.col-nopadding > .row{
	margin: 0;
}
/* @end */

/* @group SLIDERS */
#slidecont1, .slidetop, #slidecont3{
	margin: 0 auto 1rem auto;
	position: relative;
	width: 100%;
	max-width: 100% !important;
	overflow: hidden;	 /* Silvia: NON RIMUOVERE OVERFLOW!!!!!! */
}
.pages-slidecont{
	margin-bottom: 1rem;
	margin-top: 1rem;
}
#cover{
	height: 100%;
	flex-direction: column;
	justify-content: center;
	display: flex;
}
.img-parallax{
   background-size: cover;
   background-position: center center;
   background-attachment: fixed !important;
   background-repeat: no-repeat;
   overflow: hidden;
   width: 100%;
   height: 300px;
   height: 35vh;
}

.loading{
	position: relative;
}
.loading .loader{
   color: var(--bg-light);
   position: absolute;
   left: 0;
   top: 50%;
   width: 100%;
   z-index: -10;
}
.loading .load-bar.animated{
   animation: animLoadBar 1s 1;
   animation-direction: normal;
   animation-direction: alternate;
}
.loading .load-bar{
   background-color: var(--theme-color1-bg);
   height: 2px;
   width: 0;
}
.loading .load-bar.animated{
	animation: animLoadBar 1s 1;
	animation-direction: alternate;
}

@keyframes animLoadBar{
	0%{
  		width: 0;
	}
	100%{
  		width: 200px;
	}
}
/* @end */

.video-cont{
	margin-bottom: 2rem;
}

/* @group FOOTER */
/*address{
	color: var(--theme-color1-txt);
}*/
footer{
	padding-top: 20px;
	line-height: 1.6;
	background-color: var(--theme-color1-bg);
	color: var(--body-color);
}
footer a:link, footer a:visited,
footer .nav-link:link, footer .nav-link:visited{
	color: var(--body-color);
}
footer a:hover, footer a:active,
footer .nav-link:hover, footer .nav-link:active{   /*specificare se serve*/
	color: var(--theme-color3-bg);
}
footer .liv2, footer .nav-link2{
	display: none !important;
}
footer .form-group{
   margin-bottom: 10px;
   clear: both;
}
footer .liv2, footer .open > .dropdown-menu.liv2{
	display: none;
}
.footer-reference{
	line-height: 1.6;
}
.footer-reference br{
	clear: both;
}
footer h6{
	text-transform: uppercase;
	margin-top: 0;
}
#footer-menu .navbar-nav{
	float: none;
}
#footer-menu .nav > li > a.nav-link2{
   display: none;
}
.logo-footer img{
	max-width: 80px;
}
/*.loghifooter-cont{
	display: flex;
	justify-content: space-between;
   align-items: center;
}*/
.grecaptcha-badge{
	display: none !important;
}

#credits{
	background-image: url(../../easyAdmin/common/images/CreditsBianco.gif);
	background-position: right center;
	background-repeat: no-repeat;
   font-size: 11px;
   display: inline-block;
	height: 30px;
	line-height: 30px;
	margin: 5px 2rem 0;
}
#credits span{
   visibility: hidden;
   display: inline-block;
   width: 106px;
}
#legalnotes{
   margin: 0;
}
#legalnotes li{
	display: list-item;
	float: left;
	font-size: .8rem;
	list-style-type: none;
}
#legalnotes li a{
	padding: 0 10px 10px 0;
}
#legalnotes ul{
	margin: 0;
}
/* @end */

/* @group PARALLAX */
/* @group LAFAVOLABLU HEADER E FOOTER */
/* La testata usa una griglia: logo, titolo e area di servizio. */
.header-main-layout{
	display: grid;
	grid-template-columns: minmax(90px, 142px) minmax(0, 1fr) auto;
	align-items: center;
	column-gap: clamp(.75rem, 2vw, 2rem);
	padding-top: .4rem;
	padding-bottom: .4rem;
}
.header-main-layout .logo{
	max-width: none;
	margin: 0;
}
.header-main-layout #header-logo{
	display: block;
	width: 142px !important;
	height: 160px !important;
	max-width: 100%;
	object-fit: contain;
	transition: width .35s ease, height .35s ease, transform .35s ease;
}
.header-main-layout .scritta-top{
	font-family: var(--cursive-font-family);
	font-size: clamp(1.9rem, 2.8vw, 3.6rem);
	line-height: 1;
	letter-spacing: .06rem;
	font-weight: bold;
	text-align: center;
	margin: 0;
	color: var(--body-color);
	transition: font-size .35s ease, opacity .25s ease, transform .35s ease;
}
.header-main-layout .socialmediaicons{
	justify-self: end;
	transition: opacity .25s ease, transform .35s ease;
}

@media (min-width: 992px){
	.header-fixed .header.header-fixed-shrink .header-main-layout{
		grid-template-columns: minmax(58px, 78px) minmax(0, 1fr);
		min-height: 66px;
		padding-top: .2rem;
		padding-bottom: .2rem;
	}
	.header-fixed .header.header-fixed-shrink #header-logo{
		width: 68px !important;
		height: 76px !important;
	}
	.header-fixed .header.header-fixed-shrink .scritta-top{
		font-size: clamp(1.2rem, 1.65vw, 1.7rem);
		transform: translateX(-.5rem);
	}
	.header-fixed .header.header-fixed-shrink .header-main-layout .socialmediaicons,
	.header-fixed .header.header-fixed-shrink .bg-azzurro{
		display: none;
	}
}

@media (max-width: 991px){
	.header-main-layout{
		grid-template-columns: minmax(104px, 1fr) minmax(0, 1.2fr) minmax(104px, 1fr);
		column-gap: .75rem;
		min-height: 0;
	}
	.header-main-layout #header-logo{
		width: 104px !important;
		height: auto !important;
		max-height: 112px;
	}
	.header-main-layout .scritta-top{
		justify-self: center;
		font-size: clamp(1.75rem, 5.2vw, 2rem);
		line-height: 1.05;
	}
	.header-main-layout .navbar-toggler{
		justify-self: end;
	}
}

#footer-menu > [class*="col-"]{
	display: flex;
}
#footer-menu .bg-scuro{
	width: 100%;
}
.loghifooter-cont .row{
	align-items: center;
}
/* @end */

/* Movimento e trasparenza: il vetro resta discreto per non ridurre la leggibilità. */
.header.header-v5{
	background-color: rgba(0, 97, 200, .68);
	box-shadow: 0 .35rem 1.25rem rgba(0, 43, 89, .12);
	transition: background-color .5s ease, box-shadow .5s ease, transform .5s cubic-bezier(.22, .61, .36, 1);
}
.header.header-v5 .topbar.bg-light,
.header.header-v5 .bg-azzurro{
	background-color: rgba(255, 255, 255, .14) !important;
	backdrop-filter: blur(10px) saturate(125%);
	-webkit-backdrop-filter: blur(10px) saturate(125%);
	transition: background-color .45s ease, opacity .45s ease, max-height .45s ease;
}
/* Il blur non può stare sul genitore dell'offcanvas: altererebbe il riferimento di position: fixed. */
.header.header-v5 .bg-azzurro{
	position: relative;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.header.header-v5 .bg-azzurro::before{
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	backdrop-filter: blur(10px) saturate(125%);
	-webkit-backdrop-filter: blur(10px) saturate(125%);
}
.header.header-v5 .bg-azzurro > div{
	position: relative;
	z-index: 1;
}
.header-main-layout,
.header-main-layout #header-logo,
.header-main-layout .scritta-top,
.header-main-layout .socialmediaicons,
.header .topbar{
	transition-timing-function: cubic-bezier(.22, .61, .36, 1);
}
.header .offcanvas{
	--bs-offcanvas-width: min(78vw, 320px);
	--bs-offcanvas-transition: transform .45s cubic-bezier(.22, .61, .36, 1);
	background-color: rgba(0, 97, 200, .84);
	color: var(--body-color);
	backdrop-filter: blur(16px) saturate(135%);
	-webkit-backdrop-filter: blur(16px) saturate(135%);
}
.offcanvas-backdrop{
	transition: opacity .45s ease;
}
.header .offcanvas .nav-link{
	transition: color .25s ease, background-color .25s ease, padding-left .35s cubic-bezier(.22, .61, .36, 1);
}
.header .offcanvas .nav-link:hover,
.header .offcanvas .nav-link:focus{
	padding-left: .35rem;
}
@media (min-width: 992px){
	.header .offcanvas-lg{
		background-color: transparent;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
	.header-fixed .header.header-fixed-shrink .scritta-top{
		font-size: clamp(1.4rem, 1.9vw, 2rem);
	}
}
@media (max-width: 991px){
	.header #header-menu2.offcanvas-end{
		right: 0;
		left: auto;
		width: min(78vw, 320px);
	}
	.header .offcanvas-header{
		border-bottom: 1px solid rgba(255, 255, 255, .24);
	}
	.header .offcanvas .navbar-nav{
		align-items: stretch;
	}
}
@media (max-width: 991px){
	#header-menu2 .li-search-text{
		display: inline-block;
		margin-right: .45rem;
	}
	#header-menu2 .navbar-nav,
	#header-menu2 .navbar-nav > li{
		max-width: 100%;
	}
	#header-menu2 .dropdown-submenu{
		white-space: normal;
	}
	#header-menu2 .dropdown-menu{
		display: block !important;
		position: static !important;
		top: auto !important;
		right: auto !important;
		left: auto !important;
		width: 100%;
		min-width: 0;
		max-width: 100%;
		max-height: 0;
		margin: 0;
		padding: 0;
		overflow: hidden;
		visibility: hidden;
		opacity: 0;
		transform: translateY(-.35rem);
		transition: max-height .4s cubic-bezier(.22, .61, .36, 1), padding .4s ease, opacity .25s ease, transform .4s cubic-bezier(.22, .61, .36, 1), visibility 0s linear .4s;
	}
	#header-menu2 .dropdown-menu.show{
		max-height: 60rem;
		padding: .2rem 0 .35rem;
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
		transition-delay: 0s;
	}
}
.header-main-layout .logo,
.header-main-layout .scritta-top,
.header-main-layout .socialmediaicons,
.header-main-layout .navbar-toggler{
	order: 0;
}
.header-main-layout .logo{
	grid-column: 1;
	justify-self: start;
}
.header-main-layout .scritta-top{
	grid-column: 2;
	min-width: 200px;
}
.header-main-layout .socialmediaicons,
.header-main-layout .navbar-toggler{
	grid-column: 3;
}
@media (max-width: 991px){
	.header-main-layout .navbar-toggler{
		position: static !important;
		top: auto !important;
		right: auto !important;
	}
}
.parallaxBg.bg-image-v1{
	background: url(/Pagine/Sfondi/parallaxbg.jpg) no-repeat fixed 0% 50%;
	background-size: cover;
	background-color: var(--bg-light);
    background-blend-mode: darken;
}	
.parallaxBg{
	font-family: var(--cursive-font-family);
	padding: 10rem 0;
	position: relative;
	overflow: hidden;
	text-align: center;
}
.parallaxBg h3,
.parallaxBg h4,
.parallaxBg p{
	font-size: 3rem;
	text-shadow: 6px 6px 10px #000;
	font-weight: bold;
}	
.parallaxBg .container,
.parallaxBg .container-fluid{
   z-index: 10;
   position: relative;
}
/* @end */

/* @group HEADER */
header{
	background-color: rgba(0,97,200,0.75);
	position: relative;
	z-index: 160;
}
#login-menu a{
	color: var(--body-color);
}
.navbar-brand{
	display: block;
	/*padding-top: .5rem;
	padding-bottom: .5rem;*/
}
.logo{
	order: 1;
	max-width: 140px;
}
/* ATTIVARE QUANDO PRESENTE LOGO1 - LOGO2 */
/*#header-logo2{
  	opacity: 0;
  	display: none;
}
.header-fixed .header.header-fixed-shrink #header-logo2,
.noslider-fixed-space-default .header.header-sticky #header-logo2{
  	opacity: 1;
  	display: block;
  	float: left;
  	position: relative;
  	z-index: 1;
}
.header-fixed .header.header-fixed-shrink #header-logo,
.noslider-fixed-space-default .header.header-sticky #header-logo{
  	opacity: 0;
  	position: absolute;
  	display: none;
}*/
/* @end */
/* ATTIVARE QUANDO PRESENTE LOGO1 - LOGO2 */

/* @group TOPBAR (opzionale) */
/*.topbar{
}*/
.topbar .socialmediaicons .fas,
.topbar .icon > .fas, .topbar .icon.fas{
   width: 1.6rem;
   height: 1.6rem;
   padding: 4px;
   display: block;
}
/* @end */

/*Header Fixed - SHRINK - NON CANCELLARE!!!!!!!!!! SACRO !!!!!!!!!
------------------------------------*/
body.header-fixed-space-default{
/* ATTENZIONE alla posizione di no-home!!!! */
	padding-top: 0;
	/*padding-top: 0;*/ /*HEADER SOVRAPPOSTO ALLO SLIDER*/
}
body.header-fixed-space-default.editing{
	padding-top: 30px;
}
body.noslider-fixed-space-default{
/* con MostraTopSlider=True e .header-fixed-space-default=0 
crea uno spazio per impedire la sovrapposizione dell'header al contenuto */
	padding-top: 240px;
	/* NON ANNULLARE!!!!!!*/
}
body.noslider-fixed-space-default.editing{
	padding-top: 270px;
}
body.editing .header.header-sticky{
	padding-top: 30px;
}
/*-----*/
body.header-fixed .header-fixed-shrink .topbar{
	opacity: 0;
	height: 1px;
	width: 100%;
	/* overflow: hidden; */
	transition: all 0.6s ease-in-out;
}
@media (max-width: 991px){
	.header.header-sticky,
	.header.header-fixed-shrink{
	 	height: inherit;
	 	position: relative;
	}
	body.header-fixed-space-default,
	body.noslider-fixed-space-default{
		padding-top: 0 !important;
	}
}
@media (min-width: 992px){
	/*Logo*/
	/*.header-fixed-shrink .navbar-brand{
		max-width: 260px !important;
	}*/
	/*Navbar Nav*/
	/*.header-fixed-shrink .navbar-nav > li > a{
		padding-top: 4px;
		padding-bottom: 4px;
	}*/
	.header.header-sticky{
		margin-top: 0;
		transition: all 0.6s ease-in-out;
		/*background: linear-gradient(rgba(0,0,0,.6), transparent);*/	/* gradiente x header-shrink */
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
	}
	.header-fixed .header.header-fixed-shrink,
	.noslider-fixed-space-default .header.header-fixed-shrink,
	.noslider-fixed-space-default .header.header-sticky{
    	top: 0;
    	left: 0;
    	width: 100%;
    	position: fixed;
    	border-bottom: none;
    	transition: all 0.6s ease-in-out;
	}
	/*.header-fixed .header.header-fixed-shrink{
		background-color: var(--bg-light);
	}
	Dropdown*/
	/*.header-fixed-shrink .dropdown > a:after{
		top: 20px;
	}*/
	/*Search*/
	/*	.header-fixed-shrink .nav .search-open{
		top: 60px;
	}*/
}
/* HEADER FIXED - FINE */

/* @group USERBAR */
.userbar-cont{
	float: right;
	order:4;
	position: relative;
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
}
/*.header.header-fixed-shrink .userbar-cont{
	margin-top: 25px;
}*/
.userbar-cont .dropdown-menu{
	right: -1.5rem;
	position: absolute;
	left: 0;
	top: calc(100% - 0px) !important;
}
.userbar-cont > div,
.userbar-cont > ul{
	float: left;
	position: relative;
	margin: 0 0 0 10px;
}
.userbar-cont ul li{
	height: 100%;
}
.userbar-cont .icon-text,
.userbar-text{
	display: none;
}
.userbar-cont .user-name{
	background-color: var(--theme-info);
	color: var(--theme-info-txt);
	border-radius: 50%;
	height: 40px;
	width: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-transform: uppercase;
}
.user-name.user-90{
	background-color: var(--theme-evidence-bg);
	color: var(--theme-evidence-txt);
}
.user-name.user-100{
	background-color: var(--alder-bg);
	color: var(--alder-txt);
}
ul.userbar{
	margin-bottom: 0;
}
ul.userbar li.nav-item.dropdown{
	display: flex;
   justify-content: center;
   flex-direction: column;
}
ul.userbar li a:not(.badge-open .btn){
	color: var(--body-color);
}
ul.userbar li .fa-shopping-cart::before{
	margin-top: .1rem;
	display: inline-block;
}
ul.userbar li a.nav-link{
	height: 100%;
   display: flex;
   align-items: center;
}
/* @end */

/* @group LANG */
.lang-cont{
	text-transform: uppercase;
	text-align: left;
	align-self: center !important;
	order: 3;
	position: relative;
}
.bandiera.active img{
	opacity: 1;
}
.bandiera img{
	opacity: 0.4;
	max-width: 24px;
	height: auto;
}
.bandiera{
	margin-left: 10px;
}
.hoverSelector{
	padding-bottom: .3rem;
}
.hoverSelector .bandiera{
	margin-right: .5rem;
	margin-left: 0;
}
.hoverSelector:link,
.hoverSelector:visited{
	display: inline-block;
	cursor: pointer;
}
.hoverSelector:hover ul.languages{
	display: block;
}
ul.languages{
	top: 24px;
	right: 0;
	padding: 0 4px;
	display: none;
	min-width: 90px;
	position: absolute;
	background: #eeeeee;
	z-index: 20;
}
ul.languages:after{
	top: -4px;
	width: 0;
	height: 0;
	right: 14px;
	content: " ";
	display: block;
	position: absolute;
	border-bottom: 6px solid #eeeeee;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-left-style: inset; /*FF fixes*/
	border-right-style: inset; /*FF fixes*/
}
ul.languages > li > a{
	color: #333333;
	display: block;
	font-size: 11px;
	padding: 4px 12px;
	margin-bottom: 1px;
	text-transform: uppercase;
}
ul.languages li.active a i{
	color: var(--theme-evidence-bg);
	float: right;
	margin-top: 2px;
}
ul.languages li a:hover,
ul.languages li.active a{
	color: var(--body-color);
}
ul.languages li a:hover{
	text-decoration: none;
}
/* @end */

/* @group  - UI WIDGET - */
.ui-widget.ui-widget-content{
	margin-top: 30px;
}
.ui-widget-header{
	border: none;
	background: none;
	text-align: center;
}
.ui-tabs .ui-tabs-nav li{
	font-weight: bold;
	text-transform: uppercase;
	display: inline-block;
	float: none;
}
/* @end */

/* @group MARCHE */
#marche-cont img{
	-webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
	filter: grayscale(0%) brightness(100%);
	width: auto;
	max-width: 60% !important;
}
#marche-cont img:hover{
	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
	filter: grayscale(100%) brightness(110%);
}
#marche-cont{
	margin-top: 20px;
	margin-bottom: 20px;
}
.boxmarche{
	display: flex;
	justify-content: center;
	flex-direction: column;
	width: 100px;
	min-height: 60px;
	font-size: .8rem;
	text-transform: uppercase;
	line-height: 1.1;
	text-align: center;
	line-break: loose;
}
#boxmarche a{
	justify-content: center;	/* serve per la centratura verticale */
	flex-direction: column;
}
#marche-cont .owl-carousel .item{
	display: flex;
	justify-content: center;	/* serve per la centratura verticale */
	flex-direction: column;
	text-align: center;
	font-weight: bold;
	text-transform: uppercase;
}
 /* @end */

/* @group DIDASCALIA - RIGA1-RIGA2-RIGA3 */
.ms-stile1 .didascalia,
.ms-stile2 .didascalia,
.ms-stile3 .didascalia{
	width: 100%;
	height: 100%;
	top: 0;
	background: linear-gradient(transparent, rgba(0,0,0,.2));   /* gradient per titolohover */
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
   -ms-flex-direction: column;
   flex-direction: column;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
}
.slide-top .didascalia{
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	padding-top: 3rem;
}
.slide-bottom .didascalia{
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	padding-bottom: 3rem;
}
.slide-center .bg-testo{
	text-align: center;
	width: 100%;
}

.didascalia .btn{
	text-decoration: none;
	cursor: pointer;
	margin-top: 1rem;
	white-space: nowrap;
}
.didascalia a.btn{
   text-align: center;
   padding: .3rem 2.6rem;
}
.didascalia .bg-testo{
   margin: 0 auto;
   z-index: 1;
   padding: 1.8rem;
}

/****************** DIMENSIONI FONT ******************/
h3.riga1{		/* RIGA 1 */
	margin-bottom: .5rem;
	font-size: 1.2vw;
}
h3.riga1 span{
	font-weight: bolder;
}
h4.riga2{   /* RIGA 2 */
	font-size: 1.6vw;
	margin-bottom: .5rem;
}
h4.riga2::after{
	display: none;
}
p.riga3{		/*RIGA 3*/
	font-size: .9vw;
}
.ms-stile1 h3.riga1,
.ms-stile1 h4.riga2,
.ms-stile1 p.riga3,
.didascalia .btn{
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}
.slide-center h3.riga1,
.slide-center h4.riga2,
.slide-center p.riga3,
.slide-center .btn{
	margin-left: auto !important;
	margin-right: auto !important;
}
@media (min-width: 768px){
	.slide-right .bg-testo{
		margin: 0 0 0 60%;
	}
	.slide-left .bg-testo{
		margin: 0 60% 0 0;
	}
}

/****************** stile1 ******************/
/*.ms-stile1 .bg-testo{
}*/
.slidetop .ms-stile1::after{
	/*background: rgba(0,0,0,.15);*/
	background: linear-gradient(rgba(0,0,0,.15), transparent);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.ms-stile1 h3.riga1{		/* RIGA 1 */
	font-size: 1.5vw;
	font-family: var(--cursive-font-family);
	color: var(--theme-color2-txt);
	background-color: var(--theme-color2-bg);
	padding: .5rem 1rem;
}
.ms-stile1 h4.riga2{   /* RIGA 2 */
	font-size: 3vw;
	font-weight: 700;
	line-height: 1;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.55);
	color: var(--theme-color2-txt);
	padding: .5rem 0;
}
.ms-stile1 p.riga3{   /*RIGA 3*/ 
	font-size: 1.4vw;
	color: var(--theme-color2-txt);
	text-shadow: 1px 1px 4px rgba(0,0,0,0.55);
	padding: .5rem 0;
}

/****************** stile2 ******************/
/*.ms-stile2 .bg-testo{
   background-color: rgba(0,0,0,.5);
}*/
.ms-stile2 h3.riga1,
.ms-stile2 h4.riga2,
.ms-stile2 p.riga3{
	text-shadow: 1px 1px 4px #333333;
}
.ms-stile2 h3.riga1{	 /* RIGA 1 */
   color: var(--theme-color2-txt);
   font-size: 2.8vw;
   letter-spacing: .25rem;
	font-weight: 500;
}
.ms-stile2 h4.riga2{ /* RIGA 2 */
	border-bottom: none;
   font-size: 2.6vw;
   font-weight: 500;
	color: var(--theme-color2-txt);
}
.ms-stile2 p.riga3{	/* RIGA 3 */
	color: var(--theme-color2-txt);
	margin-bottom: 1rem;
   font-size: 1.8vw;
}

/****************** stile3 ******************/
/*.ms-stile3 .bg-testo{
   background-color: rgba(255,255,255,.6);
}*/
.ms-stile3 h3.riga1{	/* RIGA 1 */
	color: var(--body-color);
   font-size: 3vw;
	font-weight: 600;
}
.ms-stile3 h4.riga2{  /* RIGA 2 */
	border-bottom: none;
   font-size: 2.2vw;
	color: var(--body-color);
	font-weight: 500;
}
.ms-stile3 p.riga3{	/* RIGA 3 */
   color: var(--body-color);
   font-size: 1.2vw;
   font-weight: 400;
}
/**********************************************/

/* @group testo-hover */
.gallery-cont .loadmore:nth-child(n+9){
    display: none;
	/* SERVE PER LOAD MORE */
}
.gallery-img{
	position: relative;
	height: 100%;
}
.gallery-img a{
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-content: space-between;
}
.testo-hover .didascalia{
	left: 0;
	right: 0;
	bottom: 0;
	padding: 1rem;
	background: rgba(0,0,0,.45);
	color: white;
	position: absolute;
	margin: 0;
	height: 100%;
	font-size: smaller;
	text-align: center;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.testo-hover .didascalia h3,
.testo-hover .didascalia h4,
.testo-hover .didascalia p{
	color: white !important;
	text-align: center;
}
.testo-hover .gallery-img .didascalia{
	visibility: hidden;
}
.testo-hover .gallery-img:hover .didascalia{
	visibility: visible;
}
.testo-semplice .bg-testo,
.owl-carousel-std .bg-testo{
	margin: 0;
	padding: 1rem;
}
/* @end */

.zoom-overlay{		/* zoom */
	position: absolute;
	bottom: 0;
	right: 0;
	cursor: pointer;
	z-index: 120;
}
.slidecont, .carouselcont{
	position: relative;
	width: 100%;
	height: auto !important;
	max-width: 100%;
}
.slideimg{
	text-align: center;
}
.slideimg img{
	margin: 0 auto;
}
.slide .zoom{
	display: block;
	float: right;
	height: 40px;
	margin: 0 4px 0 0;
	text-align: right;
	width: 60px;
}
.slidestage{
	text-align: center;
}
.slideimage{
	position: relative;
}
.slideico-cont{
	margin: 15px 0;
	text-align: center;
}
.slideico img{
	text-align: center;
	border: 1px solid white;
	border-bottom: 0;
}
.icostage{
	background-color: white;
	display: none;
	width: 90px;
}
.icostage img{
	margin: 5px;
}
.icostagesticky{
	display: none;		/* mettere block se serve */
	position: -webkit-sticky;
	position: sticky;
	top: 0;
}
.icostagefixed{
	left: auto;
	right: 0;
	position: fixed;
	top: 220px;
}
.carousel-control{
   display: flex;
   justify-content: center;
   flex-direction: column;
}
.carousel-cont{
	display: flex;
	text-align: center;
	align-items: center;
	-webkit-flex-direction: row !important;
	-ms-flex-direction: row !important;
	flex-direction: row !important;
	flex-flow: row wrap;
	justify-content: space-around;
	-webkit-justify-content: space-around;
	/*justify-content: flex-start;*/
}
.carousel-ico{	
	float: left;
	margin: auto;
}
.ico-cont img:hover{
	opacity: 0.6;
}
/* @end */

/* SLICK SLIDER */
/*.slider-for{
	border: 1px solid var(--border-color);
}*/
.slider-for > div:nth-child(1n+2),
.slider-nav > div:nth-child(1n+2){ 
	display: none;	  /* evita la visualizzazione delle immagini fuori dalla cornice al caricamento */
}
.slider-for.slick-initialized > div:nth-child(1n+2),
.slider-nav.slick-initialized > div:nth-child(1n+2){ 
	display: block;
}
.slider-for .slick-track{
	display: flex;
}
.slider-for .slick-track .slick-slide{
	display: flex;
	flex-direction: column;
	height: auto;
	align-items: center;
	justify-content: center;
}
.slider-nav{
	margin-top: 1rem;
}
.slider-nav .slick-slide img{
	border: 1px solid var(--border-color);
	cursor: pointer;
}
/*.slider-nav.slick-slider{
	margin: 1rem -5px 0;
}*/
.slick-list.draggable{
	padding: 0 !important;
}
.slick-prev{
	z-index: 1;
}
.slick-prev::before,
.slick-next::before{
	background-color: transparent;
	color: white !important;
	text-shadow: rgba(0,0,0,.15);
	font-size: 40px !important;
	font-family: var(--icon-font-family);
	content: "\f053" !important;
}
.slick-prev::before{
	opacity: .3;
}
.slick-next::before{
	content: "\f054" !important;
}
/* @end */

/* ----- SLICK VERTICAL ----- */
/*.slick-vertical{
   padding-top: 0;
}*/
.slider-nav.slick-vertical{
	display: flex;
	justify-content: center;
	flex-direction: column;
	height: 100%;
	margin-top: 0;
}
.slick-vertical .slick-prev,
.slick-vertical .slick-next{
	right: calc(50% - 20px) !important;
	left: calc(50% - 20px) !important;
	width: 40px;
}
.slick-vertical .slick-prev::before{
	content: "\f106" !important;
}
.slick-vertical .slick-prev{
	top: 10px !important;
}
.slick-vertical .slick-next::before{
	content: "\f107" !important;
}
.slick-vertical .slick-next{
	bottom: -10px !important;
	top: auto !important;
}
/* @end */

/* Gallery Masonry: colonne responsive, foto senza ritaglio. */
.masonry-grid{
	position: relative;
	width: 100%;
}
.masonry-grid-sizer,
.masonry-grid-item{
	width: 100%;
}
.masonry-grid-item{
	padding: 0 .5rem 1rem;
}
.masonry-grid-item > a{
	display: block;
	overflow: hidden;
	border: 1px solid rgba(0, 140, 205, .35);
	border-radius: var(--boxhorizontal-radius, 1.2rem);
	background: linear-gradient(145deg, rgba(0, 49, 91, .64), rgba(0, 140, 205, .25));
	box-shadow: 0 .35rem 1rem rgba(0, 0, 0, .12);
}
.masonry-grid-item img{
	display: block;
	height: auto;
	width: 100%;
}
.masonry-grid-item .didascalia .container{
	width: 100%;
	max-width: none;
}
.masonry-grid-item .didascalia .bg-testo{
	padding: .55rem .75rem .65rem;
}
.masonry-grid-item .didascalia h3,
.masonry-grid-item .didascalia h4{
	font-size: .78rem;
	line-height: 1.25;
	margin: 0 0 .15rem;
}
.masonry-grid-item .didascalia p{
	font-size: .66rem;
	line-height: 1.3;
	margin: 0;
}
@media (min-width: 576px){
	.masonry-grid-sizer,
	.masonry-grid-item{
		width: 50%;
	}
}
@media (min-width: 992px){
	.masonry-grid-sizer,
	.masonry-grid-item{
		width: 33.333333%;
	}
}

/* @group OWL CAROUSEL */
.owl-carousel{
	position: relative;
}
.owl-carousel .item{ 
	/* evita la visualizzazione delle immagini fuori dalla cornice al caricamento */
	opacity: 0;
	transition: all .5s ease-in-out;
}
.owl-carousel.owl-loaded .item{ 
	opacity:1;
	transition: all .5s ease-in-out;
}
.owl-carousel .owl-stage{
	margin: 0 auto;
	display: flex;
	align-items: center;
	-webkit-align-items: stretch; 
	-ms-flex-align-items: stretch; 
	align-items: stretch; 	/* box altezza uguale */
}
.owl-carousel .item,
.owl-carousel .item article{
	height: 100%;
	/*text-align: center;*/
}
.owl-theme .owl-nav{
   width: 100%;
   z-index: 10;
   position: absolute;
   top: 50%;
   margin-top: -2rem;
}
.owl-prev, .owl-next{
	position: absolute;
}
.owl-prev{
	left: 0;
}
.owl-next{
	right: 0;
}
.owl-prev.disabled{
	display: none;
}
.owl-theme .owl-nav [class*="owl-"]{
  	padding: 0;
  	height: 30px;
  	width: 30px;
   background: rgba(0,0,0,0.3);
   color: white;
   border-radius: 50%;
}
.owl-theme .owl-nav [class*="owl-"]:hover{
	background: rgba(0,0,0,0.8);
}
.owl-theme .owl-next .fas{
	padding-left: 2px;
}
.owl-theme .owl-prev .fas{
	padding-right: 2px;
}
.owl-carousel:not(.owl-loaded){ 
   opacity: 0;
}
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span{
	background: var(--theme-color1-bg);
}
.owl-carousel-autowidth .owl-item img{
	width: auto;
}
.owl-carousel-autowidth .owl-item .item > a{
	display: flex;
	flex-direction: column;
	height: 100%;
}
.owl-carousel-autowidth .testo-hover .didascalia{
	position: static;
	flex: 0 0 auto;
	height: auto;
	margin-top: auto;
	padding: .35rem .55rem;
	background: transparent;
	font-size: .7rem;
}
.owl-carousel-autowidth .testo-hover .didascalia .bg-testo{
	padding: 0;
}
.owl-carousel-autowidth .testo-hover .didascalia h3,
.owl-carousel-autowidth .testo-hover .didascalia h4,
.owl-carousel-autowidth .testo-hover .didascalia p{
	font-size: .7rem;
	line-height: 1.2;
	margin: 0;
}
.owl-carousel-std .owl-item{
	display: flex;
}
.owl-carousel-std .owl-item .item{
	width: 100%;
}
.owl-carousel-std .owl-item .item > a{
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}
.owl-carousel-std .owl-item .item > a > img{
	margin: auto;
}
.owl-carousel-std .didascalia{
	flex: 0 0 4.5rem;
	height: 4.5rem;
	overflow: hidden;
	width: 100%;
}
.owl-carousel-std .didascalia .container,
.owl-carousel-std .didascalia .bg-testo{
	height: 100%;
}
.owl-carousel-std .didascalia .bg-testo{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: .4rem .65rem;
}
.owl-carousel-std .didascalia h3,
.owl-carousel-std .didascalia h4,
.owl-carousel-std .didascalia p{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	font-size: .85rem;
	line-height: 1.2;
	margin: 0;
}

/* @end */

/* @group EDITOR -nessuna di diqueste voci va rimossa */
.nobackground{
	background-image: none;
	padding: 0;
}
.img-bordo{
	border: 1px solid var(--border-color);
	padding: 5px;
	height: auto !important;
	max-width: 100%;
}
.img-center{
	text-align: center;
	height: auto !important;
	max-width: 100%;
	margin: auto;
}
.img-floatdx{
	float: right;
	margin: 0 0 0 20px;
	padding: 1px;
	height: auto !important;
	max-width: 100%;
}
.img-floatsx{
	float: left;
	margin: 0 20px 0 0;
	height: auto !important;
	max-width: 100%;
}
.img-center > figure{
   display: inline-block;
}
figure img{
	max-width: 100%;
	height: auto;
}
caption, figcaption{
	text-align: center;
	font-variant: small-caps;
	letter-spacing: 1px;
}
.simplebox{
	background: #eeeeee;
	border: 1px solid var(--border-color);
	border-radius: 8px;
	box-shadow: 0 1px 1px white;
	margin: 10px;
	padding: 8px;
}
.simplebox.align-center{
	margin-left: auto;
	margin-right: auto;
}
.simplebox.align-left{
	float: left;
}
.simplebox.align-right{
	float: right;
}
.simplebox-content{
	padding: 0 8px;
}
.simplebox-title{
	margin: 0 0 8px;
	padding: 5px 8px;
}
.simplebox-title, .simplebox-content{
	background: white;
	border: 1px solid var(--border-color);
	border-radius: 5px;
	box-shadow: 0 1px 1px #cccccc inset;
}
.citazione{
	color: var(--body-color);
	font-family: var(--cursive-font-family);
	font-size: 2.5rem;
	line-height: 1.1;
	margin: 3rem auto;
	max-width:1200px;
	padding: 20px 60px;
	position: relative;
}
.citazione::before,
.citazione::after{
	font-family: var(--icon-font-family);
	background-color: transparent;
	color: var(--body-color-light);
	position: absolute;
	font-size: 2rem;
	font-weight: 900;
}
.citazione::before{
	content: "\f10d";
	top: 0;
	left: 0;
}
.citazione::after{
	content: "\f10e";
	right: 0;
	bottom: 0;
}
div.citazione p{
	line-height: 1.1;
	text-align: left;
	font-size: inherit;
}
cite, q{
	font-family: Georgia, Times;
	color: var(--body-color-light);
	line-height: 1.6;
}
.handwriting{
	color: var(--body-color);
	font-family: var(--cursive-font-family);
	font-size: 2.5rem;
}
/* ----------------------------
 * Callouts
 * ---------------------------- */
.callout{
	opacity: 1;
	padding: 4%;
	margin: 20px 0;
}
.callout h1, .callout h2,
.callout h3, .callout h4{
	font-weight: 300;
	margin-top: 0;
}
.callout p{
	text-align: justify;
}
.callout-block a, .callout-bubble a, 
.callout-dark a, .callout-teal a,
.callout-blue a{
	color: white !important;
}
.callout-block{
	background-color: #00315b;
	color: white;
}
.callout-bubble{
	background-color: #ff9e0d;
	color: white;
}
.callout-dark{
	background-color: black;
	color: white;
}
.callout-blue{
	background-color: #0073b1;
	color: white;
}
.callout-teal{
	background-color: var(--theme-color1-bglight);
	color: var(--theme-color1-txt);
}
.callout-dark h1,
.callout-dark p{
	color: white;
}
.callout-ico{
	float: left;
	margin-right: 30px;
	opacity: .7;
}
.callout-light{
	background-color: var(--bg-light);
	color: var(--theme-primary-dark);
}
/* @end */

/* @group PAGINA CONTATTI / INVITE */
#contatti{
   padding-top: 10px;
   padding-bottom: 40px;
}
#contatti-indirizzo{
   display: none;
}
#invite-cont{
	background-color: white;
	padding: 0 15px;
	width: 100%;
}
/* @end */

/* @group MAPPA */
.tooltip{
	padding: 10px;
	text-align: left;
	width: 300px;
}
.tooltip p, .tooltip img{
	float: left;
	display: inline;
	padding: 0;
	margin: 0 10px 0 0;
}
.tooltip img{
	float: left;
	display: inline;
	padding: 0;
	margin: 0 10px 0 0;
}
.boxmap .boxico{
	background-image: url(../../easyUp/NoFoto.jpg);
	background-position: center;
	background-repeat: no-repeat;
	border: 2px solid var(--border-color);
	float: left;
	margin: 0 5px 5px 0;
	overflow: hidden;
	max-width: 40%;
}
.boxmap .boxtesto,
.boxmap .boxtesto p{
	text-align: left;
	width: 100%;
}
.boxmap .boxtitolo{
	font-size: 13px;
	font-weight: bold;
	line-height: 1.2;
	margin: 0 10px 0 0;
	text-align: left;
}
/* @end */

#fade{
	background: rgb(255, 255, 255); /* Fall-back for browsers that don't  support rgba */
   background: rgba(255, 255, 255, .70);
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99998;
}
.popup_login{
	background: white;
	border: 2px solid var(--border-color);
	color: black;
	display: none;
	float: left;
	font-size: 1.2rem;
	left: 50%;
	padding: 30px;
	position: fixed;
	top: 50%;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 4px;
	-webkit-box-shadow: 0 0 20px #cccccc;
	-moz-box-shadow: 0 0 20px #cccccc;
	box-shadow: 0 0 20px #cccccc;
	z-index: 99999;
}
.popup_login .close{
	margin: 0 -10px 0 0;
	float: right;
	color: var(--theme-evidence-bg);
}

/* @group Social buttons */
header .socialmediaicons{
	order:3;
}
.socialmediaicons ul{
	margin-bottom: 0;
}
.socialmediaicons .fas,
.socialmediaicons .fab,
.icon > .fas, .icon.fas,
.icon > .fab, .icon.fab{
	position: relative;
	z-index: 2;
	padding: 4px;
	width: 1.85rem;
	text-decoration: none;
	height: 1.85rem;
	float: left;
	overflow: hidden;
	text-align: center;
	transition: all .2s ease-in-out;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.socialmediaicons .fas,
.socialmediaicons .fab{
	float: none;
}
.socialmediaicons.round .fas,
.socialmediaicons.round .fab,
.icon.round .fas,
.icon.round .fab{
	padding: 6px;
   font-size: 20px;
   width: 30px;
   border-radius: 50%;
   text-decoration: none;
   margin: 5px 2px;
}
.socialmediaicons ul li a:link,
.socialmediaicons ul li a:visited{
	color: white;
}
.socialmediaicons .fa:hover{
   color: rgba(255,255,255,0.7) !important;
}
/*.socialmediaicons .fa-facebook{
   background: #1877f2;
}
.socialmediaicons .fa-youtube{
   background: #bb0000;
}
.socialmediaicons .fa-instagram{
	background-image: url(../Sfondi/bgInstagram.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background: #df337f;
}
.socialmediaicons .fa-linkedin{
   background: #0073b1;
}
.socialmediaicons .fa-twitter{
   background: black;
}
.socialmediaicons .fa-phone{
	background: var(--theme-color1-bg);
}
.socialmediaicons .fa-pinterest{
	background-color: #e60023;
}
.socialmediaicons .fa-skype{
   background: #00aff0;
}*/
/* @end */

/* @group COMMENTI - ATTIVARE QUANDO NECESSARIO */
/*.commenti .firma{
	margin: 10px 0 0 0;
}
.commenti .commentiredaz{
	border-bottom: 1px solid #cccccc;
	margin: 50px 10px 0 0;
	padding: 0 0 50px 200px;
}
.commenti .commentiredaz p::after{
	content: '\f007';
	position: absolute;
	font-weight: 900;
	font-size: 3.5rem;
   font-family: "Font Awesome 5 Free", FontAwesome;
	top: 0;
	left: 0;
	right: 0;
}
.commenti .commentiredaz::after{
	position: absolute;
	content: '';
	top: 0;
	left: 120px;
	width: 4px;
	height: 70%;
	background-color: #999999;
}
ul.commenti-risposte{
	margin: 20px 0 0 50px;
}*/
/* @end */


/* SERVE SOLO PER IMPOSTARE CONTAINER A "1600" */
@media (min-width: 1600px){
   .container, .container-lg,
   .container-md, .container-sm,
   .container-xl{
   	max-width: 1570px;
	}
}

/* BREAKPOINT EXTRALARGE - xl */
@media (min-width: 1200px){
	.no-home #slidecont1 img,
	.no-home .slidetop img{
		object-fit: cover;
		width: 100%;
	}
	.home #slidecont1 .arrow-down{
		background-image: url(../Sfondi/icon_bounce.png);
		background-repeat: no-repeat;
		position: absolute;
		bottom: 5px;
		left: 0;
		right: 0;
		height: 60px;
		width: 60px;
		margin-left: auto;
		margin-right: auto;
		opacity: .7;
		content: " ";
	}
	#slidecont1 .arrow-down{
		display: none;
	}
}

/* BREAKPOINT LARGE - lg - tablet oriz */
@media (min-width: 992px) and (max-width: 1199px){
	h3.riga1{
		font-size: 3rem !important;
	}
	h4.riga2{
		font-size: 1.6rem !important;
	}
	p.riga3{
		font-size: 1.3rem !important;
		line-height: 1.3;
	}
	.bg-testo .btn{
		margin-top: 1rem;
		font-size: .8rem;
	}
	.diario{
  		margin-left: 15%;
	}
	.diario h2{
		font-size: 3.5rem;
	}
	.heading.brd-vert h2{
		margin-bottom: 0;
	}
	.diariodibordo h5{
		font-size: 1.1rem;
	}
}

/* BREAKPOINT MEDIUM - md - tablet vert */
@media (min-width: 768px) and (max-width: 991px){
	.scritta-top{
		font-family: var(--cursive-font-family);
		font-size: 2rem;
		order:2;
		margin: 0 auto 0 8%;
	}
	.heading.brd-vert h2{
		margin-bottom: 0;
	}
	.diariodibordo h5{
		font-size: 1.1rem;
	}
}


/* SOLO TABLET E DESKTOP, NO SMARTPHONE!!! */
@media (min-width: 992px){
  	#titolopagina.titolohover{
		/* Titolo sovrapposto ad animazione */
		position: absolute;
		width: 100%;
		bottom: 40px;
		z-index: 150;
		/* overflow: hidden; */
	}
	#titolopagina.titolohover .titoloh1,
	#titolopagina.titolohover .sottotitolo,
	#titolopagina.titolohover .occhiello{
		color: white;
		text-align: center;
		text-shadow: 1px 1px 50px rgba(0,0,0,0.175);
		word-spacing: .5rem;
		letter-spacing: .05rem;
		font-size: 4.5vw;
	}
	#titolopagina.titolohover .titoloh1{
		font-family: var(--cursive-font-family);
		text-shadow: 1px 1px 6px var(--text-shadow);
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		padding: .8rem 1rem;
		margin: .5rem auto;
	}
	#titolopagina.titolohover .sottotitolo,
	#titolopagina.titolohover .occhiello{
		text-transform: none;
		text-align: center;
		font-weight: normal;
		font-size: 1.2vw;
	}
	.row-eq-height{
	/* ATTENZIONE! Non spostare sotto il 768 o scombina le colonne!!! */
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}
	.vertical-center{
		height: 100%;
		position: relative;
		text-align: center;
		display: flex;
		justify-content: center;
		flex-direction: column;
	}
	.text-center > .pagination{
  		justify-content: center;
	}
	.btn-lg{
		white-space: normal;
		min-width: 200px;
	}
	.scritta-top{
		font-family: var(--cursive-font-family);
		text-align: center;
		letter-spacing: .1rem;
		font-size: 3.4vw;
		font-weight: bold;
		margin: auto;
		color: var(--body-color);
		order:2;
	}
	.boxhorizontal{
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		background-color: var(--body-bg);
		-webkit-flex-direction: row !important;
		-ms-flex-direction: row !important;
		flex-direction: row !important;
		border: none;
		border-right: .8rem solid var(--theme-info);
	}
	.boxhorizontal:hover{
		background-color: var(--theme-color1-bg);
	}
	.boxhorizontal .boxico{
		width: 50%;
	}
	.boxhorizontal .boxcontent{
		width: 50%;
		display: flex;
		justify-content: center;
		flex-direction: column;
		position: relative;
		text-align: left;
		padding: 0 1rem 2rem 2rem;
	}
	.boxhorizontal .boxcontent > a{
		/* Attenzione al cuneo: non rimuovere */
		display: flex;
		justify-content: center;
		flex-direction: column;
		height: 100%;
	}
	.boxhorizontal .boxlink{
		width: 50%;		/* DEFAULT: DEVE ESSERE LARGO COME BOXCONTENT */
		right: 0;		/* ATTENZIONE! se larghezza=50% questo DEVE ESSERE 0 */
		left: auto;
		bottom: 1rem;
		position: absolute;
		text-align: left;
		padding: 0 0 1rem 2rem;
	}
	/*.no-home .boxhorizontal .boxlink{
		display: none;
	}*/
	.boxhorizontal-right{
		/* SILVIA: NON VAI MAI MAI MAI remato, PP!!!! */
		-webkit-flex-direction: row-reverse !important;
		-ms-flex-direction: row-reverse !important;
		flex-direction: row-reverse !important;
	}
	/*.box.boxhorizontal-right{
		background-color: var(--theme-color2-bglight);
	}
	.boxhorizontal-right a .boxtitolo,
	.boxhorizontal-right a .boxtesto,
	.boxhorizontal-right .boxtitolo,
	.boxhorizontal-right .sottotitolo,
	.boxhorizontal-right .boxtesto,
	.boxhorizontal-right .boxlink a{
		color: var(--theme-color2-txt);
	}*/
	/*.boxhorizontal-right .boxcontent{
		padding: 0 0 1rem 2rem;
	}*/
	.boxhorizontal-right .boxlink{
		left: 0;
		right: auto;
	}
	.boxhorizontal-sm{
		padding: .5rem;
		border: 1px solid var(--border-color);
		border-radius: var(--bs-border-radius);
	}
	.boxhorizontal-sm .boxico{
		width: 30%;
	}
	.boxhorizontal-sm .boxcontent{
		width: 70%;
		padding: 1rem;
		margin: 0;
	}
	.boxhorizontal.boxlarge .boxico{
		width: 50%;
	}
	.boxhorizontal.boxlarge .boxcontent,
	.boxhorizontal.boxlarge .boxlink{
		width: 50%;
	}
	.boxlarge.boxhorizontal .boxlink{
		left: 50%;
		right: auto;
	}
	.boxlarge.boxhorizontal-right .boxlink{
		left: 0;   
		right: auto;
	}
	.wa-footer{
		background-color: #3cb82a;
		display: inline-block;
		padding: .65rem;
		z-index: 10;
		border-radius: 50%;
		position: fixed;
		bottom: 5%;
		right: 1rem;
	}
	.wa-footer a:link,
	.wa-footer a:visited{
		color: white;
	}
	.wa-footer .icon .fab{
		padding: 4px;
		width: 2.2rem;
		height: 2.2rem;
	}
	/* @group FLEXBOX */
	/* ATTENZIONE!!! Nessuna voce di questo gruppo va rimossa!!!  */
	.flex-container,
	.flex-container .row{
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-flow: row wrap;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		-webkit-align-items: stretch; 
		-ms-flex-align-items: stretch; 
		align-items: stretch; 	/* box altezza uguale */
	}	
	.flex-container .row:before,
	.row.flex-container:before{
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}
	.flex-container > .row > div[class*="col-"],
	.flex-container > .row > li[class*="col-"],
	.flex-container > li[class*="col-"],
	.flex-container > div[class*="col-"]{
		padding-bottom: 1.5rem;
	}
	.flex-container > .row.list-unstyled{
   	padding-left: 0;
	}
	.justify-content-center{
		justify-content: center;
	}
	/* MASONRY - fluid 5 columns */
	.grid-sizer,
	.grid-item{
		width: 20%;
	}
	/* MASONRY -  2 columns */
	.grid-item--width2{
		width: 40%;
	}
}
/* @end */


/* BREAKPOINT SMARTPHONE - COLLAPSE MENU - xs + sm + md */
@media (max-width: 991px){
	.parallaxBg{
		background-attachment: scroll;	/* RISOLVE BUG DELL'IMG PER IOS !!!! */
	}
	.no-required,
	.required-message,
	.help-message{
		top: 2px;
	}
	#editing-bar{
		font-size: .85rem;
	}
	#titolopagina .titoloh1{
		font-size: 3.5vw;
	}
	.cat00E .boxtitolo{
  		padding: .5rem 6.5rem;
	}
	.flex-container > .row > div[class*="col-"],
	.flex-container > .row > li[class*="col-"],
	.flex-container > li[class*="col-"],
	.flex-container > div[class*="col-"]{
		padding-bottom: 1.5rem;
	}
	.boxtitolo{
		font-size: 1.3rem;
	}
	.box.boxoverlay{
		padding-bottom: 0;
	}
	.col-6 .boxtitolo{
		font-size: .85rem;
		word-wrap: break-word;
		/* ATTENZIONE!! Non cancellare le 3 righe sotto; remare se necessario */	
		overflow: hidden;
		text-overflow: ellipsis;
 		/* ATTENZIONE!! Non cancellare le 3 righe sopra; remare se necessario */   
	}
	ul.list-4col li{
		float: left;
		width: 50%;
	}
	.parallaxBg h3,
	.parallaxBg h4,
	.parallaxBg p{
		font-size: 2.2rem;
	}
	.grid-item{
		width: 100%;
	}
	.no-home #slidecont1,
	.no-home #slidecont3, .slidetop{
		position: relative;
	}
	#titolopagina.titolohover{
		/* Titolo sovrapposto ad animazione */
		position: absolute;
		width: 100%;
		bottom: 1rem;
		left: 0;
		z-index: 150;
		/* overflow: hidden; */
	}
	#titolopagina.titolohover .titoloh1{
		color: white;
		font-size: 8vw;
		text-align: center;
	}	
	#titolopagina.titolohover .sottotitolo{
		display: none;
	}
	.no-home #slidecont1::before,
	.slidetop::before{
		height: 99%;
	}
	#credits{
		float: left;
	}
	.button-cont{
		width: 100%;
	}
	.lang-cont{
		order: 2;
		margin: 0 60px 0 0;
	}
	.header .socialmediaicons{
		display: none;
	}
	.parallaxBg.bg-image-v1{
		background: url(/Pagine/Sfondi/parallaxbgMobile.jpg) no-repeat fixed 0% 50%;
		background-attachment: scroll;
		background-size: cover;
	}
	.boxsegnala-cont{
		display: inline-block;
		margin: auto;
		text-align: center;
	}
	.boxsegnala{
		float: none;
		margin-top: 1rem;
	}
	.zopim{
		bottom: 1px !important;
		right: 0 !important;
	}
	.diario{
  		margin-left: 8%;
  		margin-right: 3%;
  		margin-bottom: 5%;
  	}
	h2{
  		font-size: 2.8rem;
	}
   /*-----------------------------------*/
	h3.riga1{
		font-size: 3.6vw;
	}
	h4.riga2{
		font-size: 4vw;
	}
	p.riga3{
		font-size: 2.8vw;
	}
   .ms-stile1 h3.riga1,
   .ms-stile2 h3.riga1,
   .ms-stile2 h3.riga1{
		font-size: 2.8vw;
	}
	.ms-stile1 h4.riga2,
	.ms-stile2 h4.riga2,
	.ms-stile3 h4.riga2{
		font-size: 4.6vw;
	}
	.ms-stile1 p.riga3,
	.ms-stile2 p.riga3,
	.ms-stile3 p.riga3{
		font-size: 2.5vw;
	}
	.bg-testo .btn{
		font-size: 1.6vw;
	}
	.testo-hover .didascalia .bg-testo{
		padding: 0;
	}
	.boxhorizontal .boxcontent{
  		background-position: bottom right;
  		background-repeat: no-repeat;
  		padding-bottom: 4rem;
	}
	.boxhorizontal-sm .boxico{
		padding-top: .5rem;
	}
	.boxhorizontal-sm .boxcontent{
		text-align: center;
		padding-top: .5rem;
	}
	.boxhorizontal-sm .btn-circle{
		margin: 0 auto;
	}
	.wa-footer{
		display: none;
	}
	#menusx{
		order:2 !important;
	}
	/*-----------------------------------*/
	/*---table---*/
	.no-table-mobile table,.no-table-mobile thead, .no-table-mobile tbody, 
	.no-table-mobile th,.no-table-mobile td, .no-table-mobile tr{
		display: block;
	}
	.no-table-mobile .table > tbody > tr > td, 
	.no-table-mobile .table > tbody > tr > th, 
	.no-table-mobile .table > tfoot > tr > td, 
	.no-table-mobile .table > tfoot > tr > th, 
	.no-table-mobile .table > thead > tr > td, 
	.no-table-mobile .table > thead > tr > th{
		padding: 4px;
	}
	.table-bordered > tbody > tr > td,
	.table-bordered > tbody > tr > th,
	.table-bordered > tfoot > tr > td,
	.table-bordered > tfoot > tr > th,
	.table-bordered > thead > tr > td,
	.table-bordered > thead > tr > th{
		border: none;
	}
	/* Hide table headers (but not display: none;, for accessibility) */
	.no-table-mobile thead tr{
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	.no-table-mobile tr{
		margin: 0 0 1rem 0;
	}
   .table-striped-xs tr:nth-child(odd){
		background: #e1e1e1 !important;
	}
	.no-table-mobile td{
		/* Behave like a "row" */
		border: none;
		position: relative;
		white-space: normal;
	}
	.no-table-mobile td.td-title{
		padding-left: 50% !important; 
	}
	.no-table-mobile td.td-title:before{ 
		/* Now like a table header */
		position: absolute;
		/* Top/left values mimic padding */
		top: 6px;
		left: 6px;
		width: 45%;
		padding-right: 10px;
		white-space: nowrap;
		text-align: left;
		font-weight: bold;
	}
	.no-table-mobile td.td-title:before{ 
		content: attr(data-title);
	}
	.no-table-mobile .th-label,
	.no-table-mobile .th-help{
		display: inline-block;
	}
	.no-table-mobile .th-label{
		width: 88%;
		font-weight: bold;
	}
	.no-table-mobile .th-help{
		width: 10%;
		text-align: right;
	}
}


/* BREAKPOINT SMARTPHONE (extrasmall <576)  + small <768) - sm */
@media (max-width: 767px){
	.logo{
		max-width: 30%;
	}
	.lang-cont .bandiera{
		display: none;
	}
	#titolopagina .titoloh1{
		font-size: 4.5vw;
	}
	.boxeventi .boxtitolo{
  		font-size: 1.0rem;
	}
	.scritta-top{
		font-family: var(--cursive-font-family);
		font-size: 1.8rem;
		margin: auto;
	}
	.loghifooter-cont .col-md{
		margin-bottom: 2rem;
	}
	.ms-stile1 h3.riga1,
   .ms-stile2 h3.riga1,
   .ms-stile2 h3.riga1{
		font-size: 8vw;
	}
	.ms-stile1 h4.riga2,
	.ms-stile2 h4.riga2,
	.ms-stile3 h4.riga2{
		font-size: 9vw;
	}
	.ms-stile1 p.riga3,
	.ms-stile2 p.riga3,
	.ms-stile3 p.riga3{
		font-size: 5vw;
	}
	.bg-testo .btn{
		font-size: 3vw;
	}
}

/* Acqua e mare: superfici traslucide e riflessi leggeri. */
.btn-primary,
.btn-secondary,
.btn-info{
	background-image: linear-gradient(135deg, var(--theme-color1-bglight) 0%, var(--theme-color2-bg) 48%, var(--theme-color3-bg) 100%);
	background-size: 180% 180%;
	border-color: rgba(216, 229, 245, .5);
	box-shadow: 0 .45rem 1rem rgba(0, 49, 91, .2), inset 0 1px 0 rgba(255, 255, 255, .22);
	transition: background-position .45s cubic-bezier(.22, .61, .36, 1), box-shadow .45s cubic-bezier(.22, .61, .36, 1), transform .45s cubic-bezier(.22, .61, .36, 1);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-info:hover,
.btn-info:focus{
	background-position: 100% 100%;
	border-color: rgba(41, 255, 255, .7);
	box-shadow: 0 .7rem 1.4rem rgba(0, 49, 91, .3), inset 0 1px 0 rgba(255, 255, 255, .3);
	transform: translateY(-1px);
}
.boxhorizontal{
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: rgba(0, 49, 91, .72);
	background-image: linear-gradient(135deg, rgba(0, 49, 91, .8) 0%, rgba(0, 97, 200, .58) 52%, rgba(0, 140, 205, .48) 100%);
	border: 1px solid rgba(216, 229, 245, .22);
	border-right: .28rem solid rgba(41, 255, 255, .68);
	box-shadow: 0 .8rem 1.8rem rgba(0, 26, 67, .24);
	transition: background-color .5s ease, background-image .5s ease, box-shadow .5s ease, transform .5s cubic-bezier(.22, .61, .36, 1);
}
.boxhorizontal::before{
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 88% 16%, rgba(41, 255, 255, .24), transparent 32%),
		linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .13) 48%, transparent 66%);
	opacity: .8;
	transition: opacity .5s ease, transform .7s cubic-bezier(.22, .61, .36, 1);
}
.boxhorizontal .boxico,
.boxhorizontal .boxcontent,
.boxhorizontal .boxlink{
	z-index: 1;
}
.boxhorizontal:hover{
	background-color: rgba(0, 69, 130, .78);
	box-shadow: 0 1rem 2.2rem rgba(0, 26, 67, .32);
	transform: translateY(-2px);
}
.boxhorizontal:hover::before{
	opacity: 1;
	transform: translateX(2%);
}
@media (prefers-reduced-motion: reduce){
	.btn-primary,
	.btn-secondary,
	.btn-info,
	.boxhorizontal,
	.boxhorizontal::before{
		transition: none;
	}
}

/* Stato attivo della navigazione: visibile anche sulle superfici traslucide dell'header. */
.header #header-menu2 .navbar-nav > .active > .nav-link,
.header #header-menu2 .navbar-nav > .nav-item > .nav-link.active{
	color: #fff;
	background-color: rgba(41, 255, 255, .2);
	border-bottom: 2px solid var(--theme-info);
	border-radius: .45rem .45rem 0 0;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .22);
	text-shadow: 0 1px 2px rgba(0, 49, 91, .65);
}

@media (max-width: 991px){
	.header #header-menu2 .navbar-nav > li.dropdown{
		flex-wrap: wrap;
		align-items: stretch;
	}
	.header #header-menu2 .navbar-nav > li.dropdown > .nav-link1{
		flex: 1 1 0;
		width: auto;
		min-width: 0;
	}
	.header #header-menu2 .navbar-nav > li.dropdown > .nav-link2{
		flex: 0 0 3rem;
		width: 3rem;
	}
	.header #header-menu2 .navbar-nav > li.dropdown > .liv1.dropdown-menu{
		flex: 0 0 100%;
		order: 2;
	}
	.header #header-menu2 .navbar-nav > .active > .nav-link,
	.header #header-menu2 .navbar-nav > .nav-item > .nav-link.active{
		border-radius: .45rem;
	}
}

/* Voce con caret: le due ancore restano visivamente un unico controllo. */
.header #header-menu2 .navbar-nav > li.dropdown > .nav-link1,
.header #header-menu2 .navbar-nav > li.dropdown > .nav-link2{
	vertical-align: top;
}
.header #header-menu2 .navbar-nav > li.active.dropdown > .nav-link1,
.header #header-menu2 .navbar-nav > li.active.dropdown > .nav-link2{
	display: inline-flex;
	align-items: center;
	min-height: calc(1.5em + 1rem);
	border-radius: 0;
}
.header #header-menu2 .navbar-nav > li.active.dropdown > .nav-link1{
	border-radius: .45rem 0 0 .45rem;
}
.header #header-menu2 .navbar-nav > li.active.dropdown > .nav-link2{
	border-radius: 0 .45rem .45rem 0;
}

/* Il raggio riprende i box overlay; la luce segue il bordo acquamarina. */
.boxhorizontal{
	border-radius: var(--boxhorizontal-radius);
}
.boxhorizontal::after{
	content: "";
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: -72%;
	width: 1.15rem;
	height: 72%;
	pointer-events: none;
	opacity: 0;
	transform: translateY(28%);
	background: linear-gradient(to top, transparent 0%, rgba(41, 255, 255, .08) 14%, rgba(255, 255, 255, .95) 50%, rgba(41, 255, 255, .2) 80%, transparent 100%);
	box-shadow: 0 0 1.1rem rgba(41, 255, 255, .72);
	filter: blur(2px);
	transition: transform .85s cubic-bezier(.22, .61, .36, 1), opacity .2s ease;
}
.boxhorizontal:hover::after{
	opacity: 1;
	transform: translateY(-155%);
	transition: transform .85s cubic-bezier(.22, .61, .36, 1), opacity .16s ease;
}
@media (prefers-reduced-motion: reduce){
	.boxhorizontal::after{
		transition: none;
	}
}

/* Bottoni: stesso riflesso marino per tutte le varianti Bootstrap. */
.btn:not(.btn-link):not(.btn-close){
	background-image: linear-gradient(135deg, var(--theme-color1-bglight) 0%, var(--theme-color2-bg) 48%, var(--theme-color3-bg) 100%);
	background-size: 180% 180%;
	border-color: rgba(216, 229, 245, .62);
	box-shadow: 0 .45rem 1rem rgba(0, 49, 91, .2), inset 0 1px 0 rgba(255, 255, 255, .3);
	transition: background-position .45s cubic-bezier(.22, .61, .36, 1), border-color .35s ease, box-shadow .45s cubic-bezier(.22, .61, .36, 1), transform .45s cubic-bezier(.22, .61, .36, 1);
}
.btn:not(.btn-link):not(.btn-close):is(:hover, :focus-visible){
	background-position: 100% 100%;
	border-color: rgba(41, 255, 255, .82);
	box-shadow: 0 .7rem 1.4rem rgba(0, 49, 91, .3), 0 0 .85rem rgba(41, 255, 255, .18), inset 0 1px 0 rgba(255, 255, 255, .42);
	transform: translateY(-1px);
}
.btn:not(.btn-link):not(.btn-close):active{
	background-position: 100% 100%;
	box-shadow: inset 0 .2rem .5rem rgba(0, 49, 91, .25);
	transform: translateY(0);
}

/* Citazioni: virgolette grafiche, più ampie e luminose. */
.citazione{
	padding: clamp(2.3rem, 5vw, 3rem) clamp(3.75rem, 8vw, 6rem);
}
.citazione::before,
.citazione::after{
	color: var(--theme-info);
	font-size: clamp(3.4rem, 6vw, 5.5rem);
	line-height: .75;
	text-shadow: 0 .25rem .65rem rgba(0, 97, 200, .28);
}
.citazione::before{
	background-image: linear-gradient(135deg, #fff 0%, var(--theme-info) 44%, var(--theme-color2-bg) 100%);
}
.citazione::after{
	background-image: linear-gradient(315deg, #fff 0%, var(--theme-info) 44%, var(--theme-color2-bg) 100%);
}
@media (prefers-reduced-motion: reduce){
	.btn:not(.btn-link):not(.btn-close){
		transition: none;
	}
}

.citazione::before,
.citazione::after{
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
/* Le due parti della voce con caret condividono la stessa scatola flessibile. */
.header #header-menu2 .navbar-nav > li.dropdown{
	display: flex;
	align-items: stretch;
}
.header #header-menu2 .navbar-nav > li.dropdown > .nav-link1,
.header #header-menu2 .navbar-nav > li.dropdown > .nav-link2{
	display: inline-flex;
	align-items: center;
	min-height: calc(1.5em + 1rem);
	line-height: 1.5;
	box-sizing: border-box;
	vertical-align: top;
}
.header #header-menu2 .navbar-nav > li.dropdown > .nav-link2{
	position: relative;
	justify-content: center;
}
.header #header-menu2 .navbar-nav > li.dropdown > .nav-link2::after{
	top: 50%;
	transform: translateY(-50%);
}
/* Riflesso visibile sul bordo: sale in superficie senza interferire con i link. */
@keyframes boxhorizontal-border-light{
	0%{
		opacity: 0;
		transform: translateY(125%);
	}
	18%, 62%{
		opacity: 1;
	}
	100%{
		opacity: 0;
		transform: translateY(-165%);
	}
}
.boxhorizontal:hover{
	border-right-color: #e9ffff;
	box-shadow: 0 1rem 2.2rem rgba(0, 26, 67, .32), inset -.18rem 0 .4rem rgba(41, 255, 255, .28);
}
.boxhorizontal::after{
	z-index: 2;
	right: .02rem;
	bottom: -82%;
	width: .55rem;
	height: 92%;
	background: linear-gradient(to top, transparent 0%, rgba(41, 255, 255, .18) 16%, rgba(255, 255, 255, 1) 50%, rgba(41, 255, 255, .48) 80%, transparent 100%);
	box-shadow: 0 0 .7rem rgba(41, 255, 255, .65);
	filter: blur(1px);
}
.boxhorizontal:hover::after{
	opacity: 1;
	transform: none;
	animation: boxhorizontal-border-light 12s cubic-bezier(.22, .61, .36, 1) infinite;
}
@media (prefers-reduced-motion: reduce){
	.boxhorizontal:hover::after{
		animation: none;
		opacity: .9;
		transform: translateY(-55%);
	}
}
/* Ricerca aperta: pannello vetro-acqua coerente con header e bottoni. */
.header .search-open{
	padding: .75rem;
	border: 1px solid rgba(216, 229, 245, .62);
	border-radius: .75rem;
	background-color: rgba(0, 97, 200, .78);
	background-image: linear-gradient(135deg, rgba(0, 49, 91, .9) 0%, rgba(0, 97, 200, .78) 52%, rgba(0, 140, 205, .72) 100%);
	box-shadow: 0 .8rem 1.8rem rgba(0, 49, 91, .28), inset 0 1px 0 rgba(255, 255, 255, .26);
	backdrop-filter: blur(10px) saturate(125%);
	-webkit-backdrop-filter: blur(10px) saturate(125%);
}
.header .search-open .form-control{
	border-color: rgba(216, 229, 245, .58);
	background-color: rgba(255, 255, 255, .9);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65);
}
.header .search-open .form-control:focus{
	border-color: var(--theme-info);
	box-shadow: 0 0 0 .2rem rgba(41, 255, 255, .18);
}
.header .search-open{
	position: absolute;
}
.header .nav-search-suggestions{
	display: none;
	position: absolute;
	top: calc(100% - .45rem);
	left: .75rem;
	right: .75rem;
	z-index: 1060;
	margin: 0;
	padding: .25rem 0;
	max-height: min(60vh, 28rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	list-style: none;
	border: 1px solid rgba(216, 229, 245, .8);
	border-radius: .5rem;
	background: #fff;
	box-shadow: 0 .65rem 1.25rem rgba(0, 49, 91, .28);
}
.header .nav-search-suggestions a{
	display: block;
	padding: .45rem .7rem;
	font-family: sans-serif;
	text-transform: none;
	white-space: normal;
	overflow-wrap: break-word;
	color: #00315b;
	text-decoration: none;
}
.header .nav-search-suggestions a:hover,
.header .nav-search-suggestions a:focus{
	background: rgba(41, 255, 255, .14);
}
.header .nav-search-section-divider{
	border-top: 1px solid rgba(0, 49, 91, .18);
}
.header .nav-search-suggestions .nav-search-view-all{
	position: sticky;
	bottom: -.25rem;
	z-index: 1;
	padding: .1rem 0 .25rem;
	background: #fff;
}
.header .nav-search-suggestions .nav-search-view-all a{
	font-weight: 700;
	text-align: center;
	margin: .35rem .7rem .25rem;
	border-radius: .3rem;
	background: var(--theme-primary);
	color: var(--theme-primary-txt);
}
.header .nav-search-suggestions .nav-search-view-all a:hover,
.header .nav-search-suggestions .nav-search-view-all a:focus{
	background: var(--theme-primary-dark);
	color: var(--theme-primary-txt);
}

/* La luce agisce anche sul bordo vero e proprio, quindi resta sempre percepibile. */
@keyframes boxhorizontal-border-glow{
	0%, 100%{
		border-right-color: rgba(41, 255, 255, .68);
		box-shadow: 0 1rem 2.2rem rgba(0, 26, 67, .32), inset -.2rem 0 .45rem rgba(41, 255, 255, .2);
	}
	50%{
		border-right-color: #fff;
		box-shadow: 0 1rem 2.2rem rgba(0, 26, 67, .32), inset -.32rem 0 .6rem rgba(41, 255, 255, .48);
	}
}
.boxhorizontal:hover{
	animation: boxhorizontal-border-glow 14s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce){
	.boxhorizontal:hover{
		animation: none;
		border-right-color: #e9ffff;
		box-shadow: 0 1rem 2.2rem rgba(0, 26, 67, .32), inset -.32rem 0 .6rem rgba(41, 255, 255, .48);
	}
}

/* Il pannello social esce dal flusso: il pulsante non cambia più larghezza. */
#page-buttons .text-center:has(> #socialbar){
	position: relative;
	flex: 0 0 auto;
}
#page-buttons .text-center > #socialbar{
	position: absolute;
	top: calc(100% + .75rem);
	left: 50%;
	width: max-content;
	max-width: min(90vw, 30rem);
	margin: 0;
	transform: translateX(-50%);
	z-index: 20;
}
/* Azioni pagina: griglia uniforme, senza larghezze dettate dal testo. */
#page-buttons.btn-gruppo-cont{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
	gap: .8rem;
	align-items: stretch;
	justify-content: stretch;
}
#page-buttons.btn-gruppo-cont > .btn-gruppo,
#page-buttons.btn-gruppo-cont > .text-center{
	width: 100%;
	margin: 0;
}
#page-buttons.btn-gruppo-cont .btn-gruppo{
	width: 100%;
	min-height: 3.1rem;
	margin: 0;
	justify-content: center;
}

/* Il pannello social si apre affiancato al suo pulsante sui desktop. */
@media (min-width: 992px){
	#page-buttons .text-center > #socialbar{
		top: 50%;
		left: calc(100% + .8rem);
		transform: translateY(-50%);
	}
	#page-buttons .text-center:last-child > #socialbar{
		left: auto;
		right: calc(100% + .8rem);
	}
	#page-buttons #socialbar .boxsegnala-cont{
		display: flex;
		align-items: center;
		padding: .45rem .45rem .45rem .8rem;
		border: 1px solid rgba(216, 229, 245, .55);
		border-radius: .8rem;
		background: rgba(0, 97, 200, .78);
		box-shadow: 0 .7rem 1.5rem rgba(0, 49, 91, .28), inset 0 1px 0 rgba(255, 255, 255, .24);
		backdrop-filter: blur(10px) saturate(125%);
		-webkit-backdrop-filter: blur(10px) saturate(125%);
	}
	#page-buttons #socialbar .boxsegnala{
		margin: 0 .45rem 0 0;
	}
	#page-buttons #socialbar .boxsegnala:last-child{
		margin-right: 0;
	}
}
@media (max-width: 575px){
	#page-buttons.btn-gruppo-cont{
		grid-template-columns: minmax(0, 1fr);
	}
}
/* Footer cartoon-acqua: una fascia marina ordinata, con moduli leggibili. */
footer.footer{
	position: relative;
	overflow: hidden;
	padding-top: clamp(2rem, 4vw, 3.5rem);
	background-color: #00315b;
	background-image: linear-gradient(145deg, #00315b 0%, #004f8e 48%, #0061c8 100%);
	color: #fff;
}
footer.footer::before{
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(circle at 12% 8%, rgba(41, 255, 255, .2), transparent 28%), radial-gradient(circle at 88% 92%, rgba(255, 255, 255, .11), transparent 30%);
}
footer.footer > .container,
footer.footer > .container-fluid{
	position: relative;
	z-index: 1;
}
footer.footer a:link,
footer.footer a:visited,
footer.footer .nav-link:link,
footer.footer .nav-link:visited{
	color: rgba(255, 255, 255, .92);
}
footer.footer a:hover,
footer.footer a:focus-visible,
footer.footer .nav-link:hover,
footer.footer .nav-link:active{
	color: var(--theme-info);
}

/* Menu: carte traslucide uniformi e titoli ben distinguibili. */
#footer-menu{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .9rem;
	margin-top: 0;
}
#footer-menu > [class*="col-"]{
	display: block;
	width: auto;
	padding: 0;
}
#footer-menu .bg-scuro{
	min-height: 100%;
	padding: 1.15rem 1.2rem;
	border: 1px solid rgba(216, 229, 245, .24);
	border-radius: var(--boxhorizontal-radius);
	background-color: rgba(0, 44, 81, .52);
	background-image: linear-gradient(145deg, rgba(0, 49, 91, .8), rgba(0, 97, 200, .36));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 .5rem 1.2rem rgba(0, 26, 67, .18);
	backdrop-filter: blur(8px) saturate(120%);
	-webkit-backdrop-filter: blur(8px) saturate(120%);
}
#footer-menu h6{
	margin: 0 0 .8rem;
	padding-bottom: .55rem;
	border-bottom: 1px solid rgba(41, 255, 255, .48);
	color: var(--theme-info);
	font-family: var(--footer-technical-font);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.3;
}
#footer-menu .nav-link{
	padding: .2rem 0;
	font-size: .93rem;
}

/* Informazioni legali: contrasto e tono tecnico, separati dal contenuto narrativo. */
footer .copyright,
#legalnotes,
#legalnotes li,
#legalnotes a{
	font-family: var(--footer-technical-font);
}
footer .copyright{
	max-width: 70rem;
	margin: clamp(2rem, 5vw, 3.5rem) auto;
	padding: 1.25rem clamp(1rem, 3vw, 2rem);
	border: 1px solid rgba(216, 229, 245, .2);
	border-radius: var(--boxhorizontal-radius);
	background: rgba(0, 44, 81, .35);
	font-size: .84rem;
	line-height: 1.7;
	letter-spacing: .012em;
}
#legalnotes ul{
	display: flex !important;
	flex-wrap: wrap;
	gap: .3rem 1rem;
	margin: 0;
}
#legalnotes li{
	float: none;
	font-size: .76rem;
	letter-spacing: .055em;
	text-transform: uppercase;
}
#legalnotes li a{
	padding: .25rem 0;
}

/* Identità e contatti sono un solo blocco; traduttore e social diventano moduli laterali. */
.loghifooter-cont{
	margin-top: 1.5rem;
	padding: 1.4rem;
	border: 1px solid rgba(216, 229, 245, .2);
	border-radius: var(--boxhorizontal-radius);
	background: rgba(0, 44, 81, .3);
}
.loghifooter-cont > .row{
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(11rem, .75fr) minmax(9rem, .55fr);
	gap: 1.25rem;
	align-items: center;
}
.loghifooter-cont > .row > [class*="col-"]{
	width: auto;
	padding: 0;
}
.logo-footer{
	display: flex;
	align-items: center;
	gap: 2rem;
}
.logo-footer img{
	width: clamp(5.5rem, 9vw, 7.5rem);
	max-width: none;
	flex: 0 0 auto;
}
.logo-footer .footer-reference{
	padding: 0 !important;
	font-family: var(--footer-technical-font);
	font-size: .9rem;
	line-height: 1.75;
	text-align: left;
}
.loghifooter-cont .boxgoogletranslate,
.loghifooter-cont .socialmediaicons{
	padding: .8rem;
	border-radius: .8rem;
	background: rgba(255, 255, 255, .09);
	text-align: center;
}
.loghifooter-cont .socialmediaicons{
	display: flex;
	justify-content: center;
	gap: .45rem;
}
@media (max-width: 991px){
	#footer-menu{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.loghifooter-cont > .row{
		grid-template-columns: 1fr;
		text-align: center;
	}
	.logo-footer{
		justify-content: center;
	}
	.logo-footer .footer-reference{
		text-align: left;
	}
	.loghifooter-cont .boxgoogletranslate{
		display: inline-block;
	}
}
@media (max-width: 575px){
	#footer-menu{
		grid-template-columns: minmax(0, 1fr);
	}
	footer .copyright{
		font-size: .8rem;
		text-align: left !important;
	}
	.logo-footer{
		flex-direction: column;
	}
	.logo-footer .footer-reference{
		text-align: center;
	}
	#legalnotes ul{
		justify-content: center;
	}
}
@media (prefers-reduced-motion: reduce){
	#footer-menu .bg-scuro{
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}
/* Azioni pagina: uniforme ma compatto anche su righe ampie. */
#page-buttons.btn-gruppo-cont{
	grid-template-columns: repeat(auto-fit, minmax(11.5rem, 15.625rem));
	justify-content: center;
}
#page-buttons.btn-gruppo-cont > .btn-gruppo,
#page-buttons.btn-gruppo-cont > .text-center{
	max-width: 15.625rem;
	justify-self: center;
}

/* Evidenza laterale: conserva lo sfondo esistente, ma lo incornicia come un oblò marino. */
#boxcont-evid3 .boxico{
	isolation: isolate;
	border: 1px solid rgba(41, 255, 255, .72);
	border-radius: var(--boxhorizontal-radius);
	box-shadow: inset 0 0 0 .35rem rgba(255, 255, 255, .1), 0 .8rem 1.5rem rgba(0, 49, 91, .28);
}
#boxcont-evid3 .boxico::after{
	content: "";
	position: absolute;
	inset: .45rem;
	z-index: 0;
	pointer-events: none;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: calc(var(--boxhorizontal-radius) - .25rem);
	background: radial-gradient(circle at 18% 22%, rgba(255, 255, 255, .5) 0 .18rem, transparent .21rem), radial-gradient(circle at 78% 72%, rgba(41, 255, 255, .5) 0 .12rem, transparent .15rem);
	box-shadow: inset 0 0 1.2rem rgba(41, 255, 255, .12);
}
#boxcont-evid3 .boxico img{
	position: relative;
	z-index: 1;
	width: clamp(7rem, 48%, 11rem);
	border: .45rem solid rgba(255, 255, 255, .82);
	border-radius: 50%;
	box-shadow: 0 .5rem 1.1rem rgba(0, 26, 67, .3), 0 0 0 .2rem rgba(41, 255, 255, .4);
	transition: transform .45s cubic-bezier(.22, .61, .36, 1), box-shadow .45s ease;
}
#boxcont-evid3 .box:hover .boxico img{
	transform: scale(1.04) rotate(-1deg);
	box-shadow: 0 .75rem 1.4rem rgba(0, 26, 67, .38), 0 0 0 .28rem rgba(41, 255, 255, .72);
}
@media (prefers-reduced-motion: reduce){
	#boxcont-evid3 .boxico img{
		transition: none;
	}
	#boxcont-evid3 .box:hover .boxico img{
		transform: none;
	}
}
/* Footer più orizzontale e compatto: le sezioni restano una fascia continua. */
#footer-menu{
	padding: .65rem .85rem;
	border-top: 1px solid rgba(216, 229, 245, .2);
	border-bottom: 1px solid rgba(216, 229, 245, .16);
	background: rgba(0, 44, 81, .2);
}
#footer-menu .bg-scuro{
	min-height: 0;
	padding: .45rem .65rem;
	border: 0;
	border-radius: 0;
	background-color: transparent;
	background-image: none;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
#footer-menu h6{
	margin-bottom: .45rem;
	padding-bottom: 0;
	border-bottom: 0;
}
footer .copyright{
	max-width: none;
	margin: .75rem 0;
	padding: .8rem 1rem;
	border-width: 1px 0;
	border-radius: 0;
	background: rgba(0, 44, 81, .16);
	line-height: 1.55;
}
.loghifooter-cont{
	margin-top: .75rem;
	padding: .85rem 1rem;
	border-width: 1px 0;
	border-radius: 0;
	background: rgba(0, 44, 81, .16);
}
/* .logo-footer{
	gap: .5rem;
} */
.logo-footer img{
	width: clamp(4.25rem, 6vw, 5.25rem);
}
.logo-footer .footer-reference{
	line-height: 1.5;
}
#legalnotes li{
	letter-spacing: .025em;
	text-transform: none;
}
@media (min-width: 992px){
	#footer-menu{
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: .35rem;
	}
	/* #footer-menu .nav-link{
		font-size: .84rem;
	} */
	#footer-menu h6{
		font-size: .7rem;
		letter-spacing: .1em;
	}
}
@media (max-width: 575px){
	#footer-menu{
		padding: .6rem;
	}
	.logo-footer{
		gap: .35rem;
	}
}
/* Ripristino visivo originale di evid3: nessuna decorazione aggiuntiva. */
#boxcont-evid3 .boxico{
	isolation: auto;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
#boxcont-evid3 .boxico::after{
	content: none;
}
#boxcont-evid3 .boxico img{
	position: static;
	z-index: auto;
	width: 50%;
	border: 1rem solid white;
	border-radius: 0;
	box-shadow: none;
	transition: none;
}
#boxcont-evid3 .box:hover .boxico img{
	transform: none;
	box-shadow: none;
}
/* Fusione discreta: l'illustrazione esistente assorbe appena il blu del tema. */
#boxcont-evid3 .boxico{
	background-color: rgba(0, 97, 200, .12);
	background-blend-mode: soft-light;
}
/* Evid3: nessuna corona o bordo sull'illustrazione. */
#boxcont-evid3 .boxico img{
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Footer: sei moduli singoli, allineati alla griglia del contenitore. */
#footer-menu{
	--bs-gutter-x: 0;
	width: 100%;
	margin-right: 0;
	margin-left: 0;
	padding: 0;
	border: 0;
	background: transparent;
	gap: .65rem;
}
#footer-menu .bg-scuro{
	min-height: 100%;
	padding: .75rem .8rem;
	border: 1px solid rgba(216, 229, 245, .24);
	border-radius: .8rem;
	background-color: rgba(0, 44, 81, .52);
	background-image: linear-gradient(145deg, rgba(0, 49, 91, .8), rgba(0, 97, 200, .36));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 .5rem 1.2rem rgba(0, 26, 67, .18);
	backdrop-filter: blur(8px) saturate(120%);
	-webkit-backdrop-filter: blur(8px) saturate(120%);
}
@media (prefers-reduced-motion: reduce){
	#footer-menu .bg-scuro{
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}
/* Logo e recapiti: un unico blocco, separati solo da un piccolo respiro. */

.logo-footer .footer-reference{
	margin-left: .2rem;
}
@media (max-width: 575px){
	.logo-footer .footer-reference{
		margin-left: 0;
	}
}
/* Il logo non deve più centrarsi da solo nella colonna: resta accanto ai recapiti. */
.logo-footer img{
	margin-right: 0;
	margin-left: 0;
}
/* Footer inferiore: tre aree distribuite con lo stesso peso visivo. */
@media (min-width: 992px){
	.loghifooter-cont > .row{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
.logo-footer .footer-reference{
	margin-left: .65rem;
	line-height: 1.8;
}

@media (min-width: 1921px){
	body.no-home #slidecont1{
		max-height: 40vh;
	}
}
