:root{
	--blue: #6297f9;
	--light-blue: #d7e9f7;
	--black: #000;
	--light-gray: rgb(242, 242, 242);
	--gray: #333;
	--a1a1a1: #a1a1a1;
	--f3f5fb: #f3f5fb;
	--red: #dd0000;
	--ic-violet: #37348B;
	--ic-blue-text: #37348B;
	--ic-violet-light:rgba(207,215,245,.9); /*rgba(170,167,254,.9);*/
	--ic-violet-light-no-opacity:rgba(207,215,245); /*rgba(170,167,254,.9);*/
	--ic-green: #5BAE88;
	--ic-light-blue: #289AD9;
	--ic-gray: #707070;
	--ic-gray-v2: #dddddd;
	--ic-blue-badge: #3159A7;
	/* colori piani tariffari */
	--ic-price-base: #2F4F4F;
	--ic-price-plus: #66de6a;
	--ic-price-pro: #FFA500;
	--ic-price-elite: #FF4500;
	--ic-price-all-stars: #e8c064;
	--ic-price-promo: #C0C0C0;
}
html, body {
	font-family: 'Inter Tight', sans-serif;
	overflow-x: hidden;
}
.form-control.error, .form-select.error{
	-webkit-box-shadow: 0px 0px 5px 1px var(--red);
	box-shadow: 0px 0px 5px 1px var(--red);
}
a, a:hover, a:focus, a:active{
	color:var(--ic-blue-text);
	text-decoration: none;
}
/* stili comuni */
.font-inter-tight {
	font-family: "Inter Tight", sans-serif !important;
}
.font-fredoka {
	font-family: "Fredoka", sans-serif !important;
}
.text-violet {
	color: var(--ic-violet) !important;
}
.text-light-blue {
	color: var(--ic-light-blue) !important;
}
.text-green {
	color: var(--ic-green) !important;
}
footer {
	background: var(--bs-white);
	font-size: 0.8rem;
}
.page-site-page header {
	display: block;
}
.page-site-page h1 {
	color: var(--blue);
}
.badge{
	/*background-color: var(--light-blue) !important;
	color: var(--gray);*/
	background-color: var(--bs-white) !important;
	color: var(--ic-violet);
	border-radius: 40px;
}
form label.error {
	color: var(--red) !important;
	font-size: 0.9em !important;
}
form .disclaimer {
	line-height: 1.1;
}
.shadow-header {
	box-shadow: 1px 1px 20px rgba(0,0,0,.1);
  	transition: opacity 600ms ease-out;
  	opacity: 1;
}
.modal{
	z-index: 99991;
}
.modal div, .modal p {
	color: #212529;		/* ripristino default bootstrap */
}
.landing-page-container {
	max-width: 1200px;
}
.green-text{
	color:var(--ic-green);
}
.btn, .btn:hover, .btn:focus, .btn:active, .btn:focus-visible {
	border: none;
}
.btn-primary, .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary:focus-visible {
    text-decoration: none;
}
.btn-link{
	border-radius: 40px;
	padding:15px 30px;
	font-size: 1.2rem;
	text-decoration: none !important;
}
.btn-home-find, .btn-home-find:hover, .btn-home-find:active, .btn-home-find:focus, .btn-home-find:focus-visible{
	background:transparent !important;
	background-color: transparent !important;
	border:2px solid var(--bs-white) !important;
	color:var(--bs-white);
	font-weight: 600;
}
.btn-book, .btn-book:hover, .btn-book:active, .btn-book:focus, .btn-book:focus-visible{
	background: rgb(72,170,222);
	background: linear-gradient(170deg, var(--ic-violet) 10%, var(--ic-light-blue) 60%, rgba(112,216,168,1) 90%);
	box-shadow: #ffffff 0 0 5px;
	color:var(--bs-white) !important;
	font-weight:600;
}
.btn-outline-book, .btn-outline-book:hover, .btn-outline-book:active, .btn-outline-book:focus, .btn-outline-book:focus-visible{
	background: var(--bs-white);
	color: linear-gradient(170deg, var(--ic-violet) 10%, var(--ic-light-blue) 60%, rgba(112,216,168,1) 90%);
	box-shadow: #ffffff 0 0 5px;
	font-weight:600;
}
.btn-more-info, .btn-more-info:hover, .btn-more-info:active, .btn-more-info:focus, .btn-more-info:focus-visible{
	background: rgb(40,154,217) !important;
	color:var(--bs-white) !important;
	font-weight:600;
}
.btn-cancel, .btn-cancel:hover, .btn-cancel:active, .btn-cancel:focus, .btn-cancel:focus-visible{
	background: var(--ic-gray) !important;
	color:var(--bs-white) !important;
	font-weight:600;
}

/* gestione CLS (cumulative layout shift): si riserva lo spazio dell'immagine anche se non è ancora stata caricata */
.cls {
	overflow: hidden;
	position: relative;
}
	.cls.cls-1x1 { padding-bottom: 100%; }
	.cls.cls-1x1.cls-add { padding-bottom: 105%; }
	.cls.cls-4x3 { padding-bottom: 75%; }
	.cls.cls-3x2 { padding-bottom: 66.66%; }
	.cls.cls-16x9 { padding-bottom: 56.25%; }
	.cls.cls-2x1 { padding-bottom: 50%; }
	.cls.cls-10x1 { padding-bottom: 35%; }
	.cls.cls-logo-structure{ padding-bottom:110%;max-width:160px;margin:auto; }
	.cls.cls-poster{ padding-bottom:125%; }
	.cls img, .cls .img-absolute { position: absolute; top: 0; left: 0; }
@media(min-width:538px){
	.cls.cls-logo-structure{ padding-bottom:160px;}
}
@media(min-width:1024px){
	.cls.cls-10x1 { padding-bottom: 15.5%; }
}
/* header */
header.header-home{
	background: var(--ic-violet);
	box-shadow: none;
}
header{
	box-shadow: 1px 1px 10px rgba(0,0,0,.1);
	transition: opacity 600ms ease-out;
	opacity: 1;
}
	header .navbar-toggler, header .navbar-toggler:active, header .navbar-toggler:focus{
		border:0;
		box-shadow:none;
	}
		header.header-home .navbar-toggler i{
			color:var(--bs-white);
		}
		header .navbar-toggler i{
			color:var(--ic-violet);
		}
		header .nav-link{
			font-family: 'Fredoka', sans-serif;
			font-size:1rem;
			font-weight:600;
		}
		header.header-home .nav-link, header.header-home .nav-link.show{
			color:var(--bs-white);
		}
		header .nav-item .dropdown-menu{
			background: rgba(170, 167, 254, .8);
			backdrop-filter: blur(8px) contrast(0.9);
			-webkit-backdrop-filter: blur(8px) contrast(0.9);
			border:0;
		}
			header .nav-item .dropdown-menu .nav-link{
				color:var(--ic-blue-text);
			}
			header .nav-item .dropdown-menu .nav-link:hover, header .nav-item .dropdown-menu .nav-link:focus, header .nav-item .dropdown-menu .nav-link:active{
				background: transparent;
				backdrop-filter: none;
				-webkit-backdrop-filter: none;
				color:var(--ic-blue-text);
			}
	header .content-menu{
		z-index: 9999;
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:100vh;
		background: rgba(170,167,254,.8);
		backdrop-filter: blur(8px) contrast(0.9);
		-webkit-backdrop-filter: blur(8px) contrast(0.9);
	}
		header .content-menu ul li{
			border-bottom: 1px solid var(--ic-blue-text);
		}
			header .content-menu a.nav-link{
				font-family: 'Fredoka', sans-serif;
				font-size:1.4rem;
				font-weight:600;
				color:var(--ic-blue-text);
			}
.header-cls-4{
	position: relative;
	padding-bottom:4%;
}
	.header-cls-4 .cls-img{
		position: absolute;
		top:50%;
		left:0;
		transform: translateY(-50%);
	}

.footer-shadow {
	box-shadow: 0 0 10px rgba(0,0,0,.1);
	opacity: 1;
	transition: opacity 600ms ease-out;
}
footer .pre-footer{
	font-size: 1rem;
	background-color:var(--ic-violet);
	font-family: 'Fredoka', sans-serif;
	line-height: 1.2;
}
	footer .pre-footer a, footer .pre-footer a:hover, footer .pre-footer a:active, footer .pre-footer a:focus{
		color:var(--bs-white);
	}

/* homepage */
/*.bg-incampo{

}*/
	.content-home-search .container{
		max-width:425px;
	}
	.content-home-search .content-search{
		min-height: 50vh;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		justify-content: space-between;
	}
		.content-home-search .content-search h1{
			color:#fff;
			font-size:2.4rem;
			font-family: 'Fredoka', sans-serif;
		}
.input-graphics, .input-graphics:focus, .input-graphics:active {
	border-radius: 40px;
	padding: 15px 30px;
	background-color: var(--ic-violet-light);
	color: var(--ic-blue-text);
	border: 0;
	font-size: 1.2rem;
	text-align: center;
	transition:box-shadow 0.3s ease-in-out;
}
.input-graphics.error, .content-select.error .custom-options{
	box-shadow:0px 0px 10px 5px var(--ic-green);
}
.content-select.error .custom-options{
	clip-path: inset(0px -13px -13px -13px);
}
.content-info h2, .content-info .h2 {
	font-family: 'Fredoka', sans-serif;
	color:var(--ic-green);
	font-weight:600;
	font-size:1.7rem;
	text-shadow: var(--ic-blue-text) 1px 1px 1px;
}
.content-info p, .content-info p a {
	color:var(--bs-white);
	font-weight:400;
	font-size:1.1rem;
}

/*Pagina di ricerca strutture*/
.bg-title-search{
	background-color: var(--light-blue);
	background-image: -webkit-linear-gradient(140deg, var(--light-blue) 25%, var(--f3f5fb) 25%);
	border-bottom: 10px solid var(--blue);
}
.list-content-title h1{
	font-family: 'Fredoka', sans-serif;
	color:var(--ic-blue-text);
	margin-bottom:0;
}
	.content-structures .input-graphics{
		padding: 10px 20px;
		font-size: 1rem;
		background-color: var(--bs-white);
		border: 1px solid var(--ic-green);
		color:var(--ic-green);
	}
	.content-structures .input-graphics:focus{
		box-shadow:none;
	}
	.content-structures #form-search .btn-book, .content-structures #form-search .btn-cancel{
		padding: 8px 15px;
	}
	.content-structures .card{
		border:0;
		border-bottom: 1px solid var(--ic-blue-text);
		border-radius: 0;
	}
		.content-structures .card a{
			text-decoration: none;
		}
			.content-structures .card h4 a, .content-structures .card h5 a{
				font-family: 'Fredoka', sans-serif;
				color:var(--ic-blue-text) !important;
			}
				.content-structures .card h4 a .text-green, .content-structures .card h5 a .text-green{
					color:var(--ic-green) !important;
				}
		.content-structures .card .card-title{
			font-family: 'Fredoka', sans-serif;
			color:var(--ic-blue-text);
			font-weight: 500;
			font-size: 1.6rem;
			margin-bottom: 0;
		}
		.content-structures .card .card-text{
			color:var(--ic-green);
			font-size: .8rem;
		}
			.content-structures .card .card-text.text-ellipsis{
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				text-overflow: ellipsis;
			}
		.content-structures .card .badge{
			background: transparent !important;
			border: 1px solid var(--ic-blue-badge);
			border-radius: 40px;
			color: var(--ic-blue-badge);
		}
		.content-structures .card .btn, .static-content .btn{
			font-size: 1rem;
			padding: 10px 15px;
			font-weight: normal;
			width:100%;
		}
	.content-structures .available-content .btn-link{
		font-size:1rem;
		padding:10px 20px;
	}
@media(min-width:1024px){
	.content-structures .content-top-info{
		margin-top:-7.5%;
		background-color: var(--bs-white);
		border-radius: 25px;
		border-top:2px solid var(--ic-green);
	}
	.content-structures .card .btn, .static-content .btn{
		width:auto;
		padding: 10px 20px;
	}
}

/* Stili custom select */
input[type='date'], input[type='text'], input[type='password'], input[type='telephone'], input[type='email'], input[type='tel'], select, textarea {
	font-family: 'Fredoka', sans-serif;
	color: var(--ic-blue-text);
}
.content-select, .content-autocomplete{
	position:relative;
	font-family: 'Fredoka', sans-serif;
	cursor: pointer;
}

.content-home-search .content-autocomplete .input-graphics::-webkit-input-placeholder { /* WebKit browsers (Safari, Google Chrome, Opera 15+) */
	color: var(--ic-blue-text);
}
.content-home-search .content-autocomplete .input-graphics:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color: var(--ic-blue-text);
	opacity: 1;
}
.content-home-search .content-autocomplete .input-graphics::-moz-placeholder { /* Mozilla Firefox 19+ */
	color: var(--ic-blue-text);
	opacity: 1;
}
.content-home-search .content-autocomplete .input-graphics:-ms-input-placeholder { /* Internet Explorer 10+ */
	color: var(--ic-blue-text);
}
.content-structures .content-autocomplete .input-graphics::-webkit-input-placeholder { /* WebKit browsers (Safari, Google Chrome, Opera 15+) */
	color: var(--ic-green);
}
.content-structures .content-autocomplete  .input-graphics:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color: var(--ic-green);
	opacity: 1;
}
.content-structures .content-autocomplete .input-graphics::-moz-placeholder { /* Mozilla Firefox 19+ */
	color: var(--ic-green);
	opacity: 1;
}
.content-structures .content-autocomplete .input-graphics:-ms-input-placeholder { /* Internet Explorer 10+ */
	color: var(--ic-green);
}

.content-structures .content-select, .content-structures .content-autocomplete{
	padding-left:10px;
	letter-spacing: -1px;
}
.content-structures .content-autocomplete{
	padding-left:0px !important;
}
	.content-select.active, .content-autocomplete.active{
		border-bottom-left-radius:0;
		border-bottom-right-radius:0;
		border-top-left-radius: 30px;
		border-top-right-radius: 30px;
		background-color:var(--ic-violet-light-no-opacity);
	}
		.content-select .selected i{
			position:absolute;
			top:50%;
			right:15px;
			transform:translateY(-40%);
		}
	.content-select .custom-options, .content-autocomplete .custom-options{
		list-style-type: none;
		padding: 15px 0;
		padding-top:0;
		position: absolute;
		top: 100%;
		width: -webkit-fill-available;
		width: -moz-available;
		left: 0;
		max-height:200px;
		overflow: auto;
		border-top:0;
		border-top-right-radius: 0;
		border-top-left-radius: 0;
		border-bottom-left-radius: 30px;
		border-bottom-right-radius: 30px;
		z-index:9;
		background-color:var(--ic-violet-light-no-opacity);
	}
	.content-select .custom-options::-webkit-scrollbar, .content-autocomplete .custom-options::-webkit-scrollbar {
		height: 4px;
		width: 4px;
		background: var(--bs-card-cap-bg);
	}
	.content-select .custom-options::-moz-scrollbar, .content-autocomplete .custom-options::-moz-scrollbar {
		height: 4px;
		width: 4px;
		background: var(--bs-card-cap-bg);
	}
	.content-select .custom-options::-webkit-scrollbar-thumb, .content-autocomplete .custom-options::-webkit-scrollbar-thumb {
		background: var(--ic-green);
	}
	.content-select .custom-options::-moz-scrollbar-thumb, .content-autocomplete .custom-options::-moz-scrollbar-thumb {
		background: var(--ic-green);
	}
		.content-select .custom-options li, .content-autocomplete .custom-options li{
			margin:auto;
			max-width:90%;
			border-top: 1px solid var(--ic-blue-text);
		}
	.content-structures  .content-select.active{
		border-bottom-left-radius:0;
		border-bottom-right-radius:0;
		border-top-left-radius: 24px;
		border-top-right-radius: 24px;
		background-color:var(--bs-white);
	}
	.content-structures .content-autocomplete.active input.input-graphics{
		border-bottom-left-radius:0;
		border-bottom-right-radius:0;
		border-top-left-radius: 24px;
		border-top-right-radius: 24px;
		border-bottom:0;
		background-color:var(--bs-white);
	}
		.content-structures .content-select .custom-options, .content-structures .content-autocomplete .custom-options{
			margin-left: -1px;
			margin-right: -1px;
			border-bottom-left-radius: 24px;
			border-bottom-right-radius: 24px;
			background-color:var(--bs-white);
		}
		.content-structures .content-autocomplete .custom-options{
			margin-left:0px;
			margin-right:0px;
		}
			.content-structures .content-select .custom-options li, .content-structures .content-autocomplete .custom-options li{
				border-top: 1px solid var(--ic-green)
			}
@media(min-width: 374px){
	.content-structures .content-select, .content-structures .content-autocomplete{
		letter-spacing: normal;
	}
}
@media(min-width:465px){
	.booking-modal.modal .modal-body .info-book img, .booking-modal.modal .modal-body .info-book i{
		margin-right: 15px;
	}
}
@media(min-width:1024px){
	.content-structures .input-graphics{
		padding: 10px 30px;
	}
	.content-structures .content-select, .content-structures .content-autocomplete{
		padding-left:20px;
		min-width:203px;
	}
}
/* Stili fascione colorato */
.content-full-band{
	background-color:var(--ic-violet);
}
	.content-full-band h3{
		color:var(--bs-white) !important;
		font-size:3.5rem;
	}
	.content-full-band .btn-home-find{
		font-size:1.8rem;
		font-family: 'Fredoka', sans-serif;
	}
/* Stili generici legati alle modali */
.modal-backdrop.show {
	background: var(--ic-violet);
}
.modal .modal-content{
	border-radius: 25px;
}
	.modal .modal-content .modal-header{
		display:none;
	}
	.modal .modal-content .modal-body .btn-ic-close{
		position: absolute;
		top:15px;
		right:15px;
		background: transparent;
    		border: 0;
	}
		.modal .modal-content .modal-body .btn-ic-close i{
			color:var(--ic-green);
		}
	.modal .modal-content .modal-body h5.description{
		font-size:1.2rem;
	}
	.modal .modal-content .modal-body .modal-ic-icon {
		font-size: 3rem;
		margin-bottom: 15px;
		margin-top: 15px;
	}
	.modal .modal-content .modal-body .description{
		color:var(--ic-green);
	}
	.modal .modal-content .modal-body .stay-tuned-description{
		color:var(--ic-blue-text);
		font-family: 'Fredoka', sans-serif;
		font-size:1.1rem;
	}
	.modal .modal-content .btn{
		font-size: 1rem;
		padding:10px 25px;
	}
	.booking-modal.modal .modal-content{
		padding: 15px;
	}
	.booking-modal.modal .modal-body {
		padding-left: 0;
		padding-right: 0;
	}
		.booking-modal.modal .modal-body .info-book{
			color:var(--ic-green);
			height: 27px;
			text-overflow: ellipsis;
			overflow: hidden;
			white-space: nowrap;
		}
			.booking-modal.modal .modal-body .info-book img, .booking-modal.modal .modal-body .info-book i{
				margin-right: 5px;
			}
		.booking-modal.modal .modal-body .form-control, .booking-modal.modal .modal-body .form-select, .modal form .form-control{
			border-radius: 25px;
			text-align: center;
			border-color:var(--ic-gray);
			color:var(--ic-gray);
		}
		.booking-modal.modal .modal-body label {
			font-size: 0.85rem;
			line-height: 1.1rem;
		}
		input[type='date'], input[type='text'], input[type='password'], input[type='tel'], input[type='email'], input[type='number'], select, .booking-modal.modal .modal-body label{
			text-align: center;
			color:var(--ic-gray);
			width:100%;
		}
		.booking-modal.modal .modal-body .input-newsletter:checked, #reg-user-form .input-newsletter:checked, .static-content form .input-newsletter:checked{
			background-color: var(--ic-green);
			border-color: var(--ic-green);
		}
		.booking-modal.modal .modal-body label.label-newsletter, #reg-user-form label.label-newsletter{
			text-align: left;
			font-size: .75rem;
		}
		.booking-modal.modal .modal-content .btn{
			min-width: 50%;
		}
		.booking-modal.modal #content-recurrent-booking-text span{
			background-color: var(--bs-white);
			padding-left: 10px;
			padding-right: 10px;
			position: absolute;
			top: 3px;
			left: 50%;
			transform: translateX(-50%);
			color:var(--ic-gray);
		}
#login-modal .modal-body h5, #subscription-modal .modal-body h5{
	color:var(--ic-blue-text);
	font-family: 'Fredoka', sans-serif;
}
#recurrent-booking-modal .content-checkbox-days .form-check-inline{
	margin-right:0;
	padding-left: .2rem;
    padding-right: .2rem;
}
	#recurrent-booking-modal .content-checkbox-days .form-check-inline .btn-outline-success{
		padding:5px 5px;
		width:34px;
		height:34px;
		font-size:.85rem;
		line-height:23px;
		border-radius:50%;
		border: 1px solid var(--ic-green);
		color:var(--ic-green);
	}
	#recurrent-booking-modal .content-checkbox-days .form-check-inline .btn-check:checked+.btn-outline-success, #recurrent-booking-modal .content-checkbox-days .form-check-inline .btn-check:checked+.error+.btn-outline-success{
		color:var(--bs-white);
		background-color: var(--ic-green);
	}
/* Stili generici paginazione */
.pagination .page-item a{
	color: var(--ic-blue-text);
}
.pagination .page-item.active .page-link{
	border: 1px solid var(--ic-blue-text);
	background-color: var(--ic-blue-text);
	color:var(--bs-white)
}

/* Stili pagine statiche */
.static-content h1, .static-content h3, .static-content h4{
	font-family: 'Fredoka', sans-serif;
	color:var(--ic-blue-text);
}
.static-content h2{
	font-family: 'Fredoka', sans-serif;
	color:var(--ic-green);
}
.static-content .content-innovation{
	border: 1px solid var(--ic-green);
	border-radius: 25px;
	height:100%;
}
.static-content .border-bottom-1{
	border-bottom: 1px solid var(--ic-blue-text);
}
.static-content .content-icon{
	text-align: center;
}
	.static-content .content-icon i{
		border-radius: 50%;
		border: 1px solid var(--ic-green);
		width: 65px;
		height: 65px;
		padding: 5px;
		color: var(--ic-green);
		display: block;
		margin: auto;
		margin-bottom:.5rem;
		line-height: 55px;
	}
.static-content .content-icon-number i{
	color: var(--ic-green);
	margin-right:1rem;
}
.static-content .content-icon-number h4{
	color: var(--ic-green);
}
.static-content .content-step{
	background-color: var(--ic-violet-light);
    border-radius: 25px;
	height:100%;
}
.static-content form input[type="text"], .static-content form input[type="email"], .static-content form input[type="password"], .static-content form input[type="number"], .static-content form input[type="tel"], .static-content form select, .static-content form textarea{
	border-radius: 25px;
	border: 1px solid var(--ic-blue-text);
	color:var(--black);
	padding: 10px 15px;
	width:100%;
	position:relative;
}
.static-content .alert.text-danger{
	border: 1px solid var(--red);
	border-radius:25px;
}
.static-content .alert.text-success{
	border: 1px solid var(--ic-green);
	border-radius:25px;
}

/* Rimozione badge recaptcha dalle pagine e cookie script */
.grecaptcha-badge, #cookiescript_badge{
	display: none !important;
}

/* Stili Dashboard utente */
#user-index ul{
	list-style-type: none;
}
	#user-index ul li a.active h4{
		color:var(--ic-green);
	}

.content-facebook-login{
	height: 40px;
	border: 1px solid #dadce0;
	border-radius: 25px;
}
#facebook-login{
	height:100%;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor:pointer;
}
	#facebook-login span{
		font-family: "Google Sans",arial,sans-serif;
		font-weight: 500;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size:14px;
		white-space: nowrap;
	}
	#facebook-login i{
		color:#1871ed;
		font-size:1.3rem;
		margin-right:5px;
	}
/* stelle punteggi recensioni */
/*.score-stars {
	height: 36px;
	line-height: 36px;
}

	.score-stars .score-star-empty {
		color: #cccccc;
	}

	.score-stars .score-star-filled {
		color: #e49b0f;
	}

	.score-stars .score-star-half {
		display: inline-block;
		position: relative;
	}

		.score-stars .score-star-half .score-star-filled {
			display: block;
			height: 100%;
			position: absolute; bottom: 0; left: 0;
			width: 100%;
		}*/

/* Stile del container del logo */

/* form */
.ic-form-panel {
	background: var(--ic-violet-light);
	border-radius: 15px;
	overflow: hidden;
}

	.ic-form-panel .ic-form-panel-header {
		background: var(--ic-violet);
		color: #ffffff;
		padding: 15px;
		text-align: center;
	}

	.ic-form-panel .ic-form-panel-body {
		padding: 15px;
	}

	.ic-form-panel .ic-form-panel-footer {
		background: var(--ic-violet);
		color: #ffffff;
		padding: 15px;
		text-align: center;
	}

.ic-form {
	/**/
}

	.ic-form .helper {
		display: block;
		font-size: 0.8rem;
		line-height: 1.1;
		margin-top: 3px;
		text-align: center;
	}

	.ic-form label.error {
		border: 1px solid var(--red);
		color: var(--red);
		display: block;
		font-size: 0.9em;
		background: #ffd5d5;
		padding: 2px 10px;
		border-radius: 5px;
		text-align: center;
		margin-top: 3px;
	}

	.ic-form .form-control.error, .ic-form .form-select.error {
		border: 1px solid var(--red);
		/*box-shadow: 0px 0px 3px 0px var(--red);*/
		box-shadow: none;
	}

.ic-steps {
	/* */
}

	.ic-steps .ic-steps-header {
		position: relative;
		z-index: 0;
		/*
		height: 24px;
		background-image: linear-gradient(to bottom, transparent 49%, rgb(175, 175, 214) 49%, rgb(11, 11, 77) 51%, transparent 51%);
		*/
	}

	.ic-steps .ic-steps-header::before {
		content: "";
		position: absolute;
		/*left: calc(var(--bs-gutter-x) * 0.5);*/
		/*right: calc(var(--bs-gutter-x) * 0.5);*/
		left: 12.5%;
		right: 12.5%;
		height: 1px;
		background-color: var(--ic-violet);;
		top: 50%;
		transform: translateY(-50%);
		z-index: -1;
		font-size: 0;
	}

		.ic-steps .ic-step-label {
			background: #ffffff;
			/*border: 1px solid var(--ic-violet);*/
			border-radius: 12px;
			color: var(--ic-violet);
			display: inline-block;
			font-size: 0.9rem;
			font-weight: 500;
			height: 24px;
			line-height: 24px;
			text-align: center;
			padding: 0 15px;
			min-width: 32px;
		}

		.ic-steps .ic-step-label.active {
			background: var(--ic-violet);
			color: #ffffff;
		}

		.ic-steps .ic-steps-body .ic-step {
			display: none;
		}

		.ic-steps .ic-steps-body .ic-step.active {
			display: block;
		}

/* ED - 27/08/2024 - standardizzazione formattazione testi, una sorta di reset */
.ic-title-project { color: var(--ic-green); font-family: 'Fredoka', sans-serif; font-size: 1.08em; font-weight: 500; }
body .ic-standard-text { /* */ }
body .ic-standard-text h1, body .ic-standard-text .h1 { color: var(--ic-blue-text); font-family: 'Fredoka', sans-serif; line-height: 1; margin-bottom: 0.5rem; }
body .ic-standard-text h2, body .ic-standard-text .h2 { color: var(--ic-blue-text); font-family: 'Fredoka', sans-serif; font-weight: 400; line-height: 1; margin-bottom: 0.5rem; }
body .ic-standard-text h3, body .ic-standard-text .h3 { color: var(--ic-blue-text); font-family: 'Fredoka', sans-serif; font-weight: 500; line-height: 1; margin-bottom: 0.5rem; }
body .ic-standard-text h4, body .ic-standard-text .h4 { color: var(--ic-blue-text); font-family: 'Fredoka', sans-serif; font-weight: 500; line-height: 1; margin-bottom: 0.5rem; }
body .ic-standard-text h5, body .ic-standard-text .h5 { color: var(--ic-blue-text); font-family: 'Fredoka', sans-serif; font-weight: 400; line-height: 1; margin-bottom: 0.5rem; }
body .ic-standard-text h6, body .ic-standard-text .h6 { color: var(--ic-blue-text); font-family: 'Fredoka', sans-serif; font-weight: 400; line-height: 1; margin-bottom: 0.5rem; }
body .ic-standard-text p { color: var(--bs-body-color); font-family:'Inter Tight', sans-serif; font-size: 1rem; line-height: 1.3; }
body .ic-standard-text .ic-content-icons-left {
	background:linear-gradient(150deg, var(--ic-violet) 10%, var(--ic-light-blue) 60%, rgba(112,216,168,1) 90%);
	border-radius:25px;
	opacity: 0;
    transform: translateX(-100%);
    transition: opacity 0.5s, transform 0.5s;
}
body .ic-standard-text .ic-content-icons-right {
	background:linear-gradient(200deg, var(--ic-violet) 10%, var(--ic-light-blue) 60%, rgba(112,216,168,1) 90%);
	border-radius:25px;
	opacity: 0;
    transform: translateX(100%);
    transition: opacity 0.5s, transform 0.5s;
}
body .ic-standard-text .ic-content-icons-right.visible, body .ic-standard-text .ic-content-paragraph.left.visible{ animation: fadeInRight 1s ease-in-out forwards; animation-delay: 0.1s; }
body .ic-standard-text .ic-content-icons-left.visible, body .ic-standard-text .ic-content-paragraph.right.visible{ animation: fadeInLeft 1s ease-in-out forwards; animation-delay: 0.1s; }
body .ic-animation-fade-in.visible{ animation: fadeIn .5s ease-in-out forwards; animation-delay: 0.1s; }
body .ic-standard-text .ic-content-icons-right i, body .ic-standard-text .ic-content-icons-left i { color:var(--bs-white);font-size:4rem; }
body .ic-standard-text .ic-content-paragraph { background-color:#dde2f4; border-radius:25px; margin-top:-30px; }
body .ic-standard-text .ic-content-paragraph.left{ opacity: 0; transform: translateX(-50%); transition: opacity 0.5s, transform 0.5s; }
body .ic-standard-text .ic-content-paragraph.right{ opacity: 0; transform: translateX(50%); transition: opacity 0.5s, transform 0.5s; }
body .ic-animation-fade-in { opacity: 0; transition: opacity 0.5s ease-in-out; }

@media(min-width:768px){
	body .ic-standard-text .ic-content-icons-left { border-top-right-radius:0; border-bottom-right-radius:0; }
	body .ic-standard-text .ic-content-icons-right { border-top-left-radius:0; border-bottom-left-radius:0; }
	body .ic-standard-text .ic-content-paragraph{ margin-top:0; }
	body .ic-standard-text .ic-content-icons-right i, body .ic-standard-text .ic-content-icons-left i { font-size:6rem; }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translateX(100%);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}
@keyframes fadeInLeft {
    0% {
        opacity: 0;
        transform: translateX(-100%);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Prezzi */
.content-structures .card.ic-prices{ box-shadow: 0 0.1rem 1rem rgba(22, 28, 45, 0.15); border-bottom:0; height:100%; border-radius: 25px; }
.content-structures .card.ic-prices.ic-prices-base{ border-top:3px solid var(--ic-price-base); border-left:3px solid var(--ic-price-base) }
.content-structures .card.ic-prices.ic-prices-plus{ border-top:3px solid var(--ic-price-plus); border-left:3px solid var(--ic-price-plus) }
.content-structures .card.ic-prices.ic-prices-pro{ border-top:3px solid var(--ic-price-pro); border-left:3px solid var(--ic-price-pro) }
.content-structures .card.ic-prices.ic-prices-elite{ border-top:3px solid var(--ic-price-elite); border-left:3px solid var(--ic-price-elite) }
.content-structures .card.ic-prices.ic-prices-all-stars{ border-top:3px solid var(--ic-price-all-stars); border-left:3px solid var(--ic-price-all-stars) }
.content-structures .card.ic-prices.ic-prices-promo{ border-top:3px solid var(--ic-violet); border-left:3px solid var(--ic-violet); background-color:var(--ic-violet-light) }
	.content-structures .card.ic-prices.ic-prices-base .card-title{ color:var(--ic-price-base); }
	.content-structures .card.ic-prices.ic-prices-plus .card-title{ color:var(--ic-price-plus); }
	.content-structures .card.ic-prices.ic-prices-pro .card-title{ color:var(--ic-price-pro); }
	.content-structures .card.ic-prices.ic-prices-elite .card-title{ color:var(--ic-price-elite); }
	.content-structures .card.ic-prices.ic-prices-all-stars .card-title{ color:var(--ic-price-all-stars); }
	.content-structures .card.ic-prices.ic-prices-promo .card-title{ color:var(--ic-violet); }
	.content-structures .card.ic-prices .card-subtitle{ color:var(--ic-green); }
	.content-structures .card.ic-prices .card-text{ min-height:60px; }
		.content-structures .card.ic-prices .ic-price{ font-size:1.8rem; color:var(--ic-violet); font-weight:400; font-family: 'Fredoka', sans-serif;transition: ease-in-out .3s; opacity:1; position: absolute; left: 50%; top:50%; transform: translateX(-50%) translateY(-50%); width:95%; }
		.content-structures .card.ic-prices .ic-price.ic-prices-promo{ font-size:1.3rem; white-space: normal; }
		.content-structures .card.ic-prices .ic-price.no-view{ opacity:0; }
			.content-structures .card.ic-prices .ic-price small{ font-size:.7rem; color:var(--gray); display: block; }
.content-structures .ic-content-switch-pricelist{ display: flex; justify-content: center; align-items: center; }
	.content-structures .ic-content-switch-pricelist span { padding: 0 10px; color: var(--ic-blue-text); font-family: 'Fredoka', sans-serif; font-weight: 600; }
.content-structures .ic-content-switch-pricelist .switch { position: relative; display: inline-block; width: 60px; height: 34px; }
	.content-structures .ic-content-switch-pricelist .switch input { opacity: 0; width: 0; height: 0; }
	.content-structures .ic-content-switch-pricelist .switch .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: var(--ic-violet); transition: 0.4s; border-radius: 34px; }
	.content-structures .ic-content-switch-pricelist .switch .slider:before { position: absolute;	content: "";height: 26px;width: 26px;left: 4px;	bottom: 4px;background-color: var(--ic-violet-light-no-opacity);transition: 0.4s;border-radius: 50%; }
	.content-structures .ic-content-switch-pricelist .switch input:checked + .slider { background-color: var(--ic-green); }
	.content-structures .ic-content-switch-pricelist .switch input:checked + .slider:before { transform: translateX(26px); }