/*
	--accent : 		#E30521
	--secondary : 	#FFD8DE
	--text : 		#575651
	--gray : 			#E1E1DF
*/

html {
	overflow-x:hidden;
	font-family:'Karla';
}
body {
	overflow:hidden;
}
body.admin-bar header, body.admin-bar #mobile-menu { top:32px !important; }

cite, blockquote {
	display:inline-block;
	color:var(--accent);
	font-size:clamp(1.5rem, 2.188rem, 4vw);
	text-align:center;
	font-family:'Lato';
	font-style:italic;
	padding:1rem 1rem 0;
	line-height:1.2;
	margin:2rem 0 0;
}

hr {
	display:inline-block;
	border:none;
	height:0.125rem;
	width:10rem;
	background-color:var(--accent);
	margin:1rem 0;
}

a {
	text-decoration:none;
	color:var(--text);
	transition:all 0.3s ease;
}
a:hover { color:var(--accent); }

b, strong { font-weight:700; }

.bg-accent { background-color:var(--accent) !important;	}
.bg-gray { background-color:var(--gray) !important;	}
.bg-secondary { background-color:var(--secondary) !important;	}
.accent { color:var(--accent) !important; }
.gray { color:var(--gray) !important; }
.secondary { color:var(--secondary) !important; }
.text { color:var(--text) !important; }

body {
	color:var(--text);
	line-height:1.6;
}

img {
	width:100%;
	height:auto;
}

h1 {
	font-family:'Lato';
	font-size:clamp(2rem, 5rem, 5vw);
	color:var(--text);
	font-weight:700;
	line-height:1;
}
h2, h3 {
	font-family:'Karla';
	font-size: clamp(1.75rem, 3rem, 4vw);
	line-height:1.2;
	font-weight:700;
	color:var(--accent);
	margin-bottom:2rem;
}
h3 {
	font-size:2.188rem;
	font-size:clamp(1.5rem, 2.188rem, 4vw);
	margin-bottom:1rem;
}
h4 {
	font-size: 1.125rem;
	margin-bottom:1rem;
}
h5 {
	font-weight:700;
	color:var(--accent);
}

.wrapper {
	margin: 0 auto;
	width: min(92vw, var(--wrapper));
	padding: 0 4vw;
	box-sizing: content-box;
}
.inner-wrapper {
	margin: 0 auto;
	width: min(92vw, var(--wrapper));
	padding-inline: 0;
	box-sizing:border-box;
}

.elementor-template-full-width #content {
    padding: 0;
}
.elementor-kit-14 a {
	color: var(--accent);
}

.mb-0 { margin-bottom:0 !important; }
.mb-10 { margin-bottom:10px !important; }
.mb-20 { margin-bottom:20px !important; }
.mb-30 { margin-bottom:30px !important; }
.mb-40 { margin-bottom:40px !important; }

.align-left { text-align:left !important; }

.rounded {
	box-shadow: 0px 0.188rem 2rem #574F503D;
	border-radius:2rem;
	overflow: hidden;
}

/* menu */
header {
	width:100%;
	z-index:9;
	transition:all 0.3s ease;

	border-top:0.75rem solid var(--accent);
	padding-block:1rem;

	#logo {
		background-color:white;
		display:flex;
		justify-content:center;
		align-items:center;
		transition:all 0.3s ease;

		img {
			height: 80px;
			width: auto;
		}
	}

	&.sticky {
		position:fixed;
		top:0;
		left:0;
		background-color:rgba(255,255,255,1);
		box-shadow:0 0 1rem 0 rgba(0,0,0,0.2);
	}

	& > div.wrapper {
		display:flex;
		justify-content:space-between;
		align-items:center;
		background-color:white;
	}

	.menu-main-container {
		display:flex;
		justify-content:end;

		.menu {
			display:flex;
			.menu-item {
				padding:0 1rem;
				position:relative;

				a {
					font-family:'Lato';
					color:var(--text);
					text-transform:uppercase;
					display: inline-flex;
					align-items: center;
					font-weight:700;
					border-bottom:0.188rem solid white;
					transition:all 0.3s ease;
					line-height:1;

					&:hover {
						color:var(--accent);
					}
				}

				&.current_page_item > a,
				&.current-menu-ancestor > a {
					font-weight:700;
					pointer-events:none;
					border-bottom:0.188rem solid var(--accent);
				}

				&:first-child {
					padding-left: 0;
				}
				&:last-child {
					padding-right: 0;
				}

				.sub-menu {
					position: absolute;
			        padding: 1.5rem;
			        background: white;
			        z-index:-1;
			        left: 0rem;
			        opacity:0;
			        transition:all 0.3s ease-out;
			        min-width:15rem;

					li {
						padding-inline:0;
						white-space:nowrap;
						margin-bottom:0.5rem;

						&:last-child {
							margin-bottom:0;
						}
					}
				}
				&:hover .sub-menu {
					display:block;
					box-shadow:0 1rem 1rem 0 rgba(0,0,0,0.2);
					opacity:1;
					z-index:5;
				}
			}

			
		}
		/*
		header.sticky .menu-item a {
			color:var(--text);
		}
	    */
	}
}

/*
header.sticky #logo { height:60px; }
*/

.header-bg {
	height:min(27vw, 32.375rem);
	position:relative;
	top:0;
	width:100%;
	background-color:var(--gray);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;

	.header-bg-cover {
		position:absolute;
		top:0;
		left:0;
		width: 100%;
		height:100%;
		background:url('/wp-content/uploads/2025/05/LILT_maschera-immagini-header.svg') center left no-repeat;
		background-size:cover;
	}

	&.no-bg {
		height:auto;
		padding-block:min(3rem, 4vw);
	}

	&:after {
		content: '';
		position:absolute;
		top:15vw;
		left:0;
		width:100%;
		background-image: url('/wp-content/uploads/2025/05/LILT_diagonale-di-sfondo.svg');
		background-position: center top;
		background-repeat: no-repeat;
		background-size: contain;
		aspect-ratio: 9 / 16;
	}
}


.page-title {
	height: 100%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	z-index:3;
	position:relative;

	h1 {
		display:inline-block;
		width: 100%;
		padding-left:clamp(3rem, 10rem, 12vw);
	}

	span {
		color:var(--accent);
		display:inline-block;
		width: 100%;
		font-weight:700;
		font-size:clamp(0.75rem, 3rem, 4vw);
		align-content:center;
		padding-left:clamp(3rem, 10rem, 12vw);
		line-height:1.2;
	}
}

#header-buttons-container {
	align-items:center;

	#header-buttons {
		display: flex;
		justify-content: end;

		a:first-child,
		a:nth-child(2) {
			margin-right:1rem;
			margin-bottom:1rem;

			span { 
				margin-left: 0.3rem;
			}
		}
	}
}
.page-id-8088 .spazio-lilt {
	display:none;
}


/* mobile menu */
#mobile-menu, #nav-btn { display:none; }

.nav-btn {
	width: 48px;
	height: 48px;
	transform: rotate(0deg);
	cursor: pointer;
	border-radius: 50%;
	cursor:pointer;
}
.nav-btn span {
	display: block;
	position: absolute;
	height: 2px;
	width: 50%;
	border-radius: 1px;
	opacity: 1;
	left: 12px;
	transform: rotate(0deg);
	background:var(--accent);
}
.nav-btn span:nth-child(1) {
	top:14px;
	left:18px;
}
.nav-btn span:nth-child(2) {
	top:23px;
	left:22px;
}
.nav-btn span:nth-child(3) {
	top:32px;
	left:18px;
}
.nav-btn.open span { background:var(--text); }
.nav-btn.open span:nth-child(1) {
	top: 23px;
	left: 12px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
.nav-btn.open span:nth-child(2) {
	opacity: 0;
	background:var(--text);
}
.nav-btn.open span:nth-child(3) {
	top: 23px;
	left: 12px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#mobile-menu {
	padding:4vw;
	position: fixed;
	left:0;
	top:0;
	width:100vw;
	height:100vh;
	/*transition:all .3s ease;*/
	color:var(--text);
	background:white;
	z-index:999999;
	display:none;
	overflow-x: hidden;
	z-index:999;
	padding-bottom:2rem;

	#logo {
		width:12rem;
		display: inline-block;

		img { 
			width:100% !important;
		}
	}

	.nav-btn {
		position:absolute;
		right:0;
		top:1rem;
	}
}
#mobile-menu .menu {
	margin-block:2rem;

	li {
		border-bottom:1px solid #eee;

		a {
			color:var(--text);
			font-size: 1.2rem;
			padding: 0.4rem 0;
			display: inline-block;
			width: 100%;
			text-transform: uppercase;
			font-weight: 600;
			position:relative;
		}

		&.menu-item-has-children > a::after {
			position:absolute;
			z-index: 6;
			right: 0;
			width:1rem;
			top:50%;
			transform:translateY(-50%);
			display: flex;
			justify-content: center;
			align-items: center;
			height:1.5rem;
			transition-property: width;
			transition-duration: 0.3s;
			transition-timing-function: ease-out;
			font-size:1.2rem;
			font-weight: bold;
			content: '\f107';
			font-family: "Font Awesome 5 Free";
			font-style: normal;
			font-variant: normal;
			text-rendering: auto;
			line-height: 1;
			font-size: 1.4rem;
			font-weight: 900;
			color:var(--accent);
		}
		&.menu-item-has-children > a.mobmenuopened::after {
			content: "-";
		}
	}

	.sub-menu {
		display: none;
		padding-left:1rem;
		border-left: 1px solid var(--accent);
	}
}


/* main */
main {
	padding-block:min(4rem, 4vw) !important;
	position:relative;
}
.home main {
	padding-block:0 min(4rem, 4vw) !important;
	position:relative;
}

/* video */
.elementor-widget-video .elementor-wrapper {
	position:relative;
	padding-top:2rem;
	padding-right:2rem;

	.elementor-video {
		border-radius: 2rem;
		position:relative;
		z-index:2;
	}

	&:before {
		content:'';
		position:absolute;
		width:100%;
		height:100%;
		background-color:var(--accent);
		border-radius:2rem;
		z-index:1;
		bottom:0;
		left:0;
	}
}
/**/

.elementor-widget-container {
	ul:not(.elementor-icon-list-items) {
	  	list-style: none;
	  	padding-left: 0;

	  	li {
		  position: relative;
		  padding-left:2rem; /* spazio per l'SVG */
		  margin-bottom:0.5rem;
		}

		::before {
			content: '';
			position: absolute;
			left: 0;
			top: 0.35em;
			width:1.25rem;
			height:1.25rem;
			background-image: url('/wp-content/uploads/2025/05/LILT_pallino-rosso.svg'); /* il tuo SVG inline o da file */
			background-size: contain;
			background-repeat: no-repeat;
			display: inline-block;
		}
	}
}

/* infobox */
.infobox {
	background-color:var(--accent);
	color:white;
	position:relative;
	border-top-left-radius:2rem;
	border-bottom-left-radius:2rem;
	padding:2rem 3rem;
	display:flex;
	align-items:center;
	min-height:18rem;

	#open-infobox {
		color: white;
		position:absolute;
		top:50%;
		transform: translateY(-50%);
		left:0.5rem;
		display:none;
	}
	&.moved #open-infobox {
		transform: translateY(-50%) rotate(180deg);
	}

	.infobox-bg {
		z-index: 1;
		position:absolute;
		top:0;
		right:0;
		height:100%;
	}

	.infobox-content {
		z-index: 2;

		h4 {
			font-family: 'Lato';
			font-weight:700;
			margin-top: 1rem;
			text-transform:uppercase;
		}

		i {
			color:white;
		}

		span {
			font-family: 'Lato';
			display:inline-block;
			font-size: 1.125rem;
			font-weight:700;
  			margin-bottom: 1rem;
		}

		.infobox-info {
			width:min(25rem, 100%);

			a {
				margin-block:1rem;
			}
		}
	}

	.infobox-addresses {
		display:grid;
		grid-template-columns: 1fr 1fr;
		gap:1rem;

		& > div {
			display:flex;
			flex-wrap:nowrap;
			gap:1rem;

			div {
				b {
					margin-bottom: 0.1rem;
          			display: inline-block;
				}
				line-height:1.3;
			}
		}
		img {
			display: inline-block;
			height:3rem;
			width:3rem;
			flex-shrink: 0;
		}
		span {
			width:3rem;
			height: 3rem;
			display: inline-block;
		}
	}

	&:after {
		content:'';
		position:absolute;
		width:50vw;
		left:2rem;
		top:0;
		height:100%;
		z-index:1;
		background:url('/wp-content/uploads/2025/05/LILT_Cuore-riquadro-rosso.svg') no-repeat var(--accent);
		background-size: contain;
		background-position:bottom right;
	}

	&.mode2:after {
		background:url('/wp-content/uploads/2025/05/LILT_Casetta-riquadro-rosso.svg') no-repeat var(--accent);
		background-size: contain;
		background-position:bottom right;
	}

	.infobox-contacts,
	.infobox-info {
		span {
			display:flex;
			flex-wrap:nowrap;
			align-items:center;
			gap:1rem;
		}
		img {
			display: inline-block;
			height:3rem;
			width:3rem;
			flex-shrink: 0;
		}
	}
}

.elementor-column-gap-default>.elementor-column>.elementor-element-populated {
    padding:0;
}
.border-right {
	position:relative;

	&:after {
		content:'';
		position:absolute;
		right:0;
		top:50%;
		transform:translateY(-50%);
		background-image: url('/wp-content/uploads/2025/05/LILT_Elemento-separatore-1.svg');
		background-repeat: no-repeat;
		height:70%;
		width:1.2rem;
	}
}

.map iframe {
	aspect-ratio:4 / 3;
	height:100%;
	width:100%;
	border-radius:2rem;
	box-shadow: 0px 3px 32px #574F503D;
}

.lilt-button {
	padding:0 3rem;
	text-transform:uppercase;
	font-size:1rem;
	font-weight:700;
	border-radius:1.563rem;
	border:0.125rem solid var(--text);
	display:inline-flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	height:2.625rem;
	width:auto;
	cursor:pointer;
	transition:all 0.3s ease;

	i {
		color: var(--text);
	}

	&.lilt-donate {
		span {
			flex-shrink:0;
			white-space: nowrap;
		}
		img {
			display:inline-block;
			width: 2rem;
			height:2rem;
			margin-left:0.5rem;
		}
	}
}
.lilt-button-outline {
	color:var(--accent) !important;
	border-color:var(--accent);

	&:hover {
		background-color:var(--accent);
		color:white !important;

		i {
			color:white;
		}
	}
}
.lilt-button-white {
	background-color: white;
	color:var(--accent) !important;
	border-color:white;

	&:hover {
		background-color:var(--secondary);
		border-color:var(--secondary);
	}
}
.lilt-button-red {
	color:white !important;
	border-color:var(--accent);
	background-color:var(--accent);

	&:hover {
		color:var(--accent) !important;
		background-color:var(--gray);
		border-color:var(--gray);

		i {
			color:var(--accent);
		}
	}
}

.el-button-red .elementor-button {
	color:white;
	background-color: var(--accent);
	border-radius:1.563rem;
	border:0.125rem solid var(--accent);
	height:2.625rem;
	text-transform:uppercase;
	font-size:1rem;
	padding:0 3rem;
	font-weight:700;
	display:inline-flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	transition:all 0.3s ease;

	.elementor-button-text {
		align-content:center;
	}

	.elementor-button-icon svg {
		height: auto;
		width: 2em;
	}

	&:hover {
		background-color:var(--gray);
		border-color:var(--gray);
		color:var(--accent);
	}
}

.elementor-counter .elementor-counter-title {
	text-align: center;
}

/* TIMELINE */
.timeline {
	.timeline-container {
		display: flex;
		align-items: center;
		width: 100%;
		overflow: hidden;
		position: relative;

	  	.timeline-wrapper {
			flex: 1;

			.timeline-track {
				display: flex;
				transition: transform 0.3s ease;
				background-image: url('/wp-content/uploads/nastro.svg');
				background-size:auto 100%;
				background-position:80px 0;
				background-repeat:repeat;
				position:relative;

				&:before {
					position:absolute;
					content:'';
					height:100%;
					width:500px;
					background-color:white;
					left:-500px;
					top:0;
				}

				.timeline-card {
					width:390px;
					height:450px;
				 	box-sizing: border-box;
					display: flex;
					justify-content: center;
					align-items: center;
					flex-direction: column;
					font-size: 2em;

					&.card-1 {
						width:637px !important;
					}

					.timeline-img {
						width:8rem;
						height:8rem;
						background-size:cover;
						background-position:center;
						background-repeat:no-repeat;
						border-radius:50%;
						box-shadow:0px 3px 32px #574F5046;
					}
					.timeline-year {
						color:var(--accent);
						font-size:1.3rem;
						font-weight:bold;
						padding:1rem 0 0.2rem;
					}
					.timeline-txt {
						color:var(--accent);
						font-size:1rem;
						width:50%;
						text-align:center;
						line-height:1.2;
					}

					&:nth-child(even) .timeline-img {
						margin-top:120px;
					}
					&:nth-child(odd) .timeline-txt {
						margin-bottom:120px;
					}
				}
			}
		}

		.timeline-arrow {
			background-color:var(--accent);
			color: white;
			border: none;
			padding: 10px 15px;
			cursor: pointer;
			z-index: 10;
			position: absolute;
			border-radius:50%;
			width:38px;
			height:38px;
			display:flex;
			justify-content:center;
			align-items:center;
			text-align:center;

			&.timeline-arrow-left {
				left:0.5rem;
				top:50%;
				transform:translateY(-50%);
			}
			&.timeline-arrow-right {
				right:0.5rem;
				top:50%;
				transform:translateY(-50%);
			}
		}
	}

	h3 {
		margin-bottom:2rem;
	}
}

.mobile-timeline {
	display:none;

	.mobile-timeline-container {
		padding-inline: 4vw;
		padding-block: 20rem 0;
		background-image: url('/wp-content/uploads/nastro-mobile.svg');
		background-position: center top;
		background-size: 100% auto;
		background-repeat: no-repeat;
		display: flex;
		flex-direction: column;
		align-items: center;
		transform: translateY(-60px);
		
		.mobile-timeline-card {
			text-align: center;
			display: flex;
			justify-content: center;
			align-items: center;
			flex-direction: column;
			gap: 0.5rem;
			color: var(--accent);
			box-shadow: 0px 3px 32px #574F5046;
			border-radius: 1rem;
			margin-bottom: 3rem;
			background: white;
			padding: 2rem 0.7rem;
      		width: 80%;

      		&:last-child {
      			margin-bottom: 0;
      		}

			.timeline-img {
				width:6rem;
				height:6rem;
				background-size:cover;
				background-position:center;
				background-repeat:no-repeat;
				border-radius:50%;
				box-shadow:0px 3px 32px #574F5046;
			}
			.timeline-year {
				color:var(--accent);
				font-size:1.3rem;
				font-weight:bold;
				padding:0.4rem 0 0.1rem;
			}
			.timeline-txt {
				color:var(--accent);
				font-size:1rem;
				width:80%;
				text-align:center;
				line-height:1.2;
			}
		}
	}
}
/* CAROUSEL *
.projects-carousel,
.news-carousel,
.carousel-list {
	position: relative;

	.carousel-container {
		display: flex;
		align-items: center;
		width: 100%;
		overflow: hidden;
		position: relative;

	  	.carousel-wrapper {
			overflow: hidden;
			flex: 1;

			.carousel-track {
				display: flex;
				transition: transform 0.3s ease;
				will-change: transform;
				gap:clamp(1rem, 5rem, 4.17vw);			
			}
		}
	}

	.carousel-arrow {
		font-family: 'Karla';
		font-weight: 700;
		background-color:var(--accent);
		color: white;
		border: none;
		height:2.5rem;
		width:2.5rem;
		font-size:1.33rem;
		display:flex;
		justify-content:center;
		align-items:center;
		cursor: pointer;
		z-index: 10;
		position: absolute;
		border-radius:50%;
		transition:all 0.3s ease;

		&:hover {
			background-color: var(--gray);
			color:var(--accent);
		}

		&.carousel-arrow-left {
			left:-4rem;
			top:50%;
			transform:translateY(-50%);
		}
		&.carousel-arrow-right {
			right:-4rem;
			top:50%;
			transform:translateY(-50%);
		}
	}

	h3 {
		margin-bottom:2rem;
	}
}
*/

.carousel {
	position: relative;

	.carousel-container {
		display: flex;
		align-items: center;
		width: 100%;
		overflow: hidden;
		position: relative;

	  	.carousel-wrapper {
	  		width: 100%;
			overflow: hidden;

			.carousel-track {
				display: flex;
				transition: transform 0.3s ease;
				will-change: transform;
				gap: clamp(1rem, 5rem, 4.17vw);
			}
		}
	}

	.carousel-card {
		flex-shrink: 0;
		aspect-ratio: 1;
		box-sizing: border-box;
		padding: 3rem;
		position: relative;

		.carousel-card-box {
			color: var(--accent);
			font-style:italic;
			display:flex;
			flex-direction:column;
			flex-wrap:nowrap;
			justify-content:center;
			padding:3rem 2rem 1rem;
			width:100%;
			height:100%;
			line-height:1.4;
			background-color:#FCE0E4;
			border-radius:2rem;
			box-shadow:0px 3px 32px #574F5046;

			h4 {
				text-transform:uppercase;
				font-style: normal;
				font-weight: 700;
				margin-bottom: 0;
				text-align:right;
				margin-top:2rem;
			}
		}

		.testimonal-icon {
			position:absolute;
			top:0.2rem;
			left:0.2rem;
			height:8.35rem;
			width:8.35rem;
			background-color:white;
			background-size:75%;
			background-position: center;
			background-repeat: no-repeat;
			box-shadow: 0px 3px 6px #00000029;
			border-radius:50%;
		}
	}

	.carousel-arrow {
		font-family: 'Karla';
		font-weight: 700;
		background-color:var(--accent);
		color: white;
		border: none;
		height:2.5rem;
		width:2.5rem;
		font-size:1.33rem;
		display:flex;
		justify-content:center;
		align-items:center;
		cursor: pointer;
		z-index: 10;
		position: absolute;
		border-radius:50%;
		transition:all 0.3s ease;

		&:hover {
			background-color: var(--gray);
			color:var(--accent);
		}

		&.carousel-arrow-left {
			left:-4rem;
			top:50%;
			transform:translateY(-50%);
		}
		&.carousel-arrow-right {
			right:-4rem;
			top:50%;
			transform:translateY(-50%);
		}
	}
}

.projects-carousel,
.news-carousel,
.carousel-list,
.news-list {
	.carousel-card {
		/*
		width: calc((100% - 8.33vw) / 3);
		height:auto;
		aspect-ratio: 4 / 3;
		border-radius:2rem;
	 	box-sizing: border-box;
		display: flex;
		justify-content: center;
		align-items: end;
		flex-shrink:0;
		background-size: cover;
		background-repeat:no-repeat;
		cursor:pointer;*/
		aspect-ratio: 4 / 3;
		background-size: cover;
		background-repeat:no-repeat;
		cursor: pointer;
		display: flex;
		justify-content: center;
		align-items: end;
		border-radius:2rem;
		height:auto;
		padding:0;
		font-style:normal;

		.carousel-card-box {
			background: linear-gradient(to right, var(--accent) 50%, white 50%);
			background-size: 201% 100%;
			background-position: right center;
			transition: background-position 0.3s ease-out, color 0.3s ease;
			color: var(--accent);
			display:flex;
			flex-direction:column;
			flex-wrap:nowrap;
			justify-content:center;
			padding:1rem 2rem;
			border-radius:1.98rem;
			width:100%;
			min-height:6.875rem;
			margin-bottom:-1px;
			line-height:1.4;
			box-shadow: none;
			height:auto;
			font-style: normal;

			h4 {
				text-transform:uppercase;
				font-weight: 700;
				margin-top: 0;
				margin-bottom: 0;
				text-align:left;
				line-height: 1;
        		margin-bottom: 0.3rem;
			}
			span {
				line-height:1.2;
			}

			small {
				color: var(--text);
				font-weight: bold;
			}
		}

		&:hover .carousel-card-box {
			background-position: left center;
			color: white;

			small {
				color: white;
			}
		}
	}

	h3 {
		margin-bottom:2rem;
	}
}

.carousel-list {
	width:100%;
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:clamp(1rem, 5rem, 5vw);

	.carousel-card {
		width:100% !important;
	}
}

#project-gallery {
	margin-bottom:2rem;
	position: relative;
}
.gallery-carousel {
	.carousel-card {
		aspect-ratio: 4 / 3;
		background-size: cover;
		background-repeat:no-repeat;
		border-radius:2rem;
	}
}

@media (min-width:1920px) {
	.projects-carousel .carousel-card,
	.news-carousel .carousel-card,
	.carousel-list .carousel-card {
		width: calc((100% - 10rem) / 3); 
	}
}
@media (max-width:1200px) {
	.projects-carousel .carousel-card,
	.news-carousel .carousel-card,
	.carousel-list .carousel-card {
		width: calc((100% - 4vw) / 2); 
	}
	.projects-carousel .carousel-track,
	.news-carousel .carousel-track,
	.carousel-list .carousel-track {
		gap:4vw;			
	}

	.carousel-arrow-left {
		left:-1rem !important;
	}
	.carousel-arrow-right {
		right:-1rem !important;
	}
}
@media (max-width:768px) {
	.projects-carousel .carousel-card,
	.news-carousel .carousel-card,
	.carousel-list .carousel-card {
		width:100%; 
	}
	.projects-carousel .carousel-track,
	.news-carousel .carousel-track,
	.carousel-list .carousel-track {
		gap:0;			
	}
}

/* comuni */
.comuni {
	margin-top:1rem;

	.lista-comuni {
		margin-top:1.5rem;
		display:grid;
		grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    	grid-column-gap: 3rem;
    	grid-row-gap: 1rem;
	}
}

/* doctors */
.doctor-list {
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(200px, 300px));
	gap:2rem;

	.single-doctor {
		.doctor-img {
			background-size: cover;
			background-position:center;
			background-repeat:no-repeat;
			aspect-ratio: 4 / 5;
			border-radius:2rem;
			width:100%;
			margin-bottom:1rem;
		}

		h4 {
			color:var(--accent);
			margin-bottom: 0;
			font-weight:700;
			line-height:1.2;
		}
		span {
			color:var(--accent);
		}
	}
}

.lilt-tabs {
	.lilt-tabs-header {
		display:flex;
		justify-content:space-between;
		gap:1rem;

		.lilt-tabs-header-item {
			padding:0.5rem 1rem;
			background-color: white;
			border:1px solid var(--accent);
			color: var(--accent);
			text-transform:uppercase;
			font-weight:700;
			border-radius:2rem;
			text-align:center;
			line-height:1;
			cursor:pointer;
			width:100%;
			align-content:center;
			transition:all 0.3s ease-out;
			min-width:170px;

			&.active-tab {
				background-color:var(--secondary);
				border-color:var(--secondary);
				pointer-events:none;
			}
			&:hover {
				background-color:var(--accent);
				color:white;
			}
		}
	}

	.lilt-tabs-content {
		margin-block:2rem;

		&.open-content {
			display:block !important;
		}
	}
}

/* news */
.blog #content,
.archive #content,
.single-post #content,
.single-progetti #content {
	display:grid;
	grid-template-columns:auto 25rem;
	gap:clamp(2rem, 5rem, 4vw);

	.news-list {
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:clamp(0.7rem, 3rem, 2.5vw);

		article h4, article span {
			line-height:1;
		}
		article h4 {
			margin-bottom:0.3rem;
		}

		.news-nav {
			grid-column-start:1;
			grid-column-end:3;

			.nav-links {
				display:flex;
				justify-content:space-between;
				align-items:center;
				gap:1rem;
				
				a {
					i {
						color:var(--accent);
					}
					color:var(--text);
					transition:all 0.3s ease;

					&:hover {
						color:var(--accent);
					}
				}
			}
		}
	}
}
.single-progetti #content {
  gap: clamp(2rem, 10rem, 10vw);
}

.single-post,
.single-progetti {
	.post-header {
		padding-block:2rem;
	}
	#single-news-content {
		h1, h2 {
			color:var(--accent);

			span {
				color:var(--accent) !important;
			}
		}

		ul {
			margin-block:1rem;
		}

		li:not(.elementor-editor-element-setting) {
			margin-bottom: 0.7rem;
			line-height: 1.6;
			position: relative;
			padding-left: 2rem;

			&::before {
				content: '';
				position: absolute;
				left: 0;
				top: 0.35em;
				width: 1.25rem;
				height: 1.25rem;
				background-image: url('/wp-content/uploads/2025/05/LILT_pallino-rosso.svg');
				background-size: contain;
				background-repeat: no-repeat;
				display: inline-block;
			}
		}
	}
}

#news-sidebar {
	padding-left:clamp(2rem, 5rem, 4vw);
	border-left:3px solid var(--accent);

	& > div {
		margin-bottom:3rem;

		&:last-child {
			margin-bottom:0;
		}

		h3 {
			margin-bottom:1.5rem;
		}
	}

	.widget-container li {
		margin-bottom:0.7rem;
		line-height:1.2;

		a {
			color:var(--text);
			transition:all 0.3s ease;
			font-weight:bold;

			&:hover {
				color:var(--accent);
			}
		}
	}
	.widget_categories li {
		margin-bottom:0.7rem;
		line-height:1.6;
		position: relative;
		padding-left: 2rem;

		&::before {
	      content: '';
	      position: absolute;
	      left: 0;
	      top: 0.35em;
	      width: 1.25rem;
	      height: 1.25rem;
	      background-image: url('/wp-content/uploads/2025/05/LILT_pallino-rosso.svg');
	      background-size: contain;
	      background-repeat: no-repeat;
	      display: inline-block;
	    }

	    &.current-cat a {
	    	color:var(--accent);
	    	font-weight:bold;
	    	pointer-events:none;
	    }
	}
}

.single-progetti #news-sidebar {
	padding-left:0;
	border-left: 0;
}


/* forms */
/************************************
	*
	*** 	FORM STYLES
	*
*************************************/
::placeholder {
	opacity: 1;
	color:var(--text);
}
input:focus {
  outline: none;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    appearance: textfield !important;
}
input, select, textarea, label {
	font-family:'Karla';
}
option {
	font-family:'Verdana';
	font-size:0.8rem;
	cursor:pointer;

	&:first-child {
		display:none;
	}
}
input:not([type="file"], [type="checkbox"], [type="radio"]), select, textarea {
	border:0.125rem solid var(--text);
	border-radius:1.563rem;
	padding:0.7rem 1rem;
	display:inline-block;
	width:100%;
	font-size:1rem;
	color:var(--text);

	&:focus {
		border-color:var(--accent);
	}
}
select {
	cursor:pointer;
	color:var(--text);

	&.valid {
		color:var(--accent);
	}
}
input[type="radio"], 
input[type="checkbox"] {
	cursor: pointer;
	accent-color: var(--accent);
}
input:not([type="radio"], [type="checkbox"]),
textarea {
	caret-color:var(--accent);
}

.req {
	color:red;
	font-weight:700;
}

input.wpcf7-submit {
	cursor:pointer;
	text-transform:uppercase;
	font-weight:700;
	width:auto;
	padding-inline:3rem;
	color:white;
	background-color:var(--accent);
	border-color: var(--accent);
	transition:all 0.3s ease;

	&:not(:disabled):hover {
		background-color:var(--gray);
		border-color: var(--gray);
		color: var(--accent);
	}
}
.wpcf7-form-control-wrap {
	margin-bottom:0.5rem;
	display:inline-block;
	width:100%;
	position:relative;

	&[data-name="lilt-nome"]::after,
	&[data-name="lilt-cognome"]::after,
	&[data-name="lilt-email"]::after,
	&[data-name="lilt-tel"]::after,
	&[data-name="lilt-data"]::after,
	&[data-name="lilt-luogo"]::after,
	&[data-name="lilt-cf"]::after,
	&[data-name="lilt-address"]::after,
	&[data-name="lilt-city"]::after,
	&[data-name="lilt-prov"]::after,
	&[data-name="lilt-cap"]::after,
	&[data-name="lilt-country"]::after {
		position:absolute;
		content: '*';
		font-weight:700;
		font-size:0.8rem;
		color: red;
		right:1rem;
		top:50%;
		transform:translateY(-41%);
	}
	&.filled::after {
		display:none !important;
	}
}
.wpcf7-list-item {
	margin:0;
}
.wpcf7-list-item-label {
	cursor:pointer;
}

.form-submit {
	text-align:center;

	.submit-button {
		display:inline-block;
		width:auto;

		input {
			transition:all 0.3s ease-out;
		}

		&:hover {
			&::after {
				color:#fff;
			}

			input {
				background-color:var(--main);
				color:white;
			}
		}

		.wpcf7-spinner {
			background-color:var(--accent);
			opacity:1;
			position:absolute;
			top:50%;
			transform:translateY(-50%);
			right:-5rem;
		}
	}
}

.wpcf7-not-valid-tip {
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	font-size:0.8rem;
	right:2rem;
}

.wpcf7-acceptance .wpcf7-list-item {
	margin:0;
	line-height:1.3;

	label {
		display:flex;
		flex-wrap:nowrap;
		gap:0.5rem;
		align-items:start;
		align-content:start;

		input {
			flex-shrink: 1;
			margin: 0;
			margin-top:0.25rem;
		}
	}
}

.comm {
	font-size:0.9rem;
	line-height: 1.3;

	.wpcf7-form-control-wrap {
		margin-top:0.4rem;
		input {
			margin:0;
		}

		.last {
			margin-left:1rem;
		}
	}
}

#donatempo {
	.dati {
		display:grid;
		grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
		grid-column-gap:1.5rem;
		grid-row-gap:1rem;
	}

	h4 {
		color: var(--accent);
		font-weight:700;
		margin-block:1rem;
	}

	.info .wpcf7-checkbox {
		display:grid;
		grid-template-columns:1fr;
	}
	.wpcf7-radio > span {
		margin-right:1rem;
	}

	#altro {
		display:none;
	}
}

#lasciti {
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
	grid-column-gap:1.5rem;
	grid-row-gap:1rem;
	padding-bottom:1rem;
}

#socio, #bomboniere, #luisa {
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(342px, 1fr));
	grid-column-gap:1.5rem;
	grid-row-gap:1rem;
	padding-bottom:1rem;

	> p {
		grid-column-start: 1;
		grid-column-end:3;
		margin-bottom: 0;
	}

	> span {
		line-height:1.2;
	}

	.wpcf7-select {
		background-color:white;
	}

	textarea {
		height:80px;
		margin-bottom: 0;
	}
}


/* footer */
#section-newsletter {
	padding-block:clamp(2rem, 8rem, 8vw);
	background:url('/wp-content/uploads/2025/05/LILT_Elemento-grafico-NEWSLETTER.svg') center left no-repeat;
	background-size: cover;
	position:relative;
}
#newsletterform {
	font-size: 1.125rem;
	text-align:center;
	color:var(--accent);

	h4 {
		font-weight:700;
		margin-bottom:0.5rem;
	}
	p {
		margin-bottom:3rem;
	}
	a {
		text-decoration:underline;
		color:var(--accent);

		&:hover {
			color:var(--text);
		}
	}

	& > div {
		display:grid;
		grid-template-columns:repeat(3, 1fr);
		gap:1rem;
	}
}
#memoryform {
	font-size: 1.125rem;
	text-align:center;

	h3 {
		color: var(--text);
		margin-bottom:0.5rem;
	}
	p {
		margin-bottom:3rem;
	}
	a {
		text-decoration:underline;

		&:hover {
			color:var(--accent);
		}
	}

	& > div {
		display:grid;
		grid-template-columns:repeat(3, 1fr);
		gap:1rem;
	}
}
.cinquepermille {
	text-align:center;

	h4 {
		color: var(--accent);
		margin-top: 1rem;
		font-weight:700;
	}
	input {
		width:min(15rem, 100%);
	}

	.resultbox {
		display:flex;
		margin:0 auto;
		width:min(25rem, 100%);
		justify-content:space-between;
		gap:2rem;
		align-items:center;
		align-content:center;
		flex-wrap:nowrap;
		color:var(--accent);
		padding-block:2rem 0;
		border-bottom:0.125rem solid var(--accent);
		
		p {
			margin:0;
		}

		#result {
			flex-shrink: 0;
			font-size: 2.625rem;
			font-weight:700;
		}
	}
}

#privacy-container {
	padding-block:4rem;
}

footer {
	position: relative;
	z-index:3;
	background-color:var(--accent);
	color:white;
	padding-block:clamp(2rem, 6rem, 9vw);

	a, h3 {
		color:white !important;
	}
	a:hover {
		text-decoration:underline;
	}
	
	h3 {
		text-transform:uppercase;
		line-height:1.2;
		font-size:1rem;
		margin-bottom:1rem;
		font-family:'Lato';
	}

	.footer-content {
		display:grid;
		grid-template-columns:repeat(auto-fit, minmax(300px,1fr));

		& > div:not(:first-child) {
			padding-inline:1rem;
			border-left:0.3rem solid white;
		}

		p {
			margin-bottom: 0;
		}

		img {
			width:min(90%, 15rem);
			display:block;
			margin-bottom:1.2rem;
		}
	}

	#copyright {
		border-top:0.06rem solid white;
		margin-top:4rem;
		display:flex;
		justify-content:space-between;
		gap:1rem;
		gap: 0;
    	flex-wrap: wrap;
	}
}

#socials {
	margin-top:1rem;

	a {
		margin-right:1rem;
		font-size:1.5rem;

		i {
			transition:all 0.3s ease;
			&:hover {
				transform:scale(1.2);
			}
		}		
	}
}

/* donations */

.single-give_forms .root-data-givewp-embed {
	padding-block:4rem !important;
}


/* cookieyes banner */
.cky-consent-bar button,
.cky-modal .cky-prefrence-btn-wrapper button {
    border-radius:0;
    padding:5px 15px;
    font-size:14px;
    border-color:var(--text) !important;
    background-color: #fff !important;
    color:var(--text) !important;
    transition:all 0.3s ease;
}

.cky-consent-bar button.cky-btn-accept,
.cky-modal .cky-prefrence-btn-wrapper button.cky-btn-accept {
    background-color:var(--text) !important;
    color:#fff !important;
}

.cky-consent-bar button:hover,
.cky-modal .cky-prefrence-btn-wrapper button:hover {
    background-color:var(--accent) !important;
    color:white !important;
    border-color:var(--accent) !important;
}

button.cky-show-desc-btn:not(:hover):not(:active) {
    color:white !important;
}
.cky-revisit-bottom-right,
.cky-revisit-bottom-left {
    background-color:var(--accent) !important;
}
.cky-switch input[type="checkbox"]:checked {
    background:var(--accent) !important;
}
.cky-accordion-header .cky-accordion-btn {
    border-radius:0 !important;
}

.cky-modal div[data-cky-tag="detail-powered-by"] {
    display: none !important;
}
/* size */
.cky-btn-revisit-wrapper {
    width:32px !important;
    height:32px !important;
    .cky-btn-revisit img {
        height:26px !important;
        width:26px !important;
    }
}
/**/

@media screen and (max-width:1400px) {
	header .menu-item {
	    padding: 0 1rem !important;
	}

	.lilt-tabs {
		.lilt-tabs-header {
			display:inline-block;

			.lilt-tabs-header-item {
				display:inline-block;
				width:auto;
				height:40px;
				margin-right:1rem;
				margin-bottom:1rem;
			}
		}
	}
}

@media screen and (max-width:1305px) {
	footer {
  		.footer-content > div {
  			padding-bottom: 2rem;

  			&:nth-child(3), &:last-child {
  				padding-bottom:0;
  			}
  		}
  	}
}

@media screen and (max-width:1280px) {
	.carousel-list {
		grid-template-columns:1fr 1fr;
	}

	.blog #content,
	.archive #content,
	.single-post #content,
	.single-progetti #content {
		.news-list {
			grid-template-columns:1fr ;

			.news-nav {
				grid-column-start:1;
				grid-column-end:2;
			}
		}
	}
}

@media screen and (max-width:1200px) {
	header .menu-main-container {
		display:none;
	}

	#header-buttons-container {
		display:flex;

		.lilt-button {
	  		padding: 0 2rem;
		}
		#header-buttons {
		  & a:first-child,
		  & a:nth-child(2) {
		    margin-bottom:0;
		  }
		}
	}

	#menu { display:none; }
	#nav-btn { display:inline-block; }
}

@media screen and (max-width:1024px) {
	header.sticky { min-height: 60px; }

	
	header.sticky .nav-btn {
		top: 50%;
		transform: translateY(-50%);
	}
	header.sticky #nav-btn span { background:var(--text); }

	header .spazio-lilt {
		display:none;
	}

	.infobox {
		position: fixed;
		right: -18rem;
		width: 20rem;
		z-index: 99;
		top: 50%;
		transform: translateY(-50%);
		transition:all 0.3s ease-out;
		touch-action: manipulation; 

		&.moved {
			right:0;
		}
	}
	#open-infobox {
		display:inline-block !important;
	}
}

@media screen and (max-width:900px) {
	#newsletterform, #memoryform {
		width: min(25rem, 100%);
		margin: 0 auto;

		& > div {
			grid-template-columns:1fr;
		}

		.wpcf7-acceptance a {
			display:inline-block;
		}
	}

	.blog #content,
	.archive #content,
	.single-post #content,
	.single-progetti #content {
		grid-template-columns:1fr;

		.news-list {
			padding-top: 2rem;
			grid-template-columns:1fr 1fr;

			.news-nav {
				grid-column-start:1;
				grid-column-end:3;
			}
		}
	}
	#news-sidebar {
		margin-top:2rem;
	}
}

@media screen and (max-width:768px) {
	.carousel-list {
		grid-template-columns:1fr;
		gap: 4vw;
	}

	#header-buttons-container {
		#header-buttons {
			flex-direction:column;
			gap:0.125rem;

			.lilt-button {
	  			padding: 0 1rem;
	  			margin-right: 0 !important;
			}
		}
	}

	.blog #content,
	.archive #content,
	.single-post #content,
	.single-progetti #content {
		.news-list {
			grid-template-columns:1fr;

			.news-nav {
				grid-column-start:1;
				grid-column-end:2;
			}
		}
	}

	.border-right::after {
		display:none;
	}

	#socio > p,
	#bomboniere > p,
	#luisa > p {
		grid-column-start: 1;
		grid-column-end:2;
	}
}

@media screen and (max-width:652px) {
	footer {
  		.footer-content > div {
  			padding-bottom: 2rem;

  			&:nth-child(3) {
  				padding-bottom:2rem;
  			}
  		}
  	}
}

@media screen and (max-width:600px) {
	#header-buttons-container #header-buttons .lilt-button:first-child span {
	  	display: none;
	}

	#mobile-menu p .lilt-button {
		width:100%;
	}

	.timeline {
		display:none;
	}
	.mobile-timeline {
		display:block;
	}

	.elementor-widget-video .elementor-wrapper {
		padding-top: 0.3rem;
		padding-right: 0.3rem;
	}

	footer {
  		.footer-content {
    		img {
			margin-top:0;
			}
		}
	}
}

@media screen and (max-width:450px) {
	#header-buttons {
		display: none !important;
	}

	#news-sidebar {
		padding-left:1rem;
	}

	.lilt-tabs {
		.lilt-tabs-header {
			display:inline-block;

			.lilt-tabs-header-item {
				width:100%;
				margin-right:0;
				margin-bottom:0.2rem;
			}
		}
	}

	.infobox {
		right:-91vw;
		width:96vw;
		box-shadow: 0px 3px 32px #574F503D;

  		& #open-infobox {
  			left:0rem;
  		}

  		&::after {
		    width: 90vw;
		}

		& .infobox-addresses {
		    display: grid;
		    grid-template-columns: 1fr;
		    gap: 1rem;
		  }
	}
}

.grecaptcha-badge { display:none !important; }
