html, body {
    scroll-behavior: smooth;
}  

#breadcrumb-path {
    font-weight: normal!important;
    margin-right: 24px !important;
}

#plan-user-custom {
    padding-top: 0 0 1rem!important;
}

.dividerText-navbar-custom {
    margin-top: 0px!important;
    margin-bottom: 0px!important;
    padding-top: 20px!important;
    padding-bottom: 8px!important;
}

.divider-navbar-custom {
    margin-top: 0px!important;
    margin-bottom: 0px!important;
}

a {
    text-decoration: none!important;
}

a:hover {
    text-decoration: none!important;
}

/* Personalizzazione stile Datepicker */ 
#sendDateInterval {
    margin-left: 1rem!important;
    font-size: 1.2rem !important;   
}

/*#filterDataBtn {
   
}*/
/* Fine personalizzazione stile Datepicker */ 

#boxDivider {
    margin-top: 0.7rem!important;
    margin-bottom: 0.7rem!important;
}

#cardDashboard:hover {
    transition: transform .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out;
}

#card-report-custom {
	border: 0px!important;
	background: none!important;
	--tblr-bg-opacity: 0;
}

.page-title {
 font-size: 1.5rem!important;
}

.form-control.datepicker, #cameraReportBtn {
    font-size: 1.2rem!important;
  }

  /* Report Button Pulse Effect */

  .pulse {
  box-shadow: 0 0 0 0 rgba(88, 120, 243, 0.4);
  -moz-animation: pulse 1s infinite;
  -webkit-animation: pulse 1s infinite;
  animation: pulse 1s infinite;
  }

  .pulse:hover {
    -moz-animation: none;
    -webkit-animation: none;
    animation: none;
  }
  
  @keyframes pulse {
      0% {
          box-shadow: 0 0 0 0 var(--tblr-yellow);
      }
      70% {
          box-shadow: 0 0 0 10px rgba(88, 120, 243, 0);
      }
      100% {
          box-shadow: 0 0 0 50px rgba(88, 120, 243, 0);
      }
  }

  body > div.page > div.page-wrapper > div.page-body > div > div > div:nth-child(6) > form > div > div:nth-child(1) > div > div > label, body > div.page > div.page-wrapper > div.page-body > div > div > div:nth-child(6) > form > div > div:nth-child(2) > div > div > label, #card-report-custom > div > label, body > div.page > div.page-wrapper > div.page-body > div > div > div:nth-child(7) > div > div:nth-child(1) > div > div > label, body > div.page > div.page-wrapper > div.page-body > div > div > div:nth-child(7) > div > div:nth-child(1) > div > div > h3, div.col-12:nth-child(9) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > label:nth-child(1), div.col-12:nth-child(9) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > label:nth-child(1), .bg-green-lt > div:nth-child(1) > label:nth-child(1) {
    font-size: 1.3rem;
  }

.navbar-nav li:hover, .dropdown-item:hover {
    background-color: var(--tblr-primary-lt);
    border-radius: 5%;
    border: 0px!important;
}

.dropdown-menu-end > form:nth-child(2) {
    margin-bottom: 0px;
}

body > div.page > div.page-wrapper > div.page-body > div > div > div:nth-child(6) > form > div > div:nth-child(1) > div > div > label, body > div.page > div.page-wrapper > div.page-body > div > div > div:nth-child(6) > form > div > div:nth-child(2) > div > div > label, #card-report-custom > div > label, body > div.page > div.page-wrapper > div.page-body > div > div > div:nth-child(7) > div > div:nth-child(1) > div > div > label, body > div.page > div.page-wrapper > div.page-body > div > div > div:nth-child(7) > div > div:nth-child(1) > div > div > h3, div.col-12:nth-child(9) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > label:nth-child(1), div.col-12:nth-child(9) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > div:nth-child(1) > label:nth-child(1), .bg-green-lt > div:nth-child(1) > label:nth-child(1) {
    font-size: 1.3rem;
}

#menuCard-1:hover, #menuCard-2:hover, #menuCard-3:hover, #menuCard-4:hover, #menuCard-5:hover, .appCard-hover:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 20px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);

}

#user-nav-custom:hover:hover {
    background-color: none;
    border-radius: none;
    border: 0px!important;
}

/* Stile marker mappe */
.leaflet-popup-content-wrapper {
    border-radius: var(--tblr-card-border-radius);
}

.leaflet-container {
    cursor: default !important;
}

/* Stile menu impianti installati - pagine panoramica */ 
.map-menu-item {
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 5px;
    transition: border-color 0.3s ease;
}

.map-menu-item.active {
    border: 2px solid var(--tblr-primary); /* Colore del bordo per l'elemento attivo */
    border-radius: 5px; /* Bordo arrotondato, se desiderato */
}

.custom-marker {
    width: 35px!important;  /* Imposta una larghezza appropriata */
    height: 35px!important; /* Imposta un'altezza appropriata */
    border-radius: 50%; /* Rende il marker circolare */
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(var(--tblr-blue-rgb), 0.9); /* Colore di sfondo con opacità */
    overflow: hidden; /* Nasconde parti dell'icona SVG che fuoriescono */
    border: 2px solid rgba(var(--tblr-blue-rgb), 0.1); /* Aggiunge un bordo per migliorare la visibilità */
    /*box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);*/
    box-shadow: 0 0 10px rgba(var(--tblr-blue-rgb), 0.1);
}

.custom-marker svg {
    width: 20px; /* Larghezza dell'icona SVG */
    height: 20px; /* Altezza dell'icona SVG */
    color: white; /* Colore dell'icona */
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 84, 166, 0.4);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(0, 84, 166, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(0, 84, 166, 0);
    }
}

.marker-cluster-small {
    background-color: rgba(0, 84, 166, 0.3)!important;
    animation: pulse 2s infinite;
}
.marker-cluster-small div {
    background-color: rgba(0, 84, 166, 0.9)!important;
}

@keyframes pulse-medium {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 84, 166, 0.4);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(0, 84, 166, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(0, 84, 166, 0);
    }
}

.marker-cluster-medium {
    background-color: rgba(0, 84, 166, 0.3)!important;
    animation: pulse 2s infinite;
}
.marker-cluster-medium div {
    background-color: rgba(0, 84, 166, 0.9)!important;
}

@keyframes pulse-large {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 84, 166, 0.4);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(0, 84, 166, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(0, 84, 166, 0);
    }
}

.marker-cluster-large {
    background-color: rgba(0, 84, 166, 0.3)!important;
    animation: pulse 2s infinite;
}
.marker-cluster-large div {
    background-color: rgba(0, 84, 166, 0.9)!important;
}

.marker-cluster {
    background-clip: padding-box;
    border-radius: 20px;
}
.marker-cluster div {
    width: 30px;
    height: 30px;
    margin-left: 5px;
    margin-top: 5px;
    text-align: center;
    border-radius: 15px;
    font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
    color: #fff;
}
.marker-cluster span {
    line-height: 30px;
}

/* Stile popover */
div.popover-body > div > h4 {
    margin-bottom: 0!important;
}
 
/* Gestione contenuti body parking */
.content-section {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
.content-section.active {
display: block;
opacity: 1;
}

/* Stile piantina parcheggio: cambia il cursore quando si sta eseguendo il pan */
.svg-container.panning {
    cursor: grabbing;
}

/* Stile menu body content */
#body-content-menu a {
    font-weight: 400;
    font-size: 1.5rem;
}

/* Toast */
.toast {
    --tblr-toast-zindex: 1090;
    --tblr-toast-padding-x: 0.75rem;
    --tblr-toast-padding-y: 0.5rem;
    --tblr-toast-spacing: calc(var(--tblr-page-padding)* 2);
    --tblr-toast-max-width: 350px;
    --tblr-toast-font-size: 0.875rem;
    --tblr-toast-bg: rgba(var(--tblr-body-bg-rgb), 0.85);
    --tblr-toast-border-width: var(--tblr-border-width);
    --tblr-toast-border-color: var(--tblr-border-color);
    --tblr-toast-border-radius: var(--tblr-border-radius);
    --tblr-toast-box-shadow: var(--tblr-box-shadow);
    --tblr-toast-header-color: var(--tblr-secondary);
    --tblr-toast-header-bg: rgba(var(--tblr-body-bg-rgb), 0.85);
    --tblr-toast-header-border-color: var(--tblr-border-color);
    width: var(--tblr-toast-max-width);
    width: 15rem;
    max-width: 100%;
    font-size: var(--tblr-toast-font-size);
    color: var(--tblr-toast-color);
    pointer-events: auto;
    background-color: var(--tblr-toast-bg);
    background-clip: padding-box;
    border: var(--tblr-toast-border-width) solid var(--tblr-toast-border-color);
    box-shadow: var(--tblr-toast-box-shadow);
    border-radius: var(--tblr-toast-border-radius);
}

.toast-header {
    background-color: #fff;
    align-items: center;
    padding: var(--tblr-toast-padding-y) var(--tblr-toast-padding-x);
    color: var(--tblr-toast-header-color);
    background-color: var(--tblr-toast-header-bg);
    background-clip: padding-box;
    border-bottom: var(--tblr-toast-border-width) solid var(--tblr-toast-header-border-color);
    border-top-left-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width));
    border-top-right-radius: calc(var(--tblr-toast-border-radius) - var(--tblr-toast-border-width));
}
.toast-body {
    background-color: #fff;
    color: var(--tblr-secondary)!important;
    /*font-weight: 200!important;*/
}
/* Fine Toast */

.platformName {
   white-space: nowrap;
   overflow-wrap: normal;
   font-size: calc(2.5rem + 0.5vw);
   font-weight: 500;
   text-align: center;
   width: 140%;
   margin-left: -20%;
}

/* BLUR */
/* Usato per oscurare dei blocchi che non vanno mostrati a determinati utenti */
.blur-custom {
    filter: blur(3px);
    pointer-events: none;
}
  
.content-section.active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Stile Alert Announcements homepage */
.alert-custom {
    --tblr-alert-color: var(--tblr-body-color);
    --tblr-alert-bg: 
color-mix(in srgb, var(--tblr-alert-color) 10%, transparent);
    --tblr-alert-padding-x: 1rem;
    --tblr-alert-padding-y: 0.75rem;
    --tblr-alert-margin-bottom: 1rem;
    --tblr-alert-border-color: 
color-mix(in srgb, var(--tblr-alert-color) 20%, transparent);
    --tblr-alert-border: var(--tblr-border-width) solid var(--tblr-alert-border-color);
    --tblr-alert-border-radius: var(--tblr-border-radius);
    --tblr-alert-link-color: inherit;
    --tblr-alert-heading-font-weight: var(--tblr-font-weight-medium);
    position: relative;
    padding: var(--tblr-alert-padding-y) var(--tblr-alert-padding-x);
    margin-bottom: var(--tblr-alert-margin-bottom);
    background-color: color-mix(in srgb, var(--tblr-alert-bg), var(--tblr-bg-surface));
    border-radius: var(--tblr-alert-border-radius);
    border: var(--tblr-border-width) var(--tblr-border-style) var(--tblr-alert-border-color);
    display: flex
;
    flex-direction: row;
    gap: 1rem;
}

.alert-heading {
    color: inherit;
    margin-bottom: .25rem;
    font-weight: var(--tblr-alert-heading-font-weight);
}

.alert-description {
    color: var(--tblr-secondary);
}

.alert-danger {
    --tblr-alert-color: var(--tblr-danger);
}
.alert-dismissible {
    padding-right: 3rem;
}

.alert-success {
    --tblr-alert-color: var(--tblr-success);
}

.alert-info {
    --tblr-alert-color: var(--tblr-info);
}

.alert-warning {
    --tblr-alert-color: var(--tblr-warning);
}

/* Stile per le immagini della galleria modale bike counter */
  .form-imagecheck-image {
    width: 100%;
    height: 5rem;
    object-fit: contain;
    background-color: #f8f9fa;
    border-radius: 4px;
  }
  
  /* Stile per l'input selezionato */
  .form-imagecheck-input:checked ~ .form-imagecheck-figure {
    border-color: #206bc4;
    box-shadow: 0 0 0 2px rgba(32, 107, 196, 0.25);
  }
  
  /* Stile per il contenitore dell'immagine */
  .form-imagecheck-figure {
    position: relative;
    display: block;
    margin: 0;
    border: 1px solid #d9dbde;
    border-radius: 4px;
    overflow: hidden;
  }

  /* Modali */
  .modal-ml {
  width: 100%;
  max-width: 960px; 
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  .modal-ml {
    max-width: 90%; 
  }
}

/* ADS BANNER STYLE */ 
.card-dynamic-bg {
    position: relative;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: hidden;
    border: 1px solid #dce0e5 !important;
    background-image: var(--bg-image);
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.card-dynamic-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: inherit;
    pointer-events: none;
    z-index: 0;
}

/* Gradiente bianco sopra l'immagine ma sotto il contenuto */
.card-dynamic-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
}

.card-dynamic-bg .card-body {
    position: relative;
    z-index: 2;
    /* Il contenuto determina l'altezza */
    display: block;
    width: 100%;
}

/* Reset per evitare interferenze */
.card-dynamic-bg .row {
    margin: 0;
}

.card-dynamic-bg .col-10 {
    padding: 0;
    flex: 1;
}