.toast {
  display: none;
  min-width: 20vw;
}
.toast.show {
  display: block;
  opacity: 1;
  position: fixed;
  z-index: 99999999;
  margin: 20px;
  right: 0;
  top: 3.5rem;
}
.swal2-container {
  z-index: 99999999;
}
#preloader2 {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: hidden;
  background: #ffffff82;
}

#preloader2:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #1977cc;
  border-top-color: #d1e6f9;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  -webkit-animation: animate-preloader 1s linear infinite;
  animation: animate-preloader 1s linear infinite;
}
@-webkit-keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  line-clamp: 3; /* Per i browser moderni */
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  font-size: smaller;
  color: #000000cf;
  font-style: italic;
}
.modal-dialog.large {
  width: 80% !important;
  max-width: unset;
}
.modal-dialog.mid-large {
  width: 50% !important;
  max-width: unset;
}
#viewer_modal .btn-close {
  position: absolute;
  z-index: 999999;
  /*right: -4.5em;*/
  background: unset;
  color: white;
  border: unset;
  font-size: 27px;
  top: 0;
}
#viewer_modal .modal-dialog {
  width: 90%;
  max-width: unset;
  height: calc(95%);
  max-height: unset;
}
#viewer_modal .modal-content {
  background: rgb(0, 0, 0);
  border: unset;
  height: calc(100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
#viewer_modal img,
#viewer_modal video {
  max-height: calc(100%);
  max-width: calc(100%);
}
#viewer_modal embed {
  height: calc(93%);
  max-width: calc(100%);
}
#custom-file-upload {
  cursor: pointer;
}

.fixed-height {
  min-height: 550px;
  /* height: 550px; */
}

.login-box, .register-box {
  width: 460px;
}

.blink-border {
  border: 2px solid red;
}

.form-group-closer {
  margin-bottom: 2px; /* Margine ridotto per form specifici */
}

/* effetto blink del testo con colore arbitrario */
/*  da usare come segue:
  <span class="<?php echo $hasVincoliDichiarativi ? 'blink' : ''; ?>"
  style="<?php echo $hasVincoliDichiarativi ? '--blink-color: #ffd700;' : ''; ?>">
  Vincolo Pesaggistico</span>
*/ 
.blink {
  animation:1s blinker linear infinite;
  -webkit-animation:1s blinker linear infinite;
  -moz-animation:1s blinker linear infinite;
  color: var(--blink-color, red); /* Usa una variabile CSS con colore predefinito rosso */
  /* font-weight: bold !important; */
}
@-moz-keyframes blinker {  
  0% { opacity: 1.0; }
  50% { opacity: 0.0; }
  100% { opacity: 1.0; }
}

@-webkit-keyframes blinker {  
  0% { opacity: 1.0; }
  50% { opacity: 0.0; }
  100% { opacity: 1.0; }
}

@keyframes blinker {  
  0% { opacity: 1.0; }
  50% { opacity: 0.0; }
  100% { opacity: 1.0; }
}

/* pallino lampeggiante giallo accanto alla caption */
.blink-container {
  display: flex; /* Usa flex per allineare il testo e il pallino */
  align-items: center; /* Centra verticalmente il testo e il pallino */
}

.blink-dot {
  width: 12px; /* Dimensione del pallino */
  height: 12px; /* Dimensione del pallino */
  border-radius: 50%; /* Fa diventare il pallino rotondo */
  background-color: white; /* Colore di sfondo rosso */
  /* border: 2px solid white; /* Bordo bianco */
  margin-right: 5px; /* Distanza tra il pallino e il testo */
  animation: blink 2s linear infinite; /* Animazione per far lampeggiare il pallino */
}

@keyframes blink {
  0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; }
}
