html, body {
  overflow-x: hidden;
  width: 100%;
  margin: 0;
  padding: 0;
}

#header > section > nav > section.navbar-section.desktop-menu {
  display: none !important;
}

#header > section > nav > section.navbar-section.logo > a > svg {
  display: none !important;
}

.mobile-menu {
  display: none !important;
}

.custom-navbar ul {
  display: inline-flex;
  list-style: none;
  gap: 2rem;
  padding: 0;
  margin: 0;
}
.custom-navbar a {
  text-decoration: none;
  color: #04040a;
  font-size: 1.2rem;
}

.logo {
    position: absolute;
    bottom: 172%;
    left: 34%;
    width: 35%;
    z-index: 999;
    cursor: pointer;
}

.carousel {
  position: relative;
  width: 100%;
  height: 100%;
}

.carousel-track {
  display: flex;
  transition: transform 0.5s ease;
}

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

.carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carousel-button {
  position: absolute;
  top: 82%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0);
  color: white;
  border: none;
  font-size: 2rem;
  cursor: pointer;
  z-index: 5;
}

.carousel-button.prev { left: 10px; }
.carousel-button.next { right: 10px; }

.carousel-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  opacity: 75%;
}

.carousel-dots button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  background-color: #ccc;
  cursor: pointer;
}

.carousel-dots button.active {
  background-color: #333;
}

.banner {
    width: auto;
    object-fit: cover;
    display: block;
}

.overlay-text {
    position: absolute;
    left: 3%;
    color: white;
    font-size: 2rem;
}

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

.custom-navbar {
    position: absolute;
    width: 100%;
    left: 0;
    text-align: center;
    z-index: 10;
    font-family: 'Basic Sans', sans-serif;
}

.custom-navbar ul {
  display: inline-flex;
  list-style: none;
  gap: 2.2rem;
  padding: 0;
  margin: 0;
}

.custom-navbar a {
  text-decoration: none;
  color: #04040a;
  display: inline-block;
  position: relative;
  line-height: 1;
}

#header {
  display: none;
}

body {
   font-family: 'Plus Jakarta Sans', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 500;
}

p {
  font-family: 'Libre Baskerville', Georgia, 'Times New Roman', serif;
}

.header-fixed #body-wrapper {
  padding-top: 0px !important;
}

#body-wrapper > section > div > section.carousel-section > div > div.carousel-track > div:nth-child(1) > span {
  margin-left: 97%;
  color: white;
  font-size: 20px;
  position: relative;
  top: -8%;
  right: 1%;
}

.carousel-section {
  position: relative;
  height: 1080px;
  overflow: hidden;
}

.carousel-section {
  height: 100%;
}

.container.grid-lg{
  max-width: 100vw;
}

.dropdown-content a {
  color: #04040a;
  padding: 14px 20px;
  text-decoration: none;
  display: block;
  text-align: center;
  font-size: small;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  min-width: 100%;
  box-sizing: border-box;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #ffffff69;
  backdrop-filter: blur(4px);
  z-index: 100;
  width:120%;
}

.dropdown:hover .dropdown-content {
  display: block;
  animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to   { opacity: 1; transform: translateY(0); }
}

.banner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0); /* Cambia 0.4 per regolare trasparenza */
  z-index: 1;
}

.banner img {
  width: 100%;
  height: auto;
  display: block;
  background-color: #04040a;
}

.overlay-text {
  position: absolute;
  color: white;
  font-size: 2rem;
  text-align: center;
  text-shadow: 0px 0px 6px black;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1.2;
  z-index: 2;
}

.overlay-text p {
  font-size: 1rem;
  margin: 0.5rem 0 0;
}

/*.carousel-info-popup {
  position: absolute;
  max-width: 300px;
  background: rgba(0, 0, 0, 0.85);
  color: white;
  padding: 1rem;
  border-radius: 6px;
  z-index: 999;
  right: 30px;
  bottom: 100px;
  animation: popupAppear 0.3s ease-out;
  box-shadow: 0 0 10px black;
  pointer-events: auto;
}*/

/*
@keyframes popupAppear {
  from {
    opacity: 0;
    transform: translate(30px, 30px);
  }
  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}

.carousel-info-popup h3 {
  margin: 0 0 0.5rem 0;
  font-size: 1.2rem;
  text-transform: uppercase;
}

.carousel-info-popup p {
  font-size: 0.95rem;
  line-height: 1.4;
}*/

.carousel-info-popup {
  position: absolute;
  background-color: #ffffff69;
  /*background: rgba(255, 255, 255, 0.77);*/
  color: rgb(0, 0, 0);
  padding: 1rem;
  border-radius: 0px;
  z-index: 999;
  max-width: 300px;
  transform-origin: bottom right;
  animation: popupFromCorner 0.3s ease-out;
  backdrop-filter: blur(4px);
  /*box-shadow: 0 0 10px black;*/
}

@keyframes popupFromCorner {
  from {
    opacity: 0;
    transform: scale(0.6);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.carousel-info-popup h3 {
  margin: 0 0 0.5rem 0;
  font-size: 1.2rem;
  text-transform: uppercase;
  display:none;
}

.carousel-info-popup p {
  font-size: 0.95rem;
  line-height: 1.4;
}


.info-icon {
  position: absolute;
  bottom: 133px; /* o proporzionale */
  right: 88px;
  background: rgba(0, 0, 0, 0);
  color: white;
  border-radius: 50%;
  padding: 5px 10px;
  font-size: 20px;
  z-index: 5;
  cursor: pointer;
}

#body-wrapper > section > div > section > div > div.carousel-track > div:nth-child(2) > span{
    margin-left: 97%;
    color: white;
    font-size: 20px;
    position: relative;
    top: -8%;
    right: 1%;
}

#body-wrapper > section > div > section > div > div.carousel-track > div:nth-child(3) > span{
    margin-left: 97%;
    color: white;
    font-size: 20px;
    position: relative;
    top: -8%;
    right: 1%;
}

#body-wrapper > section > div > section > div > div.carousel-track > div:nth-child(4) > span{
    margin-left: 97%;
    color: white;
    font-size: 20px;
    position: relative;
    top: -8%;
    right: 1%;
}

#body-wrapper > section > div > section > div > div.carousel-track > div:nth-child(5) > span{
    margin-left: 97%;
    color: white;
    font-size: 20px;
    position: relative;
    top: -8%;
    right: 1%;
}

#body-wrapper > section > div > section > div > div.carousel-track > div:nth-child(6) > span{
    margin-left: 97%;
    color: white;
    font-size: 20px;
    position: relative;
    top: -8%;
    right: 1%;
}

#body-wrapper > section > div > section > div > div.carousel-track > div:nth-child(7) > span{
    margin-left: 97%;
    color: white;
    font-size: 20px;
    position: relative;
    top: -8%;
    right: 1%;
}

#body-wrapper > section > div > section > div > div.carousel-track > div:nth-child(8) > span{
    margin-left: 97%;
    color: white;
    font-size: 20px;
    position: relative;
    top: -8%;
    right: 1%;
}

#body-wrapper > section > div > section > div > div.carousel-track > div:nth-child(9) > span{
    margin-left: 97%;
    color: white;
    font-size: 20px;
    position: relative;
    top: -8%;
    right: 1%;
}

#body-wrapper > section > div > section > div > div.carousel-track > div:nth-child(10) > span{
    margin-left: 97%;
    color: white;
    font-size: 20px;
    position: relative;
    top: -8%;
    right: 1%;
}

#body-wrapper > section > div > section > div > div.carousel-track > div:nth-child(11) > span{
  margin-left: 97%;
  color: white;
  font-size: 20px;
  position: relative;
  top: -8%;
  right: 1%;
}


.info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /*background: #f5f5f5;*/
  background: white;
  padding: 2rem;
  gap: 1rem;
  align-items: center;
  text-align: left;
  font-size: 1rem;
  color: #04040a;
  font-size: small;
}

.info-grid .grid-col {
  display: flex;
  justify-content: left;
  align-items: center;
  flex-direction: column;
  font-size: small;
}

.footer-logo {
  max-width: 75%;
  height: auto;
}

.center-content p {
  margin: 0;
  line-height: 1.5;
}

.link-list a {
  text-decoration: none;
  color: #04040a;
  font-weight: 500;
  line-height: 1.7;
  transition: color 0.2s ease;
}

.link-list a:hover {
  color: #000;
}

#body-wrapper > section > div > div.info-grid{
  font-size: small;
}

.banner {
  position: relative;
  overflow: hidden;
}

/* Remove default dark overlay unless hovered */
.banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4); /* Adjustable opacity */
  z-index: 1;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

/* Only show dark overlay on hover */
.banner:hover::before {
  opacity: 1;
}

/* Overlay text */
.overlay-text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: white;
  text-align: center;
  width: 100%;
  padding: 1em;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

/* Show text only on hover */
.banner:hover .overlay-text {
  opacity: 1;
  pointer-events: auto;
}


/* Banner immagine */
.biografia-banner {
  position: relative;
  width: 100%;
  overflow: hidden;
  height: auto;
}

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



.bio-banner{
  padding-top: 20%;
}



.bio-links {
  margin-top: 30px;
}

.bio-links ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bio-links ul li {
  position: relative;
  width: 100%;
  margin-bottom: 1rem;
  padding-left: 33%;
  box-sizing: border-box;
}

.bio-links a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
  font-size: larger;
}

.bio-links a.selected {
  color: #f5871f;
}

.bio-links a.active {
  color: #f5871f;
  font-weight: bold;
}

.bio-links a.active::before,
.bio-links li a.active::before {
  color: #f5871f;
}

body.page-biografia .logo, body.page-lebiblioteche .logo, .page-progetti .logo,
body.page-chisiamo .logo, body.page-archivio .logo, body.page-contatti .logo,
body.page-persone .logo, body.page-home .logo, body.page-bibliografia .logo {
  position: absolute;
  bottom: 172%;
  left: 34%;
  /*top: -11.98em;*/
  width: 35%;
  z-index: 999;
}

.page-biografia #vita > div > h4 {
  font-size: large;
}

.page-lebiblioteche #vita > div > h4 {
  font-size: large;
}

.page-progetti #vita > div > h4 {
  font-size: large;
}

.page-chisiamo #vita > div > h4 {
  font-size: large;
}

.page-archivio #vita > div > h4 {
  font-size: large;
}

.page-contatti #vita > div > h4 {
  font-size: large;
}

.page-persone #vita > div > h4 {
  font-size: large;
}

.page-home #vita > div > h4 {
  font-size: large;
}

.page-bibliografia #vita > div > h4 {
  font-size: large;
}

body.page-biografia, body.page-lebiblioteche, body.page-progetti, body.page-chisiamo, body.page-archivio,
body.page-contatti, body.page-persone, body.page-home, body.page-bibliografia {
    margin: 0;
    padding: 0;
  background-color: white;
}

.page-biografia .dropdown-content.biografia-dropdown a, .page-lebiblioteche .dropdown-content.biografia-dropdown a,
.page-progetti .dropdown-content.biografia-dropdown a, .page-chisiamo .dropdown-content.biografia-dropdown a,
.page-archivio .dropdown-content.biografia-dropdown a, .page-contatti .dropdown-content.biografia-dropdown a,
.page-persone .dropdown-content.biografia-dropdown a, .page-home .dropdown-content.home-dropdown a, 
.page-bibliografia .dropdown-content.biografia-dropdown a {
  color: darkred;
}

.page-biografia .dropdown-content.biografia-dropdown a:hover, .page-lebiblioteche .dropdown-content.biografia-dropdown a:hover
.page-progetti .dropdown-content.progetti-dropdown a:hover, .page-chisiamo .dropdown-content.chisiamo-dropdown a:hover,
.page-archivio .dropdown-content.archivio-dropdown a:hover, .page-contatti .dropdown-content.contatti-dropdown a:hover,
.page-persone .dropdown-content.persone-dropdown a:hover, .page-home .dropdown-content.home-dropdown a:hover,
.page-bibliografia .dropdown-content.biografia-dropdown a:hover {
  background-color: #f0e0e0;
}

body.page-biografia .bio-banner, body.page-lebiblioteche .bio-banner,
body.page-progetti .bio-banner, body.page-chisiamo .bio-banner,
body.page-archivio .bio-banner, body.page-contatti .bio-banner,
body.page-persone .bio-banner, body.page-home .bio-banner, body.page-bibliografia .bio-banner {
    padding-top: 10%;
    margin-top: 15%;
}

body.page-biografia #body-wrapper .container, body.page-lebiblioteche #body-wrapper .container,
body.page-progetti #body-wrapper .container, body.page-chisiamo #body-wrapper .container,
body.page-archivio #body-wrapper .container, body.page-contatti #body-wrapper .container,
body.page-persone #body-wrapper .container, body.page-home #body-wrapper .container, body.page-bibliografia #body-wrapper .container {
    padding: 0 !important;
}



.bio-box {
    /* padding-left: 1rem; */
    margin-bottom: -0.5rem;
    /* background: #ffffff; */
    transition: all 0.3s ease;
    overflow: hidden;
    position: relative;
    /* margin-left: 1rem; */
    font-size: 19px;
}

.bio-box.expanded {
  max-height: none;
}
.bio-box .extra-text {
  margin-top: 1rem;
  display: none;
}
.bio-box.expanded .extra-text {
  display: block;
}

.expand-btn {
    background-color: white;
    color: rgb(146 150 144);
    border: none;
    padding: 0.5rem 1rem;
    cursor: pointer;
}

.bio-photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20%, 1fr));
    gap: 1.5rem;
    /*margin-top: 3rem;*/
    margin-left: 3em;
    margin-top: 10px;
}

.bio-photo-grid img {
  width: 100%;
  height: auto;
  /*border-radius: 8px;*/
}

#vita > h4{
  margin-bottom: 30px;
}

.bio-content {
  font-size: large;
}

.extra-text {
  margin-left: 2rem; /* oppure 20px, o quello che preferisci */
}

#vita{
    margin-left: 3em;
    max-width: 1000px;
    display: flex;
    flex-direction: column;
    align-content: stretch;
    justify-content: space-evenly;
    font-size: 16px;
    width: 100%;
    padding: 2rem 0 2rem;
    margin: 40px auto;
}

.banner-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.banner-link .banner {
  cursor: pointer;
}

/*GALLERIA BIOGRAFIA*/

.bio-photo-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 columns */
  gap: 20px;
  max-width: 1000px;
  margin: 40px auto;
  margin-top: 10px;
}

.bio-photo {
  text-align: center;
  cursor: pointer;
}

.bio-photo img {
  width: 100%;
  height: auto;
}

.photo-year {
  margin-top: 5px;
  font-weight: bold;
  font-size: 0.9em;
}


.gallery-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background-color: rgba(0, 0, 0, 1);
  overflow-x: auto;
  white-space: nowrap;
  padding: 40px 20px;
  box-sizing: border-box;
}

.gallery-images img {
  max-height: 90vh;
  margin-right: 10px;
}

.close-gallery {
  position: fixed;
  top: 20px;
  right: 30px;
  font-size: 2em;
  color: white;
  background: none;
  border: none;
  cursor: pointer;
}

.collapsible-text {
  max-height: 168px;
  overflow: hidden;
  position: relative;
  transition: max-height 0.5s ease;
}

.collapsible-text.expanded {
  max-height: 5000px; /* effectively "auto" */
}

.expand-btn {
  display: block;
  margin-top: -20px;
  background-color: transparent;
  color: gray;
  font-weight: bold;
  border: none;
  cursor: pointer;
  margin-top: 10px;
}

#bio-text {
  margin: 0 auto;
  margin-top: 40px;
}

.gallery-images {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 2rem;
  align-items: baseline;
  vertical-align: middle;
  flex-direction: row;
  align-content: flex-end;
  flex-wrap: nowrap;
  scrollbar-width: none;
}
.gallery-images img {
  transition: transform 0.4s ease, filter 0.4s ease;
  height: 60vh;
  margin: 0 0.5rem;
  object-fit: cover;
}

/* Effetto mobile: fronte leggermente margini laterali */
@media (max-width: 768px) {
  .gallery-images img.main {
    width: 90vw;
    height: auto;
  }
}





.gallery-images {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 2rem;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.gallery-images img {
  /*height: 300px;*/
  height: 25em;
  transition: transform 0.3s ease, filter 0.3s ease;
  cursor: pointer;
}

.gallery-images img.main {
  z-index: 2;
}

.gallery-arrow {
  position: absolute;
  top: 50%;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 10;
  cursor: pointer;
}

.left-arrow {
  left: 10px;
  transform: translateY(-50%) rotate(180deg);
}

.right-arrow {
  right: 10px;
  transform: translateY(-50%);
}

/*carousel arrows*/
.arrow {
  width: 30px;
  height: auto;
  transition: transform 0.3s;
  pointer-events: none; /* ensures button still handles clicks */
}

.arrow-left {
  transform: rotate(180deg);
}

.arrow-right {
  transform: rotate(0deg);
}


@media (max-width: 768px) {
  .gallery-arrow {
    width: 30px;
    height: 30px;
  }

  .gallery-images img {
    height: 220px;
  }
}

.bio-links li {
  list-style: none;
  position: relative;
  padding-left: 14px;
}

.bio-links li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: gray;
  font-weight: bold;
  transition: color 0.3s;
}

.bio-links li.active::before {
  color: #f5851f;
}

.bio-links li a {
  color: gray;
  text-decoration: none;
  transition: color 0.3s;
}

.bio-links li.active a {
  color: #f5851f;
  font-weight: bold;
}

.info-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
}

.grid-col {
  flex: 1;
  min-width: 200px;
}

.center-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.grid-col.center-content:nth-of-type(3) {
  justify-content: flex-end; /* move lower in the grid cell */
  margin-top: 40px; /* adjust as needed to align with Milano */
  color:black;
}

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

#footer {
  display: none !important;
}

/*NAVBAR GENERAL OVERRIDES*/

.custom-navbar-overlay-bio .dropbtn {
    cursor: pointer;
    font-size: 20px;
    border: none;
    padding: 8px 0 !important;
    transition: color 0.3s ease;
    margin-left: 0px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    background: none;
    color: black;
    font-weight: 400;
    vertical-align: baseline !important;
    line-height: 30px !important;
    display: inline-block !important;
    text-underline-offset: 5px !important;
    text-decoration-thickness: 1px !important;
}

.dropdown-content a:hover {
    color:#EF7F1F !important
}

#navigation-controller > nav > ul > li:nth-child(1) > div > a:nth-child(5) {
    padding-bottom: 20px !important;
}

#navigation-controller > nav > ul > li:nth-child(2) > div > a:nth-child(2) {
    padding-bottom: 20px !important;
}

.logo-overlay-bio {
    width: 100%;
    height: auto;
    display: block;
    cursor: pointer;
    width: 300px;
}

.custom-navbar-overlay-bio {
    order: 2;
    margin-top: -6px;
}

.custom-navbar-overlay-bio ul {
    display: flex;
    list-style: none;
    margin-top: clamp(0.2rem, 0.4vw, 0.4rem);
    padding: 0;
    gap: clamp(3rem, 4.3vw, 4.3rem);
}

.custom-navbar-overlay-bio .dropbtn:hover {
    text-decoration: underline;
}

.custom-navbar-overlay-bio .dropdown-content a {
border: none !important;
    padding: 6px 0px 0px 10px;
    display: block;
    font-size: 20px;
    transition: background-color 0.3s ease;
    font-weight: 200;
    text-align: left !important;
}

.custom-navbar-overlay-bio .dropdown-content a:hover {
color: black;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset:5px;
    border-radius: 0px;
    /*background-color: #f7f7f7cc;*/
    text-align: left !important;
}

/*FOOTER*/
.footer-container {
    --address-width: 210px;
    --nav-width: 210px;
    background: #f8f9fa;
    width: 100%;
    max-width: 1597px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 15.15% 25.83% 22.04% 25.83% 14.15% !important;
    grid-template-rows: auto        
        60px        
        auto        
        40px        
        auto;
    align-items: start;
    padding-left: 4%;
    padding-right: 4%;
    background-color: #f7f7f7;
    color:black !important;
    font-weight: 400 !important;
}

.footer-logo-section {
    grid-column: 3 !important;
    grid-row: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-main-logo {
    width: 352px;
    height: auto;
}

.footer-address {
    grid-column: 1;
    grid-row: 3;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.5;
    color: #000000 !important;
    text-align: left !important;
    align-self: center !important;
    justify-self: start !important;
    max-width: 210px;
}

.footer-address p {
    margin: 0;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    color: black !important;
}

.footer-navigation {
    grid-column: 5 !important;
    grid-row: 3 !important;
    display: flex;
    flex-direction: column;
    gap: 5px !important;/*20px;*/
    align-items: start !important;
    align-self: center !important;
    justify-self: start !important;
    width: 100% !important;
    max-width: 210px !important;
    font-size: 16px !important;
    color:black !important;
}

.footer-navigation a {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #000000ff;
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.3s ease;
}

.footer-navigation a:hover {
    color: #000000ff;
    text-decoration: underline;
    text-decoration-thickness: 1px;
}

.footer-nav-left, .footer-nav-right {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.footer-privacy {
    grid-column: 3 !important;
    grid-row: 5 !important;
    text-align: center !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    color: black !important;
    font-size: 0.75rem ;
    font-weight: 400 !important;
    color: #000000 !important;
    width: 100%;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.footer-privacy p {
    margin: 0 0 5px 0;
    font-size: 14px;
    line-height: 24px;
    font-weight: 400 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    color: black !important;
}

section.section {
    position: relative;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.footer-address p {
  white-space: nowrap;
}

#navigation-controller > nav > ul > li:nth-child(1) > div > a {
    font-size: 18px !important;
    font-weight: 300 !important;
    text-align: left !important;
    padding-left: 26px;
}

#navigation-controller > nav > ul > li:nth-child(2) > div > a {
    font-size: 18px !important;
    font-weight: 300 !important;
    text-align: left !important;
    padding-left: 26px !important;
}

.carousel-info-popup {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.8) !important;
    color: rgb(0, 0, 0);
    padding: 1rem;
    border-radius: 0px;
    z-index: 999;
    max-width: 300px;
    transform-origin: bottom right;
    animation: popupFromCorner 0.3s ease-out;
    backdrop-filter: blur(4px);
    text-transform: math-auto;
    opacity: 0.9 !important;
}

.custom-navbar-overlay-bio .dropdown-content {
    background-color: #f7f7f7CC;
    backdrop-filter: blur(10px);
    z-index: 1000;
    margin-top: -5px !important;
    margin-left: -24px !important;
    /*width: 139% !important;*/
    width: 155% !important;
    padding-right: 10px;
    /*opacity: 0.9 !important;*/
    opacity: 0.98 !important;
}

/*#navigation-controller > nav > ul > li:nth-child(1) > div > a:nth-child(1) {
    padding-top: 16px;
}

#navigation-controller > nav > ul > li:nth-child(2) > div > a:nth-child(1) {
    padding-top: 16px;
}*/

#navigation-controller > nav > ul > li:nth-child(1) > div > a:nth-child(1) {
    margin-top: 14px !important;
}

#navigation-controller > nav > ul > li:nth-child(2) > div > a:nth-child(1) {
    margin-top: 14px;
}

.biografia-main-title {
  color: black !important;
}

.footer-container {
    max-width: 100% !important;
}

#header > section > nav > section.navbar-section.logo {
  display: none !important;
}

#header > section > nav > section.navbar-section.desktop-menu {
  display: none !important;
}

.mobile-logo {
  display: none !important;  
}

.overlay-menu {
  display: none !important;
}

.footer-privacy > p:nth-child(2) > a {
  color: black !important;
}

.footer-privacy > p:nth-child(2) > a:hover {
  color: #EF7F1F !important;
}

.footer-nav-left > div.footer-right-container > a:hover {
  color: #EF7F1F !important;
}

.footer-nav-left > div.footer-left-container > a:hover {
  color: #EF7F1F !important;
}

.footer-privacy > p:nth-child(2) > a:hover {
  color: #EF7F1F !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset:5px !important;
}

.corrispondenzaTag {
  display: none !important;
}


.biografia-header-section-burger {
  display: none;
}

@media (max-width: 1000px) {
  
    .burger-menu-content-bio  {
      -ms-overflow-style: none;  /* IE and Edge */
      scrollbar-width: none;     /* Firefox */
    }

    .burger-menu-content-bio::-webkit-scrollbar {
      display: none; /* Chrome, Safari, Opera */
    }

    body.sticky-footer {
      display: -ms-flexbox !important;
      display: grid !important;
      grid-template-columns: 100% !important;
      height: 100% !important;
      min-height: 100vh !important;
      -ms-flex-direction: column !important;
    }

    #specific-content > div.bio-accordion-container {
      display: none !important;
    }

    #specific-content > div.bio-accordion-container-mobile {
      display: grid !important;
    }

    

    #desktop-header {
        display: grid !important;
        position: relative !important;
        width: 100vw !important;
        align-content: stretch !important;
        justify-content: center !important;
        align-items: center !important;
        grid-template-columns: 5.1% 20.5% 2.6% 20.5% 2.6% 20.5% 2.6% 12.5% 8% 5.1% !important;
        grid-template-rows: 33% 33% 33% !important;
    }

    .biografia-banner-section {
        aspect-ratio: auto !important;
        display: grid !important;
        grid-template-columns: 5.1% 20.5% 2.6% 20.5% 2.6% 20.5% 2.6% 20.5% !important;
        grid-template-rows: 100% !important;
    }

    #navigation-controller {
        display: block !important;
        max-width: 300px !important;
        width: auto !important;
        grid-column-start: 2 !important;
        grid-column-end: 5 !important;
        grid-row: 2 !important;
        border: none !important;
    }

    #banner-image-biografia {
        content: url("/user/themes/quark/images/banner_bio_ultima_mobile.jpg") !important;
        grid-column-start: 1 !important;
        grid-column-end: 10 !important;
    }

    .logo-overlay-bio {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        cursor: pointer !important;
        width: 300px !important;
        content: url("/user/themes/quark/images/logo-eco-black-mobile.png") !important;
    }

    .custom-navbar-overlay-bio {
        order: 2 !important;
        margin-top: -6px !important;
        display: none !important;
    }

    .burger-menu-bio {
        position: relative !important;
        top: 0 !important;
        display: block !important;
        z-index: 250 !important;
        background: none !important;
        cursor: pointer !important;
        grid-column: 9 !important;
        grid-row: 2 !important;
        grid-template-columns: 75% 25% !important;
        /*margin-top: 0;*/
        margin-top: -16px !important;
        width: 40px !important;
        height: 40px !important;
        align-items: stretch !important;
        align-content: center !important;
        justify-content: space-evenly !important;
        justify-items: stretch !important;
    }

    .biografia-title-container {
        text-align: center !important;
        display: grid !important;
        grid-template-columns: 5.1% 20.5% 2.6% 20.5% 2.6% 20.5% 2.6% 20.5% 5.1% !important;
        margin-top: -60px !important;
    }

    .biografia-main-title {
        position: relative;
        text-align: center !important;
        font-size: 40px;
        font-weight: 400;
        grid-column-start: 1 !important;
        grid-column-end: 11 !important;
        margin-bottom: 57px !important;
        letter-spacing: 0.5px;
        transition: font-size 0.3s ease, margin-top 0.3s ease !important;
        grid-column: 2;
        font-size: 40px !important;
        margin-top: 56px !important;
    }

    .biografia-main-subtitle {
        font-family: 'Libre Baskerville', Georgia, serif !important;
        font-size: 18pt !important;
        line-height: 25.2px !important;
        color: #000 !important;
        margin: 0 auto 130px !important;
        max-width: 100% !important;
        white-space: normal !important;
        transition: font-size 0.3s ease, margin-top 0.3s ease  !important;
        grid-column-start: 2 !important;
        grid-column-end: 9 !important;
        text-align: left !important;
    }

    .burger-icon-bio {
        grid-column: 1 !important;
        position: relative !important;
        width: 30px !important;
        height: 30px !important;
    }

    section#specific-content {
        display: grid !important;
        grid-template-columns: 5.1% 20.5% 2.6% 20.5% 2.6% 20.5% 2.6% 12.5% 8% 5.1% !important;
    }

    .photo-gallery-section {
        margin: 0px auto 40px auto !important;
        padding: 0 !important;
        grid-row: 3 !important;
        grid-column-start: 2 !important;
        grid-column-end: 10 !important;
        padding-top: 60px !important;
        border-top: 1px solid black !important;
    }

    #specific-content > div.bio-accordion-container-mobile {
        display: grid !important;
        grid-row: 1 !important;
        grid-column-start: 2 !important;
        grid-column-end: 10 !important;
        grid-template-rows: auto auto auto !important;
        margin-top: 65px !important;
    }

    .photo-gallery-container {
      padding: 0 !important;
    }


    /* Initially hide content in mobile container */
    .bio-accordion-container-mobile #biografia-content-mobile,
    .bio-accordion-container-mobile #autobiografia-subsections-mobile,
    .bio-accordion-container-mobile .chapter-content {
      transition: all 0.3s ease-out !important;
    }
    
    /* Active states */
    .bio-accordion-container-mobile .bio-section-title.active h3 {
      color: #f5871f  !important;
      text-decoration: underline !important;
      text-decoration-thickness: 1px !important;
      text-underline-offset: 5px !important;
    }
    
    .bio-accordion-container-mobile .bio-subsection-title.active {
      color: #000000ff  !important;
      font-weight: 700  !important;
    }

    .bio-subsection-title {
        padding: 8px 0 !important;
        cursor: pointer !important;
        transition: color 0.3s ease, font-weight 0.3s ease !important;
        font-size: 16pt !important;
        line-height: 1.4 !important;
        font-family: 'Libre Baskerville', Georgia, serif !important;
        font-weight: 400 !important;
        color: black !important;
    }

    .bio-subsection-title:active {
      font-weight: 700 !important;
    }

    .chapter-content {
        font-size: var(--bio-font-size) !important;
        color: black !important;
        font-family: 'Libre Baskerville', Georgia, serif !important;
        text-indent: 2em !important;
        font-weight: 600 !important;
        margin-top: 16pt !important;
        padding-top: 0 !important;
        line-height: 24pt !important;
    }

    .chapter-disclaimer {
        font-family: 'Libre Baskerville', Georgia, serif !important;
        font-size: 14pt !important;
        color: #888 !important;
        line-height: 21pt !important;
        margin-bottom: 20px !important;
        padding-bottom: 15px !important;
        border-bottom: 1px solid #e0e0e0 !important;
        font-weight: 400 !important;
        text-indent: 0 !important;
    }
    
    /* Ensure content appears under titles */
    .bio-accordion-container-mobile #biografia-content-mobile,
    .bio-accordion-container-mobile .chapter-content {
      padding: 20px 0 !important;
      border-bottom: 1px solid #e0e0e0 !important;
      margin-bottom: 15px !important;
    }
    

    .footer-container {
        --address-width: 210px !important;
        --nav-width: 210px !important;
        grid-template-columns: 5.1% 20.5% 2.6% 20.5% 2.6% 20.5% 2.6% 12.5% 8% 5.1%  !important;
        background: #f8f9fa !important;
        padding: 80px 0 !important;
        width: 100% !important;
        max-width: 1597px !important;
        margin: 0 auto !important;
        display: grid !important;
        grid-template-rows: 60px 100px 60px 40px 100px 90px 50px 60px  !important;
        padding-left: 4% !important;
        padding-right: 4% !important;
        background-color: #f7f7f7 !important;
        color: black  !important;
        font-weight: 400  !important;
        justify-items: stretch !important;
        justify-content: center !important;
        align-items: stretch !important;
        align-content: center !important;
    }

    .footer-logo-section {
        grid-template-columns: 1fr 1fr 1fr !important;
        grid-column-start: 1  !important;
        grid-row: 2 !important;
        align-items: center !important;
        grid-column-end: 10  !important;
        /* min-width: 150px; */
        /* max-width: 250px; */
        width: 92vw !important;
        margin-left: auto !important;
        margin-right: auto !important;
        display: grid !important;
        justify-items: center !important;
        justify-content: center !important;
        align-content: space-between !important;
    }

    .footer-main-logo {
        width: auto !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: auto !important;
        grid-column: 2 !important;
        max-width: 180px !important;
    }

    .footer-address {
        grid-column-start: 2  !important;
        grid-column-end: 10  !important;
        margin: 0 auto !important;
        grid-row: 3  !important;
        text-align: center  !important;
        display: grid !important;
        justify-items: center !important;
        justify-content: space-evenly !important;
        align-content: space-around !important;
        align-items: center !important;
    }

    .footer-address p {
        margin: 0 !important;
        font-family: 'Plus Jakarta Sans', sans-serif  !important;
        color: black  !important;
        font-size: 12px !important;
    }

    .footer-nav-left {
        display: grid !important;
        gap: 0 !important;
        grid-column-start: 1  !important;
        grid-column-end: 11  !important;
        grid-row: 5  !important;
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-size: 16px !important;
        color: black  !important;
        text-align: right !important;
        grid-template-columns: 5.1% 20.5% 2.6% 20.5% 2.6% 20.5% 2.6% 12.5% 8% 5.1%  !important;
        justify-items: stretch !important;
        justify-content: space-between !important;
        align-items: stretch !important;
        align-content: center !important;
    }

    .footer-right-container {
        text-align: left !important;
        white-space: nowrap !important;
        grid-column: 2 !important;
    }

    .footer-left-container {
        white-space: nowrap !important;
        text-align: left  !important;
        grid-column: 7 !important;
    }

    .footer-nav-right {
        display: none !important;
        gap: 0.5rem !important;
        grid-column: 5  !important;
        grid-row: 4  !important;
        grid-template-columns: 1fr 1fr !important;
    }

    .footer-privacy {
        font-family: 'Plus Jakarta Sans', sans-serif  !important;
        color: black  !important;
        width: 100% !important;
        grid-column-start: 3  !important;
        grid-column-end: 8  !important;
        grid-row: 7  !important;
        text-align: center  !important;
        display: block  !important;
        font-size: 0.9em  !important;
        line-height: 1em  !important;
    }

    .footer-privacy p {
        margin: 0 0 5px 0 !important;
        font-size: 12px !important;
        line-height: inherit !important;
        font-weight: inherit !important;
        font-family: 'Plus Jakarta Sans', sans-serif  !important;
        color: black  !important;
    }

    .biografia-header-section-burger {
        position: fixed !important;
        width: 100% !important;
        margin-bottom: 0 !important;
        right: -100% !important;
        transition: right 0.4s ease-in-out !important;
        background-color: #f5871f !important;
        display: grid  !important;
        align-items: center !important;
        z-index: 9999 !important;
    }

    div#burgerPanelBio-burger {
        grid-template-columns: 5.1% 20.5% 2.6% 20.5% 2.6% 20.5% 2.6% 12.5% 8% 5.1% !important;
        display: grid !important;
        justify-items: stretch !important;
        justify-content: space-around !important;
        align-items: center !important;
        align-content: space-between !important;
        order: 1 !important;
    }

    #desktop-header-burger {
        display: grid !important;
        position: relative !important;
        width: 100vw !important;
        align-content: stretch !important;
        justify-content: center !important;
        align-items: center !important;
        grid-template-columns: 5.1% 20.5% 2.6% 20.5% 2.6% 20.5% 2.6% 12.5% 8% 5.1% !important;
        grid-template-rows: 33% 33% 33% !important;
    }

    #navigation-controller-burger {
        display: block !important;
        max-width: 300px !important;
        width: auto !important;
        grid-column-start: 2 !important;
        grid-column-end: 5 !important;
        grid-row: 2 !important;
        border: none !important;
    }

    .logo-container-overlay-bio-burger {
        /**/
    }

    .logo-overlay-bio-burger {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        cursor: pointer !important;
        width: 300px !important;
    }

    .burger-icon-bio-burger {
        width: 30px !important;
        height: 24px !important;
        position: relative !important;
        transform: rotate(0deg) !important;
        transition: 0.5s ease-in-out !important;
    }

    .burger-icon-bio-burger img {
        filter: brightness(0) invert(1) !important;
    }

    .burger-menu-bio-burger {
        position: relative !important;
        top: 0 !important;
        display: block !important;
        z-index: 250 !important;
        background: none !important;
        cursor: pointer !important;
        grid-column: 9 !important;
        grid-row: 2 !important;
        grid-template-columns: 75% 25% !important;
        margin-top: 8px !important;
        width: 40px !important;
        height: 40px !important;
        align-items: stretch !important;
        align-content: center !important;
        justify-content: space-evenly !important;
        justify-items: stretch !important;
    }

    .burger-menu-item-bio {
        margin-bottom: 30px !important;
    }

    .burger-submenu-bio {
        list-style: none !important;
        padding-left: 50px !important;
        margin: 0 !important;
        font-weight: 400 !important;
    }

    #burgerCloseBio-burger {
        background-color: #f5871f !important;
    }

    .burger-panel-bio {
        /*position: fixed !important;
        top: 0;*/
        right: -100% !important;
        /*width: 100% !important;
        height: 100vh !important;
        background-color: #EF7F1F !important;
        z-index: 300 !important;
        transition: right 0.4s ease-in-out !important;
        overflow: hidden !important;
        margin-bottom: 0 !important;
        align-items: flex-start !important;
        display: flex !important;
        grid-template-columns: 5.1% 20.5% 2.6% 20.5% 2.6% 20.5% 2.6% 12.5% 8% 5.1% !important;
        grid-template-rows: 33% 33% 33% !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
        align-content: flex-start;*/
    }

    .burger-menu-content-bio {
        padding: 40px 20px !important;
        height: calc(100vh - 200px) !important;
        overflow-y: auto !important;
        font-size: 20px !important;
        width: 80% !important;
        grid-row: 2 !important;
        grid-column-start: 1 !important;
        grid-column-end: 10 !important;
        margin-top: 2% !important;
        margin-bottom: 100% !important;
    }

    .burger-navbar-container {
        display: grid !important;
        position: relative !important;
        width: 100vw !important;
        align-content: stretch !important;
        justify-content: center !important;
        align-items: end !important;
        grid-template-columns: 5.1% 20.5% 2.6% 20.5% 2.6% 20.5% 2.6% 12.5% 8% 5.1% !important;
        grid-template-rows: 33% 33% 33% !important;
        margin-top: -30px !important;
    }

    .burger-navbar {
        display: block !important;
        max-width: 300px !important;
        width: auto !important;
        grid-column-start: 2 !important;
        grid-column-end: 5 !important;
        grid-row: 3 !important;
        border: none !important;
    }

    .burger-close-bio {
        position: relative !important;
        top: 0 !important;
        display: block !important;
        z-index: 250 !important;
        background: none !important;
        cursor: pointer !important;
        grid-column: 9 !important;
        grid-row: 3 !important;
        margin-top: -16px !important;
        width: 40px !important;
        height: 40px !important;
        align-items: stretch !important;
        align-content: center !important;
        justify-content: space-evenly !important;
        justify-items: stretch !important;
    }

    .burger-close-icon-bio {
        width: 30px !important;
        height: auto !important;
        position: relative !important;
        display: block !important;
        align-items: center !important;
        justify-content: center !important;
    }

    #burgerCloseBio > div > img {
      filter: brightness(0) invert(1) !important;
    }

    .burger-submenu-bio {
        list-style: none !important;
        padding-left: 50px !important;
        margin: 0 !important;
        font-weight: 400 !important;
    }

    .burger-submenu-bio a {
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-weight: 400 !important;
        color: #fff !important;
        text-decoration: none !important;
        display: block !important;
        font-size: 1.45rem !important;
    }

    .burger-panel-header-bio {
        /* position: relative; */
        /* padding: 20px; */
        /* height: 150px; */
        /* display: flex; */
        /* justify-content: space-between; */
        /* align-items: flex-start; */
    }

    .burger-menu-title-bio {
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-weight: 400 !important;
        color: #fff !important;
        margin-bottom: 10px !important;
        text-decoration: none !important;
        display: block !important;
        font-size: 1.6rem !important;
    }

    .burger-panel-logo-bio {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        cursor: pointer !important;
        width: 300px !important;
    }
  }


  /*OVERRIDE ALTEZZA TITOLO E BANNER*/
  .biografia-main-title {
    margin-top: 60px !important;
  }

  .biografia-main-subtitle {
      margin: 0px auto 75px !important;
  }

  @media (max-width: 1000px) {
    .biografia-main-subtitle {
      margin: 0px auto 130px !important;
    }
  }