@charset "UTF-8";
.jconfirm-bg {
  background: rgba(0, 0, 0, 0.95) !important;
  opacity: 0.8 !important;
}

@keyframes blink {
  50% {
    opacity: 0;
  }
}
.blink {
  animation: blink 1s step-start infinite;
}

@keyframes fade {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
/* ALTEZZE */
@media (min-width: 768px) {
  .min-vh-md-50 {
    min-height: 50vh !important;
  }
}
.select2-container--bootstrap-5 .select2-dropdown {
  z-index: 99999999 !important;
}

.select2-container {
  z-index: 99999999 !important;
}

.badge-orange {
  background-color: var(--coloreGialloTrasp) !important;
  color: #666;
  font-size: 0.9rem;
}

.bg-nero {
  background: #666;
}

#filtersBar {
  background: var(--colorBgNero);
  color: white;
  border-radius: 20px;
}
#filtersBar .labelSection {
  font-size: 1.3em;
  font-weight: bold;
}
#filtersBar label.form-label {
  color: var(--coloreGiallo);
  font-weight: 400;
  font-size: 0.9em;
}
#filtersBar input, #filtersBar select {
  font-size: 0.8em;
}
#filtersBar .input-group-text {
  padding-left: 3px;
  padding-right: 3px;
}

body {
  /*background-color:#eee;*/
  color: var(--colorTextDef);
  font-family: "Rubik";
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
  margin: 0;
  padding: 0;
  width: 100%;
  /*background-image: url('/assets/img/bg.jpg');
  background-size: cover;
  background-position: center; 
  background-attachment: fixed;
  background-repeat: no-repeat;
  height: 300px;
  */
}

/*
body.home {
    background-image: url('/assets/img/bg.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    height: 300px;
}
    */
form input::placeholder {
  color: var(--coloreGiallo);
  opacity: 0.6;
}
form input.is-invalid {
  border-color: red !important;
}
form select.is-invalid + .select2 .select2-selection {
  border-color: red !important;
}

form:not(#seacrhFrm) {
  /* Contenitore della select */
  /* Modifica del colore della freccia */
  /* Quando la select è aperta */
  /* Testo allineato correttamente */
  /* Cambia lo sfondo quando è in focus */
  /* Personalizzazione dropdown */
}
form:not(#seacrhFrm) .is-invalid .select2-selection,
form:not(#seacrhFrm) .needs-validation ~ span > .select2-dropdown {
  border-color: red !important;
}
form:not(#seacrhFrm) .required {
  color: red;
  font-size: 0.8em;
}
form:not(#seacrhFrm) input, form:not(#seacrhFrm) select, form:not(#seacrhFrm) textarea {
  border-radius: 20px !important;
  border: 1px solid var(--coloreGiallo) !important;
}
form:not(#seacrhFrm) input.is-invalid, form:not(#seacrhFrm) select.is-invalid, form:not(#seacrhFrm) textarea.is-invalid {
  border-color: red !important;
}
form:not(#seacrhFrm) .errFrmGen {
  color: red;
  text-align: center;
  margin-top: 10px;
  font-weight: 700;
}
form:not(#seacrhFrm) .select2-selection {
  border: 1px solid var(--coloreGiallo);
  border-radius: 20px !important;
}
form:not(#seacrhFrm) .select2-container--default .select2-selection--single {
  background-color: white; /* Sfondo */
  border: 1px solid var(--coloreGiallo); /* Bordo giallo */
  display: flex;
  align-items: center;
  padding-left: 15px;
}
form:not(#seacrhFrm) .select2-container--default .select2-selection__arrow b {
  border-color: var(--coloreGiallo) transparent transparent transparent !important; /* Cambia il colore della freccia */
}
form:not(#seacrhFrm) .select2-container--default.select2-container--open .select2-selection__arrow b {
  border-color: transparent transparent var(--coloreGiallo) transparent !important;
  border-width: 0 5px 6px 5px !important;
}
form:not(#seacrhFrm) .select2-container--default .select2-selection__rendered {
  font-size: 10px;
  color: var(--colorTextDef);
  line-height: 40px;
}
form:not(#seacrhFrm) .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--coloreGiallo) !important; /* Cambia colore quando attivo */
}
form:not(#seacrhFrm) .select2-container--default .select2-dropdown {
  border: 1px solid var(--coloreGiallo);
  border-radius: 8px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

/*
.grecaptcha-badge { visibility: hidden; }
*/
.categSimple {
  padding: 5px;
  padding-left: 5px;
}

.cardEvent {
  /* Stili per la card */
  border: 0.5px solid var(--colorBorderCard) !important;
  border-radius: 15px !important;
  transition: opacity 0.3s ease !important; /* Transizione fluida */
  position: relative !important; /* Necessario per z-index */
  z-index: 1 !important; /* Portare la card in primo piano */
  height: 354px;
  /* Effetto loading su immagine */
  /* Stili per il badge */
  /* Stili per il contenuto della card */
}
.cardEvent.card:hover {
  opacity: 0.8;
  z-index: 10;
}
#novita-container .cardEvent .card-img-top {
  border-radius: 15px !important;
}
.cardEvent .card-img-top {
  border-radius: 12px !important;
  height: 200px;
}
.cardEvent .card-img-top.loading {
  height: 200px; /* Mantieni la stessa altezza dell'immagine reale */
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}
.cardEvent .infoBtnCard {
  display: flex;
  font-size: clamp(10px, 3vw, 12px);
  align-items: center; /* Centra verticalmente */
  justify-content: center; /* Centra orizzontalmente */
  padding: 5px 4px; /* Aggiusta il padding se necessario */
}
.cardEvent .btn-acq-event {
  color: var(--colorTextDef);
  background: var(--coloreGiallo);
  display: flex;
  align-items: center; /* Centra verticalmente */
  justify-content: center; /* Centra orizzontalmente */
  padding: 5px 4px; /* Aggiusta il padding se necessario */
  font-size: clamp(10px, 3vw, 12px);
}
.cardEvent .btn-acq-event:hover {
  background: #fff;
  color: var(--coloreGiallo);
  border: 1px solid var(--coloreGiallo);
}
.cardEvent .image-crop {
  width: 100%;
  max-height: 200px;
  object-fit: cover;
  object-position: center;
}
.cardEvent .badge {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: #FF5733; /* Colore di sfondo del badge */
  color: white;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 50px; /* Rende il badge rotondo */
  text-transform: uppercase; /* Testo in maiuscolo */
}
.cardEvent .card-body {
  height: 100px;
  padding: 10px;
  border-bottom: 0.5px solid #eee !important;
  background: #fff;
}
.cardEvent .card-body .luoEv {
  padding: 10px;
  overflow-wrap: anywhere;
  display: block; /* Assicura che l'elemento sia un blocco */
  overflow: hidden; /* Nasconde il testo in eccesso */
  /*white-space: nowrap; /* Impedisce il wrapping del testo */
  text-overflow: ellipsis; /* Aggiunge "..." per il testo troncato */
  min-height: 2em; /* Altezza minima di due righe */
  line-height: 1em; /* Imposta l'altezza della linea */
  font-weight: 400;
  font-size: clamp(10px, 1vw, 11px);
}
.cardEvent .card-body .titleEv {
  overflow-wrap: anywhere;
  height: 50px;
  font-size: 14px;
  line-height: 1.14;
  font-size: clamp(12px, 3vw, 14px);
  color: var(--colorTextDef);
}
.cardEvent .card-footer {
  border-radius: 0 0 20px 20px;
  border: none;
}
.cardEvent .card-footer .btn {
  margin: 0 auto; /* Centra l'elemento orizzontalmente */
}
.cardEvent .card-content {
  margin-top: 40px; /* Distanza dal badge */
}

.slider-wrapper {
  margin-top: 5px;
  margin-bottom: 5px;
}

.jconfirm .card {
  border: none;
}
.jconfirm div.contentResponse {
  min-height: 100px;
  padding: 10px;
}
.jconfirm div.jconfirm-closeIcon {
  display: flex !important;
  position: absolute !important;
  top: 0 !important;
  right: 4px !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--coloreGiallo) !important;
  width: 25px !important;
  height: 25px !important;
  border-radius: 0 0 0 15px !important;
  font-size: 19px !important;
  opacity: 0.6 !important;
  line-height: 19px !important;
  font-weight: bold !important;
  cursor: pointer !important;
}
.jconfirm .jconfirm-box {
  padding: 0 !important;
  border-radius: 20px !important;
  background: none !important;
}
.jconfirm .jconfirm-content {
  background: transparent;
  padding: 0 !important;
}
.jconfirm .jconfirm-content .jconfirm-title-c {
  background: var(--coloreGialloTrasp);
  color: #666;
  font-weight: bold;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border: none;
  padding: 10px 5px;
}

#myAccountReg .modal-card {
  border-radius: 10px;
  overflow: hidden;
}
#myAccountReg .image-container img {
  height: 100%;
  object-fit: cover;
}
@media (max-width: 768px) {
  #myAccountReg .modal-card {
    border-radius: 20px;
  }
}

#topNavBar {
  background: #000;
  border-bottom: 2px solid var(--coloreGiallo);
  padding: 10px 0;
  color: #fff;
  /* Stile della select */
  /* Personalizza il dropdown */
}
#topNavBar .imgLogoTop {
  max-height: 40px; /* Default per mobile */
}
@media (max-width: 767px) {
  #topNavBar .imgLogoTop {
    max-width: 180px;
    max-height: 30px; /* Valore per desktop */
  }
  #topNavBar #locationTop {
    display: none;
  }
}
#topNavBar select:focus {
  outline: none;
  border: none; /* Se vuoi rimuovere anche il bordo */
}
#topNavBar .btnLogin {
  border: 1px solid var(--coloreGiallo);
  color: var(--coloreGiallo);
  padding: 3px 8px 3px 8px;
  font-weight: 400;
  border-radius: var(--roundedDefault);
}
#topNavBar .btnLogin:hover {
  border: 1px solid var(--coloreGiallo);
  background: var(--coloreGiallo);
  color: var(--colorTextDef);
  padding: 3px 8px 3px 8px;
  border-radius: var(--roundedDefault);
}
#topNavBar #navbarNav {
  font-family: "Rubik";
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
  /* Media query per schermi fino a 1025px */
  /* Media query per schermi fino a 768px */
  /* Media query per schermi fino a 576px */
}
#topNavBar #navbarNav li a {
  font-size: clamp(12px, 1vw, 16px) !important;
  color: #fff !important;
}
#topNavBar #navbarNav li a:hover {
  color: var(--coloreGiallo);
  cursor: pointer;
}
@media (max-width: 1025px) {
  #topNavBar #navbarNav li a {
    font-size: clamp(6px, 2vw, 13px) !important;
    color: #fff !important;
    padding-left: 5px;
    padding-right: 2px;
  }
}
@media (max-width: 768px) {
  #topNavBar #navbarNav li a {
    font-size: clamp(13px, 3vw, 17px) !important;
    color: #fff !important;
  }
}
@media (max-width: 576px) {
  #topNavBar #navbarNav li a {
    font-size: clamp(15px, 3vw, 17px) !important;
    color: #fff !important;
  }
}
#topNavBar #navbarNav .dropdown-menu {
  background: var(--colorTextDef);
}
#topNavBar #navbarNav .dropdown-menu span {
  color: #fff;
}
#topNavBar #navbarNav .dropdown-menu li a:hover {
  color: var(--colorTextDef);
  cursor: pointer;
}
#topNavBar #navbarNav .dropdown-menu li:hover {
  background: var(--coloreGiallo);
  color: var(--colorTextDef);
}
#topNavBar #navbarNav .dropdown-menu li a:hover, #topNavBar #navbarNav .dropdown-menu li span:hover {
  color: var(--coloreGiallo);
  cursor: pointer;
}
#topNavBar #navbarNav.isAuthed li.hiddenAuthed {
  display: none;
}
#topNavBar #navbarNav.isAuthed li.hiddenNotAuthed {
  display: block;
}
#topNavBar #navbarNav.notAuthed li.hiddenNotAuthed {
  display: none;
}
#topNavBar #navbarNav.notAuthed li.hiddenAuthed {
  display: block;
}
#topNavBar .search-container {
  border: 2px solid var(--coloreGiallo);
  border-radius: 25px;
  overflow: hidden;
  display: flex;
  align-items: center;
  width: 100%;
  background: #000;
  padding: 3px 10px;
}
#topNavBar .search-container input {
  border: none;
  outline: none;
  background: transparent;
  color: white;
  flex: 1;
  padding: 5px;
}
#topNavBar .search-container select {
  background: transparent;
  border: none;
  color: white;
  cursor: pointer;
  padding: 5px;
  color: var(--coloreGiallo);
  width: 120px;
  appearance: none; /* Nasconde lo stile nativo */
}
#topNavBar .search-container select option {
  font-family: "Rubik";
  background: black !important;
  color: var(--coloreGiallo);
}
#topNavBar .search-container i {
  color: var(--coloreGiallo);
}
#topNavBar .navbar-toggler-icon {
  border: 1px solid var(--coloreGiallo);
  border-radius: 5px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgb(255, 200, 0)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

.badge-gyt {
  background: var(--coloreGiallo);
  color: #000;
  font-weight: 600;
}

.subYellow {
  color: var(--coloreGiallo);
  font-weight: 600;
}

#detailEvent .textTk, #checkout .textTk {
  font-size: 1.2rem;
  font-weight: 700;
}
#detailEvent .priceTk, #checkout .priceTk {
  font-size: 1.2rem;
  font-weight: 700;
}
#detailEvent .qtyTk, #checkout .qtyTk {
  font-size: 1.2rem;
  font-weight: 700;
}
#detailEvent .totTk, #checkout .totTk {
  font-size: clamp(10px, 3vw, 15px);
  font-weight: 700;
  color: var(--colorTextDef);
}
#detailEvent .DTnomeEve, #checkout .DTnomeEve {
  font-size: 1.7em;
  font-weight: bold;
}
#detailEvent .labelSection, #checkout .labelSection {
  font-size: 1.3em;
  font-weight: bold;
}
#detailEvent .mapsDiv, #checkout .mapsDiv {
  border: 1px solid #000;
  border-radius: var(--roundedDefault);
  padding: 20px;
}
#detailEvent a, #checkout a {
  font-weight: 500 !important;
}
#detailEvent .totalCart, #checkout .totalCart {
  color: white;
}
#detailEvent .totalCart .valTotNum, #checkout .totalCart .valTotNum {
  color: white;
}
#detailEvent .ticketTipAcq .iconTicket, #checkout .ticketTipAcq .iconTicket {
  border: 1px solid #000;
  padding: 15px;
  border-radius: var(--roundedDefault);
}
#detailEvent .ticketTipAcq .iconTicket em, #checkout .ticketTipAcq .iconTicket em {
  font-size: 1.3em;
  transform: rotate(135deg);
}
#detailEvent .ticketTipAcq .int, #checkout .ticketTipAcq .int {
  border: 2px solid #000;
  border-radius: var(--roundedDefault);
}
#detailEvent .ticketTipAcq .textTk, #checkout .ticketTipAcq .textTk {
  font-size: 1.3rem;
  font-weight: 700;
}
#detailEvent .ticketTipAcq .addOnTk, #detailEvent .ticketTipAcq .infoBf, #checkout .ticketTipAcq .addOnTk, #checkout .ticketTipAcq .infoBf {
  font-style: italic;
  font-weight: 500;
  font-size: 14px;
}
#detailEvent .ticketTipAcq .priceTk, #checkout .ticketTipAcq .priceTk {
  font-size: 1.2rem;
  font-weight: 700;
}
#detailEvent .ticketTipAcq .infoBf, #checkout .ticketTipAcq .infoBf {
  font-size: 1.2rem;
}
#detailEvent .ticketTipAcq .totTk, #checkout .ticketTipAcq .totTk {
  font-size: 1.2rem;
}
#detailEvent .ticketTipAcq .bg-tipTk-line, #checkout .ticketTipAcq .bg-tipTk-line {
  border-radius: 0 8px 8px 0;
}

#picTop, #picTop img {
  width: 100%; /* L'immagine si adatta al contenitore */
  height: auto; /* Mantiene le proporzioni */
  display: block; /* Evita spazi indesiderati sotto l'immagine */
  object-fit: cover; /* Evita distorsioni e riempie il contenitore */
  max-width: 100vw; /* Evita che sbordi a destra */
}

.home .linkCustomCal a {
  color: var(--coloreGiallo);
  font-style: italic;
  font-size: clamp(8px, 2vw, 14px);
}
.home .linkCustomCal em {
  color: var(--coloreGiallo) !important;
  margin-left: 10px;
  background: #000;
  border-radius: 20px;
}
.home .linkCustomCal em:hover {
  background-color: #fff;
  outline: 1px solid #000;
}
.home .nomeCat {
  font-size: 2.5em;
}
.home #calEv .singleEvCal {
  border: 0.5px solid var(--colorBorderCard) !important;
}
.home #calEv #conteinerSliderEv {
  min-height: 322px;
}
.home #calEv .slider-containerCal {
  position: relative;
  max-width: 90%; /* Imposta la larghezza massima dello slider */
  margin: 0 auto;
}
.home #calEv .card-body {
  padding-left: 5px;
  padding-right: 5px;
  font-size: clamp(12px, 3vw, 20px);
  line-height: 1.1;
}
.home #calEv .card-body .card-title {
  font-size: clamp(9px, 3vw, 12px);
  font-weight: 700;
}
.home #calEv .custom-controls {
  position: absolute;
  top: 50%;
  left: -5.5%;
  right: -5.5%;
}
@media (max-width: 576px) {
  .home #calEv .custom-controls {
    position: absolute;
    top: 50%;
    left: -9%;
    right: -9%;
  }
}
.home #calEv .custom-controls {
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none; /* Permette di cliccare attraverso i controlli */
  color: var(--coloreGiallo) !important;
}
.home #calEv #prevMonth, .home #calEv #nextMonth {
  pointer-events: all; /* Riabilita i clic sui pulsanti */
  background: var(--coloreGiallo);
  color: #000 !important;
  border: 1px solid #000;
  padding: 10px;
  cursor: pointer;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}
.home #calEv .custom-controls button {
  pointer-events: all; /* Riabilita i clic sui pulsanti */
  background: var(--coloreGiallo);
  color: #000;
  border: 1px solid #000;
  padding: 10px;
  cursor: pointer;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}
.home #calEv .custom-controls button:hover {
  background: #000;
  border: 1px solid #000;
  color: var(--coloreGiallo) !important;
}
.home #calEv .riqCalEv {
  border: 0.5px solid var(--colorBorderCard);
  border-radius: var(--roundedDefault);
}
.home #calEv .calendar-container {
  display: flex;
  align-items: center;
  gap: 5px;
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  position: relative;
}
.home #calEv .calendar-container .btnCalDay {
  pointer-events: all; /* Riabilita i clic sui pulsanti */
  background: #000;
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  margin-top: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--coloreGiallo) !important;
}
.home #calEv .calendar-container .btnCalDay:hover {
  background: #fff;
  border: 0.5px solid var(--colorBorderCard);
}
.home #calEv .calendar-container .calendar {
  flex-grow: 1;
  overflow-x: auto;
  display: flex;
  flex-direction: column;
  position: relative;
  width: 95%;
  padding-left: 1px;
  padding-right: 1px;
  margin-left: 8px;
}
@media (max-width: 425px) {
  .home #calEv .calendar-container .calendar {
    margin-left: 10px;
    margin-right: 10px;
  }
}
.home #calEv .calendar-container .days-row {
  display: flex;
  gap: 5px;
  overflow-x: auto;
  padding-bottom: 5px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-snap-type: x mandatory;
}
.home #calEv .calendar-container .days-row .disabledDate {
  background-color: #ccc;
  opacity: 0.5;
  pointer-events: none;
}
.home #calEv .calendar-container .days-row::-webkit-scrollbar {
  display: none;
}
.home #calEv .calendar-container .month-label {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
  position: absolute;
  top: -25px;
}
.home #calEv .calendar-container .month-name {
  font-size: 14px;
  font-weight: bold;
  color: black;
  margin-bottom: 5px;
  position: absolute;
  margin-left: 30px;
  top: 0;
}
.home #calEv .nav-button {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: #888;
}
.home #calEv .day {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33px;
  height: 33px;
  margin-top: 25px;
  border-radius: var(--roundedDefault);
  font-size: 12px;
  cursor: pointer;
  border: 0.5px solid var(--colorBorderCard) !important;
  background: #fff;
  color: var(--colorTextDef);
  transition: 0.3s;
  scroll-snap-align: start;
}
.home #calEv .day.selected {
  background: var(--coloreGiallo);
  color: var(--colorTextDef);
  font-weight: bold;
}
.home #calEv .day.today {
  font-weight: bold;
}
.home #calEv .add-event-btn {
  margin-top: 10px;
  padding: 8px 15px;
  border: none;
  background: blue;
  color: white;
  border-radius: 5px;
  font-weight: bold;
  cursor: pointer;
}
.home #calEv .day-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.home #calEv .day-container:first-child {
  padding-left: 30px;
}
.home #calEv .day-container:first-child .day {
  margin-top: 25px;
}
.home #calEv .day-container:has(.month-name) .day {
  margin-top: 25px;
}
.home #calEv .days-wrapper {
  overflow-x: auto;
  white-space: nowrap;
  scroll-behavior: smooth;
  -ms-overflow-style: none; /* Nasconde scrollbar su IE e Edge */
  scrollbar-width: none; /* Nasconde scrollbar su Firefox */
}
.home #calEv .days-wrapper::-webkit-scrollbar {
  display: none; /* Nasconde scrollbar su Chrome, Safari e Edge */
}
.home #calEv .days-row {
  display: flex;
  gap: 10px;
  padding: 10px 0;
}
.home #calEv .titleSez {
  font-size: 2em;
}
.home .carouselEvent .navigate a {
  color: var(--colorTextDef);
  font-style: italic;
}
.home .carouselEvent .navigate .controlCar {
  margin-left: 20px;
}
.home .carouselEvent .navigate .controlCar .custom-next, .home .carouselEvent .navigate .controlCar .custom-prev {
  color: var(--coloreGiallo) !important;
  margin-left: 10px;
}
.home .carouselEvent .navigate .controlCar em {
  background: #000;
  border-radius: 20px;
}
.home .carouselEvent .navigate .controlCar em:hover {
  background-color: #fff;
  outline: 1px solid #000;
}
.home .titleHome {
  font-weight: bold;
  color: var(--coloreGiallo) !important;
  font-size: clamp(15px, 6vw, 40px);
}
.home .subTitleHome {
  margin-top: 10px;
  color: #fff !important;
  line-height: 1;
  font-size: clamp(10px, 3vw, 25px);
}
.home #lstLoc .containerImg {
  position: relative;
  height: 100%;
  transition: transform 0.5s; /* Animation */
}
.home #lstLoc .containerImg img {
  transition: transform 0.5s; /* Animation */
  border-radius: var(--roundedDefault);
}
.home #lstLoc .containerImg .centered-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white; /* O il colore che preferisci */
  font-size: 1.5rem; /* Puoi personalizzare la dimensione del testo */
  text-align: center;
}
.home #lstLoc .containerImg:hover {
  transform: scale(1);
}
.home .activeloc {
  opacity: 0.6;
}
.home #buttonLoc {
  /* Stili base dei pulsanti */
  /* Pulsante per Malta */
  /* Pulsante per Zante */
  /* Pulsante per altra destinazione (opzionale) */
}
.home #buttonLoc .button-container {
  display: flex; /* Usa flexbox per disporre gli elementi in linea */
  justify-content: center; /* Centra i pulsanti orizzontalmente */
  gap: 20px; /* Distanza tra i pulsanti */
  margin-top: 20px;
}
.home #buttonLoc .btn {
  width: 300px; /* Imposta una larghezza fissa per tutti i pulsanti */
  padding: 15px 0;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 8px;
  transition: background-color 0.3s ease, transform 0.3s ease;
  display: block; /* Fa sì che il link occupi tutta la larghezza */
  cursor: pointer;
}
.home #buttonLoc .malta {
  background-color: #008CBA; /* Colore blu per Malta */
  color: white;
}
.home #buttonLoc .malta:hover {
  background-color: #005f73;
  transform: scale(1.1);
}
.home #buttonLoc .zante {
  background-color: #ff7f50; /* Colore corallo per Zante */
  color: white;
}
.home #buttonLoc .zante:hover {
  background-color: #ff4f1f;
  transform: scale(1.1);
}
.home #buttonLoc .another {
  background-color: #32CD32; /* Colore verde brillante */
  color: white;
}
.home #buttonLoc .another:hover {
  background-color: #228B22;
  transform: scale(1.1);
}
.home .badge-orange {
  background-color: var(--coloreGialloTrasp) !important;
  color: #666;
  font-size: 0.75em;
}
.home #riqNov #textNE {
  line-height: 1;
}
.home #riqNov #textNE span {
  font-size: clamp(25px, 8vw, 50pt);
}
.home #riqNov .text-stroke {
  color: black;
  text-shadow: -1px -1px 0 white, 1px -1px 0 white, -1px 1px 0 white, 1px 1px 0 white;
}
.home #riqNov button.mobile {
  display: none;
}
@media (max-width: 768px) {
  .home #riqNov .mobile.text-center {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px; /* Spazio tra i pulsanti */
  }
  .home #riqNov button.tns-prev.mobile, .home #riqNov button.tns-next.mobile {
    text-align: center;
    background: var(--coloreGiallo);
    color: var(--colorTextDef);
    border: none;
    padding: 10px;
    cursor: pointer;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
  }
  .home #riqNov button.tns-prev.mobile em,
  .home #riqNov button.tns-next.mobile em {
    padding: 0; /* Rimuove padding extra */
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.home #riqNov #novita-container {
  min-height: 386px;
  /* Opzionale: Cambia colore delle frecce al passaggio del mouse */
}
.home #riqNov #novita-container .tns-prev,
.home #riqNov #novita-container .tns-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: var(--coloreGiallo);
  color: var(--colorTextDef);
  border: none;
  padding: 10px;
  cursor: pointer;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
@media (max-width: 768px) {
  .home #riqNov #novita-container .tns-prev,
  .home #riqNov #novita-container .tns-next {
    display: none !important;
  }
}
.home #riqNov #novita-container .tns-prev {
  left: -30px; /* Regola la posizione della freccia sinistra */
}
.home #riqNov #novita-container .tns-next {
  right: -30px; /* Regola la posizione della freccia destra */
}
.home #riqNov #novita-container .tns-prev:hover,
.home #riqNov #novita-container .tns-next:hover {
  background: var(--colorTextDef);
  border: 1px solid var(--coloreGiallo);
  color: var(--coloreGiallo);
}
.home #riqNov #novita-container #novita {
  /* Effetto loading sulle righe */
  /* Keyframes per animazione */
}
.home #riqNov #novita-container #novita .loading-line {
  border-radius: 4px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}
@keyframes shimmer {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}
.home #listPeriodHome img {
  width: 35px; /* Dimensione per mobile */
}
.home #listPeriodHome .name {
  margin-top: 15px;
  font-weight: bold;
  color: var(--colorTextDef);
  font-size: clamp(9px, 1vw, 16px); /* Minimo 16px, preferito 3vw, massimo 40px */
}
@media (min-width: 768px) {
  .home #listPeriodHome { /* Quando lo schermo è almeno 768px (tablet e desktop) */ }
  .home #listPeriodHome img {
    width: 50px; /* Dimensione più grande per desktop */
  }
}
.home #listPeriodHome img:hover {
  transform: scale(1.1) !important; /* Ingrandisce l'elemento del 10% */
  transition: transform 0.3s ease !important; /* Aggiunge una transizione fluida */
}

.fade {
  animation: fade 3s ease-in-out infinite;
}

#dtlCheckout {
  /* IMAGE STYLES */
  /* CHECKED STYLES */
}
#dtlCheckout .iconTicket {
  border: 1px solid #000;
  padding: 15px;
  border-radius: var(--roundedDefault);
}
#dtlCheckout .iconTicket em {
  font-size: 1.3em;
  transform: rotate(135deg);
}
#dtlCheckout .int {
  border: 2px solid #000;
  border-radius: var(--roundedDefault);
}
#dtlCheckout .scrollableDivTerm {
  height: 150px;
  font-size: clamp(10px, 3vw, 14px);
  font-weight: 500;
  overflow-y: scroll;
  overflow-x: hidden;
  border: 1px solid #ccc;
  padding: 10px;
}
#dtlCheckout [type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
#dtlCheckout [type=radio] + img {
  cursor: pointer;
}
#dtlCheckout [type=radio]:checked ~ .feedback-container img {
  outline: 3px solid green;
  border-radius: 5px;
  /*opacity: 0.6;*/
}
#dtlCheckout .titleRiep {
  color: var(--coloreGiallo);
  font-weight: bold;
  font-size: clamp(15px, 3vw, 20px);
}
#dtlCheckout .totTk {
  font-size: clamp(10px, 3vw, 15px);
  font-weight: 700;
  color: var(--colorTextDef);
}
#dtlCheckout .check-icon {
  width: 20px; /* Larghezza del cerchio */
  height: 20px; /* Altezza del cerchio */
  background-color: green; /* Colore di sfondo */
  border-radius: 50%; /* Trasforma in un cerchio */
  /*display: none;           /* Nascosto di default */
  border: 2px solid white; /* Bordo bianco */
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); /* Leggera ombra */
}
#dtlCheckout .totalCart .valTotNum {
  color: white;
}
#dtlCheckout #riqTimer .hour {
  font-size: 1.2rem;
}
#dtlCheckout #riqTimer .min {
  font-size: 1.2rem;
}
#dtlCheckout #riqTimer .sec {
  font-size: 1.2rem;
}

#cart .btnSumSub {
  background: var(--coloreGiallo);
  border: none;
  color: var(--colorTextDef);
  outline: none;
  width: 38px;
  height: 38px;
  border-radius: 10px;
}
#cart:not(.noDisp) button:disabled {
  /*opacity: 0.2; // Opacità a 0*/
  pointer-events: none;
}
#cart .btnSum.activeBtn {
  background: rgba(170, 247, 170, 0.5);
}
#cart .btnSub.activeBtn {
  background: rgba(247, 170, 170, 0.5);
}
#cart .titleRiep {
  color: var(--coloreGiallo);
  font-weight: bold;
  font-size: clamp(15px, 3vw, 20px);
}
#cart #riepEv .nomeEv {
  font-size: 1.3rem;
  font-weight: 800;
}
#cart #riepEv .dataEv {
  font-size: 1.1rem;
}
#cart #riepEv .dataEv span {
  font-weight: 500;
}
#cart #riepEv .luoEve .nomLuo {
  font-weight: 300;
  font-size: 1.1rem;
}
#cart #riepEv .luoEve .indLuo {
  font-size: 0.8rem;
  font-weight: 500;
}
#cart #selTk h4 {
  font-size: 1.5rem;
  font-weight: 900;
}
#cart .ticketTipAcq .iconTicket {
  border: 1px solid #000;
  padding: 15px;
  border-radius: var(--roundedDefault);
}
#cart .ticketTipAcq .iconTicket em {
  font-size: 1.3em;
  transform: rotate(135deg);
}
#cart .ticketTipAcq .int {
  border: 2px solid #000;
  border-radius: var(--roundedDefault);
}
#cart .ticketTipAcq .textTk {
  font-size: 1.3rem;
  font-weight: 700;
}
#cart .ticketTipAcq .addOnTk, #cart .ticketTipAcq .infoBf {
  font-style: italic;
  font-weight: 500;
  font-size: 14px;
}
#cart .ticketTipAcq .priceTk {
  font-size: 1.3rem;
  font-weight: 700;
}
#cart .ticketTipAcq .infoBf {
  font-size: 0.8rem;
}
#cart .ticketTipAcq .bg-tipTk-line {
  border-radius: 0 8px 8px 0;
}
#cart .ticketTipAcq.disp {
  opacity: 1;
}
#cart .ticketTipAcq.disp em {
  color: green;
}
#cart .ticketTipAcq.disp .bg-tipTk-line {
  background-color: green;
}
#cart .ticketTipAcq.scDisp em {
  color: var(--coloreGiallo);
}
#cart .ticketTipAcq.scDisp .bg-tipTk-line {
  background-color: var(--coloreGiallo);
}
#cart .ticketTipAcq.noDisp {
  opacity: 0.5;
  pointer-events: none;
}
#cart .ticketTipAcq.noDisp em {
  color: red;
}
#cart .ticketTipAcq.noDisp .bg-tipTk-line {
  background-color: red;
}

/*
.ticketTipsAcq {
    transition: transform 0.3s ease !important;
    position: relative !important;
    z-index: 1 !important;
    &:hover {
        cursor:default;
    }

    // Solo se non ha la classe noDisp
    &:not(.noDisp):hover {
        cursor: pointer;
        transform: scale(1.05);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        z-index: 10;
    }
    &.disp {
        opacity: 1;
        em{
            color:green;
        }
        .bg-tipTk-line{
            background-color: green;
        }
    }
    &.scDisp {
        em{
            color:var(--coloreGiallo);
        }
        .bg-tipTk-line{
            background-color: var(--coloreGiallo);
        }
    }
    &.noDisp {
        opacity: 0.5;
        em{
            color:red;
        }
        .bg-tipTk-line{
            background-color: red;
        }
    }
    .textTk{
        font-size:1.3rem;
        font-weight:700;
    }
    .addOnTk, .infoBf{
        font-style:italic;
        font-weight:500;
        font-size:14px;
    }
    .priceTk{
        font-size:25px;
        font-weight: 700;
    }
}
*/
.myAccount #listOrder .ordSing {
  border-radius: 20px;
  border: 2px solid var(--colorTextDef);
  font-weight: 500;
}
.myAccount .atcb-button-wrapper {
  background: red !important;
}
.myAccount .fontSmall {
  font-size: 0.8rem;
}
.myAccount .fadeLogin {
  transition: opacity 0.5s ease-in-out;
}
.myAccount .hiddenElement {
  opacity: 0;
  pointer-events: none;
}
.myAccount .visible {
  opacity: 1;
  pointer-events: auto;
}
.myAccount .img-container-order {
  position: relative;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.myAccount .imgLocOrd {
  object-fit: cover; /* Assicura che l'immagine non si distorca */
  height: 100%; /* L'immagine occuperà tutta l'altezza disponibile */
  width: auto; /* Mantiene le proporzioni corrette della larghezza */
}

#myAccountAreaLog .titleMyaccount {
  font-size: 1.2rem;
  font-weight: 700;
}
#myAccountAreaLog .imgLoc {
  height: 50px;
}
#myAccountAreaLog #menuMyAccount button, #myAccountAreaLog #menuMyAccount a {
  background: var(--coloreGiallo);
  border-radius: 15px;
  font-size: clamp(11px, 3vw, 12px);
  font-weight: 700;
}
#myAccountAreaLog #menuMyAccount .collapsing {
  transition: height 0.8s ease !important; /* Cambia la durata */
}
#myAccountAreaLog #menuMyAccount button:hover, #myAccountAreaLog #menuMyAccount a:hover {
  color: var(--coloreGiallo);
  background: #fff;
  border-color: var(--coloreGiallo);
}
#myAccountAreaLog #menuMyAccount button.active {
  background: #fff;
  color: var(--colorTextDef);
}

#riqLogin .fontSmall {
  font-size: 0.8rem;
}
#riqLogin .fadeLogin {
  transition: opacity 0.5s ease-in-out;
}
#riqLogin .hiddenElement {
  opacity: 0;
  pointer-events: none;
}
#riqLogin .visible {
  opacity: 1;
  pointer-events: auto;
}

@media (max-width: 576px) { /* Bootstrap breakpoint per "lg" */
  .navbar .form-control {
    max-width: 200px; /* Riduci la larghezza del campo di ricerca per adattarlo */
    font-size: 0.8em;
  }
  .navbar .navbar-toggler {
    margin-right: 10px; /* Aggiungi un po' di margine al bottone */
  }
}
#calendarWidget {
  width: 300px;
  margin: auto;
}
#calendarWidget .fc-col-header-cell {
  background: var(--coloreViola);
}
#calendarWidget .fc-header-toolbar {
  margin-bottom: 0.5em;
}
#calendarWidget .fc-daygrid-event {
  font-size: 0.5em;
}
#calendarWidget .fc-col-header-cell-cushion {
  color: #fff;
  font-weight: bold;
}
#calendarWidget .fc-daygrid-event-harness {
  text-align: center;
}
#calendarWidget .fc-daygrid-event-harness:hover {
  opacity: 0.5;
  cursor: pointer;
}
#calendarWidget .fc-button {
  padding: 3px 5px 3px 5px;
  background: purple;
  border-color: #fff;
  color: #fff;
  font-weight: bold;
}
#calendarWidget .fc-toolbar-title {
  font-size: 1.2em;
  color: purple;
}
#calendarWidget .fc-col-header-cell-cushion {
  font-size: 14px;
  font-weight: 900;
}
#calendarWidget .fc-daygrid-day-number {
  font-size: 12px;
  font-weight: 700;
}
#calendarWidget .fc-daygrid-day-events {
  margin-bottom: 0;
  min-height: 1em;
}
#calendarWidget .fc-event {
  background: none !important;
  border: none !important;
}
#calendarWidget .fc-daygrid-day-top {
  display: block;
}

#dateMulti .slider-container {
  position: relative;
  max-width: 100%; /* Imposta la larghezza massima dello slider */
  margin: 0 auto;
}
#dateMulti .dateWrapper {
  cursor: grab; /* Mostra la mano aperta */
  overflow-x: scroll; /* Mantiene lo scorrimento */
  scrollbar-width: none; /* Nasconde la barra di scorrimento su Firefox */
  -ms-overflow-style: none; /* Nasconde la barra di scorrimento su IE */
}
#dateMulti .dateWrapper.dragging {
  cursor: grabbing; /* Mostra la mano chiusa durante il trascinamento */
}
#dateMulti .dateWrapper::-webkit-scrollbar {
  display: none; /* Nasconde la barra di scorrimento su Chrome e Safari */
}
#dateMulti .custom-controls, #dateMulti .btnCalDay {
  position: absolute;
  top: 50%;
  left: -7%;
  right: -7%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none; /* Permette di cliccare attraverso i controlli */
  color: var(--coloreGiallo) !important;
}
@media (max-width: 576px) {
  #dateMulti .custom-controls, #dateMulti .btnCalDay {
    left: 1%;
    right: 1%;
  }
}
#dateMulti .custom-controls button {
  pointer-events: all; /* Riabilita i clic sui pulsanti */
  background: #000;
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--coloreGiallo) !important;
}
#dateMulti .custom-controls button:hover {
  background: #fff;
  border: 1px solid #000;
}
#dateMulti .cal {
  font-size: 12px;
  padding: 5px;
  width: 120px;
  text-align: center;
  margin-right: 10px;
  border: none;
  flex-shrink: 0; /* Evita che i riquadri si ridimensionino troppo */
}
@media (max-width: 576px) {
  #dateMulti .cal {
    width: 90px;
    margin-right: 0px;
  }
  #dateMulti .cal .card-body {
    padding: 5px;
  }
}
#dateMulti .cal .card-body {
  border: 1px solid silver;
  border-radius: 20px 20px 0 0;
  padding-left: 5px;
  padding-right: 5px;
}
#dateMulti .cal .dayTxt, #dateMulti .cal .mes {
  font-size: 1.1rem;
  font-weight: bold;
}
#dateMulti .cal .dayCal {
  font-size: 4em;
  color: var(--coloreGiallo);
  font-weight: bold;
}
#dateMulti .cal .card-body {
  line-height: 1;
  border: 2px solid #000 !important;
  border-radius: 20px 20px 0 0;
}
#dateMulti .cal .card-footer {
  border-left: 2px solid #000 !important;
  border-right: 2px solid #000 !important;
  border-bottom: 2px solid #000 !important;
  border-radius: 0 0 20px 20px;
  padding-left: 5px;
  padding-right: 5px;
}
#dateMulti .scroll-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10px; /* Larghezza delle frecce */
  height: 100%; /* Altezza pari al contenitore */
  background-color: rgba(0, 0, 0, 0.6); /* Sfondo semitrasparente */
  color: white;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  transition: background-color 0.3s ease;
}
#dateMulti .scroll-left {
  left: 0; /* Posiziona la freccia a sinistra */
  border-radius: var(--roundedDefault) 0 0 var(--roundedDefault);
}
#dateMulti .scroll-right {
  right: 0; /* Posiziona la freccia a destra */
  border-radius: 0 var(--roundedDefault) var(--roundedDefault) 0;
}
#dateMulti .scroll-arrow.d-none {
  opacity: 0; /* Nascondi le frecce visivamente */
  pointer-events: none; /* Disabilita l'interazione */
}
#dateMulti .riqHour {
  display: none;
}
#dateMulti .activeRiq.activeRiq .riqHour {
  display: block;
}

.search #mapSearch {
  height: 500px;
  width: 100%;
}
.search #dtRange {
  border-radius: 20px 0 0 20px !important;
}
.search #dtRange + span {
  border-radius: 0 20px 20px 0 !important;
}
.search .radiusSrcSx {
  border-radius: var(--roundedDefault) 0 0 var(--roundedDefault);
}
.search .radiusSrcDx {
  border-radius: 0 var(--roundedDefault) var(--roundedDefault) 0;
}

#cntPfx .flag-icon {
  font-size: 0.8em; /* Dimensione delle bandiere */
  vertical-align: middle;
}
#cntPfx .prefixTel option {
  font-family: monospace;
}
#cntPfx .phone-input-container {
  font-size: 0.8em;
  display: flex;
  align-items: center;
  gap: 5px;
}
#cntPfx .country-code-select:focus {
  width: 200px; /* La larghezza aumenta quando viene selezionato */
  transition: width 0.3s ease; /* Aggiunge un effetto di transizione */
}
#cntPfx .country-code-select option {
  font-size: 0.8em !important;
  white-space: nowrap;
}
#cntPfx .phone-number-input {
  flex: 1;
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 5px;
}