@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,600;1,400;1,600&display=swap');
*{
	box-sizing: border-box;
}
html{
	--primary: hsl(96, 56%, 51%);
	--primaryLighter1: hsl(96, 56%, 71%);
	--primaryLighter2: hsl(96, 56%, 91%);
	background: hsl(0, 0%, 100%);
	color: hsl(0, 0%, 20%);
	font: normal 1em/1.5 'Poppins', 'Segoe Ui', Segoe, Tahoma, Geneva, sans-serif;
}
	body{
	}
		.site{
			padding-top: 6rem;
		}
			a{
				color: inherit;
				text-decoration: none;
			}
			a:hover{
				/*
				text-decoration: none;
				*/
				text-decoration: underline;
			}
			button{
				background: var(--primaryLighter2);
				border-radius: 100rem; /* https://stackoverflow.com/questions/31617136/avoid-elliptical-shape-in-css-border-radius */
				border: 0.0625rem solid var(--primary);
				cursor: pointer;
				font-size: 1rem;
				line-height: 1.5;
				margin: 0.375rem;
				padding: 0.3125rem 0.6875rem;
			}
			button:hover{
				background: var(--primary);
				color: hsl(0, 100%, 100%);
			}
			dl{
				padding: 0.75rem;
			}
				dt{
					font-weight: bold;
				}
				dd{
					margin: 0;
				}
					dd p{
						padding: 0;
					}
					dd ul{
						padding: 0;
					}
				dt ~ dt{
					border-top: 0.0625rem solid hsl(0, 0%, 80%);
					margin-top: 0.6875rem;
					padding-top: 0.75rem;
				}
			i{
				font-weight: normal;
				font-style: normal;
			}
			.wysiwyg i{
				font-weight: inherit;
				font-style: italic;
			}
			form{
			}
				fieldset{
					border: 0;
					margin: 0;
					padding: 0;
				}
				input{
					background: inherit;
					border: 0;
					display: block;
					font: inherit;
					line-height: inherit;
				}
				select{
					background: hsl(0, 100%, 100%);
					border: none;
					border-bottom: 0.125rem dotted hsl(0, 0%, 50%);
					cursor: pointer !important;
					margin-bottom: -0.125rem;
					display: block;
					font: inherit;
					line-height: inherit;
					width: 100%;
				}
					option{
						cursor: pointer !important;
					}
				label{
					display: block;
					font-variant: small-caps;
					font-weight: bold;
					text-transform: lowercase;
				}
				fieldset{
				}
					legend{
						display: block;
						font-size: 1.5rem;
						line-height: 1;
					}
					legend + *{
						margin-top: 1.5rem;
					}
				input[type=checkbox]{
					width: auto;
				}
				input:not([type=checkbox]){
					border-bottom: 0.125rem dotted hsl(0, 0%, 30%);
					margin-bottom: -0.125rem;
					width: 100%;
				}
				input:focus{
					outline: 0;
				}
				textarea{
					border: 0.125rem dotted hsl(0, 0%, 30%);
					border-top: 0;
					height: 9rem;
					width: 100%;
				}
			p{
				margin: 0;
				padding: 0.75rem;
			}
			ul{
				margin: 0;
				padding: 0.75rem;
			}
			.selected{
				font-weight: bold;
			}
			.table{
				border: 0.1875rem solid hsl(0, 0%, 30%);
				border-radius: 0.1875rem;
				margin: 1.5rem 0;
			}
				table{
					border-collapse: collapse;
					border-spacing: 0;
					text-align: left;
					width: 100%;
				}
					tr{
					}
					thead{
					}
						th{
							background: hsl(0, 0%, 30%);
							color: hsl(0, 100%, 100%);
							padding: 0.75rem;
						}
						th:last-child{
							text-align: right;
						}
					tbody{
					}
						td{
							padding: 0.75rem;
						}
							.table ul{
								list-style: none;
								padding: 0;
							}
						td:last-child{
							text-align: right;
						}
						tr:nth-child(odd) td{
							background: hsl(0, 0%, 90%);
						}
						tr:nth-child(odd) td{
						}
			.detailable{
			}
				.detailable > .summary{
				}
				.detailable > .details{
					display: none;
				}
			.detailable.detailed{
			}
				.detailable.detailed > .details{
					display: block;
				}
			.flash{
				background: hsl(0, 0%, 20%);
				border-radius: 0.1875rem;
				color: hsl(0, 100%, 100%);
				left: 50%;
				padding: 2.25rem;
				position: fixed;
				text-align: center;
				transform: translateX(-50%) translateY(-50%);
				top: 50%;
				z-index: 100000;
			}
			.fade{
				opacity: 0;
				transition: all 2.5s;
			}
			.search{
				padding: 0.75rem;
				position: relative;
			}
				.search a{
					position: absolute;
					right: 6rem;
					top: 0.75rem;
				}
				.search button{
					position: absolute;
					right: 0.75rem;
					top: -0.125rem;
				}
				.search input{
					width: calc(100% - 5rem);
				}
			.search:after{
				clear: both;
				content: '';
				display: table;
			}
			.rjsf{
			}
				.title{
					padding: 0.75rem;
				}
				.description{
					padding: 0.75rem;
				}
				.checkbox{
				}
					.checkbox label{
					}
						.checkbox input{
							display: inline-block;
							margin-top: 0.375rem;
							overflow: hidden;
							text-align: left;
							vertical-align: top;
							width: 1rem;
						}
						.checkbox span{
							margin-left: 0.5rem;
							vertical-align: top;
							width: calc(100% - 1.5rem);
						}
				.radio{
					margin-top: 1.5rem;
				}
					.radio label{
						font: inherit;
					}
						.radio label > span{
						}
							.radio label > span span{
								display: inline-block;
								margin-left: 0.5rem;
								vertical-align: top;
								width: calc(100% - 1.5rem);
							}
							.radio label > span input{
								display: inline-block;
								margin-top: 0.375rem;
								overflow: hidden;
								text-align: left;
								vertical-align: top;
								width: 1rem;
							}
				.radio ~ .radio{
					margin-top: 0;
				}
				/*
				.rjsf p{
					padding: 0;
				}
				.btn{
					margin-left: 7px;
					margin-right: 7px;
				}
				.glyphicon-remove:after{
					content: 'Cancella';
				}
				.glyphicon-plus:after{
					content: 'Aggiungi';
				}
				.glyphicon-arrow-down:after{
					content: 'Sposta in basso';
				}
				.glyphicon-arrow-up:after{
					content: 'Sposta in alto';
				}
				.panel{
				}
					.panel > .form-group:first-child{
						background: hsl(0, 100%, 100%);
						border-radius: 0.1875rem;
						margin: 1.5rem 0;
						padding: 0.75rem;
					}
				.field{
				}
				*/
				/*
				.rjsf .field ~ .field{
					margin-top: 1.5rem;
				}
				.rjsf .array-item ~ .array-item{
					margin-top: 1.5rem;
				}
				*/
				.nested1,
				.nested2{
					/*
					border-left: 0.0625rem solid hsl(0, 0%, 50%);
					border-top: 0.0625rem solid hsl(0, 0%, 50%);
					border-top-right-radius: 0.1875rem;
					*/
					/*
					padding: 0.6875rem 0 0 0.6875rem;
					*/
					border: 0.125rem solid hsl(0, 0%, 80%);
					border-radius: 0.125rem;
					margin: 1.5rem 0.75rem;
					padding: 0.625rem;
				}
					.nested1 legend,
					.nested2 legend{
						margin-left: 0.5rem;
					}
				.nested1 .title{
					font-size: 1.5rem;
					line-height: 1;
				}
				.nested2 .title{
					font-size: 1.2rem;
					line-height: 1.25;
				}
				/*
				.nested1 .nested1{
					margin: 1.5rem 0.75rem;
					padding: 0.5625rem;
				}
				.nested1 .nested2{
					margin: 1.5rem 0.75rem;
					padding: 0.5625rem;
				}
				*/
				.field-object{
				}
				.field-array{
				}
					.array-item{
					}
						.array-item-move-up,
						.array-item-move-down,
						.array-item-remove{
							background: transparent;
						}
						
				.field-boolean,
				.field-integer,
				.field-number,
				.field-string{
					background: hsl(0, 100%, 100%);
					border-radius: 0.1875rem;
					padding: 0.75rem;
				}
				.field-error{
				}
					.field-error > label{
						color: #cc0000;
					}
				/*
				.field-boolean{
					display: inline-block;
				}
					.field-boolean input{
						float: right;
						margin-left: 0.75rem;
						margin-top: 0.5rem;
					}
				*/
				.field-error{
				}
					.field-error > input{
						background: hsl(0, 100%, 90%);
						border-color: hsl(0, 100%, 50%);
					}
				.error-detail{
					display: none;
				}
				.searchableSelect{
				}
					.searchableSelect input:not(:last-child){
						margin-bottom: 1.5rem;
					}
					.searchableSelect div{
					}
						.searchableSelect span{
							background: hsl(0, 0%, 20%);
							border-radius: 0.1875rem;
							color: hsl(0, 100%, 100%);
							float: left;
							line-height: 1;
							margin: 0.125rem 0;
							margin-right: 0.375rem;
							padding: 0.125rem 0;
							text-align: center;
							width: 1.25rem;
						}
					.searchableSelect ul{
						list-style: disc inside none;
						font-size: 0.8rem;
						line-height: 1.875;
						margin-top: 1.5rem;
						max-height: 15rem;
						padding: 0;
						overflow-y: auto;
					}
				.rjsf > button[type=submit]{
					background: var(--primary);
					color: hsl(0, 100%, 100%);
					font-weight: bold;
					margin-top: 1.5rem;
					padding: 1.5rem 0.75rem;
					width: calc(100% - 1rem);
				}
				.rjsf > div:last-child{
					margin-top: 1.5rem;
				}
					.rjsf > div:last-child button{
						background: var(--primary);
						color: hsl(0, 100%, 100%);
						padding: 1.5rem 0.75rem;
						width: calc(100% - 1rem);
					}
			.siteHeader{
				/*
				background: var(--primary);
				color: hsl(0, 100%, 100%);
				*/
				background: hsl(0, 0%, 100%);
				left: 0;
				height: 6rem;
				padding: 1.5rem;
				position: fixed;
				top: 0;
				width: 100%;
				z-index: 10000;
			}
				.siteLogo{
					/*
					background: hsl(0, 100%, 100%);
					*/
					border-radius: 0.375rem;
					float: left;
					margin-left: 0.375rem;
					margin-top: -0.9375rem;
					overflow: hidden;
					/*
					padding: 0.375rem 0.375rem 0 0.375rem;
					*/
				}
					.siteLogo img{
						height: 4.5rem;
					}
				.siteMenu{
					float: right;
				}
					.siteMenu > .summary{
						padding: 0.75rem;
					}
					.siteMenu > .details{
						background: hsl(0, 0%, 100%);
						left: 0;
						height: calc(100vh - 6rem);
						margin-top: -0.0625rem;
						padding: 1.5rem;
						position: fixed;
						top: 6rem;
						width: 100%;
					}
						.siteMenu ul{
							list-style: none;
							font-size: 2rem;
							padding: 0;
							text-align: center;
						}
							.siteMenu li{
								padding: 0.75rem;
							}
							.siteMenu li ~ li{
								border-top: 0.0625rem solid var(--primaryLighter1);
								margin-top: -0.0625rem;
							}
			.siteHeader:after{
				clear: both;
				content: '';
				display: table;
			}
			.siteBody{
				/*
				background: hsl(0, 0%, 80%);
				color: hsl(0, 0%, 20%);
				*/
				min-height: calc(100vh - 6rem);
			}
				.page{
				}
					.pageHeader{
						/*
						background: linear-gradient(to bottom, hsl(0, 100%, 100%), hsl(0, 0%, 80%));
						*/
						padding: 3rem 1.5rem;
					}
						h1{
							font-size: 2.75rem;
							letter-spacing: -0.0625rem;
							line-height: 1.090909;
							margin: 0;
							padding: 0.75rem;
							position: relative;
							text-align: center;
						}
						h1:before{
							background: linear-gradient(to top, var(--primary), rgba(0, 0, 0, 0));
							content: '';
							left: 0;
							height: calc(100% - 1rem);
							position: absolute;
							top: 0.25rem;
							width: 0.375rem;
						}
						.cto{
							background: var(--primary);
							border-radius: 100rem;
							border: 0.0625rem solid var(--primary);
							color: hsl(0, 100%, 100%);
							font-size: 1rem;
							font-weight: bold;
							line-height: 1.5;
							padding: 1.4375rem;
							text-decoration: none;
						}
						.pageMenu{
							font-size: 1.5rem;
							line-height: 1;
							list-style: none;
							padding: 0;
							text-align: center;
						}
							.pageMenu li{
								display: inline-block;
								padding: 0.75rem;
							}
							.pageMenu li ~ li:before{
							}
					.pageBody{
						padding-bottom: 1.5rem;
					}
						.section{
							/*
							background: hsl(0, 100%, 100%);
							*/
							border-radius: 0.1875rem;
							display: inline-block;
							margin: 0.75rem;
							padding: 0.75rem;
							width: calc(100% - 1.5rem);
						}
							h2{
								font-size: 1.5rem;
								line-height: 1;
								margin: 0;
								padding: 0.75rem;
							}
							.steps{
								list-style: none;
								padding: 0;
								text-align: center;
							}
								.steps li{
									display: inline-block;
									margin: 0.25rem;
									width: calc(50% - 0.5rem);
								}
									.steps a{
										border: 0.0625rem solid hsl(0, 0%, 50%);
										border-radius: 0.375rem;
										display: block;
										text-decoration: none;
										padding: 1.25rem;
									}
									.steps a:hover{
										border-color: hsl(0, 0%, 75%);
									}
								.steps li ~ li{
								}
							.subsection{
							}
						.section.filters{
						}
							.section.filters button{
								margin-left: 0;
								width: 100%;
							}
							.section.filters details{
							}
								.section.filters details[open] summary{
									border-bottom: 0.0625rem solid hsl(0, 0%, 50%);
									margin-bottom: 0.75rem;
									padding-bottom: 0.75rem;
								}
								.section.filters details button{
									margin-top: 1.5rem;
									width: 100%;
								}
						.section.introduction{
						}
							.section.introduction p{
								max-width: 50rem;
							}
							.section.introduction ul{
								list-style: none;
								text-align: left;
							}
								.section.introduction li{
									display: inline-block;
									padding: 0.75rem;
									text-align: left;
									vertical-align: bottom;
								}
								.section.introduction img{
									height: 6rem;
									filter: grayscale(1);
								}
								.section.introduction a:hover img{
									filter: none;
									transition: all 1s;
								}
								.section.introduction span{
									display: block;
									font-weight: bold;
									margin-top: 1.5rem;
									text-decoration: none;
								}
							.section.introduction ol{
								list-style: decimal outside none;
								max-width: 50rem;
								padding: 0.75rem;
								text-align: left;
							}
								.section.introduction ol li{
									display: list-item;
									padding: 0;
								}
						.section.contacts{
							box-shadow: 0.375rem 0.375rem 0.75rem rgba(0, 0, 0, 0.2);
							border-radius: 0.75rem;
							border-top: 0.75rem solid var(--primary);
							padding: 2.25rem;
							padding-top: 1.5rem;
						}
						.section.contacts.online{
						}
						.section.contacts.offline{
							margin-top: 3rem;
						}
						.section.contacts.visit{
							margin-top: 3rem;
						}
			.siteFooter{
				font-size: 0.583rem;
				line-height: 2.571428;
				padding: 1.5rem;
			}
				.porcreo{
					/*
					background: linear-gradient(to bottom, #ffffff, #cccccc);
					border-radius: 0.375rem;
					color: #000000;
					*/
					border-top: 0.0625rem solid hsl(0, 0%, 80%);
					margin: 1.5rem -0.75rem;
					padding: 0.75rem 1.5rem;
					padding-top: 1.4875rem;
					width: calc(100% + 1.5rem);
				}
					.porcreo p{
						padding: 0;
					}
					.porcreo img{
						margin-top: 1.5rem;
						max-width: 100%;
					}
html.did{
	--primary: hsl(349, 85%, 51%);
	--primaryLighter1: hsl(349, 85%, 71%);
	--primaryLighter2: hsl(349, 85%, 91%);
}
	body{
	}
		.site{
		}
			.siteHeader{
			}
				.siteLogo{
				}
					.siteLogo img{
						height: 4.5rem;
						padding: 0.375rem;
					}
html.valdelsa{
}
html.aec{
	--primary: hsl(196, 54%, 64%);
	--primaryLighter1: hsl(196, 54%, 78%);
	--primaryLighter2: hsl(196, 54%, 94%);
}
html.recentre{
	--primary: hsl(0, 57%, 78%);
	--primaryLighter1: hsl(0, 57%, 88%);
	--primaryLighter2: hsl(0, 57%, 98%);
}
@media (min-width: 64em){
html{
}
	body{
	}
		.site{
			padding-top: 0;
		}
			.table{
			}
				.table table{
				}
					.table tr{
					}
						.table ul{
						}
							.table li{
								display: inline-block;
							}
							.table li ~ li:before{
								content: ', ';
							}
					.table thead{
					}
						.table th:last-child{
							white-space: nowrap;
							width: 0;
						}
					.table tbody{
					}
						.table td:last-child{
							white-space: nowrap;
							width: 0;
						}
			.pagination{
				padding: 0.75rem;
			}
				.pagination ul{
					list-style: none;
					padding: 0;
				}
					.pagination li{
						display: inline-block;
					}
					.pagination li ~ li:before{
						content: ', ';
					}
				.pagination .offset{
					float: left;
				}
				.pagination .offset:before{
					content: 'Pagina: ';
				}
				.pagination .limit{
					float: right;
				}
				.pagination .limit:before{
					content: 'Per pagina: ';
				}
			.pagination:after{
				clear: both;
				content: '';
				display: table;
			}
			.siteHeader{
				padding: 1.5rem calc(50vw - 28.5rem);
				position: static;
				width: auto;
			}
				.siteMenu{
				}
					.siteMenu .summary{
						display: none;
					}
					.siteMenu .details{
						background: transparent;
						display: block;
						height: auto;
						position: static;
						padding: 0;
					}
						.siteMenu ul{
							font-size: 1rem;
						}
							.siteMenu li{
								display: inline-block;
							}
							.siteMenu li ~ li{
								border-left: 0.0625rem solid hsl(0, 0%, 80%);
								border-top: 0;
								margin-left: -0.0625rem;
								margin-top: 0;
							}
			.siteBody{
			}
				.page{
				}
					.pageHeader{
						padding: 3rem calc(50vw - 28.5rem);
					}
						h1{
							float: left;
						}
						.pageMenu{
							float: right;
							margin-top: 1rem;
						}
					.pageHeader:after{
						clear: both;
						content: '';
						display: table;
					}
					.pageBody{
						padding: 0 calc(50vw - 30rem);
						padding-bottom: 1.5rem;
					}
						.section{
							display: inline-block;
							margin: 0.75rem;
							padding: 0.75rem;
							vertical-align: top;
						}
						.section.primary{
						}
						.section.secondary{
							width: calc(66.66666% - 1.5rem);
						}
						.section.tertiary{
							width: calc(50% - 1.5rem);
						}
						.section.quartiary{
							width: calc(33.333333% - 1.5rem);
						}
						.subsection{
							display: inline-block;
							vertical-align: top;
							width: 50%;
						}
						.section.filters{
						}
							.section.filters form > .fields{
								display: inline-block;
								vertical-align: top;
								width: 87.5%;
							}
								.section.filters form > .fields > div{
									display: inline-block;
									vertical-align: top;
									width: calc(33.333333% - 0.3125rem);
								}
								.section.filters form > .fields > div ~ div{
									border-left: 0.0625rem solid hsl(0, 0%, 50%);
									padding-left: 0.375rem;
									margin-left: 0.312rem;
								}
							.section.filters form > .buttons{
								display: inline-block;
								padding-left: 0.375rem;
								padding-top: 0.375rem;
								vertical-align: top;
								width: 12.5%;
							}
							.section.filters details{
							}
								.section.filters details .fields{
									margin-left: -0.375rem;
									width: calc(100% + 0.75rem);
								}
									.section.filters details .fields div{
										display: inline-block;
										padding: 0 0.375rem;
										vertical-align: top;
										width: 100%;
									}
									.section.filters details .fields div.secondary{
										width: 50%;
									}
								.section.filters details .buttons{
								}
			.siteFooter{
				padding: 1.5rem calc(50vw - 28.5rem);
			}
				.porcreo{
				}
					.porcreo p{
						display: inline-block;
						vertical-align: top;
						width: 66.666666%;
					}
					.porcreo p + p{
						vertical-align: top;
						width: 33.333333%;
						text-align: right;
					}
					.porcreo span{
						display: inline-block;
						max-width: calc(50% - 0.75rem);
						max-width: 12rem;
					}
					.porcreo img{
						display: inline-block;
						margin-left: 1.5rem;
						margin-top: 0;
						/*
						max-width: calc(50% - 0.75rem);
						*/
						height: 3rem;
						vertical-align: top;
					}
}
@media (min-width: 80em){
html{
}
	body{
	}
		.standalone form{
			max-width: 63%;
		}
		.site{
		}
			.siteHeader{
				padding: 1.5rem calc(50vw - 36rem);
			}
			.siteBody{
			}
				.page{
				}
					.pageHeader{
						padding: 3rem calc(50vw - 36rem);
					}
					.pageBody{
						padding: 0 calc(50vw - 37.5rem);
						padding-bottom: 1.5rem;
					}
			.siteFooter{
				padding: 1.5rem calc(50vw - 36rem);
			}
}