/*!
Theme Name: Design Comuni Italia
Author:
Description: Design Comuni Italia Ã¨ il tema in OpenCms (non WordPress) per i siti dei Comuni Italiani. Rispetta le linee guida di design dellâ€™Agenzia per lâ€™Italia digitale rilasciate dal Team per la Trasformazione Digitale. Utilizza Bootstrap Italia.
Version: 2.3.2
License: AGPL 3.0 or later
Text Domain: design_comuni_italia
*/
:root{
	--bootstrap-italia-version:"2.0.2";
	--blue-navy: #152F52;
	--brick: #8F3C38;
	--dark-blue: #00529E;
	--green: #007A52;
	--jungle: #005C5C;
	--light-blue: #0C6C9C;
	--militar-green: #3B5922;
	--orange: #BF5000;
	--red: #990000;
	--ottanio: #00272B;
	--wine: #7D0B2B;
}

.it-page-section p{
   font-family: inherit;
}
.mb-1rem{
    margin-bottom: 1rem!important;
}

/*da usare quando si vuole sistemare qualcosa in un file con @media only screen and (max-width: 600px) modificarla nei file singoli*/
.media{

}

.mt-0px
{
  margin-top:0px!important;
}

.cmp-info-progress .step-active .add-border-bottom{
       border-bottom: 8px solid #007a52;    
       background-color:#007a52;
       color:#fff!important;
}
.cmp-info-progress .step-active .add-border-bottom h3.card-title {
       color:#fff!important;
}
.cmp-info-progress .step-active .add-border-bottom h3.card-title:hover
{
text-decoration:underline;
color:#fff!important;     
}
.padding-8px
{
padding:8px;
}
.margin-bottom-10px
{
margin-bottom:10px;
}

.separator{
    display: inline-block;
    font-weight: 600;
    padding: 0 0.5em;

}

.content-box {
  display: none;
}

.noContent {
  color: #000 !important;
  background-color: transparent !important;
  pointer-events: none;
}

.w-100 {
	width:100%;
}

.w-50 {
	width:50%;
}

.oc-editable {
	display: none !important;
}

.oc-editable-end {
	display: none !important;
}

.oc-collector-info {
	display: none !important;
}


.float-left
{
 float:left!important;
}
.float-right
{
 float:right!important;
}

.display-contents
{
 
 display:contents!important;

}
.display-inline-grid
{
 
 display:inline-grid!important;

}



/** CODICE AGGIUNTIVO PER IL TEMA **/

/* avvisi homepage */
.home-message .msg {
  font-size: 1rem !important;
  font-weight:bold;
  line-height: 1.5 !important;
  text-align:center;
  padding: 0;
  margin: 0;
}
.home-message .btn-outline-black {
  color: #333;
  background-color: transparent;
  background-image: none;
  box-shadow: inset 0 0 0 1px #333;
}
.home-message .btn-outline-black:hover {
  color: #fff;
  background-color: #333;
  box-shadow: inset 0 0 0 1px #333;
}
.home-message .btn-outline-black:focus,
.home-message .btn-outline-black.focus {
  box-shadow: inset 0 0 0 1px #17324d, 0 0 0 0.2rem rgba(23, 50, 77, 0.5);
}
.home-message .btn-outline-black.disabled,
.home-message .btn-outline-black:disabled {
  color: #17324d;
  background-color: transparent;
}
.home-message .btn-outline-black:not(:disabled):not(.disabled):active,
.home-message .btn-outline-black:not(:disabled):not(.disabled).active,
.show > .btn-outline-black.dropdown-toggle {
  color: #17324d;
  background-color: transparent;
  background-image: none;
  box-shadow: inset 0 0 0 1px #17324d;
}
.home-message .btn-outline-black:not(:disabled):not(.disabled):active:focus,
.home-message .btn-outline-black:not(:disabled):not(.disabled).active:focus,
.home-message .show > .btn-outline-black.dropdown-toggle:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125),
    0 0 0 0.2rem rgba(23, 50, 77, 0.5);
}
.home-message .msg svg {
  height: 1.5em;
  width: 1.5em;
  margin-right: 10px;
  display: inline-block;
}
.home-message.red,
.home-message.red .msg svg {
  background-color: #a71d26;
  color: #fff !important;
  fill: #fff !important;
}
.home-message.purple,
.home-message.purple .msg svg {
  background-color: #b21dd0;
  color: #fff !important;
  fill: #fff !important;
}
.home-message.green,
.home-message .msg svg {
  background-color: #009e50;
  color: #fff !important;
  fill: #fff !important;
}
.home-message.blue,
.home-message.blue .msg svg {
  background-color: #0052bc;
  color: #fff !important;
  fill: #fff !important;
}
.home-message.yellow,
.home-message.yellow .msg svg {
  background-color: #ffe819;
  color: #333 !important;
  fill: #333 !important;
}
.home-message.orange,
.home-message.orange .msg svg {
  background-color: #ffa500;
  color: #333 !important;
  fill: #333 !important;
}

.home-message .testo-notifica{
    font-size: 1rem !important;
    font-weight: bold;
    line-height: 1.5 !important;
    text-align: center;
    padding: 0;
    margin: 0;
    color: white;
    font-size: 15px!important;
	}

.navbar .close-div .close-menu .icon {
    fill: var(--bs-link-color);
}

.rifiuti-icon{
font-size:xxx-large;
}

.sezioni-in-evidenza{
justify-content: flex-start!important;
}

.card-interacartella{
word-break: break-all;
overflow: hidden;
}

.modal-title {
padding: 24px 24px 0;
}

.chip-height {
min-height: 48px;
}
.autocomplete-icon {
    position: absolute;
    right: 0;
    top: .5rem;
    padding: 0 8px;
    background-color: inherit;
}

.inherit-icon {
    background-color: inherit!important;
}

.table-border-up{
    border-top: 1px outset #ccc;
}

.w-40 {
   max-width: 40%;
   position: absolute;
   left: 30%;
}

.pix-0{
    padding-left: 0px!important;
}





.immagine-centrale figure,image
{
	display: flex;
   	justify-content: center;
}

.it-timeline-wrapper .col-12:nth-child(odd) .it-now-label {
    transform: translateX(100%);
    display: flex;
    align-items: center;
    right: 0;
}


.align-self-center
{
    align-self: center!important;

}

.immagine-centrale
{    right: 0;
    height: auto;
    width: auto;
    vertical-align: middle;
    margin: auto;
    bottom: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex;
	}
	
	
.immagine-centrale img {
	height:auto!important;
}


.richtext-wrapper p,a{
    overflow-wrap: anywhere;
	}

.swiper-pagination-bullet {
	width: 12px!important;
	height: 12px!important;
	margin: 0 16px!important;
}


.swiper swiper-pagination{
	bottom 3% !important;
}

.list-2-colum{
	column-count: 2;
}


.cmp-input input[type=text] {
    text-transform: uppercase!important;
}


.swipercontainer{
	display: -webkit-box;
	margin-top:50px;
}

.carousel-indicators{
	bottom:-60px!important;
}


.iframe-responsive .iframe-video{
width:100%;
height:auto;
min-height:400px;
}


@media (max-width: 380px) {
  .media-380 {
    display: none;
  }
}


.bg-white{
	background-color: #FFFFFF;
}
.bg-black{
	background-color: #000000;
}

.btn-outline-primary:hover {
	background-color: var(--colore-chiaro);
	color:white;
}
.btn-primary:hover {
	background-color: white;
	color:var(--colore-chiaro);
	outline: 5px;
}
.btn-primary:focus {
	outline: none;
	box-shadow: 0 0 0 4px #000000;
	background-color: white;
	color: var(--colore-chiaro);
}
.btn-primary{
	/*background-color: var(--colore-chiaro);*/
	border: 2px solid white;
	font-size: 1rem;
}

.search-link-focus:hover {
	background-color: var(--colore-chiaro);
}
.search-link-focus:hover svg {
	fill: white;
}

.card-body{
	background-color: #FFFFFF;
}

h1 {
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}


.megamenu span
{
font-size:17px;
}

.pb-6
{
padding-bottom:60px!important;
}

.padding-left-26
{
padding-left:26px!important;
}

.mr-2
{
margin-right:25px;
}

.weight-7
{
font-weight: 700;
}
.weight-8
{
font-weight: 800;
}

.card-museo-info
{

background-color:rgb(242 242 242)!important;

}
.card-museo-info .avatar 
{background:inherit;fill: rgb(0 82 158);}

.card-museo-info .card-body
{
background-color:inherit;
}

.card-museo
{

}

.card-museo .card.card-teaser-info {border-left:none;border-bottom: 8px solid rgb(0 82 158);}



.float-right a{
float:right!important;
}

.card-opera
{

}
.card-opera .img-responsive-panoramic
{
padding-bottom:100%;

}
.card-opera .card-body
{padding-left: 0;padding-right: 0;background-color: rgb(245 245 245);}

.text-align-center
{
text-align:center;
}


@media (min-width: 992px)
{.it-hero-wrapper {
    position: relative;
    min-height: 380px;
    align-items: center;
}
}
@media (min-width: 992px)
{
.supporto-museo{
    padding: 0px 20% 0px;
}
}
.it-hero-bottom
{
	padding:40px 20% 120px!important;
}




/* Slider splide */
.splide {
  position: relative;
  overflow: visible; /* Per permettere alle frecce di uscire */
  padding-bottom: 3rem; /* crea spazio per i punti */
}
.splide__arrow {
  position: absolute;
  top: 40%;
  transform: translateY(-50%);
  z-index: 10;
  width: 50px;
  height: 50px;
  border: none;
  font-size: 24px;
  border-radius: 50%;
  cursor: pointer;
}
/* Distanza normale su desktop */
.splide__arrow--prev {
  left: -50px;
}
.splide__arrow--next {
  right: -50px;
}
/* Responsive: su schermi piccoli avvicina le frecce */
@media (max-width: 768px) {
  .splide__arrow--prev {
    left: 10px;
  }

  .splide__arrow--next {
    right: 10px;
  }
}
.splide__slide img {
	width: 100%;
	height: 200px; /* imposta l’altezza che preferisci */
	object-fit: cover;
	object-position: center;
	border-radius: 8px;
}

/* Punti sotto le slide */
.splide__pagination {
	position: absolute;
	bottom: 1rem;
	left: 0;
	right: 0;
	justify-content: center;
}
/* Ogni singolo punto */
.splide__pagination__page {
	background: #ccc;
	border-radius: 50%;
	width: 12px;
	height: 12px;
	margin: 0 6px;
	border: none;
	cursor: pointer;
	transition: background-color 0.3s;
}
.splide__pagination__page.is-active {
	background: #333;
}


/* Styling per la lightbox */
#lightbox {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8); /* Sfondo sfumato */
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
/* Contenuto della lightbox */
.lightbox-content {
  position: relative;
  max-width: 95%;
  max-height: 95%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
#lightbox-splide .splide__slide img {
	object-fit: contain;
	display: block;
	margin: auto;
	justify-content: center;
	align-items: center;
	max-width: 100%;
	max-height: 100%;
	width: 100vw;
	height: 100vh;
}
/* Pulsante di chiusura lightbox*/
#lightbox-close {
	position: absolute;
	top: 10px;
	right: 10px;
	background: rgba(255, 255, 255, 0.6);
	border: none;
	padding: 10px;
	font-size: 18px;
	color: #000;
	cursor: pointer;
	z-index: 10000; /* Assicura che il pulsante sia sopra la lightbox */
	border-radius: 50%;
}
/* Hover per il pulsante di chiusura */
#lightbox-close:hover {
	background: rgba(255, 255, 255, 1);
}


/* navigazione mobile (burger) */
.offcanvas {
  max-width: 80%; 
  background-color: white !important;
  box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}
.offcanvas-backdrop {
  background-color: rgba(0, 0, 0, 0.7) !important; /* più scuro */
}
.offcanvas .nav-link {
  font-size: 1rem;
  padding: 0.75rem 0;
}
.offcanvas .nav-link.active,
.offcanvas .nav-link:hover {
  background-color: var(--colore-chiaro);
  font-weight: bold;
}
.offcanvas .nav-link.active {
  position: relative;
  background-color: var(--colore-chiaro);
  font-weight: bold;
  color: var(--colore-chiaro); 
  /* Riga laterale sinistra */
  border-left: 4px solid var(--colore-chiaro);;
  padding-left: calc(1rem - 4px); 
}
.navbar-nav .nav-item.active > .nav-link {
  position: relative;
  font-weight: bold;
  color: var(--colore-chiaro); 
  border-left: 4px solid var(--colore-chiaro);
  padding-left: calc(1rem - 4px); 
}
.navbar .dropdown-menu {
  background-color: white !important; /* stesso sfondo del menu */
  color: var(--colore-chiaro);
  border: none !important;
  box-shadow: none !important;
  padding: 0;
}
.btn-close-menu {
  background: none;
  border: none;
  padding: 0.5rem;
  font-size: 1.5rem;
  color: var(--colore-chiaro); 
  cursor: pointer;
}
.btn-close-outside {
  display: flex; 
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 1065;
  background: white;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  color: var(--colore-chiaro);
  cursor: pointer;
}
.menu-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.7);
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1040; /* sotto il menu ma sopra il resto */
}
.menu-overlay.active {
  display: block;
  opacity: 1;
}
.navbar-nav .nav-item .nav-link.active {
  border-bottom: 2px solid #ffffff;  /* Colore della sottolineatura */
  font-weight: bold; /* Rende il testo in grassetto (opzionale) */
}




/* Sottolinea il link al passaggio del mouse */
.sub-hover {
  text-decoration: none;  /* Rimuove la sottolineatura */
}

.sub-hover:hover {
  text-decoration: underline;  /* Aggiunge la sottolineatura al passaggio del mouse */
}

.elemento-megamenu-burger
{
    color: var(--bs-link-color)!important;
	font-size:18px!important;
}

.elemento-megamenu-burger svg
{
 fill:var(--bs-link-color)!important;
}


@media (max-width: 767px)
{
.hidden-xs{display:none !important}
}
@media (min-width: 768px) and (max-width: 991px)
{
.hidden-sm
{
display:none !important}
}
@media (min-width: 992px) and (max-width: 1199px)
{
.hidden-md{display:none !important}
}
@media (min-width: 1200px)
{
.hidden-lg{display:none !important}
}




/* SLIDER SPLIDE */
	.splide {
		position: relative;
		overflow: visible; /* Per permettere alle frecce di uscire */
		padding-bottom: 3rem; /* crea spazio per i punti */
	}
	.splide__arrow {
		position: absolute;
		top: 40%;
		transform: translateY(-50%);
		z-index: 10;
		width: 50px;
		height: 50px;
		border: none;
		font-size: 24px;
		border-radius: 50%;
		cursor: pointer;
	}
	/* Distanza normale su desktop */
	.splide__arrow--prev {
		left: -50px;
	}
	.splide__arrow--next {
		right: -50px;
	}
	
	/* Responsive: su schermi piccoli avvicina le frecce */
	@media (max-width: 840px) {
		.splide__arrows {
			position: static;
			display: flex;
			justify-content: center;
			margin-top: 10px;
		}
		.splide__arrow {
			position: relative;
			top: auto;
			left: auto;
			right: auto;
			transform: none;
			margin: 0 10px;
		}
	}
	
	.splide__slide img {
		width: 100%;
		height: 200px; /* imposta l’altezza che preferisci */
		object-fit: cover;
		object-position: center;
		border-radius: 8px;
	}
	
	/* Punti sotto le slide */
	.splide__pagination {
		position: absolute;
		bottom: 1rem;
		left: 0;
		right: 0;
		justify-content: center;
	}
	/* Ogni singolo punto */
	.splide__pagination__page {
		background: #ccc;
		border-radius: 50%;
		width: 12px;
		height: 12px;
		margin: 0 6px;
		border: none;
		cursor: pointer;
		transition: background-color 0.3s;
	}
	.splide__pagination__page.is-active {
		background: #333;
	}
	
	/* Styling per la lightbox */
	.lightbox {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.8); /* Sfondo sfumato */
		justify-content: center;
		align-items: center;
		z-index: 9999;
	}
	/* Contenuto della lightbox */
	.lightbox-content {
		position: relative;
		max-width: 95%;
		max-height: 95%;
		display: flex;
		justify-content: center;
		align-items: center;
		overflow: hidden;
	}
	.lightbox .splide__slide img {
		object-fit: contain;
		display: block;
		margin: auto;
		justify-content: center;
		align-items: center;
		max-width: 100%;
		max-height: 100%;
		width: 100vw;
		height: 100vh;
	}
	/* Pulsante di chiusura */
	.lightbox-close {
		 position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(255, 255, 255, 0.8);
    border: none;
    padding: 10px;
    width: 40px;
    height: 40px;
    border-radius: 50%; /* TONDO */
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 10000;
}
	/* Hover per il pulsante di chiusura */
	.lightbox-close:hover {
		background: rgba(255, 255, 255, 0.6);
	}
/* FINE SLIDER SPLIDE */


.gallery-box {
    width: 100%;
    aspect-ratio: 1 / 1;  
    overflow: hidden;
}

.gallery-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}




