.vanilla-calendar{
	height: auto !important;
	margin: auto;
}
@media (max-width: 980px){
	.vanilla-calendar{
		min-width: 250px;
	}
}
/* parametri applicati solo al calendario con id "calendar" del desktop */
#calendar {
	.vanilla-calendar-days{
		grid-template-columns:repeat(7,1fr);
		column-gap: 1em;
	}
	.vanilla-calendar-week{
		column-gap: 1em;
		grid-template-columns:repeat(7,1fr);

	}
	.vanilla-calendar-week__day{
		font-size:.75rem;
	}
	.vanilla-calendar-day__btn{
		font-size:.75rem;
		min-height:2.45rem;
	}
	.vanilla-calendar-day{
		width:100%;
		cursor: not-allowed;
	}

}
@media (min-width: 980px) and (max-width: 1060px){
	.vanilla-calendar-content{
		width: 50%;
		font-size: 5px;
	}
	.vanilla-calendar-day__btn{
		min-height: 2.1rem !important;
	}
}
@media(min-width: 1061px) and (max-width: 1315px){
	.vanilla-calendar-day__btn{
		min-height: 1.95rem !important;
		width: 50% ;
	}
	.vanilla-calendar-day{
		width: 60% !important;
	}
	.vanilla-calendar-content{
		width: 50%;
		font-size: 2px !important;
	}
}
.vanilla-calendar{
	position:relative;
	display:flex;
	/*	height:-webkit-max-content;
		height:max-content;
		width:-webkit-max-content;
		width:max-content;
		min-width:275px;
		max-width:100%;*/
	width:100%;
	height: 370px;
	flex-direction:column;
	padding:1rem;
	opacity:1;
	transition-property:opacity;
	transition-duration:.15s
}

.vanilla-calendar_multiple{
	width:auto
}
.vanilla-calendar button:focus-visible{
	outline-style:solid;
	outline-width:1px
}
.vanilla-calendar.vanilla-calendar_multiple .vanilla-calendar-days{
	flex-grow:0
}
.vanilla-calendar_hidden{
	pointer-events:none;
	opacity:0
}
.vanilla-calendar_to-input{
	position:absolute;
	left:0;
	bottom:0;
	margin-top:.25rem
}
.vanilla-calendar-controls{
	pointer-events:none;
	position:absolute;
	left:0;
	right:0;
	top:0;
	z-index:20;
	box-sizing:content-box;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding-left:1rem;
	padding-right:1rem;
	padding-top:1.25rem
}
.vanilla-calendar-arrow{
	pointer-events:auto;
	position:relative;
	display:block;
	height:1.5rem;
	width:1.5rem;
	cursor:pointer;
	border-width:0px;
	background-color:transparent
}
.vanilla-calendar-arrow:before{
	position:absolute;
	inset:0;
	content:var(--tw-content);
	content:"";
	-webkit-mask-image:url('data:image/svg+xml, %3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3z"/%3E%3C/svg%3E');
	mask-image:url('data:image/svg+xml, %3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3z"/%3E%3C/svg%3E');
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	-webkit-mask-position:50% 50%;
	mask-position:50% 50%
}
.vanilla-calendar-arrow.vanilla-calendar-arrow_prev:before{
	-webkit-transform:rotateZ(90deg);
	transform:rotate(90deg)
}
.vanilla-calendar-arrow.vanilla-calendar-arrow_next:before{
	-webkit-transform:rotateZ(-90deg);
	transform:rotate(-90deg)
}
.vanilla-calendar-grid{
	display:grid;
	flex-grow:1;
	grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
	gap:1.75rem
}
.vanilla-calendar-grid.vanilla-calendar-grid_disabled .vanilla-calendar-column{
	pointer-events:none;
	opacity:.3
}
.vanilla-calendar-grid.vanilla-calendar-grid_disabled .vanilla-calendar-column.vanilla-calendar-column_month,.vanilla-calendar-grid.vanilla-calendar-grid_disabled .vanilla-calendar-column.vanilla-calendar-column_year{
	pointer-events:auto;
	opacity:1
}
.vanilla-calendar-column{
	display:flex;
	min-width:-webkit-min-content;
	min-width:min-content;
	flex-direction:column
}
.vanilla-calendar-header{
	position:relative;
	margin-bottom:.75rem;
	display:flex;
	align-items:center;
	padding-left:.25rem;
	padding-right:.25rem
}
.vanilla-calendar-header__content{
	display:grid;
	flex-grow:1;
	grid-auto-columns:-webkit-max-content;
	grid-auto-columns:max-content;
	grid-auto-flow:column;
	align-items:center;
	justify-content:center;
	white-space:pre-wrap;
	padding-left:1rem;
	padding-right:1rem
}
.vanilla-calendar-month,.vanilla-calendar-year{
	cursor:pointer;
	border-radius:.25rem;
	border-width:0px;
	background-color:transparent;
	padding:.25rem;
	font-size:1rem;
	line-height:1.5rem;
	font-weight:700
}
.vanilla-calendar-month.vanilla-calendar-month_disabled,.vanilla-calendar-year.vanilla-calendar-year_disabled{
	pointer-events:none
}
.vanilla-calendar-months{
	display:grid;
	flex-grow:1;
	grid-template-columns:repeat(4,minmax(0,1fr));
	align-items:center;
	row-gap:1rem;
	-webkit-column-gap:.5rem;
	column-gap:.5rem
}
.vanilla-calendar-years{
	display:grid;
	flex-grow:1;
	grid-template-columns:repeat(5,minmax(0,1fr));
	align-items:center;
	row-gap:1rem;
	-webkit-column-gap:.5rem;
	column-gap:.5rem;
}
.vanilla-calendar-months_selecting .vanilla-calendar-months__month,.vanilla-calendar-years_selecting .vanilla-calendar-years__year{
	cursor:pointer
}
.vanilla-calendar-months_selecting .vanilla-calendar-months__month .vanilla-calendar-months__month_disabled,.vanilla-calendar-years_selecting .vanilla-calendar-years__year .vanilla-calendar-years__year_disabled{
	cursor:default
}
.vanilla-calendar-months__month,.vanilla-calendar-years__year{
	display:flex;
	height:2.5rem;
	align-items:center;
	justify-content:center;
	word-break:break-all;
	border-radius:.5rem;
	border-width:0px;
	padding:.25rem;
	text-align:center;
	font-size:.75rem;
	line-height:1rem;
	font-weight:600
}
.vanilla-calendar-months__month.vanilla-calendar-months__month_disabled,.vanilla-calendar-years__year.vanilla-calendar-years__year_disabled{
	pointer-events:none;
}
.vanilla-calendar-week-numbers{
	display:flex;
	flex-grow:1;
	flex-direction:column
}
.vanilla-calendar-week-numbers__title{
	margin-bottom:.5rem;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:.75rem;
	line-height:1rem;
	font-weight:700
}
.vanilla-calendar-week-numbers__content{
	display:grid;
	grid-auto-flow:row;
	align-items:center;
	justify-items:center;
	row-gap:.25rem
}
.vanilla-calendar-week-number{
	display:flex;
	height:100%;
	min-height:1.875rem;
	width:100%;
	min-width:1.875rem;
	cursor:pointer;
	align-items:center;
	justify-content:center;
	font-size:.75rem;
	line-height:1rem;
	font-weight:600
}
.vanilla-calendar-wrapper{
	display:flex;
	flex-grow:1
}
.vanilla-calendar-content{
	display:flex;
	flex-grow:1;
	flex-direction:column;
	cursor: not-allowed
}
.vanilla-calendar-week{
	margin-bottom:.5rem;
	display:grid;
	grid-template-columns:repeat(7,14.1%);
	justify-items:center
}
.vanilla-calendar-week__day{
	display:flex;
	height:100%;
	width:100%;
	min-width:1.875rem;
	align-items:center;
	justify-content:center;
	font-size:.75rem;
	line-height:1rem;
	font-weight:700
}
.vanilla-calendar-days{
	display:grid;
	flex-grow:1;
	grid-template-columns:repeat(7,14.1%);
	align-items:center;
	justify-items:center;
	row-gap:.75rem;
}

.vanilla-calendar-days_selecting .vanilla-calendar-day__btn{
	cursor:pointer
}
.vanilla-calendar-days_selecting .vanilla-calendar-day__btn_disabled{
	cursor:not-allowed
}
.vanilla-calendar-day{
	position:relative;
	display:flex;
	height:100%;
	width:75%;
	align-items:center;
	justify-content:center
}
.vanilla-calendar-day:focus-visible .vanilla-calendar-day__popup,.vanilla-calendar-day:hover .vanilla-calendar-day__popup{
	pointer-events:auto;
	opacity:1
}
.vanilla-calendar-day_selected-first .vanilla-calendar-day__btn_selected{
	border-top-right-radius:0;
	border-bottom-right-radius:0;
	border-top-left-radius:.5rem;
	border-bottom-left-radius:.5rem
}
.vanilla-calendar-day_selected-last .vanilla-calendar-day__btn_selected{
	border-top-left-radius:0;
	border-bottom-left-radius:0;
	border-top-right-radius:.5rem;
	border-bottom-right-radius:.5rem
}
.vanilla-calendar-day_selected-intermediate .vanilla-calendar-day__btn_intermediate{
	border-radius:0
}
.vanilla-calendar-day__btn{
	display:flex;
	height:75%;
	min-height:1.875rem;
	width:100%;
	min-width:1.875rem;
	cursor:default;
	align-items:center;
	justify-content:center;
	border-radius:.5rem;
	border-width:0px;
	font-size:.75rem;
	line-height:1rem;
	font-weight:400
}
.vanilla-calendar-day__btn_today{
	font-weight:700
}
.vanilla-calendar-day__btn_disabled{
	pointer-events:none
}
.vanilla-calendar-day__popup{
	-webkit-transform:translateX(-50%);
	transform:translate(-50%);
	pointer-events:none;
	position:absolute;
	left:50%;
	top:100%;
	z-index:20;
	width:8rem;
	padding:1rem .75rem .5rem;
	font-size:.75rem;
	line-height:1rem;
	font-weight:400;
	opacity:0
}
.vanilla-calendar-day__popup:before{
	content:var(--tw-content);
	position:absolute
}
.vanilla-calendar-day__popup:after{
	content:var(--tw-content);
	position:absolute
}
.vanilla-calendar-day__popup:hover{
	pointer-events:auto;
	opacity:1
}
.vanilla-calendar-day__popup:before{
	content:"";
	left:0;
	bottom:0;
	z-index:-10;
	display:block;
	height:calc(100% - 8px);
	width:100%;
	border-radius:.5rem
}
.vanilla-calendar-day__popup:after{
	content:"";
	-webkit-transform:translateX(-50%);
	transform:translate(-50%);
	left:50%;
	top:1px;
	z-index:-10;
	display:block;
	height:0px;
	width:0px;
	border-left-width:8px;
	border-right-width:8px;
	border-top-width:0px;
	border-bottom-width:8px;
	border-style:solid;
	border-left-color:transparent;
	border-right-color:transparent;
	border-top-color:transparent
}
.vanilla-calendar-time{
	margin-top:.75rem;
	display:grid;
	grid-template-columns:auto 1fr;
	gap:.75rem;
	border-top-width:1px;
	border-bottom-width:0px;
	border-left-width:0px;
	border-right-width:0px;
	border-style:solid;
	padding-top:.75rem
}
.vanilla-calendar-time__content{
	display:grid;
	grid-auto-flow:column;
	align-items:center
}
.vanilla-calendar-time__hours{
	position:relative;
	margin-right:.35rem;
	width:1.75rem
}
.vanilla-calendar-time__hours:after{
	position:absolute;
	right:-5px;
	top:50%;
	margin-top:calc(-50% + 1px);
	display:block;
	--tw-content: ":";
	content:var(--tw-content)
}
.vanilla-calendar-time__minutes{
	width:1.75rem
}
.vanilla-calendar-time__hours input,.vanilla-calendar-time__minutes input{
	position:relative;
	margin:0;
	box-sizing:border-box;
	display:block;
	width:100%;
	border-radius:.25rem;
	border-width:0px;
	padding:.125rem;
	text-align:center;
	font-size:1.125rem;
	font-weight:600;
	line-height:1.125rem
}
.vanilla-calendar-time__hours input:focus-visible,.vanilla-calendar-time__minutes input:focus-visible{
	outline-style:solid;
	outline-width:1px
}
.vanilla-calendar-time__hours input:disabled,.vanilla-calendar-time__minutes input:disabled{
	cursor:not-allowed
}
.vanilla-calendar-time__hours input:hover:disabled,.vanilla-calendar-time__minutes input:hover:disabled{
	background-color:transparent
}
.vanilla-calendar-time__keeping{
	margin-left:1px;
	margin-top:.25rem;
	width:22px;
	cursor:pointer;
	border-radius:.25rem;
	border-width:0px;
	background-color:transparent;
	padding:0;
	font-size:11px
}
.vanilla-calendar-time__keeping:focus-visible{
	outline-style:solid;
	outline-width:1px
}
.vanilla-calendar-time__keeping:disabled{
	cursor:not-allowed
}
.vanilla-calendar-time__keeping:hover:disabled{
	background-color:transparent
}
.vanilla-calendar-time__ranges{
	display:grid;
	grid-auto-flow:row
}
.vanilla-calendar-time__range{
	position:relative;
	z-index:10;
	font-size:0
}
.vanilla-calendar-time__range:before{
	content:var(--tw-content);
	left:0
}
.vanilla-calendar-time__range:after{
	content:var(--tw-content);
	right:0
}
.vanilla-calendar-time__range:before,.vanilla-calendar-time__range:after{
	content:"";
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
	pointer-events:none;
	position:absolute;
	top:50%;
	z-index:10;
	height:.5rem;
	width:1px
}
.vanilla-calendar-time__range input{
	position:relative;
	margin:0;
	height:1.25rem;
	width:100%;
	cursor:pointer;
	-webkit-appearance:none;
	appearance:none;
	outline-width:0px
}
.vanilla-calendar-time__range input::-webkit-slider-thumb{
	position:relative;
	z-index:20;
	margin-top:-.5rem;
	box-sizing:border-box;
	height:1rem;
	width:.75rem;
	cursor:pointer;
	-webkit-appearance:none;
	appearance:none;
	border-radius:.25rem;
	border-width:1px;
	border-style:solid;
	--tw-shadow: 0 0 #0000;
	--tw-shadow-colored: 0 0 #0000;
	box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)
}
.vanilla-calendar-time__range input::-moz-range-thumb{
	position:relative;
	z-index:20;
	box-sizing:border-box;
	height:1rem;
	width:.75rem;
	cursor:pointer;
	border-radius:.25rem;
	border-width:1px;
	border-style:solid;
	--tw-shadow: 0 0 #0000;
	--tw-shadow-colored: 0 0 #0000;
	box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)
}
.vanilla-calendar-time__range input::-webkit-slider-runnable-track{
	margin-top:1px;
	box-sizing:border-box;
	height:1px;
	width:100%;
	cursor:pointer;
	--tw-shadow: 0 0 #0000;
	--tw-shadow-colored: 0 0 #0000;
	box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)
}
.vanilla-calendar-time__range input::-moz-range-track{
	margin-top:1px;
	box-sizing:border-box;
	height:1px;
	width:100%;
	cursor:pointer;
	--tw-shadow: 0 0 #0000;
	--tw-shadow-colored: 0 0 #0000;
	box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)
}
