/**
  * Name: Common
  * Version: 1.0
  * Author: Ciro
*/

.prt-titlebar-wrapper { 
  width: 100%;
  position: relative;
  z-index: 1;
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
}
.prt-titlebar-wrapper.preventivo-img {
  background-image: url(/static/images/pagetitle-prv.jpg);
}
.prt-titlebar-wrapper.prt-bg > .prt-titlebar-wrapper-bg-layer.prt-bg-layer {
  background-color: rgb(0 0 0 / 47%);
}

.prt-titlebar-wrapper-inner {
  display: flex;
  align-items: center;
  position: relative;              
  padding: 150px 10px 10px 10px;
  text-align: left;
}
.page-title-heading h2 {
  font-weight: 50px;
  text-transform: capitalize;
  font-size: 20px;
  line-height: 20px;
  margin-bottom: 0px;
  text-align: center;
  color: var(--base-white);
}

/* Stile per la prima riga con colore blu */
.table-custom tr:first-child {
  background-color: #1e3a88;
 }
 
/* Stile per le righe con colore arancione */
.table-custom tr:nth-child(even) {
  background: linear-gradient(90deg, rgba(252, 148, 60, 0.3) 0%, rgba(241, 167, 169, 0.3) 100%);
 }
      
/* Stile per le righe con colore bianco */
.table-custom tr:nth-child(odd) {
  background-color: #FFFFFF;
}

.label-text {
  font-weight: bold;
  font-size: 11px; /* Imposta la dimensione del testo desiderata */
  margin: 20px 0 0 10px;
}

.form-select {
  height: 30px; /* Puoi regolare l'altezza a seconda delle tue necessità */
  font-size: 14px; /* Imposta la dimensione del testo desiderata */
}


/* ===============================================
    11.featured-icon-box-1-1 ( only contents )
------------------------*/
.featured-icon-box-1 { position: relative; margin: 15px 0; }
.featured-icon-box-1 .prt-icon{ margin-bottom: 0; }
.featured-title h3{ font-size: 20px; line-height: 28px; margin-bottom: 15px; font-weight: 400; }

.featured-icon-box-1.icon-align-before-content .featured-icon,
.featured-icon-box-1.icon-align-before-content .featured-content,
.featured-icon-box-1.icon-align-before-title .featured-title,
.featured-icon-box-1.icon-align-before-title .featured-icon {
    display: table-cell;
    vertical-align: middle;
}
.featured-icon-box-1.icon-align-before-content .featured-icon i { display: inline-block; vertical-align: middle; }
.featured-icon-box-1.icon-align-before-content.icon-ver_align-top .featured-content,
.featured-icon-box-1.icon-align-before-content.icon-ver_align-top .featured-icon {
    vertical-align: top;
    padding-top: 0px;
}
.featured-icon-box-1.icon-align-before-content .featured-content, 
.featured-icon-box-1.icon-align-before-title .featured-title{ padding-left: 15px; }
.featured-icon-box-1.icon-align-before-title .featured-title h3{ margin-bottom: 0; }

.featured-icon-box-1.icon-align-before-title .featured-content{ margin-top: 15px; }
.featured-icon-box-1.icon-align-top-content .featured-content { padding-top: 15px; }

section { counter-reset:container}
.container .number:after,
.container-fluid .number:after {
    counter-increment: container;
    content: counter(container,decimal-leading-zero);
    font-family: var(--base-bodyfont);
    font-style: normal;
}
.featured-icon-box-1.icon-flip-hover .prt-icon i {
    transition: all 1s ease;
    display: block;
    transform: translate(0%,0%) rotateY(0deg);
}
.featured-icon-box-1.icon-flip-hover:hover .prt-icon i {
    transform: translate(0%,0%) rotateY(360deg);
}
.featured-icon-box-1.agent-logo ,
.featured-icon-box-1.contact-logo { 
    display: flex; 
    margin: 0; 
    align-items: center;
}
.featured-icon-box-1.contact-logo .featured-content { margin-left: 5px; }
.featured-icon-box-1.contact-logo p ,
.featured-icon-box-1.contact-logo p a { 
    font-size: 16px;
    line-height: 28px;
    font-weight: 400;
    color: var(--base-white); 
    margin-bottom: 0; 
}
.featured-icon-box-1.agent-logo .featured-content { margin-left: 10px; }
.featured-icon-box-1.agent-logo p { 
    font-weight: 600;
    font-size: 16px;
    line-height: 21px;
    color: #003760;
    margin-bottom: 0;
}

/* valori padding */
/* top; right; bottom; left */

/* style5 */
/* Regole comuni */
.featured-icon-box-1 {
  position: relative;
  margin: 15px 0;
}
.featured-icon-box-1 .prt-icon {
  margin-bottom: 0;
}
.featured-title h3 {
  font-size: 20px;
  line-height: 28px;
  margin-bottom: 15px;
  font-weight: 400;
}

/* Allineamento icone e contenuto */
.featured-icon-box-1 .featured-icon,
.featured-icon-box-1 .featured-content,
.featured-icon-box-1 .featured-title,
.featured-icon-box-1 .featured-icon {
  display: table-cell;
  vertical-align: middle;
}
.featured-icon-box-1 .icon-align-before-content .featured-icon i {
  display: inline-block;
  vertical-align: middle;
}
.featured-icon-box-1 .icon-align-before-content .featured-content,
.featured-icon-box-1 .icon-align-before-title .featured-title {
  padding-left: 15px;
}
.featured-icon-box-1 .icon-align-before-title .featured-title h3 {
  margin-bottom: 0;
}

/* Animazioni */
.featured-icon-box-1 .icon-flip-hover .prt-icon i {
  transition: all 1s ease;
  display: block;
  transform: translate(0%, 0%) rotateY(0deg);
}
.featured-icon-box-1 .icon-flip-hover:hover .prt-icon i {
  transform: translate(0%, 0%) rotateY(360deg);
}

/* Stili specifici per style5 */
.featured-icon-box-1.style5 {
  padding: 16px 15px 16px 38px;
  background-color: var(--base-white);
  margin-bottom: 5px;
}
.featured-icon-box-1.style5:last-child {
  margin-bottom: 0;
}
.featured-icon-box-1.style5 .prt-icon i {
  background: linear-gradient(to right,#fc953b , #ff6469);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 57px;
  line-height: 67px;
  z-index: 1;
  transition: all 1s ease;
  display: block;
}
.featured-icon-box-1.style5 .prt-icon:after {
  content: "";
  top: -12px;
  left: -8px;
  width: 83px;
  height: 84px;
  position: absolute;
  background: url(../images/icon-01.png);
  display: block;
}
.featured-icon-box-1.style5 .featured-content {
  padding: 0 0 0 40px;
}
.featured-icon-box-1.style5 .featured-content .featured-title h3 {
  font-size: 22px;
  line-height: 32px;
  position: relative;
  margin-bottom: 11px;
}
.featured-icon-box-1.style5:hover .prt-icon {
  transform: rotateY(360deg);
  transition: opacity .3s, transform .3s;
}
.featured-icon-box-1.style5 .featured-content .row.mb-1 {
  display: grid;
  grid-template-columns: 1fr 2fr; /* Esempio di rapporto 1:2 tra le colonne */
  grid-column-gap: 10px; /* Spazio tra le colonne */
  align-items: center; /* Allinea gli elementi verticalmente */
  margin-bottom: 10px; /* Spazio tra i blocchi */
}
.featured-icon-box-1.style5 .featured-content .col-sm-4 {
  font-weight: normal; /* Etichette non in grassetto */
}
.featured-icon-box-1.style5 .featured-content span {
  font-weight: normal; /* Valori in grassetto */
  font-size: 14px;
  white-space: nowrap; /* Testo su una riga */
}
.featured-icon-box-1.style5 .featured-content .row.mb-1 .featured-label {
  white-space: nowrap; /* Impedisce il wrapping del testo */
}

/* Ottimizzazione spaziature etichette e valori */
.featured-icon-box-1 .row.mb-1 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 10px; /* Regola la distanza tra le colonne */
  align-items: left; /* Allinea gli elementi verticalmente */
  margin-bottom: 5px; /* Spazio tra i blocchi */
}
.featured-icon-box-1 .featured-label {
  display: inline-block; /* O block, a seconda del layout desiderato */
  width: 160px; /* Ad esempio, per una larghezza fissa di 150px */
  text-align: left; /* Allinea il testo a sinistra */
  padding-right: 10px; /* Aggiunge spazio a destra */
  font-size: 14px; /* Dimensione del testo */
}

.featured-icon-box-1 .featured-value {
  /* padding-left: 10px;  Aggiunge spazio a sinistra */
  padding: 0 0 0 10px;
  text-align: left;
}

.featured-value {
  text-align: right; /* Allinea il testo a destra */
  width: 100%; /* Assicura che l'elemento abbia la larghezza desiderata */
}

.featured-icon-box-1 .form-label {
  font-weight: bold;
  font-size: 12px;
  margin: 0 0 0 0;
}

.featured-icon-box-1 .form-control {
  font-size: 14px;
  line-height: 10px;
  padding: 5px 5px 5px 5px;

}

/* CSS per formattare il valore come valuta e colore rosso */

.featured-icon-box-1.style5 .featured-content .featured-price {
  white-space: nowrap; /* Testo su una riga */
  font-weight: bold; /* Imposta lo stile in grassetto */
  text-align: right;
}
.featured-icon-box-1.style5 .featured-content .featured-price-totale {
  color: red; /* Imposta il colore rosso per l'importostampa */
  font-weight: bold; /* Imposta lo stile in grassetto */
  white-space: nowrap; /* Testo su una riga */
  text-align: right;
}

/* BUTTON */
.white-btn{
  background:#cccccc;
  padding:25px 36px;
  margin: 20px 0px 0px 150px;
  font-size:14px;
  font-weight:500;
  /* text-transform:capitalize; */
  color:#222222;
  border-radius:25px;
  cursor:pointer;
  display:inline-block;
  line-height:0;
  /* -moz-user-select:none; */
  cursor:pointer;
  transition:color 0.4s linear;
  position:relative;
  z-index:1;
  border:0;
  overflow:hidden
}
/* @media (max-width: 575px){
  .white-btn{padding:25px 18px}
} */
.white-btn::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:101%;
    height:101%;
    background:#FF1616;
    z-index:1;
    border-radius:5px;
    transition:transform 0.5s;
    transition-timing-function:ease;
    transform-origin:0 0;
    transition-timing-function:cubic-bezier(0.5, 1.6, 0.4, 0.7);
    transform:scaleX(0);
    border-radius:0
}
/* .white-btn.white-btn2{
  padding:20px 29px
}
.white-btn.white-btn3{
  padding:25px 54px;
  border-radius:30px;
  color:#777
} */
.white-btn:hover{
  color:#fff !important;
  box-shadow:0px 3px 31px 2px rgba(207,207,207,0.7)
}
.white-btn:hover::before{
  transform:scaleX(1);z-index:-1
}

/* Stili per il secondo e terzo livello del menu */
nav.main-menu ul.mega-submenu {
  position: relative;
}

nav.main-menu ul.mega-submenu ul.mega-submenu {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease-out, max-height 0.3s ease-out;
  max-height: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0;
}

nav.main-menu ul.mega-submenu li:hover > ul.mega-submenu {
display: block;
opacity: 1;
visibility: visible; /* Rende visibile il terzo livello */
max-height: 200px;
}


nav.main-menu ul.mega-submenu li {
  position: relative;
  margin-bottom: 0;
  transition: margin-top 0.3s ease-out;
}

nav.main-menu ul.mega-submenu li:hover > ul.mega-submenu ~ li {
margin-top: 200px; 
}


nav.main-menu ul.mega-submenu li ul.mega-submenu li {
  padding: 5px 0;
}

nav.main-menu ul.mega-submenu li ul.mega-submenu li a {
  padding: 10px 20px;
  display: block;
  color: #333;
  background-color: #fff;
  text-decoration: none;
}

nav.main-menu ul.mega-submenu li ul.mega-submenu li a:hover {
  background-color: #f0f0f0;
}

.featured-value {
    word-wrap: break-word; /* Wrapping del testo */
}

.truncate-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Se desideri utilizzare l'ellissi su più righe */
.multi-line-ellipsis {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* Numero massimo di righe */
    overflow: hidden;
}

/* Personalizzazione per menu su 1-2-3 colonne
=================================*/

/* INIZIO 18/02/2025 */

.prt-header-style-02 nav.main-menu .megamenu-content-utility ,
.prt-header-style-03 nav.main-menu .megamenu-content-utility {
    width: 400px !important;
    margin: 0 auto !important;
}
.prt-header-style-02 nav.main-menu .megamenu-content-prodotti ,
.prt-header-style-03 nav.main-menu .megamenu-content-prodotti {
    width: 600px !important;
    margin: 0 auto !important;
}

/* FINE */

/* Menu a 1 colonna */
nav.main-menu .mega-menu-item.megamenu-1c {
  position: relative; /* Mantieni la voce genitore con position: relative */
}

nav.main-menu .mega-menu-item.megamenu-1c .mega-submenu {
  position: absolute; /* Posiziona il sottomenù rispetto alla voce genitore */
  left: 0; /* Ancoralo alla sinistra della voce genitore */
  top: 100%; /* Posiziona il sottomenù sotto la voce genitore */
  min-width: 200px; /* Imposta una larghezza minima per il box */
  width: auto; /* Adatta la larghezza al contenuto */
  display: flex; /* Usa Flexbox per organizzare il layout */
  flex-wrap: wrap; /* Se necessario, va su più righe */
  padding: 20px; /* Aggiungi un padding per rendere il layout più pulito */
  box-sizing: border-box; /* Considera il padding nella larghezza */
}

nav.main-menu .mega-menu-item.megamenu-1c .mega-submenu ul.menu-col {
  flex: 1;
  min-width: 100%; /* Occupa tutta la larghezza disponibile per una colonna */
}
/* Aggiusta lo stile dei link nel sottomenù */
nav.main-menu .mega-menu-item.megamenu-1c .mega-submenu li a {
  white-space: nowrap; /* Impedisci che il testo vada su più righe */
  display: block;
}


/* Menu a 2 colonne */

/* Posizionamento della voce genitore */
nav.main-menu .mega-menu-item.megamenu-2c {
  position: relative; /* Mantieni la voce genitore con position: relative */
}

/* Posiziona correttamente il sottomenù */
nav.main-menu .mega-menu-item.megamenu-2c .mega-submenu {
  position: absolute; /* Posiziona il sottomenù rispetto alla voce genitore */
  left: 0; /* Ancoralo alla sinistra della voce genitore */
  top: 100%; /* Posiziona il sottomenù subito sotto la voce genitore */
  min-width: 500px; /* Imposta una larghezza minima per il box */
  width: auto; /* Permetti al box di adattarsi alla larghezza del contenuto */
  display: flex; /* Organizza gli elementi in colonne */
  flex-wrap: wrap; /* Permetti di andare su più righe, se necessario */
  padding: 20px; /* Aggiungi un padding per rendere il layout più pulito */
  box-sizing: border-box; /* Assicurati che il padding venga incluso nella dimensione del box */
}

/* Definisci la larghezza di ciascuna colonna */
nav.main-menu .mega-menu-item.megamenu-2c .mega-submenu ul.menu-col {
  flex: 1; /* Le colonne occupano lo spazio disponibile */
  min-width: 250px; /* Imposta una larghezza minima per ciascuna colonna */
  padding: 0 5px; /* Padding per dare spazio tra le colonne */
}

/* Aggiusta lo stile dei link nel sottomenù */
nav.main-menu .mega-menu-item.megamenu-2c .mega-submenu li a {
  white-space: nowrap; /* Impedisci che il testo vada su più righe */
  display: block;
}

/* Menu a 3 colonne */
nav.main-menu .mega-menu-item.megamenu-3c {
  position: relative; /* Mantieni la voce genitore con position: relative */
}

nav.main-menu .mega-menu-item.megamenu-3c .mega-submenu {
  position: absolute; /* Posiziona il sottomenù rispetto alla voce genitore */
  left: 0; /* Ancoralo alla sinistra della voce genitore */
  top: 100%; /* Posiziona il sottomenù sotto la voce genitore */
  min-width: 600px; /* Imposta una larghezza minima per il box */
  width: auto; /* Adatta la larghezza al contenuto */
  display: flex; /* Usa Flexbox per organizzare il layout in colonne */
  flex-wrap: wrap; /* Se necessario, va su più righe */
  padding: 20px; /* Aggiungi un padding per rendere il layout più pulito */
  box-sizing: border-box; /* Considera il padding nella larghezza */
}

nav.main-menu .mega-menu-item.megamenu-3c .mega-submenu ul.menu-col {
  flex: 1;
  min-width: 33%; /* Ogni colonna occupa circa un terzo dello spazio */
  padding: 0 15px; /* Padding per dare spazio tra le colonne */
}
/* Aggiusta lo stile dei link nel sottomenù */
nav.main-menu .mega-menu-item.megamenu-3c .mega-submenu li a {
  white-space: nowrap; /* Impedisci che il testo vada su più righe */
  display: block;
}


#idnote {
  line-height: 1.5;
}

.bold-option {
    font-weight: bold;
}

.highlight-border {
  border: 2px solid #fc963a; /* Colore arancione per la cornice */
  padding: 10px; /* Spazio interno per rendere più visibile la cornice */
  border-radius: 5px; /* Angoli arrotondati per un aspetto più gradevole */
  margin-top: 15px; /* Spazio sopra la cornice per separarla dagli altri elementi */
}

.centered-label {
  display: flex;
  align-items: center;
  padding-top: 18px;
}

.prezzo-input {
  max-width: 120px; /* o quello che preferisci */
  padding: 2px 4px;
  font-size: 0.85rem;
  text-align: right;
}

.white-btn {
    min-width: 140px;    /* o quanto serve, ad es. 140px */
    padding: 20px 40px;  /* aumenta lo spazio interno */
    border-radius: 30px; /* mantiene la forma "pill" */
    font-size: 1.1em;    /* aumenta la leggibilità */
    text-align: center;
    display: inline-block;
    /* Se vuoi, aggiungi altro stile */
}
