/*!
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 .swiper-pagination{
	margin-top: 0px !important;
	margin-bottom: 5px !important;
	position: relative !important;
}

.swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background-color: red;
	border-radius: 50%;
	transition: all 0.3s ease;
	position: relative;
	cursor: pointer;
}

.mySwiper .swiper-pagination-bullet-active {
  background-color:  var(--colore-chiaro) !important;
	padding-top: 10px !important;
	margin-top: 1% !important;
}

.swiper-pagination-bullet.paused {
	background-color: transparent !important;
	border-radius: 0;
}

.swiper-pagination-bullet.paused::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-left: 19px solid var(--colore-chiaro); 
	border-top: 11px solid transparent;  
	border-bottom: 11px solid transparent; 
}
  
@media only screen and (max-width: 600px) {
	.media{
		margin-top:10px!important;
		margin-left:0px!important;
		margin-right:0px!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;
}


.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: 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 */




/*bottoni più accessibili
.btn-primary:hover{
	box-shadow: 0 0 0 3px var(--colore-chiaro);
	background-color: white !important;
	color:var(--colore-chiaro) !important;
}
.btn-primary svg.icon {
	fill: currentColor !important;
}
.input-group-append .btn-primary:hover {
  position: relative;
  z-index: 2;
  box-shadow: 0 0 0 3px var(--colore-chiaro);
  background-color: white !important;
  color: var(--colore-chiaro) !important;
}

.btn-outline-primary:hover{
	box-shadow: 0 0 0 3px var(--colore-chiaro);
	background-color: var(--colore-chiaro);
	color: white !important;
}
.btn-outline-primary svg.icon {
  fill: currentColor !important;
}
.input-group-append .btn-outline-primary {
  position: relative;
  z-index: 2;
  margin-left: 0; 
  border-width: 2px !important; 
  border-style: solid !important; 
  border-color: var(--colore-chiaro) !important;
  color: var(--colore-chiaro) !important;
  background-color: white !important;
  box-shadow: none !important;
}
.input-group-append .btn-outline-primary:hover {
  border-color: var(--colore-chiaro) !important;
  background-color: var(--colore-chiaro) !important;
  color: white !important;
  box-shadow: 0 0 0 3px white !important;
}
/*fine bottoni accessibili*/




.mappa-alternativa {
  min-height: 250px;
  width: 100%;
  padding: 0;
  margin: 0;
}




