/* Gestione calendario */
.contain-calendar{
     position: relative;
}
.content-calendar{
     overflow-x:scroll;
}
.content-calendar::-webkit-scrollbar {
	height: 4px;
	width: 4px;
	background: var(--bs-card-cap-bg);
}
.content-calendar::-webkit-scrollbar-thumb {
	background: var(--blue);
}

/* timeline */
.content-filters .content-next-days .slick-slide{
	margin-right: 8px;
}
	.content-filters .content-next-days .single-day.active {
		background-color: var(--ic-violet);
	}
	.content-filters .content-next-days .single-day {
		background-color: var(--ic-violet-light);
		border-radius: 17px;
		color: #ffffff;
		font-size: 0.9rem;
		cursor: pointer;
		flex-grow: 1;
		height: 34px;
		line-height: 1.1;
		padding: 2px 5px;
		-webkit-border-radius: 17px;
		-moz-border-radius: 17px;
		-ms-border-radius: 17px;
		-o-border-radius: 17px;
	}
	.content-filters .content-next-days  .date-month {
		font-size: 0.7rem;
	}
	/* verificare: probabilmente si può eliminare - inizio */
	.timeline-container .timeline-filters {
		overflow-x: auto;
	}
		.timeline-container .timeline-filters::-webkit-scrollbar {
			background: #aaa7fe66;
			border-radius: 4px;
			height: 8px;
			width: 4px;
		}
		.timeline-container .timeline-filters::-webkit-scrollbar-thumb {
			background: var(--ic-violet);
			border-radius: 4px;
			-webkit-border-radius: 4px;
			-moz-border-radius: 4px;
			-ms-border-radius: 4px;
			-o-border-radius: 4px;
		}
	.timeline-container .timeline-filters .single-day {
		background-color: var(--ic-violet-light);
		border-radius: 17px;
		color: #ffffff;
		font-size: 0.9rem;
		cursor: pointer;
		flex-grow: 1;
		height: 34px;
		margin-right: 8px;
		padding: 5px 15px;
		-webkit-border-radius: 17px;
		-moz-border-radius: 17px;
		-ms-border-radius: 17px;
		-o-border-radius: 17px;
	}
	.timeline-container .timeline-filters .single-day.active {
		background-color: var(--ic-violet);
	}
	/* verificare: probabilmente si può eliminare - fine */
	.timeline-main {
		margin-top: 15px;
	}
		.timeline-main .content-slots {				/* riga con le ore cliccabili */
			/*border-left: 1px solid var(--light-gray);
			border-top: 1px solid var(--light-gray);*/
			border-top: 1px solid #ffffff;
			display: flex;
			min-width: 680px;		/* 17 x 40px */
		}
			.timeline-main .content-slots .hour {
				/*border-right: 1px solid var(--light-gray);
				border-bottom: 1px solid var(--light-gray);*/
				border-right: 1px solid var(--ic-violet-light);
				border-bottom: 1px solid var(--ic-violet-light);
				flex-grow: 1;
				flex-shrink: 1;
				flex-basis: 100%;
				height: 39px;
				line-height: 40px;
				text-align: center;
			}
		.timeline-main .calendar {	/* contenitore di tutti gli elementi della timeline, elenco campi a sinistra + griglia a destra */
			display: flex;
		}
		.timeline-main .calendar > .content-fields {			/* colonna sx: contenitore elenco campi */
			width: 100px;
			flex-grow: 0;
			flex-shrink: 0;
		}
			.timeline-main .calendar .content-fields .field:first-child {
				height: 40px;
			}
			.timeline-main .calendar .content-fields .field {
				border-bottom: 1px solid var(--ic-violet-light);
				border-right: 1px solid var(--ic-violet-light);
				height: 39px;
				line-height: 39px;
				font-size: 0.68rem;
				letter-spacing: -0.03rem;
				white-space: nowrap;
			}
		.timeline-main .calendar > .content-availability {	/* colonna dx: contenitore ore + campi */
			border-left: 0;
			flex-grow: 1;
			flex-shrink: 1;
			flex-basis: 100%;
			overflow-x: auto;
		}
		.timeline-main .calendar > .content-availability::-webkit-scrollbar {
			background: #aaa7fe66;
			border-radius: 4px;
			height: 8px;
			width: 4px;
		}
		.timeline-main .calendar > .content-availability::-webkit-scrollbar-thumb {
			background: var(--ic-violet);
			border-radius: 4px;
			-webkit-border-radius: 4px;
			-moz-border-radius: 4px;
			-ms-border-radius: 4px;
			-o-border-radius: 4px;
		}
		.timeline-main .calendar > .content-availability > .content-availability {		/* contenitore slot cliccabili di tutti i campi */
			/*border-left: 1px solid var(--light-gray);*/
			min-width: 680px;		/* 17 x 40px */
		}
		.timeline-main .availability-single-field {	/* riga contenitore slot cliccabili di un singolo campo */
			display: flex;
			position: relative;
		}
		.timeline-main .timeline-slot {				/* singolo slot cliccabile per inserire la prenotazione */
			border-right: none;
			/*border-bottom: 1px solid var(--light-gray);*/
			border-bottom: 1px solid var(--ic-gray-v2);
			border-right: 1px solid var(--light-gray);
			cursor: pointer;
			display: block;
			height: 39px;
			line-height: 39px;
			flex-grow: 1;
			flex-shrink: 1;
			flex-basis: 100%;
		}
		.timeline-main .timeline-slot-border-right {
			/*border-right: 1px solid var(--light-gray);*/
			border-right: 1px solid var(--ic-gray-v2);
		}
		/*.timeline-main .timeline-slot:nth-child(odd) {
			border-right: none;
		}*/
		.timeline-main .booked {
			border-radius: 5px;
			height: 38px;
		}
			.timeline-main .booked.type-1,
			.timeline-main .booked.type-4,
			.timeline-main .booked.type-5,
			.timeline-main .booked.type-6,
			.timeline-main .booked.type-7 {				/* slot oscurato perch� prenotato da altri */
				background-color: var(--ic-violet-light);
				position: absolute; top: 0;
			}
			.timeline-main .booked.type-2 {				/* slot oscurato perch� impianto chiuso */
				background-color: #bbbbbb55;
				border-left: 2px solid #666;
				border-right: 2px solid #666;
				position: absolute; top: 0;
			}
			.timeline-main .booked.type-3 {				/* slot oscurato perchè troppo corto e non prenotabile */
				background: repeating-linear-gradient(45deg, #ffffff, #ffffff 10px, #bbbbbb55 10px, #bbbbbb55 20px);
				position: absolute; top: 0;
			}
			.timeline-main .booked.type-past {			/* slot oscurato perch� data passata */
				background: linear-gradient(90deg, #48aade88 0%, #70d8a888 70%);
				border-right: 2px solid var(--ic-violet);
				border-radius: 0;
				height: 39px;
				position: absolute; top: 0; left: 0;
			}
		.timeline-main .timeline-footer, .detail-tournament .ic-wrap-legends {
			background-color: rgba(33, 37, 41, 0.03);
			border: 1px solid rgba(0, 0, 0, 0.176);
			display: flex;
			flex-wrap: wrap;
			margin-top: 15px;
			padding: 5px 15px;
		}
		.timeline-main .content-single-box, .detail-tournament .ic-wrap-legends .content-single-box {
			margin-right: 15px;
			position: relative;
			padding-left: 20px;
			font-size: .75rem;
		}
			.content-single-box .box {
				border: 1px solid var(--gray);
				display: inline-block;
				width: 14px;
				height: 14px;
				position: absolute; top: 2px; left: 0;
			}
			.timeline-main .content-single-box .box.box-available {
				background-color: var(--bs-white);
			}
			.timeline-main .content-single-box .box.box-not-available {
				background-color: #bbbbbb55;
			}
			.timeline-main .content-single-box .box.box-booked {
				background-color: var(--ic-violet-light);
			}
@media(min-width:1024px){
	.timeline-main .calendar > .content-fields {			/* colonna sx: contenitore elenco campi */
		width: 150px;
	}
	.timeline-main .calendar .content-fields .field {
		font-size: 0.9rem;
		letter-spacing:normal;
	}
}
	.card-footer {
		background-color: rgba(33, 37, 41, 0.03);
		border: 1px solid rgba(0, 0, 0, 0.176);
		display: flex;
		flex-wrap: wrap;
		margin-top: 15px;
		padding: 5px 15px;
	}
	.card-footer .content-single-box {
		margin-right: 15px;
		position: relative;
		padding-left: 21px;
	}
		.card-footer .box {
			border: 1px solid var(--gray);
			display: inline-block;
			height: 16px;
			position: absolute; top: -2px; left: 0;
			width: 16px;
		}
		.card-footer .content-single-box .box.box-available {
			background-color: var(--bs-white);
		}
		.card-footer .content-single-box .box.box-not-available {
			background-color: #bbbbbb55;
		}
		.card-footer .content-single-box .box.box-booked {
			background-color: var(--blue);
		}
/* Fine gestione calendario */

/* Gestione stili pagina */
.content-structures .content-leaderboard{
	border-bottom:2px solid var(--ic-green);
	max-width: 1920px;
    margin: auto;
}
@media(min-width:1920px){
	.content-structures .content-leaderboard { padding-bottom: 297px !important; }		/* per evitare che la leaderboard diventi troppo alta */
}
.content-back-arrow a{
	text-decoration: none;
}
	.content-back-arrow a i, .content-back-arrow a p{
		color:var(--ic-green);
		display: inline-block;
	}
	.content-back-arrow a p{
		font-size: 1rem;
		font-family: 'Fredoka', sans-serif;
	}
.content-structures h1, .content-structures h2{
	font-family: 'Fredoka', sans-serif;
	color:var(--ic-blue-text);
	font-weight:500;
	margin-bottom:0;
}
.content-structures h3, .content-structures .h3-style{
	font-family: 'Fredoka', sans-serif;
	color:var(--ic-blue-text);
	font-weight: 400;
}
.content-structures p, .content-structures .description{
	color:var(--ic-blue-text);
	font-size:.9rem;
}
	.content-structures .description.content-recurrent-icon .fa-stack i:first-child:before{
		font-size:inherit;
		width:100% !important;
		height:100% !important;
		color: var(--ic-green);
	}
	.content-structures .description.content-recurrent-icon .fa-stack i:last-child:before{
		top: 10px;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}
.content-structures .logo-structure {
	border-radius: 50%;
    box-shadow: 0px 1px 2px 0px var(--ic-green);
}

.content-structures .logo-tournament{
	border-radius: 0;
	box-shadow: none;
}
.content-structures.detail-structure .overlay{
	position: absolute;
	z-index: 9;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--ic-violet-light);
	backdrop-filter: blur(2px);
	border-radius:25px;
}
	.content-structures.detail-structure .overlay h3, .content-structures.detail-structure .overlay p{
		color:var(--black);
		font-family: 'Fredoka', sans-serif;
		font-weight:600;
	}
	.content-structures.detail-structure .overlay p{
		font-size:1.1rem;
		text-align: center;
		font-weight: 400;
	}
.content-structures.detail-structure .card{
	border-bottom:0;
}
.content-structures .content-opening-hours ul{
     list-style-type: none;
     padding-left:0;
     font-size:.9rem;
}
	.content-structures .content-opening-hours ul li{
		color: var(--ic-blue-text);
          border-bottom: 1px solid var(--ic-green);
          padding-left:.3rem;
          padding-right:.3rem;
		font-size:.9rem;
     }
		.content-structures .content-opening-hours ul li span.hours{
               float:right;
          }
.content-structures.detail-structure .card .badge{
	font-size:.9rem;
}
	.content-structures .gallery .item img{
		border-radius: 25px;
	}

/*Gestione slider dei tornei*/
#tournaments.gallery .description{
	min-height:90.45px;
	display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#tournaments.gallery .slick-dots{
	position:relative;
}
	#tournaments.gallery .slick-dots li{
		height:8px;
		width:30px;
	}
		#tournaments.gallery .slick-dots li button{
			height:8px;
			width:30px;
			position:relative;
		}
			#tournaments.gallery .slick-dots li button:before{
				position:absolute;
				left:50%;
				transform: translateX(-50%);
				content: '';
				height:8px;
				width:30px;
				background-color:var(--ic-green);
				border-radius:8px;
				transition: width .3s;
			}
			#tournaments.gallery .slick-dots li.slick-active button:before {
				width:15px;
			}
@media(min-width:768px){
	#tournaments.gallery .description{
		min-height:194.45px;
	    -webkit-line-clamp: 9;
	}
}

/* Gestione delle recensioni utente */
.content-single-review{
	/*border-bottom: 1px solid var(--ic-green);*/
}
	.content-single-review .content-name .circle{
		background-color: var(--ic-light-blue);
		display: inline-block;
		width: 30px;
		height: 30px;
		text-align: center;
		line-height: 30px;
		border-radius: 50%;
		color: var(--bs-white);
		margin-right: 5px;
		font-family: 'Fredoka', sans-serif;
	}
	.content-single-review .content-name .name{
		color: var(--ic-blue-text);
		font-size: 1.2rem;
		font-family: 'Fredoka', sans-serif;
	}
	.content-single-review .content-stars{
		padding-bottom:.3rem;
		justify-content: space-between;
		align-items: center;
	}
		.content-single-review .content-stars {
			display: flex;
			font-size: 1.2rem;
			line-height: 24px;
		}
		.content-structures .content-scores {
			display: flex;
			flex-wrap: wrap;
			font-size: 1.2rem;
			line-height: 24px;
		}
		.page-listSearch-main .content-structures .content-scores {
			justify-content: center;	/* fix allineamento su lista impianti sportivi */
		}
		.content-single-review .content-stars i, .content-structures .content-scores i {
			color: var(--ic-violet);
			font-size: 1.2rem;
			height: 24px;
			line-height: 24px;
		}
		.content-single-review .content-stars i.active, .content-structures .content-scores i.active{
			color: var(--ic-green);
		}
		.content-scores .fa-stack.half-star {
			width: 24px;
			height: 24px;
			line-height: 24px;
		}
		.content-single-review .content-stars .content-date, .content-single-review .content-reply .content-date{
			padding-left:.5rem;
			color: var(--ic-violet);
			font-size:.8rem;
			line-height:1.2rem;
			float:right;
		}
	.content-single-review .content-reply{
		background-color: var(--ic-violet-light);
    	border-radius: 10px;
	}
		.content-single-review .content-reply .circle{
			background-color: transparent;
			float:left;
			margin-right: 10px;
		}
		.content-single-review .content-reply .name{
			line-height:30px;
		}
#reviewModal .modal-title{
	color:var(--ic-violet);
	font-family: 'Fredoka', sans-serif;
}
