/* --------------------- GENERALIA --------------------- */ 

/* Fonts in locale */
/*@import url('https://fonts.googleapis.com/css2?family=Libre+Bodoni:ital,wght@0,100..700;1,100..700&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&display=swap');

/*@font-face {
 font-family: 'theinhardt';
 font-style: normal;
 src: local('?'), url('/theme/css/theinhardt-pan-medium-regular.woff') format('woff'), url('/theme/css/theinhardt-pan-medium-regular.ttf') format('truetype'), url('/theme/css/theinhardt-pan-medium-regular.svg') format('svg');
}*/

@font-face {
    font-family: 'Theinhardt';
    src: url('/theme/fonts/TheinhardtPan-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

/* Variante Light */
@font-face {
    font-family: 'Theinhardt';
    src: url('/theme/fonts/TheinhardtPan-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Theinhardt';
    src: url('/theme/fonts/TheinhardtPan-Medium.woff2') format('woff2');
    font-weight:600;
    font-style: normal;
}

body{
	line-height:1.2;
	font-family: 'theinhardt', sans-serif!Important;
	font-weight:400;
}
* {
	font-family: 'theinhardt', sans-serif;
}
.libre-bodoni-<uniquifier> {
 font-family: "Bodoni Moda", serif;
 font-optical-sizing: auto;
 font-weight: 400;
 font-style: normal;
}
a{
	color:#000000;
	text-decoration:none;
}
a:hover {
    color: #000000;
    text-decoration: underline;
}
h2{
	font-weight:600;
	font-size:50px;
	margin-bottom:0px;
}
.btn-dark{
	color:#FFF;
	background-color:#000;
	border-radius:0;
}
strong{
	font-weight:600;
}
.alt-font {
	font-family: "Bodoni Moda", serif;
}
.text-lg {
	font-size:24px;
}
[data-theme-switcher="toggle"] {
 color: var(--pico-contrast);
font-size: 1.5em;
text-decoration: none !important;
}
.rotate-45 {
	display: inline-block;
	transform: rotate(45deg); /* Usa un valore positivo 45deg per ruotare in senso orario */
	transition: transform 0.3s ease; /* Opzionale: aggiunge un movimento fluido */
}
html {
	scroll-behavior: smooth;
	scroll-padding-top: 5rem;
}
h1, h2, h3, h4, h5, h6 {
	color:#000000;
    line-height: 1.2;
}
p{
	font-weight:400!important;
    line-height: 1.2;
}
.align_bottom{

}
.img-home{
	max-width:80%;
}
 @media (max-width: 768px) {
.img-home{
	max-width:100%;
}
}


address, blockquote, dl, ol, p, pre, table, ul {
    margin-top: 0;
    margin-bottom: var(--pico-typography-spacing-vertical);
    color: #000000;
    font-style: normal;
    font-weight: var(--pico-font-weight);
}
.btn_lingua .dropdown-menu ul{
	min-width:50px!important;
}

.dropdown-menu{
	background-color:var(--pico-dropdown-background-color);
	border-radius:0;

}

.dropdown-toggle::after {
	display:inline-block;
    height:20px;
    width:30px;
	margin-left: .0em;
    vertical-align: -2px;
    background-image: url('/images/icone/ico_down.svg');
	background-size: 30px 20px;
	fill: #ffffff!important;
	filter: brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(0%) hue-rotate(148deg) brightness(95%) contrast(103%);
    border:none;
}

.dropdown li {
    margin: 0px;
    padding: 3px 3px 3px 20px;
	width:150px;
}


h2 {
	font-weight:600;
	font-size:50px;
	margin-bottom:0px;
}

 @media (max-width: 768px) {
h2 {
	font-size:35px;
}
}

.ico_t_box{
	position:absolute;
	right:10px;
	top:10px;
}
.ico_m_box{
	position:absolute;
	left:10px;
	top:10px;
}

 @media (max-width: 768px) {
.ico_t_box{
	position:absolute;
	right:10px;
	top:10px;
	width:60px;
}
.ico_m_box{
	position:absolute;
	left:10px;
	top:10px;
	width:60px;
}
}

.box_home h6 {
	font-weight:400;
}
.row {
    margin-top: 0; 
    margin-right: 0; 
    margin-left: 0;
}
.box_home .border-top{
	border-top:2px solid #000!important;
}
.box_home .border-bottom{
	border-bottom:2px solid #000!important;
}
.box_home .txt_top_sx {
	padding:0px 20px 20px 0px;
}
.box_home .txt_top_dx {
	padding:0px 0px 20px 20px;
}
.box_home .txt_bottom_sx{
	padding:20px 0px 0px 20px!important;
}
.box_home .txt_bottom_dx{
	padding:20px 20px 0px 0px!important;
}
.box_home .img_top_sx {
	border-radius: 50% 0% 50% 50%!important;
	padding:0px 20px 40px 0px!important;
}
.box_home .img_top_dx {
	border-radius: 0% 50% 50% 50%!important;
	padding:0px 0px 40px 20px!important;
}
.box_home .img_bottom_sx {
	border-radius: 50% 50% 50% 0!important;
	padding:40px 0px 0px 20px!important;
}
.box_home .img_bottom_dx {
	border-radius: 50% 50% 0 50%!important;
	padding:40px 20px 0px 0px!important;
	
}

.border-right {
	border-right:2px solid #000!important;
}
.border-bottom {
	border-bottom:2px solid #000!important;
}

.more-text { display: none; }









.sticky-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background-color: white;
	/*  padding: 1rem;*/
/*  border-bottom: 1px solid #ccc;*/
  border-bottom:2px solid black;
}
[data-theme="dark"] .sticky-header {
	background-color: #13171f;
	border-bottom:2px solid var(--pico-contrast);
}
.programma-nav a.active {
	font-weight: bold;
	text-decoration: underline;
}
hr {
	border-top: 2px solid var(--pico-contrast);
	margin-bottom:1.5em;
}
/* --------------------------------------------- Logo + info  */

/*toglie spazi al logo*/

nav h1 {
	margin:0;
	padding:0;
}
.icon-sm {
	font-size:80%;
}
.icon-md {
	font-size:100%;
}
.icon-lg {
	font-size:150%;
}
/* cambia colore logo su tema dark */

/*[data-theme="dark"] nav h1 a img {
	filter: invert(1);
}*/
.navbar {
	padding:0; 
}
/* Roll over logo */
nav h1 a.logo:hover {
	filter: brightness(0) saturate(100%) invert(50%) sepia(0%) saturate(0%);
}

/*nav ul.info-nav {
  align-items: flex-end;
}*/
.info-nav{
    position: relative;
    top: 80px;
}

 @media (max-width: 768px) {
 .info-nav{
    position: relative;
    top: 0px;
}
}
.info-nav .testo{
	 font-size:16px!important;
}
.info-nav svg{
	width:20px;
}
/*.info-nav  ul{
	height:40px;
	font-size:16px;
}
nav li {
    display:inline;
}*/
nav ul.info-nav {
 /*   align-items: flex-end;*/
}
nav ul.info-nav li {
	    text-decoration: none;
    font-weight: 600;
    font-size: 0.6em;
    /* padding-right: 15px; */
    display: flex;
    align-items: flex-end;
    margin-bottom: 0px;
    align-content: flex-end;
    flex-wrap: wrap;
    justify-content: flex-end;
    flex-direction: column;
}
nav ul.info-nav li:last-child {
	padding-right: 10px;
}
.btn_biglietto{
	margin:0px 0 15px 0;
	padding:0px;
}
.btn_biglietto a{
	padding:6px!important;
}
.info-nav icon{
	display:middle;}






.btn_lingua{
	margin:0 0 12px 0;
	padding:10px;
}
.centra-ico{
	margin:5px 0 0px 0;
	padding:0;
}

.right {
	text-align:right;
}
.left {
	text-align:left;
}
.small{
	font-size:70%;
}
.unesco{
	paddong-top:10px!important;
}
.unesco h4 {
	margin:0;
}	
.unesco h6{
	margin:0;
}
.img_logo_unesco{
	padding:5px 20px 5px 0;
	height: 130px;
}
 @media (max-width: 400px) {
 nav ul.info-nav li {
 padding-right: 15px;
}
 nav ul.info-nav li:last-child {
 padding-right: 0px;
}
}
nav ul.info-nav li a {
	/*color: var(--pico-contrast);*/
	text-decoration: none;
	margin:0;
	padding:0;
}
nav ul.info-nav li a:hover {
	text-decoration: underline;
}
/* Pulsante acquista biglietto */

a.ticket {
	color: var(--pico-contrast);
	text-decoration: none;
	border:1px solid var(--pico-contrast);
	border-radius: 0;
	padding: 5px;
}
a.ticket:hover {
	color: var(--pico-contrast-inverse) !important;
	background: var(--pico-contrast);
	text-decoration: none !important;
}
/* --------------------------------------------- Menu principale */
.navbar-toggler{}

nav.palazzo-nav ul {
	display: flex;
	justify-content: space-between;
	list-style-type: none;
	padding: 0;
	margin:0;
	border-top:2px solid #000;
	border-bottom:2px solid #000;
	/*border-top:2px solid var(--pico-contrast);
	border-bottom:2px solid var(--pico-contrast);
	 menu largo al 100% */
  width: 100%;
}
nav.palazzo-nav li {
	/*aggiusta lo spazio top e bottom dell'li*/  
  padding: 10px 10px 10px 10px;
}
/*  selezionato menu principale */
nav.palazzo-nav li.selected a {
	color: #000;
}
nav.palazzo-nav li.current-menu-item a {
	color: #000;
}
nav.palazzo-nav a {
	color: #000;
	font-weight: 600;
	font-size: 1.3em;
	text-transform: uppercase;
	padding: 0;
}
details.dropdown > summary:not([role]) {
    color: #000;
}
details.dropdown > summary + ul li a {
	font-size: 1.0em;
	text-transform:none;
	font-weight:normal;
	color:#000000;
}
details.dropdown > summary + ul li a:hover {
	color:#000000;
	background-color:#efefef
}

.img-responsive {
	width:100%;
}
nav.palazzo-nav a:hover {
	color: #7f7f7f;
	text-decoration: none;
}
details.dropdown > summary + ul {
    display: flex;
    z-index: 99;
    position: absolute;
    left: 0;
    flex-direction: column;
    width: 250px!important;
    min-width: -moz-fit-content;
    min-width: fit-content;
    margin: 0;
    margin-top: 10px;
    padding: 0;
	border-top:0;
	border-left:2px #000000 solid;
	border-right:2px #000000 solid;
	border-bottom:2px #000000 solid;
    /*border: var(--pico-border-width) solid var(--pico-dropdown-border-color);
     border-radius: var(--pico-border-radius);
    background-color: var(--pico-dropdown-background-color); */
	background-color: #FFF;
    box-shadow: var(--pico-dropdown-box-shadow);
    color: var(--pico-dropdown-color);
    /*white-space: nowrap;*/
	white-space:inherit;
    opacity: 0;
    transition: opacity var(--pico-transition), transform 0s ease-in-out 1s;
}







/* --------------------------------------------  Menu principale - Media query */

@media (max-width: 1024px) {
 nav.palazzo-nav ul {
 flex-direction: column;
 justify-content: flex-start;
/* border:1px solid red; */
  }
 nav.palazzo-nav li {
 width: 100%;
 padding: 2px;
}
 nav.palazzo-nav a {
 font-size: 1em !important;
padding: 5px;
}

nav details.dropdown > summary:not([role]) {
	font-size: 1em !important;
}
}
 @media (max-width: 1280px) {
 nav.palazzo-nav ul {
/* border:1px solid pink; */
  }
 nav.palazzo-nav a {
 font-size: 1.4em;
padding: 0px;
}
}
/* --------------------------------------------- 00 Home Page */



.home-grid {
	display: grid;
	grid-template-columns: 63% 34.4%;
	gap: 1.8rem;
}
/* ----------------  colonna sinistra*/

.info {
	grid-column: 1 / 2;
	margin-bottom: 1.5rem;
}
/* ----------------  colonna destra*/

.esibizioni {
	grid-column: 2 / 3;
	margin-bottom: 1.5rem;
}


/* --------------------------------------------------- Responsive per home page */


@media (max-width: 1024px) {
 .home-grid {
 grid-template-columns: 1fr;
}
 .esibizioni {
 grid-column: 1 / 2;
}
}
/* ------- pulsante guarda tutte */

.esibizioni .guardaTutte {
/*margin-top:10.5em;*/
  
}
.esibizioni .guardaTutte a {
	color: var(--pico-contrast);
	text-decoration: none;
	border:2px solid var(--pico-contrast);
	border-radius: 0;
	padding: 5px;
	display: block;
	text-align: center;
	font-weight: 600;
	font-size: 0.7em;
}
.esibizioni .guardaTutte a:hover {
	color: var(--pico-contrast-inverse) !important;
	background: var(--pico-contrast);
	text-decoration: none !important;
}
/* Reset per article in tutto il sito*/

article {
	margin-bottom: 3em;
	padding: 0;
	border-radius: none;
	background: none;
	box-shadow: none;
	max-height:600px;
}
article a {
	text-decoration: none;
}
article h2 {
	font-family: 'theinhardt', sans-serif !important;
	color: var(--pico-contrast);
	font-size: 2.3em;
	font-weight: 600;
	line-height: 0.9em;
	margin-top: 0.4em;
	margin-bottom:0;
	text-transform: uppercase;
}
article h3 {
	font-family: 'theinhardt', sans-serif !important;
	color: #7f7f7f;
	font-size: 2.3em;
	margin-top: 0;
	line-height: 0.9em;
	text-transform: uppercase;
}
.home-grid .esibizioni h2 {
	text-align: right;
	font-size: 1.4em !important;
}
.programma h3 {
	text-align: left;
}
/* --------------------------------------------- 01 Footer */

footer {
	border-top: 2px solid #000;
	border-bottom: 1px solid #000;  /*margin-bottom:2em;*/

}
footer h1 {
	font-family: 'theinhardt', sans-serif !important;
	font-size: 1.5em;
	font-weight: 600;
	line-height: 1.2em;
	/*border:1px solid red;*/
	margin-top: 0;
	padding-top: 0;
}
/* allineamenti per la newsletter */

form {
	margin-top: 0.5em;
}
footer h2 {
	font-family: 'theinhardt', sans-serif !important;
	font-weight: 600;
	font-size: 0.7em;
	margin-bottom: 0;
	text-align:right;
}
footer p {
	font-family: 'theinhardt', sans-serif !important;
	font-weight: normal;
	font-size: 0.7em;
	margin-bottom: 0;
	text-align:right;
}
footer h3 {
	font-family: 'theinhardt', sans-serif !important;
	text-align:right;
	margin:0;
	padding: 0;
}
footer h3 a {
	/*color: var(--pico-contrast);
	line-height: 1.2em;*/
	font-size: 1.7em;
	font-weight: 600;
	
text-decoration: none;
}
footer a {
	/*color: var(--pico-contrast);
	line-height: 1.2em;*/
	text-decoration: none;
}
/* reset stili form per newsletter*/

footer input {
	border-radius:0 !important;
	background: none;
}
footer input[type="submit"] {
  background: none;
	font-weight: 600;
	font-size: 0.7em;
}
footer input[type="submit"]:hover {
}

.cerca input {
	border-radius:0 !important;
	background: none;
}
.cerca input[type="submit"], .cerca button[type="submit"] {
	font-weight: 600;
	font-size: 0.7em;
	padding:10px 30px;
	background-color:#FFF;
}
.cerca input[type="submit"]:hover {
}


a.btn_trasparente {
    text-decoration: none;
    border: 1px solid #000;
    border-radius: 0;
    padding: 5px;
}
a.btn_trasparente_anni {
    padding: 5px 25px;
	display:block;
}
.text-underline{
	text-decoration:underline;}
/* --------------------------------------  GRID*/


.footer-grid {
	display: grid;
	grid-template-columns: 63% 34%;
	gap: 1.8rem;
    padding-top: 30px;
}
/* ----------------  colonna sinistra*/

.footer-left {
	grid-column: 1 / 2;
	margin-bottom: 0.4rem;
}
/* ----------------  colonna destra*/

.footer-right {
	grid-column: 2 / 3;
	margin-bottom: 0.4rem;
}
.footer-right h3 {
/*margin-top:0.7em;*/
}


/* --------------------------------------------------- Responsive per footer */


@media (max-width: 1024px) {
 .footer-grid {
 grid-template-columns: 1fr;
}
 .footer-right {
 grid-column: 1 / 2;
}
}
/* ----------------- Social */


.social-icons {
	display: flex;
	gap: 1rem;
	/*justify-content: center;
  align-items: center;*/
  padding: 3.8rem 0 0 0;
}

.social-icons svg{
  position:relative;
  top:100px;
}
.partners {
    position: relative;
    top: 25px;
	display: flex;
    gap: 1rem;
    padding: 1.8rem 0 0 0;
}
.footer-left .img-loghi-footer{
	position:realtive;
	right:0;
}
.social-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: var(--pico-contrast);
	text-decoration: none;
	/*border: 1px solid #000;
  border-radius: 0;*/
  transition: all 0.3s ease;
}
.orari table{
	border:none!important;
	background-color:none!important;
}

/*.orari tr, .orari td, .orari th, .orari td,{*/
.orari td, .orari th{
	border:0!important;
	background-color:#FFFFFF!important;
	color:#000000;
	padding:0px!important;
	border-bottom:0;
}
.social-icon:hover {
	background-color: none;
	color: #7f7f7f;
}
.social-icon svg {
	width: 30px;
	height: 30px;
}
.indirizzo {
	margin-top:0.7em;
	margin-bottom:0.8em;
}
ul.footerContact {
	margin-top:1.5em;
	display:flex;
	justify-content: flex-end;
	/*  border: 1px solid #000;*/
  margin-bottom: 1em;
}
ul.footerContact li {
	list-style-type: none;
	margin-left:2em;
}


/* --------------------------------------------------- Responsive per footerContact */


@media (max-width: 1024px) {
 footer h2 {
 text-align:left;
}
 footer p {
 text-align:left;
}
 footer h3 {
 text-align:left;
}
 ul.footerContact {
 margin-top:1.5em;
 display:flex;
 justify-content: space-between;

       
      /*  margin:0;*/
        padding:0;
}
 ul.footerContact li {
 list-style-type: none;
 margin-left:0 !important;
}
}
/* --------------- subFooter */


.subFooter {
	margin-top:-10px;
}
.subFooter li {
	color: #000;
	font-weight: 600;
	font-size: 0.7em;/*padding-right: 28px;*/
}
.subFooter li a {
	color: #000;
	text-decoration: underline;
}
/* --------------------------------------------- 02 PROGRAMMA */


.programma header {
	/*  border:1px solid red;*/
  margin-bottom:1.3em;
}
.programma header h2 {
	font-family: 'theinhardt', sans-serif !important;
	color: var(--pico-contrast);
	font-size: 3.5em;
	font-weight: 600;
	line-height: 0.9em;
	margin-left: -5px;
	/*  border:1px solid red;*/
  margin:0;
	text-transform: uppercase;
}
.programma header h3 {
	font-family: 'theinhardt', sans-serif !important;
	color: #7f7f7f;
	font-size: 3.5em;
	font-weight: 600;
	line-height: 0.9em;
	margin-top: 0;
	padding-top:0;
	text-transform: uppercase;
}
.programma .ticket {
	font-weight: 600;
	font-size: 0.7em;
}
.programma h3.divider {
	border-bottom: 2px solid var(--pico-contrast);
	padding-top:20px;
	padding-bottom:20px;
	font-family: 'theinhardt', sans-serif !important;
	color: var(--pico-contrast);
	font-size: 2.5em;
	font-weight: 600;
	line-height: 0.9em;
	/*  margin-left: -5px;  */
  margin-bottom:1em;
	text-transform: uppercase;
}
/* ----------------- menu programma */

nav.programma-nav ul {
	display: flex;
	justify-content: flex-start;
	list-style-type: none;
	padding: 0;
	margin:0;/*  border-bottom:1px solid black;*/

  /* menu largo al 100% */
/*  width: 100%; */
}
nav.programma-nav li {
	/*aggiusta lo spazio top e bottom dell'li*/  
  padding: 10px 3em 5px 0px;/*  border: 1px solid red;*/


}
nav.programma-nav a {
	color: var(--pico-contrast);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.7em;/*padding: 0;*/

}
nav.programma-nav a:hover {
	color: #7f7f7f;
	text-decoration: none;
}
.logo img{
	fill: #000; /* Cambia il colore del logo */
}
.logo:hover img{
	fill: red; /* Colore al passaggio del mouse */
}
nav details.dropdown > summary {
	/*color: var(--pico-contrast);
	color: #000000!important;*/
	font-weight: 600;
	font-size: 1.3em;
	text-transform: uppercase;
	padding: 0;
}
/* -------------------   Grid per il programma*/

.prog-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1.5em;
	margin-bottom: 5em;
}
.prog-grid article {
	margin-bottom: 0.5em;
}
.prog-grid article h2 {
	margin-top:0.5em;
	font-size: 1.6em;
}
.prog-grid article h3 {
	font-size: 1.6em;/*  margin-left:-5px;*/

}




/* --------------------------------------------------- Responsive per PROGRAMMA */


@media (max-width: 1024px) {
	.prog-grid {
		grid-template-columns: 1fr 1fr;
	}
	.no_resp{
		display:none;
	}
}
@media (max-width: 750px) {
	.prog-grid {
		grid-template-columns: 1fr;
	}
}
/* -------------------   Grid per l'archivio a 5 colonne*/

.prog-arch-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 1.5em;
	margin-bottom: 5em;
}
.prog-arch-grid article {
	margin-bottom: 0.5em;
}
.prog-arch-grid article h2 {
	margin-top:0.5em;
	font-size: 1em;
	line-height: 0.9em;
}
.prog-arch-grid article h3 {
	font-size: 1em;/*  margin-left:-5px;*/

}



/* --------------------------------------------------- Responsive per archivio */


@media (max-width: 1024px) {
 .prog-arch-grid {
 grid-template-columns: 1fr 1fr 1fr;
}
}
 @media (max-width: 800px) {
 .prog-arch-grid {
 grid-template-columns: 1fr 1fr;
}
}
 @media (max-width: 750px) {
 .prog-arch-grid {
 grid-template-columns: 1fr;
}
}
/* --------------------------------------------- 04 Dettaglio */



.detail-grid {
	display: grid;
	/*            grid-template-columns: 63% 34.4%;*/
            grid-template-columns: 1fr 1fr;
	gap: 1.8rem;
}
/* ----------------  colonna sinistra*/

.detail-img {
	grid-column: 1 / 2;
	margin-bottom: 1.5rem;/* ------ immagine fissa -----------*/

          /*tolta altrimenti crea spazio vuoto sotto img*/

            /*position: sticky;
            top: 0;
            height: 100vh;
            overflow: hidden;*/
        }
/* ----------------  colonna destra*/

.detail-txt {
	grid-column: 2 / 3;
	margin-bottom: 1.5rem;
}
.infoBox p {
	color: var(--pico-contrast);
	font-size: 80%;
	font-weight: 600;
}
.detail-txt p {
	color: var(--pico-contrast);
	font-size: 100%;
}




/* --------------------------------------------------- Responsive per pagina dettaglio */


        @media (max-width: 1024px) {
 .detail-grid {
 display: grid;
 grid-template-columns: 1fr;
 gap: 1.8rem;
}
 .detail-img {
 position: static;
 height: auto;
}
 .detail-txt {
 grid-column: 1 / 2;
 margin-bottom: 1.5rem;
}
}
/* -------------------------------  DOWNLOAD PDF*/

 .download-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	color: var(--pico-contrast) !important;
	transition: color 0.15s ease-in-out;
}
.download-link:hover {
	color: #7f7f7f;
	text-decoration: underline;
}
.pdf-icon {
	width: 48px;
	height: 64px;
	flex-shrink: 0;
}
.pdf-icon .pdf-outline, .pdf-icon .pdf-fold {
	stroke: var(--pico-contrast);
	transition: stroke 0.3s;
}
.pdf-icon .pdf-text {
	fill: var(--pico-contrast);
	transition: fill 0.3s;
}
.download-link:hover .pdf-outline, .download-link:hover .pdf-fold {
	stroke: #7f7f7f; /* hover grigio*/
}
.download-link:hover .pdf-text {
	fill: #7f7f7f; /* hover grigio*/
}
.download-text {
	font-family: 'theinhardt', sans-serif;
	font-weight: 600;
	font-size: 80%;
}
/* -------------------------------  LINK TORNA ALLE ESPOSIZIONI*/       


.freccia-wrapper {
	margin-bottom: 2em;
}
.freccia-wrapper.backinterno {
	/*border:1px solid red;*/

  text-align: right;
}
.download-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	color: var(--pico-contrast);
}
.ico_svg {
	/*filter: invert(0%) sepia(1%) saturate(7477%) hue-rotate(204deg) brightness(111%) contrast(94%);
	filter: invert(57%) sepia(63%) saturate(4521%) hue-rotate(203deg) brightness(103%) contrast(98%);*/
	filter: brightness(0) saturate(100%) invert(0%) sepia(0%) saturate(0%) hue-rotate(148deg) brightness(95%) contrast(103%);
	padding:0 3px;
}
.freccia {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 24px;
	line-height: 0; /* evita spazi verticali indesiderati */
	transition: transform 0.3s ease;
}

.freccia svg {
	display: block;
	width: 100%;
	height: auto;
	stroke: var(--pico-contrast);
	stroke-width: 2;
	fill: none;
}

.freccia-testo {
	font-family: 'theinhardt', sans-serif;
	font-weight: 600;
	font-size: 80%; /* o 80% se preferisci */
	line-height: 1;
}
.download-link:hover .freccia {
	transform: translateX(4px);
	transition: transform 0.3s ease;
}
/* -------------------------------------------------------------------------------------------------- STORIA / COLLEZIONE */

figcaption {
	font-family: 'theinhardt', sans-serif;
	font-weight: 600;
	font-size: 0.8em;
	color: var(--pico-contrast) !important;
	margin-bottom: 2em;
}
/* --------------------------------------------- 00 Collezioni grid */



.coll-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 1.8rem;
}
/* ----------------  colonna sinistra*/

.collezione-left {
	grid-column: 1 / 2;
	margin-bottom: 1.5rem;
}
/* ----------------  colonna destra*/

.collezione-right {
	grid-column: 2 / 3;
	margin-bottom: 1.5rem;
}


/* --------------------------------------------------- Responsive per home page */


@media (max-width: 1024px) {
 .coll-grid {
 grid-template-columns: 1fr;
}
 .collezione-right {
 grid-column: 1 / 2;
}
}
.collezione-right p {
	color: var(--pico-contrast);
	font-size: 100%;
}
.collezione-right h3 {
	font-family: 'theinhardt', sans-serif !important;
	color: var(--pico-contrast);
	font-size: 1.5em;
}
.collezione-left p {
	color: var(--pico-contrast);
	font-size: 100%;
}
.collezione-left h3 {
	font-family: 'theinhardt', sans-serif !important;
	color: var(--pico-contrast);
	font-size: 1.5em;
}
details summary {
	font-family: 'theinhardt', sans-serif !important;
	/*color: var(--pico-contrast) !important;*/
	color: #000000;
	font-size: 1em;
	font-weight: 600;
	list-style: none;
	position: relative;
	padding-left: 2rem;
}
        
        /* Nasconde la freccia su WebKit */
        details summary::-webkit-details-marker {
 display: none;
}
        
        /* Aggiunge il simbolo + personalizzato a sinistra */
        details summary::before {
 font-family: 'theinhardt', sans-serif !important;
 font-weight: 100;
 /*content: '+';
 content: '\002B';*/
 position: absolute;
 left: 0;
 top: 0;
 transition: all 0.2s ease;
 font-size: 1.2em;
 /*font-weight: bold;
 color: var(--pico-contrast);*/
 color:#000; 
 line-height: 1;
}
        
/* Cambia in - quando Ã¨ aperto */
details[open] summary::before {
	/*content: '-';
	content: "\2212";*/
}
        
        /* Opzionale: aggiunge un po' di hover effect */
        details summary:hover::before {
 color: var(--pico-contrast);
}



/*non fa comparire la freccia di default di pico*/
details summary::after {
 display: none !important;
}
.orari-grid {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 1rem;
	margin: 0;
	padding: 0;
}
.orari-grid > div {
	padding:  0;/*            border:1px solid red;*/
        }
 .orari-grid > div:nth-child(-n+2) {
 border-top: 2px solid var(--border-color);
}
.giorno {
	font-weight: 600;
	text-transform: capitalize;
}
.ora {
	color: var(--primary);
}
.cookie-banner {
	position: fixed;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	width: min(90%, 520px);
	background: rgba(255, 255, 255, 0.98);
	color: #333;
	border: 2px solid #ccc;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	display: none;
	z-index: 99999;
	font-family: Georgia, "Times New Roman", serif;
}
.cookie-banner-content {
	padding: 16px 20px;
}
.cookie-banner p {
	margin: 0 0 12px 0;
	font-size: 14px;
	line-height: 1.6;
	color: #444;
}
.cookie-banner a {
	color: #005b9f;
	text-decoration: underline;
}
.cookie-buttons {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
}
.cookie-banner button {
	padding: 8px 16px;
	font-size: 14px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}
#reject-cookies {
	background: #f1f1f1;
	color: #333;
}
#reject-cookies:hover {
	background: #e1e1e1;
}
#accept-cookies {
	background: #005b9f;
	color: #fff;
}
#accept-cookies:hover {
	background: #004a7c;
}
/* INIZIO SLIDESHOW */
  .slideshow-container {
	display: flex;
	overflow-x: auto; /* Abilita lo scorrimento */
	scroll-snap-type: x mandatory; /* Aggancio orizzontale obbligatorio */
	scroll-behavior: smooth; /* Scorrimento fluido */
	gap: 1rem;
	padding-bottom: 1rem;
	scrollbar-width: none; /* Firefox */
}
.slide {
	flex: 0 0 100%; /* Ogni slide occupa il 100% */
	scroll-snap-align: start; /* Aggancia all'inizio */
	margin-bottom: 0;
}
.slide img {
	width: 100%;
	height: 100%; /* Altezza fissa o responsive */
	object-fit: cover; /* Mantiene proporzioni */
	border-radius: var(--pico-border-radius);
}
.slider-nav {
	display: flex;
	justify-content: flex-end; /* Allinea gli elementi a destra */
	gap: 0.5rem;
	padding: 0.2rem 0;
}
/* Se preferisci usare i margini (utile se hai altri elementi a sinistra) */
.slider-nav {
	display: flex;
	margin-left: auto;
	width: max-content; /* Stringe il contenitore alla dimensione dei tasti */
	color:#FFF;
}
.titolo_image {
	position: relative;
    left: 50%;
	bottom: 20px; /* Lo abbassa verso il fondo */
	transform: translate(-50%, -50%);
	background-color: #fff;
	color:#000;
	border-radius: 70px 70px 0 0;
	text-transform: uppercase;
	margin: 0;
	padding: 0.75rem 2rem;
	white-space: nowrap;
	font-size: 1.2rem;
	font-weight:normal;
	letter-spacing:2px;
	font-weight: bold;
	width:70%;
	text-align:center;
}
.logo_slide {
	position: absolute;
    right: 50px;
	top: 50px;
	transform: translate(-50%, -50%);
	margin: 0;
	padding: 0.75rem 2rem;
	width:50%;
	max-width:100px;
}
/* slider gallery */
/* Contenitore principale per posizionare le frecce */
  .gallery-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}
/* Lo slider vero e proprio */
  .gallery-slider {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	gap: var(--pico-spacing);
	scrollbar-width: none; /* Nasconde scrollbar su Firefox */
}
 .gallery-slider::-webkit-scrollbar {
 display: none; /* Nasconde scrollbar su Chrome/Safari */
}
/* Ogni elemento della galleria (4 per schermata su desktop) */
  .gallery-item {
 flex: 0 0 calc(25% - (var(--pico-spacing) * 0.75));
	scroll-snap-align: start;
}
.gallery-item img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	border-radius: var(--pico-border-radius);
}
/* Frecce di navigazione */
  .nav-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(5, 129, 141, 0.8) !important; /* Il tuo colore */
	border: none;
}
.btn-prev {
	left: -25px;
}
.btn-next {
	right: -25px;
}

  /* Responsive: 2 immagini su tablet, 1 su mobile */
  @media (max-width: 992px) {
 .gallery-item {
flex: 0 0 calc(50% - var(--pico-spacing));
}
}
 @media (max-width: 576px) {
.logo{
	width:200px;
}
.gallery-item {
flex: 0 0 100%;
}
 .nav-btn {
display: none;
} /* Su mobile si usa il pollice */
}
/* ANIOMAZIONE HOME */

.fade-in {
	opacity: 1;
	animation-name: fadeInOpacity;
	animation-iteration-count: 1;
	animation-timing-function: ease-in;
	animation-duration: 4s;
}

@keyframes fadeInOpacity {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

  .full-page-container {
	position: relative;
	width: 100%;
	height: 100vh;
	max-height: 600px;
	/*background-color: #007a7c;*/
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}
.statue-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}
/* Contenitore per centrare la scritta */
.welcome-wrapper {
	position: relative;
	z-index: 2;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.welcome-text {
	font-size: clamp(4rem, 8vw, 9rem);
	font-weight:100;
	line-height: 0.85;
	color: white;
	pointer-events: none;
	text-transform: uppercase;
}
/* Assicuriamoci che le linee siano pronte per l'animazione */
.line {
	display: block;
	opacity: 0; /* Partenza invisibile per evitare flash */
	will-change: transform, opacity;
}
.side-text {
	position: absolute;
	/*font-family: sans-serif;
	Aumentato: il primo valore (1.2rem) è il minimo, 
	il secondo (3vh) è la dimensione fluida, 
	il terzo (2.5rem) è il massimo 
    font-size: clamp(1.2rem, 6vh, 4.0rem);*/
	font-size: 45px;
	z-index: 3;
	color: white;
	text-transform: uppercase;
	letter-spacing: 3px;
	opacity: 0;
}
.benvenuto {
	left: 5%;
	top: 40%;
	/*transform: translateY(-50%);
	border-bottom: 2px solid white;*/
	padding-bottom: 5px;
}
.willkommen {
	right: 5%;
	top: 40%;
	/*transform: translateY(-50%);
	border-top: 2px solid white;*/
	padding-top: 5px;
}
 @media (max-width: 768px) {
 .benvenuto {
top: 12%;
left: 50%;
/*transform: translateX(-50%);*/
border: none;
}
 .willkommen {
top: auto;
bottom: 15%;
right: 50%;
/*transform: translateX(50%);*/
border: none;
}
.border-right {
	border-right:none!important;
}
}
 @media (max-width: 576px) {
 .benvenuto {
top: 15%;
left: 50%;
/*transform: translateX(-50%);*/
border: none;
text-align:center;
}
 .willkommen {
top: 20%;
right: 50%;
/*transform: translateX(50%);*/
border: none;
text-align:center;
}
}
/*input, select, textarea, button, [type=submit], [type=reset], [type=button], [type=file]::file-selector-button, [role=button]{*/
input, select, textarea, button, [type=submit], [type=reset], [type=button], [type=file]::file-selector-button{
    outline: none;
    background-color: none;
    box-shadow: none;
    color: #000;
	border:1px solid #000;
}
input::placeholder,
input::-webkit-input-placeholder,
textarea::placeholder,
textarea::-webkit-input-placeholder,
select:invalid {
  color: #333;
  opacity: 1;
}
.social-icon{
	color:#000;
}

/* BX SLIDER INT */
.bx-wrapper {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
	margin-bottom: 40px;
	background: none;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active, .bx-wrapper .bx-pager.bx-default-pager a:focus {
    background: #FFF;
}
.bx-wrapper .bx-pager.bx-default-pager a {
    background: rgba(255,255,255,0.3);
    text-indent: -9999px;
    display: block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    outline: 0;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 10px;
}
.bx-wrapper .bx-prev {
    left: 10px;
    background: url(/images/icone/ico_long_left.svg) no-repeat 0 0px!important;
	background:none;
}
.bx-wrapper .bx-next {
    right: 10px;
    background: url(/images/icone/ico_long_right.svg) no-repeat 0 0px!important;
	background:none;
}
.bx-wrapper .bx-next:hover, .bx-wrapper .bx-next:focus {
    background-position: 0px 0;
}
/*.bx-wrapper, .bx-viewport {
    height: 700px !important;
}*/
.bxslider img{
	padding:0px;
	border: none;
}
.bx-wrapper .bx-caption {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
	background:none ;
}
.bx-wrapper .bx-caption span {
	font-family: "Bodoni Moda", serif;
	position: relative;
    left: 50%;
	bottom: 0px;
	transform: translate(-50%, -50%);
	/*
	background-color: #fff;
	width:70%;*/
	color:#000;
	border-radius: 50px 50px 0 0;
	text-transform: uppercase;
	margin: 0;
	font-size: 1.0rem;
	font-weight:normal;
	letter-spacing:1px;
	
	text-align:center;
    padding: 10px;
}
.bx-wrapper .bx-controls-direction a {
    position: absolute;
    top: 50%;
    margin-top: -16px;
    outline: 0;
    width: 60px;
    height: 30px;
    text-indent: -9999px;
    z-index: 1000;
}

.image-overlay:before {
    content:'\A';
    position:absolute;
    width:100%; height:100%;
    top:0; left:0;
    background:rgba(0,0,0,0.6);
    opacity:0;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.image-overlay:before {
    opacity:1;
}
.image-overlay:hover:before {
    opacity:0;
}
@media only screen and (min-width : 1024px) {
   .collapse-menu {
        display: none!important;
    }
}
@media (max-width: 991.98px) { /* Modifica il breakpoint in base alla tua classe navbar-expand-* */
  .navbar-collapse {
    position: fixed;
    top: 110px; /* Altezza standard della navbar BS4, regola se necessario */
    left: 0;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    width: 100%;
    height: 100%;
    z-index: 1050; /* Superiore al contenuto standard */
    background-color: rgba(255,255,255,1); /* bianco per aree informative */
  }
}
.navbar {
  /*z-index: 1080 !important;*/ /* Valore superiore a modal e dropdown standard */
}

.footer_indirizzo p{
	text-align:right;
}
.footer_indirizzo strong{
	font-weight:600;
	font-size:130%;
	margin:0 0 0 10px;
}
.pacchetti_museali img{
	max-height:50px;
}
/* ACCORDION */
/* ---------------------------------------------------------------------------- accordion in visita*/
.accordion {
	margin-top:2em;
	margin-bottom: 2em;
}
.accordion-header{
	font-weight:600!important;
}
.accordion-body{
	margin-bottom:1em;}
.accordion-button:not(.collapsed)::after {
    /*background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e);
    transform: rotate(0deg);*/
	content: "-";
	flex-shrink: 1;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: 0;
	float:left;
}
.accordion-button::after {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    margin-left: auto;
	float:left;
    content: "+";
	
    /*background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e);
	transform: rotate(90deg);*/
    background-repeat: no-repeat;
    background-size: 1.25rem;
    transition: transform .2s ease-in-out;
}

.bg_verde {
	background-color:#05818d!important;
	color:#FFFFFF!important;
}
.bg_verde p , .bg_verde h2{
	color:#FFFFFF!important;
}
.bg_marrone {
	background-color:#966a4d!important;
	color:#FFFFFF!important;
}
.bg_marrone p , .bg_marrone h2{
	color:#FFFFFF!important;
}



.img-home {
  transition: filter 0.5s ease; /* Rende il passaggio fluido */
}

.img-home:hover {
  /* Applica un filtro seppia/colore al passaggio 
  filter: rgba(255, 99, 71, 0.2);*/
  opacity:0.8;
}

/* LIGHTBOX */
.lb-nav a.lb-prev {
    width: 30%;
    left: 0px;
    float: left;
    background: url(/images/icone/ico_left.svg) left 48% no-repeat;
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(148deg) brightness(95%) contrast(103%);
    opacity: 0;
    transition: opacity var(--lb-nav-transition-speed);
	margin-left:30px;
}
.lb-nav a.lb-next {
    width: 30%;
    right: 0px;
    float: right;
    background: url(/images/icone/ico_right.svg) right 48% no-repeat;
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(148deg) brightness(95%) contrast(103%);
	opacity: 0;
    transition: opacity var(--lb-nav-transition-speed);
	margin-right:30px;
}
.lb-data .lb-close {
    display: none;
}
.lb-data .lb-number {
    display: none!important;
}
.lb-data .lb-caption {
    font-size: 13px;
    font-weight: 400;
    line-height: 1em;
    display: block;
    padding-bottom: 20px;
}
.logo-sezione {
    position:relative;
    top: 20px;
    right: 20px;
	z-index:999;
	float:right;
}
.img_recolor{
	padding:1px;
	width:100%;
}
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Nero con 50% opacità */
    z-index: 1; /* Posiziona l'overlay sopra l'immagine */
}




.form_prenotazioni input, .form_prenotazioni select, .form_prenotazioni textarea, .form_prenotazioni button, .form_prenotazioni [type=submit], .form_prenotazioni [type=reset], .form_prenotazioni [type=button], .form_prenotazioni [type=file]::file-selector-button{
    outline: none;
    background-color: #05818d;
    box-shadow: none;
    color: #FFFFFF!important;
	border:none;
	border-bottom:1px solid #FFFFFF;
	border-radius:0;
}

 .form_prenotazioni textarea {
    outline: none;
    background-color: #05818d;
    box-shadow: none;
    color: #FFFFFF!important;
	border:1px solid #FFFFFF;
	border-radius:0;
	height:150px;
}

.form_prenotazioni button, .form_prenotazioni [type=submit], .form_prenotazioni [type=button]{
    outline: none;
    background-color: #FFFFFF;
    box-shadow: none;
    color: #05818d!important;
	border:none;
	border-radius:0;
	width:auto;
	padding:0px 50px;
	font-size:16px;
	font-weight:600;
}

.form_prenotazioni [type=checkbox]{
    outline: none;
    background-color: #05818d;
    box-shadow: none;
    color: #FFFFFF!important;
	border:1px solid #FFFFFF;
	border-radius:0;
}


.form_prenotazioni input::placeholder,
.form_prenotazioni input::-webkit-input-placeholder,
.form_prenotazioni textarea::placeholder,
.form_prenotazioni textarea::-webkit-input-placeholder,
.form_prenotazioni select:invalid {
  color: #efefef;
  opacity: 1;
}