@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:ital,wght@0,100..900;1,100..900&display=swap');

/*
Theme Name: CER Priula
Description: CER Priula theme 2026
Version: 1.0
License: GNU General Public License v2 or later
*/

/*  FONTS e COLORI */
:root {
	
	--darkgreen: #006653;
	--lightgreen: #e1eee9;
	--green: #00AA75;
	--white: #fff;
	--black: #151515;
	
	--albertfont: "Albert Sans", sans-serif;
}

/* GENERAL */
html,body {  
	margin:0;
	padding:0;
	background-color:var(--white);
	color:var(--black);
	font-family: var(--albertfont);
	font-weight: 400;
	font-size: 16px !important;
	line-height: 1.2;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing:antialiased;
	-moz-font-smoothing:antialiased;
	-o-font-smoothing:antialiased;
}

@media (min-width: 1400px){ 
	html,body {
		font-size: 18px !important;
	}
}

.container-left{
	padding-left: 2vw;	
	padding-right: 2vw;
}

@media(min-width: 1400px){
	.container-fluid{
		padding-left: 10vw;
		padding-right: 10vw;
	}
	.container-left{
		padding-left: 10vw;	
		padding-right: 0;
	}
	.container-right{
		padding-right: 10vw;	
		padding-left: 0;
	}	
}

@media (min-width: 992px){ 
	.container-fluid{
		padding-left: 5vw;
		padding-right: 5vw;
	}
	.container-left{
		padding-left: 5vw;	
		padding-right: 0;
	}
	.container-right{
		padding-right: 5vw;	
		padding-left: 0;
	}
}


img,a img {
	border:none!important;
}

::-moz-selection {
	background:none repeat scroll 0 0 #FFF;
	color:var(--black);
}

/* * {
	outline:0!important;
} */

*:focus {
	outline: none;
}

*:focus-visible {
	outline: 3px solid rgba(0, 102, 83, 0.55);
	outline-offset: 3px;
}

b,strong,.bold { 
	font-weight:600;
}

a,a:visited { 
	outline-style:none;
	text-decoration:none;
	color:var(--black);
}

a:hover {  
	cursor:pointer !important;
	color:var(--black);
	text-decoration:underline;
}


/* TYPO */


h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{ 
	font-family: var(--albertfont);
	font-weight: 400;
	color:var(--darkgreen);
	margin: 0;
	padding: 0;
}

h1,.h1{
	font-family: var(--albertfont);
	font-size: clamp(2rem, 6vw, 4rem);
	font-weight:500;
	line-height: 1;
}

#page-home h1{
	line-height: 0.65;
}

.documentazione_page h1{
	font-size: clamp(1.5rem, 4vw, 3rem);
}

h2,.h2{
	font-family: var(--albertfont);
	font-size: clamp(1.6rem, 4.5vw, 3.1rem);
	font-weight: 500;
	line-height: 1.1;
}

h2 strong{
	position: relative;
	background-color: var(--darkgreen);
	color: var(--white);
	border-radius:5px;
	padding-left: 4px;
	padding-right:4px;
}

.intro_text strong{
	position: relative;
	background-color: var(--lightgreen);
	
	border-radius:5px;
	padding-left: 4px;
	padding-right:4px;
}

.green-background h2 strong{
	position: relative;
	background-color: var(--lightgreen);
	color: var(--darkgreen);
	border-radius:5px;
	padding-left: 4px;
	padding-right:4px;
}

/* effetto ombra */
h2.h3 strong{
	position: relative;
	background-color: #e1eee9;
	color: var(--black);
	border-radius:5px;
	padding-left: 4px;
	padding-right:4px;
}


h3,.h3{
	font-family: var(--albertfont);
	font-size: clamp(1.7rem, 3vw, 2.1rem);
	font-weight: 400;
	/* line-height: 1; */
}


h1 .h3{
	line-height: 1.1;
	padding-top: 15px;
}

@media(min-width: 991.99px){
	h1 .h3{
		line-height: 1;
		padding-top: 20px;
	}
}



h4,.h4{
	font-family: var(--albertfont);
	font-size: clamp(1.4rem, 2.3vw, 1.87rem);
	font-weight: 400;
}

p{
	font-size: 1rem;
	margin: 0;
	padding: 0;
	line-height: 1.3;
}

.big{
	font-size: 1.15rem;   
}

.superbig{
	font-size:5rem;   
	line-height: 1;
	font-weight: 400;
}

@media(max-width:991px){
	.superbig{
		font-size:2.5rem;   
	}
}
.small{
	font-size: 0.9rem;	 
}

.margin_top{
	margin-top: 70px;
}

@media(max-width:768px){
	.margin_top{
		margin-top: 30px;
	}
}

.light{
	font-weight: 300;
}

.intro_title{
	letter-spacing: 7%;
}

/* ANIMAZIONE TESTI */

.animated-text {
	overflow: hidden;
	display: block;
}

.animated-text span {
	display: inline-block;
	transform: translateY(100%);
	opacity: 0;
	transition: transform 1.5s cubic-bezier(0.08,0.82,0.17,1), opacity 1s cubic-bezier(0.08,0.82,0.17,1);
}

.animated-text.visible span {
	transform: translateY(0);
	opacity: 1;
}

/* LOADER */
#loader {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.8);
	z-index: 9999; 
	display: flex;
	justify-content: center;
	align-items: center;
}

.loader-inner {
	border: 8px solid #fff; /* Colore di sfondo del loader */
	border-top: 8px solid #000; /* Colore del loader */
	border-radius: 50%;
	width: 50px;
	height: 50px;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* HEADER */

#header {
	height: 100px;
	width: 100%;
	position: relative;
	z-index: 10;
}

#header #navbarNav{
	display: flex;
	justify-content: end;
}

@media(max-width:991px){
	#header #navbarNav{
		position: absolute;
		top: -70vh;
		left: 0;
		z-index: 10;
		width: 100%;
		height: 70vh;
		text-align:center;
		justify-content: center;
		background-color: var(--lightgreen);
		border-radius: 0 0 12px 12px;
		box-shadow: 0 2px 10px rgba(0,0,0,0.3);
		opacity: 0;
		visibility: hidden;
		transition: 0.3s;
		min-height: 600px;
	}
	
	#header #navbarNav.show{
		opacity: 1;
		visibility: visible;
		top: 0;
		transition: 0.3s;
	}
	
	#header #navbarNav a{
		color: var(--darkgreen) !important;
		
	}
	
	#header #navbarNav li{
		padding-top: 10px;
		padding-bottom: 10px;
		
	}
	
	#header #navbarNav .button_green{
		background-color: var(--darkgreen);
		color: var(--white) !important;
		border-color: var(--darkgreen);;
	}
}

#header #navbarNav a{
	color: var(--darkgreen);
	text-transform: uppercase;
	font-weight: 500;
	font-size:1rem;
}

@media(max-width:991px){
	
	#header #navbarNav a{
		font-size:1.05rem;
	}
}

#header .navbar-brand, #header .navbar-toggler{
	position: relative;
	z-index: 100;
}
#header .navbar-brand img{
	width: 125px;
	height: auto;
}

#header .main-menu{
	gap: 2rem;
	list-style:none;
	margin:0;
	padding:0;
	flex-wrap:wrap;
}



#header .menu-link{
	position: relative;
}
#header .menu-link:hover{
	text-decoration: none;
}
#header .menu-link.active::after{
	content: "";
	width: 100%;
	position: absolute;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: var(--darkgreen);
}

.navbar-toggler{
	border: 1px solid transparent;
}

#header .navbar-toggler:focus{
	box-shadow: none;
}

#header .navbar-toggler:focus-visible{
	box-shadow: 0 0 0 3px rgba(0, 102, 83, 0.22);
	
}

.navbar-toggler span{
	width: 25px;
	height: 25px;
}

.overflowhidden {
	width: 100%;
	overflow-x: clip;
	overflow-y: visible;
}

@media(min-width:991px) and (max-width: 1200px){
	#header .main-menu{
		gap: 1rem;
		
	}
	
	#header #navbarNav a{
		font-size: 0.9rem;
	}
}

@supports not (overflow-x: clip) {
	.overflowhidden {
		overflow-x: hidden;
		overflow-y: visible;
	}
}

hr{
	border-bottom: 0.5px solid var(--darkgreen);
	border-top-color: transparent;
}
/* FOOTER */

#footer p, #footer a{
	color: var(--white);
}

#footer p, #footer a{
	line-height: 1.5;
}

#footer .copyright p, #footer .copyright a{
	color: var(--black);
}

#footer hr{
	border-bottom: 0.5px solid var(--white);
	border-top-color: transparent;
}

#footer .underline::after, .informazioni_cer .underline::after{
	bottom: -2px;
	background-color: rgba(255,255,255,0.8);
}

#footer a, .informazioni_cer a {
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-size: 0 1px;
	background-position: 0 100%;
	transition: background-size 0.25s ease;
	line-height:1.35;
}

#footer a:hover,
#footer a:focus-visible, .informazioni_cer a:hover, .informazioni_cer a:focus-visible {
	background-size: 100% 1px;
}

#footer .container-fluid{
	z-index: 5;
	position: relative;
}
/* PAGINE */

#hero_section .hero_section_content{
	height: calc(100vh - 110px);
	width: 100%;
	display: flex;
	align-items: end;
	overflow: hidden;
}

@media(max-width:991px){
	#hero_section .hero_section_content{
		height: 65vh;
		
	}
}

.hero_section_content .image-absolute{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	border-radius: 10px;
}

.hero_section_content .image-absolute img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* #hero_section .overlay, #attivita_territorio .overlay{
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(17, 17, 17, 4.85);
	background: linear-gradient(0deg, rgba(17, 17, 17, 0.55) 0%, rgba(17, 17, 17, 0.30) 50%, rgba(17, 17, 17, 0.30) 100%);
	width: 100%;
	height: 100%;
	border-radius: 0;
} */

#hero_section .overlay,
#attivita_territorio .overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		0deg,
		rgba(17, 17, 17, 0.72) 0%,
		rgba(17, 17, 17, 0.50) 75%,
		rgba(17, 17, 17, 0.42) 100%
	);
	width: 100%;
	height: 100%;
	border-radius: 0;
	pointer-events: none;
}

.overlay{
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.1);
	width: 100%;
	height: 100%;
	border-radius: 10px;
}

.z-index{
	position: relative;
	z-index: 3;
}

.white{
	color: var(--white);
}

.green{
	color: var(--darkgreen) !important;
}
.white-background{
	background-color: var(--white);
}

.green-background{
	background-color: var(--darkgreen);
}

.black{
	color: var(--black);
}

.lightgreen-background{
	background-color: var(--lightgreen);
}

.uppercase{
	text-transform: uppercase;
}

.underline{
	position: relative;
	display: inline;
}

.no-underline:hover{
	text-decoration: none !important;
	background-image: none !important;
}
.underline:hover{
	text-decoration: none;
}

.underline::after{
	content: "";
	bottom: 0;
	left: 0;
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: var(--black);
}



.button_green{
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 400 !important;
	padding: 12px 25px 12px 30px;
	border-radius: 30px;
	background-color: var(--darkgreen);
	color: var(--white) !important;
	text-transform: uppercase;
	font-size:1rem;
	
}

button.button_green{
	border: none;
}

input[type="submit"]{
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 400 !important;
	padding: 12px 25px 12px 30px;
	border-radius: 30px;
	background-color: var(--darkgreen);
	color: var(--white) !important;
	text-transform: uppercase;
	font-size:1rem;
	width: 300px;
	margin-top: 30px;
}

input[type="submit"]:focus-visible{
  outline: none;
  color: var(--darkgreen) !important;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, .35); /* verde glow */
}

.button_lightgreen{
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 400 !important;
	padding: 12px 25px 12px 30px;
	border-radius: 30px;
	background-color: var(--lightgreen);
	color: var(--black) !important;
	font-size:1rem;
	text-transform: uppercase;
}



.button_lightgreen.is-open{
	background-color: var(--darkgreen);
	color: var(--white) !important;
}

.button_white{
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 400 !important;
	padding:12px 25px 12px 30px;
	border-radius: 30px;
	font-size:1rem;
	background-color: var(--white);
	color: var(--darkgreen) !important;
	text-transform: uppercase;
}

.button_white_b{
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 400 !important;
	padding:12px 25px 12px 30px;
	border-radius: 30px;
	font-size:1rem;
	background-color: var(--white);
	color: var(--black) !important;
	text-transform: uppercase;
}

.link_empty{
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 400 !important;
	padding: 12px 25px 12px 30px;
	border: 1px solid var(--white);
	border-radius: 30px;
	background-color: transparent;
	color: var(--white) !important;
	text-transform: uppercase;
}

@media(max-width:768px){
	.faq-topic-list .link_empty, .news-categories .link_empty_green, .news-categories .link_empty{
		width: 100%;
	}	
}

.news-card-link:hover {
	text-decoration: none !important;
}

@media(min-width:991.99px){
	.news-card-title{
		height:220px;
	}
}


.link_empty_green{
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	font-weight: 400 !important;
	padding: 12px 25px 12px 30px;
	border: 1px solid var(--darkgreen);
	border-radius: 30px;
	background-color: transparent;
	color: var(--darkgreen) !important;
	text-transform: uppercase;
}

.link_empty:hover{
	background-color: var(--white);
	color: var(--darkgreen) !important;
	text-decoration: none;
}

.button_green:hover, .button_white:hover, .button_white_b:hover{
	text-decoration: none;
}

.link_empty_green:hover{
	text-decoration: none;
	background-color: var(--darkgreen);
	color: var(--white) !important;
}

.button_green i, .button_white i, .link_empty i, .link_empty_green i, .button_white_b i{
	font-size:12px;
	position: relative;
	left: 0;
	transition: left 0.3s ease;
}




.button_green:hover i, .button_white:hover i, .link_empty:hover i, .link_empty_green:hover i, .button_white_b i{
	left: 5px;
	transition: 0.3s;
}

.data_button{
	color: var(--darkgreen);
	border-radius: 20px;
	background-color: var(--lightgreen);
	display: inline-flex;
	align-items: center;
	padding: 7px 15px;
}

.elenco_eventi .data_button{
	color: var(--lightgreen);
	background-color: var(--darkgreen);
}


@media(max-width: 991px){
	.prossimi-eventi .white-background{
		background-color: var(--darkgreen);
	}
	
	.prossimi-eventi .white-background h4{
		color: var(--white);
	}
	.prossimi-eventi .white-background .button_green, .prossimi-eventi .white-background .link_empty_green{
		background-color: var(--lightgreen);
		color: var(--darkgreen) !important;
	}
	
}


.news-categories .link_empty_green.active {
	background-color: var(--darkgreen);
	color: var(--white) !important;
}

.news-categories .link_empty_green.active i {
	color: #ffffff;
}




.pb4{
	padding-bottom:4px;
}

.mb5{
	margin-bottom:5px;
}

#banner_sfondo{
	padding-left:10px;
	padding-right:10px;
}

#banner_sfondo .banner_immagine {
	background-repeat: no-repeat; 
	background-position: bottom center; 
	background-size: cover; 
	height:600px;
	border-radius: 10px;
}

@media(max-width:991px){
	#banner_sfondo .banner_immagine {
		height:350px;
	}
}
.img_dots{
	position: absolute;
	right: 5%;
	top: -5%;
	z-index: 0;
	width: 30%;
	z-index: 0;
}

.img_dots_top{
	position: absolute;
	right: -5%;
	bottom: -17%;
	z-index: 0;
	width: 30%;
	z-index: 0;
}

@media(max-width:991px){
	.img_dots{
		right: -5%;
		width: 45%;
		top: 40%;
	}
	
	.img_dots_top{
		position: absolute;
		right: -5%;
		bottom: 10%;
		z-index: 0;
		width: 65%
	}
}

.img_dots_six{
	position: absolute;
	left: 5%;
	bottom: 0;
	z-index: 0;
	width: 80%;
}

.border-radius{
	border-radius: 10px;
	overflow: hidden;
}

.border-radius-min{
	border-radius: 8px;
	overflow: hidden;
}

#attivita_territorio{
	background-repeat: no-repeat;
	background-size: cover;
}

.box_shadow{
	background: rgba(255, 255, 255, 0.1);
	border-radius: 10px;
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	border: 1px solid rgba(255, 255, 255, 0.38);
}

.banner_attivita{
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.h-100{
	height: 100%;
}

.icon-size{
	width: 100%;
	height: 100%;
	max-width:100px;
}

.icon_profilo{
	width: auto;
	height: 90px;
	max-width:180px;
}

@media(max-width:991px){
	.icon-size{
		max-width:90px;
	}
}

.banner_white{
	background-color: var(--white);
	padding:7px 20px;
	border-radius: 30px;
	display: inline-flex;
	color:var(--darkgreen);
}

.immagine_benefici{
	width: 100%;
	position: relative;
	bottom:0;
	left: 0;
}

.immagine_benefici .benefici_content{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

@media(min-width: 1200px){
	#benefici_reali {
		/* min-height: 850px; */
	}
}

.single_news{
	background-color: var(--white);
	
	box-shadow: 3px 5px 11px 0px rgb(0 0 0 / 5%)
}

/* accordion */

.accordion {
  background-color: var(--white);
  color: var(--black);
  cursor: pointer;
  padding: 20px 30px;
  width: 100%;
  text-align: left;
  border: 1px solid transparent;
  outline: none;
  border-radius: 40px;
  transition: 0.4s;
  margin-top: 13px;
}

#page-adesione .accordion{
	padding:0;
	border-radius: 0;
	border-bottom: 0.5px solid var(--darkgreen);
}

#page-adesione .accordion-button{
	padding: 5px 0;
}

.accordion-button::after{
	display: none;
}

#page-adesione .accordion-body{
	padding: 10px 0;
}

#page-eventi .border-bottom{
	border-bottom: 0.5px solid var(--darkgreen) !important;
}
/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
.active, .accordion:focus-visible {
	border-color: var(--darkgreen);
}

/* Style the accordion panel. Note: hidden by default */
.panel {
	padding: 0 30px;
	margin-top: 6px;
	background-color: white;
	overflow: hidden;
	border-radius: 30px;

	max-height: 0;
	opacity: 0;
	transform: translateY(-4px);

	transition:
		max-height 0.45s ease,
		opacity 0.3s ease,
		transform 0.3s ease,
		padding-top 0.3s ease,
		padding-bottom 0.3s ease;
}

.panel.is-open {
	padding-top: 20px;
	padding-bottom: 20px;

	max-height: 800px;
	opacity: 1;
	transform: translateY(0);
}

@media(min-width:991px){
	.panel p{
		width: 70%;
	}
}

@media(max-width:991px){
	.elenco_faq .button_lightgreen{
		padding: 12px 12px 12px 12px;
		margin-left: 10px;
	}
	
	.accordion, .panel {
		padding: 23px;
	}
}

.rank-math-breadcrumb, .rank-math-breadcrumb p, .rank-math-breadcrumb a {
	color: var(--darkgreen);
	text-transform: uppercase;
}

.rank-math-breadcrumb a{
	position:relative;
}

.rank-math-breadcrumb a:hover{
	text-decoration: none;
}

.rank-math-breadcrumb a::after{
	content: "";
    width: 100%;
    position: absolute;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: var(--darkgreen);
}

select{
	width: 100%;
	border:none;
	height:45px;
	padding:0 10px;
	border-radius: 10px;
	border: 0.5px solid var(--darkgreen);
}

.contenuto p, .contenuto h2, .contenuto h3{
	padding-bottom: 25px;
}

.contenuto h2{
	font-size: 1.9rem;
	font-weight: 500;
}

.contenuto h3{
	font-size: 1.5rem;
	font-weight: 600;
}

.contenuto h4{
	font-size: 1.2rem;
	font-weight: 600;
}

.contenuto li{
	margin-bottom:15px;
}

@media(max-width:991px){
	.contenuto h2{
		font-size: 1.5rem;
	}
	
	.contenuto h3{
		font-size: 1.1rem;
	}
	
	.contenuto h4{
		font-size: 1rem;
	}
}

#page-documentazione h2{
	font-size: 2.2rem;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}

table th,
table td {
	padding: 0.75rem;
	vertical-align: top;
	border: 1px solid rgba(0, 0, 0, 0.15);
}

/* MODULO DI CONTATTO */

input{
	width: 100%;
	height: 53px;
	border-radius: 5px;
	border: 1px solid var(--darkgreen);
	color: var(--darkgreen);
	margin-bottom: 20px;
	padding-left: 10px;
}

textarea{
	width: 100%;
	border-radius: 5px;
	border: 1px solid var(--darkgreen);
	color: var(--darkgreen);
	margin-bottom: 15px;
	padding-left: 15px;
	padding-top: 10px;
}

::placeholder{
	color: rgba(0,0,0,0.35);
}

input[type="checkbox"]{
	width:12px;
	height: 12px;
	display: inline;
	margin-right:7px;
	margin-bottom: 0;
}

input[type="checkbox"]:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(0, 102, 83, 0.457);
  border-radius: 4px;
}

label{
	font-size: 1rem;
	padding-bottom: 12px;
}

.wpcf7-list-item{
	margin-left: 0 !important;
}

.wpcf7 form .wpcf7-response-output{
	margin: 0;
}
.wpcf7-not-valid-tip {
	display: block;
	font-size: 0.95rem;
	margin-top: 0.4rem;
}

.wpcf7-response-output {
	font-weight: 600;
}

.wpcf7 form .wpcf7-response-output{
	padding: 0.4em 1em;
}

.wpcf7-not-valid-tip{
	margin-top: 0;
	margin-bottom: 17px;
}

.wpcf7-form-control-wrap.privacy,
.wpcf7-form-control-wrap.newsletter {
	display: block;
	margin-bottom: 5px;
}

.wpcf7-acceptance label,
.wpcf7-checkbox label,
.checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	line-height: 1.35;
	cursor: pointer;
}

.wpcf7-acceptance input[type="checkbox"],
.wpcf7-checkbox input[type="checkbox"] {
	flex: 0 0 auto;
	margin-top: 4px;
}

.wpcf7-acceptance .wpcf7-list-item-label,
.wpcf7-checkbox .wpcf7-list-item-label {
	display: inline;
}

.wpcf7-acceptance a {
	color: var(--darkgreen);
	text-decoration: underline;
}

/* ====================================
   WCAG & ACCESSIBILITY
   ==================================== */

.main-menu a,  #header #navbarNav a, .mobile-toggle{
   border: 1px solid transparent;
}


.mobile-toggle:focus-visible {
	border: 1px solid var(--green);
}

a:focus-visible{
	box-shadow: 0 0 0 3px rgba(0, 102, 83, 0.22);
	 
}

.button_green:focus-visible, .button_white:focus-visible, .button_white_b:focus-visible, .link_empty:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, .swiper-pagination-bullet:focus-visible, .fasi-carousel__button:focus-visible{
	box-shadow: 0 0 0 3px rgb(171 194 190 / 80%) !important;
}

.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
}

.swiper-slide a {
	position: relative;
	display: block;
	outline: 0;
	border-radius: 12px;
	overflow: hidden;
}

.swiper-slide a::after {
	content: "";
	position: absolute;
	inset: 6px;
	border: 3px solid transparent;
	border-radius: 8px;
	pointer-events: none;
	z-index: 5;
	transition:
		border-color .2s ease,
		background-color .2s ease;
}
.swiper-slide a:focus-visible{
box-shadow: none;
}
.swiper-slide a:focus-visible::after {
	border-color: var(--lightgreen);
	background-color: rgba(0, 102, 83, 0.05);
}
/* Skip Link con focus */
.skip-link {
	position: absolute;
	left: -9999px;
	z-index: 999999;
	padding: 8px 16px;
	background: #000;
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
	font-weight: bold;
}

.skip-link:focus-visible,
.sr-only-focusable:focus-visible {
	position: absolute !important;
	left: auto !important;
	top: auto !important;
	width: auto !important;
	height: auto !important;
	padding: 8px 16px !important;
	margin: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	white-space: nowrap !important;
	background: #000 !important;
	color: #fff !important;
	z-index: 999999 !important;
	display: block !important;
	text-align: center;
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
	.navigation-container,
	.mobile-overlay,
	.toggle-icon span {
		transition: none !important;
	}
}

/* High Contrast */
@media (forced-colors: active) {
	.mobile-toggle {
		border: 1px solid;
	}
}

/* Utility accessibile per testi visibili solo agli screen reader */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.fasi-carousel {
	position: relative;
	width: 100%;
}

.fasi-swiper {
	width: 100%;
	overflow: hidden;
}

.box_slider {
	height: auto;
	border-radius: 12px;
	background: var(--darkgreen);
	min-height: 500px;
	display: flex;
	flex-direction: column;
}

.box_slider_02 {
	height: auto;
	border-radius: 12px;
	background: var(--lightgreen);
	min-height: 500px;
	
	display: flex;
	flex-direction: column;
}

.box_slider_02 span, .box_slider_02 p{
	color: var(--black) !important;
}

.box_slider_02 rect{
	fill: var(--black);
}

.box_slider_02.swiper-slide-active{
	background-color: var(--darkgreen);
}

.box_slider_02.swiper-slide-active span, .box_slider_02.swiper-slide-active p{
	color: var(--white) !important;
}

.box_slider_02.swiper-slide-active rect{
	fill: var(--white);
}

.box_slider_02 .swiper_image img{
	width: 60%;
	height: auto;
	max-height: 180px;
	object-fit:contain;
}

@media(max-width:991px){
	.box_slider_02 .swiper_image img{
		width: 80%;
		max-height: 200px;
		object-fit:contain;
	}
}

.fasi-carousel__controls {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 24px;
	flex-wrap: wrap;
}

.fasi-carousel__button,
.fasi-carousel__bullet {
	cursor: pointer;
	border:none;
	outline: none;
	border-bottom: 1px solid var(--darkgreen);
	background: transparent;
	color: var(--darkgreen);
	font: inherit;
	padding:0;
	border-radius: 0;
	text-transform: uppercase;
	
}

.fasi-carousel__pagination {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.fasi-carousel__bullet {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border-radius:50%;
	border: 0.5px solid var(--darkgreen);
}

.swiper-pagination-bullet{
	border: 0.5px solid var(--darkgreen) !important;
	opacity: 0.5;
}

.fasi-carousel__bullet.swiper-pagination-bullet-active,
.fasi-carousel__bullet[aria-current="true"] {
	background-color: var(--lightgreen);
	opacity: 1;
}

.fasi-carousel__button:focus-visible,
.fasi-carousel__bullet:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 4px;
}

.fasi-carousel__button.is-disabled,
.fasi-carousel__button.swiper-button-disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

 .up-button {
	 position: fixed;
	 width: 50px;
	 height: 50px;
	 background-color: var(--darkgreen);
	 bottom: 14px;
	 right: 14px;
	 display: none;
	 z-index: 12;
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 color: #fff;
	 border-radius: 50%;
	 border: 0.5px solid rgba(255,255,255,0.2);
 }
 
 .up-button:hover{
	 cursor: pointer;
 }
 
 caption{
	 color: var(--darkgreen);
	 margin-top: 15px;
	 
 }
 
.no-hover {
	 position: relative;
	 text-decoration: none;
	 border-radius: 6px;
	 outline: 0;
	 transition:
		 box-shadow .2s ease,
		 background-color .2s ease;
 }
 
 .no-hover:hover {
	 text-decoration: none;
 }
 
 .no-hover:focus-visible {
	 box-shadow: 0 0 0 3px rgba(0, 102, 83, 0.22);
	
 }
 
 @media(max-width:991px){
	 .image_w40{
		 width: 40%;
		 margin: 0 auto;
	 }
 }