:where(*),
:where(*):before,
:where(*):after{
	all: unset;
	display: block;
	box-sizing: border-box;
}
html{
	--alertColor: #aa0000;
	--borderColor: #888888;
	--secondaryColor1: #c2d5f4;
	--secondaryColor5: #00368f;
	--tertiaryColor1: #a3ffae;
	--tertiaryColor5: #00660c;
	--primaryColor1: #ffffff;
	--primaryColor2: #dddddd;
	--primaryColor4: #222222;
	--primaryColor5: #000000;
	--fontSizeScaleNotes: 3;
	--fontSizeScaleRatio: 4;
	--fontSize1: calc(max(round(nearest, 1rem * pow(var(--fontSizeScaleRatio), -1 / var(--fontSizeScaleNotes)), 0.1rem), 0.8rem));
	--fontSize2: calc(round(nearest, 1rem * pow(var(--fontSizeScaleRatio), 0 / var(--fontSizeScaleNotes)), 0.1rem));
	--fontSize3: calc(round(nearest, 1rem * pow(var(--fontSizeScaleRatio), 1 / var(--fontSizeScaleNotes)), 0.1rem));
	--fontSize4: calc(round(nearest, 1rem * pow(var(--fontSizeScaleRatio), 2 / var(--fontSizeScaleNotes)), 0.1rem));
	--fontSize5: calc(round(nearest, 1rem * pow(var(--fontSizeScaleRatio), 2.5 / var(--fontSizeScaleNotes)), 0.1rem));	
	--lineHeightModule: 1.5rem;
	--lineHeight: round(up, 1em, var(--lineHeightModule));
	--borderSize: 2px;
	--borderRadiusSize: calc(var(--lineHeight) * 0.25);
	--pageWidth: calc(100% - var(--lineHeightModule)); /* 20rem; */ /* calc(100% - var(--lineHeightModule)); */
	background: var(--secondaryColor5);
	color: var(--primaryColor1);
	font: normal 1em/var(--lineHeight) 'Segoe Ui', Segoe, Tahoma, Geneva, sans-serif;
	scroll-behavior: smooth;
}
	head{
		display: none;
	}
	body{
	}
		a{
			color: var(--tertiaryColor1);
			cursor: pointer;
			display: inline;
		}
		a:hover{
			opacity: 0.7;
		}
		button{
			background: var(--tertiaryColor1);
			border-radius: var(--borderRadiusSize);
			color: var(--primaryColor5);
			cursor: pointer;
			display: inline-block;
			padding: calc(var(--lineHeightModule) * 0.5);
		}
		button:hover{
			opacity: 0.7;
		}
		details{
		}
			summary{
				color: var(--tertiaryColor1);
				cursor: pointer;
			}
			summary:hover{
				opacity: 0.7;
			}
		em{
			font-style: italic;
		}
		h1,
		h2,
		h3,
		h4,
		h5,
		h6{
			color: var(--secondaryColor1);
			font-weight: bold;
			line-height: var(--lineHeight);
			padding: calc(var(--lineHeightModule) * 0.5);
		}
		h1{
			font-size: var(--fontSize4);
			letter-spacing: calc(var(--borderSize) * -0.5);
		}
		h2{
			font-size: var(--fontSize3);
		}
		h3{
			font-size: var(--fontSize2);
		}
		img{
			max-height: 100%;
		}
		p{
			padding: calc(var(--lineHeightModule) * 0.5);
		}
		input,
		select{
			appearance: auto;
			width: 100%;
		}
		input[type=checkbox]{
			width: auto;
		}
		textarea{
			width: 100%;
		}
		ul{
			list-style: disc inside none;
			padding: calc(var(--lineHeightModule) * 0.5);
		}
			li{
				display: list-item;
			}
		table{
			border-radius: var(--borderRadiusSize);
			overflow-x: hidden; /* era overflow: perché */
		}
			table .menu{
				padding: 0;
			}
			th,
			td:not(:has(.form__input)){
				overflow: hidden;
				text-overflow: ellipsis;
			}
			th:not([data-title]),
			td:not([data-title]){
				display: none;
			}
			th[data-title]:before,
			td[data-title]:before{
				color: var(--secondaryColor1);
				content: attr(data-title);
				display: block;
				font-size: var(--fontSize1);
				font-weight: bold;
				text-transform: uppercase;
			}
			tr{
				padding: calc(var(--lineHeightModule) * 0.5);
			}
			tbody tr:nth-child(odd){
				background: #e9f0fb;
			}
			tbody tr:first-child{
				border-top: var(--borderSize) solid var(--secondaryColor5);
				margin-top: calc(var(--borderSize) * -1);
			}
		.document{
			margin-top: var(--lineHeightModule);
			outline: var(--borderSize) solid #000000;
			padding: var(--lineHeightModule);
		}
		strong{
			font-weight: bold;
		}
		.form{
			display: flex;
			flex-wrap: wrap;
		}
			.form .form__input{
				transition: color 0.1s, filter 0.1s;
			}
			.form__description{
				font-style: italic;
			}
			.form__error{
				color: var(--alertColor);
				font-style: italic;
				flex: 1 0 100%;
			}
			.form__fieldset{
				display: flex;
				flex: 1 1 100%;
				flex-wrap: wrap;
			}
				.form__field{
					flex: 1 1 100%;
					padding: calc(var(--lineHeightModule) * 0.5);
				}
					.form__label{
						color: var(--secondaryColor1);
						font-size: var(--fontSize1);
						font-weight: bold;
						text-transform: uppercase;
					}
					.form__input{
						border-radius: var(--borderRadiusSize);
						outline: var(--borderSize) solid var(--secondaryColor5);
						padding: calc(var(--lineHeightModule) * 0.5);
					}
				.form__field:focus-within{
				}
					.form__field:focus-within .form__label{
					}
					.form__field:focus-within .form__input{
						background: #e9f0fb;
					}
			.form__input_choices{
				margin-bottom: 0 !important;
				padding-right: calc(var(--lineHeightModule) * 2);
			}
			.form__input_choices .choices__inner{
				background: transparent;
				border: none;
				min-height: auto;
				padding: 0 !important;
			}
			.form__input_choices .choices__list{
				padding: 0;
			}
			.form__input_choices .choices__list--dropdown{
				width: calc(100% - var(--lineHeightModule)) !important;
			}
			.form__input_choices .choices__list--multiple .choices__item{
				background: var(--secondaryColor1);
				border: 0;
				border-radius: var(--borderRadiusSize);
				font: inherit;
			}
			.form__input_choices .choices__button{
				padding: 0;
			}
			.form__buttons{
				flex: 1 1 100%;
			}
		.form:has(table){
			display: block; /* hack */
		}
		.form_submitting{
			position: relative;
		}
			.form_submitting .form__input{
				background: #e9f0fb;
				color: transparent;
				filter: blur(calc(var(--lineHeightModule) * 0.375));
			}
		/*
		.form_submitting:after{
			background: var(--secondaryColor1);
			border-radius: var(--borderRadiusSize);
			color: var(--primaryColor5);
			content: 'Invio in corso..';
			left: 50%;
			padding: calc(var(--lineHeightModule) * 0.5);
			position: absolute;
			transform: translateX(-50%) translateY(-50%);
			top: 50%;
		}
		*/
		.menu_primary{
			list-style: none;
			padding: calc(var(--lineHeightModule) * 0.5) 0 0 0;
		}
			.menu_primary .menu__item{
				display: block;
				padding: calc(var(--lineHeightModule) * 0.5);
			}
			.menu_primary .menu__item + .menu__item{
				border-top: var(--borderSize) solid var(--secondaryColor5);
				margin-top: calc(var(--borderSize) * -1);
			}
		.pagination{
			display: flex;
			flex-wrap: wrap;
		}
			.pagination__count,
			.pagination__form{
				flex: 1 1 100%;
			}
		.site{
		}
			.site__header,
			.site__body{
				--secondaryColor1: #00368f;
				--secondaryColor5: #c2d5f4;
				--tertiaryColor1: #00660c;
				--tertiaryColor5: #a3ffae;
				--primaryColor5: #ffffff;
				--primaryColor4: #dddddd;
				--primaryColor2: #222222;
				--primaryColor1: #000000;
				color: var(--primaryColor2);
			}
			.site__header{
				background: var(--primaryColor5);
				padding: calc(var(--lineHeightModule) * 0.5) calc(var(--lineHeightModule) * 1.5);
			}
				.site__logo{
					display: inline-block;
					height: calc(var(--lineHeightModule) * 3);
					padding: calc(var(--lineHeightModule) * 0.5);
				}
				.site__navigation{
					position: relative;
				}
					.site__navigation-head{
						cursor: pointer;
						padding: calc(var(--lineHeightModule) * 0.5);
						position: absolute;
						right: 0;
						top: calc(var(--lineHeightModule) * -2.75);
					}
					.site__navigation-body{
						min-height: calc(100vh - var(--lineHeightModule) * 4);
					}
						.site__navigation .menu{
							padding-top: calc(var(--lineHeightModule) * 0.5);
						}
			.site__body{
				background: var(--secondaryColor5);
				background: linear-gradient(to bottom, var(--secondaryColor5), #e9f0fb);
				padding: 0 calc(var(--lineHeightModule) * 0.5); /* this would respect the grid */
				padding: calc(var(--lineHeightModule) * 0.5);
			}
				.page{
					/* overflow: auto; */
					padding: 0.01px;
				}
					.page__header{
						padding: 0 var(--lineHeightModule);
					}
						.page__title{
						}
					.page__body{
						background: var(--primaryColor5);
						border-radius: var(--borderRadiusSize);
						margin: calc(var(--lineHeightModule) * 0.5);
						padding: calc(var(--lineHeightModule) * 0.5);
					}
					.page__body:has(.section){
						align-items: flex-start;
						background: transparent;
						border-radius: 0;
						display: flex;
						flex-wrap: wrap;
						margin: 0;
						padding: 0;
					}
						.section{
							border-radius: var(--borderRadiusSize);
							flex: 1 1 calc(100% - var(--lineHeightModule));
							margin: calc(var(--lineHeightModule) * 0.5);
							overflow: hidden;
						}
							.section__header{
								background: var(--primaryColor5);
								padding: calc(var(--lineHeightModule) * 0.5);
								padding-bottom: 0;
							}
								.section__title{
								}
							.section__body{
								background: var(--primaryColor5);
								padding: var(--lineHeightModule);
								padding: calc(var(--lineHeightModule) * 0.5);
								padding-top: 0;
							}
							.section__body + .section__body{
								border-top: var(--borderSize) solid var(--secondaryColor5);
								margin-top: calc(var(--borderSize) * -1);
							}
							.section__body:has(.subsection){
								background: linear-gradient(to bottom, #e9f0fb, var(--primaryColor5));
								display: flex;
								flex-wrap: wrap;
								padding: 0;
							}
								.subsection{
									outline: calc(var(--borderSize) * 0.5) solid var(--secondaryColor5);
									flex: 1 1 100%;
									padding: calc(var(--lineHeightModule) * 0.5);
								}
									.subsection__header{
									}
										.subsection__title{
										}
									.subsection__body{
									}
				/*
				form:has(option[value="deliveryToDealer"]:checked) .form__input[name$="[warehouseId]"],
				form:has(option[value="deliveryToWarehouse"]:checked) .form__input[name$="[warehouseId]"]{
					opacity: 0.5;
					pointer-events: none;
				}
				*/
			.site__footer{
				font-size: var(--fontSize1);
				padding: var(--lineHeightModule);
			}
@media (min-width: 64em){
html{
}
	body{
	}	
		table{
			display: table;
			table-layout: fixed;
			width: 100%;
		}
			table tr{
				display: table-row;
				padding: 0;
			}
			table thead{
				display: table-header-group;
			}
				table th,
				table th:not([data-title]){
					display: table-cell;
					padding: calc(var(--lineHeightModule) * 0.5);
				}
				table th:not([data-title]){
					color: var(--secondaryColor1);
					font-size: var(--fontSize1);
					font-weight: bold;
					text-transform: uppercase;
				}
				table th[data-title]:before{
					content: none;
				}
			table tbody{
				display: table-row-group;
			}
				table tbody tr{
					border: none;
					margin: 0;
				}
				table td,
				table td:not([data-title]){
					display: table-cell;
					padding: calc(var(--lineHeightModule) * 0.5);
					vertical-align: top;
				}
				table tbody tr:first-child td,
				table tbody tr:first-child td:not([data-title]){
					border-top: var(--borderSize) solid var(--secondaryColor5);
					padding: calc(var(--lineHeightModule) * 0.5 - var(--borderSize)) calc(var(--lineHeightModule) * 0.5) calc(var(--lineHeightModule) * 0.5) calc(var(--lineHeightModule) * 0.5);
				}
				table td[data-title]:before{
					content: none;
				}
				th:last-child:has(.menu, button),
				td:last-child:has(.menu, button){
					text-align: right;
				}
				th .menu,
				td .menu{
					display: inline-flex;
				}
				/*
				table tbody tr:hover td{
					background: var(--tertiaryColor5);
				}
				*/
		.form{
		}
			.form__fieldset{
			}
				.form__field_secondary{
					flex-basis: 50%;
				}
			.form__fieldset_secondary{
				flex-basis: 50%;
			}
		.form_secondary{
		}
			.form_secondary .form__error,
			.form_secondary .form__description{
				flex: 1 0 100%;
			}
			.form_secondary .form__fieldset{
				flex: 0 1 auto;
			}
				.form_secondary .form__label{
					display: none;
				}
			.form_secondary .form__buttons{
				flex: 0 1 auto;
			}
		.menu_secondary{
			display: flex;
			flex-wrap: wrap;
			list-style: none;
		}
			.menu_secondary .menu__item{
				display: block;
			}
			.menu_secondary .menu__item + .menu__item:before{
				content: ' / ';
				display: inline-block;
				width: var(--lineHeightModule);
				text-align: center;
			}
		.pagination{
			align-items: center;
		}
			.pagination__count,
			.pagination__form{
				flex-grow: 0;
				flex-basis: auto;
			}
			.pagination__form{
				margin-left: auto;
			}
				.pagination__form .form__field{
					flex-shrink: 1;
					flex-basis: auto;
				}
		.site{
		}
			.site__header{
			}
			.site__body{
			}
				.page{
				}
					.page__body{
					}
						.section{
						}
							.section__body:has(.subsection){
								gap: var(--lineHeightModule);
								overflow: hidden;
							}
								.subsection{
									outline-offset: calc(var(--lineHeightModule) * 0.5);
								}
								.subsection_secondary{
									flex-basis: calc(25% - var(--lineHeightModule));
								}
						.section_secondary{
							flex-basis: calc(50% - var(--lineHeightModule));
						}
			.site__footer{
			}
}
@media (min-width: 100em){
html{
	--pageWidth: 95rem;
}
}