@charset "utf-8";
:root {
  
  /* --bs-body-font-size: 1rem; */
  
  --cBlu: #0067ac;
  --cXLVerde: #92d38e;
  --cLVerde: #33ad2c;
  --cVerde: #449B23;
  --cDVerde: #007c7c;
  --cRosso: #c91617;
  --cLCiano: #80BEE9;
  --cCiano: #009ace;
  --cLGrigio: #9aa1a8;
  --cGrigio: #5b6d82;
  --cDGrigio: #434749;
  --cXXLBianco: #c7d9e9;
  --cXLBianco: #e3edf5;
  --cLBianco: #f3f7fb;
  --cBianco: #FFFFFF;
  --cNero: #000000;
  --cDNero: #2f3944;
  --cTesto: #5b6d82;
  --cWFTesto: #2f3944;
  
  --cValid: #3BAA35;
  --cInvalid: var(--cRosso);

  --bs-border-color: #e3edf5;
  --bradius: 0.5rem;
  --bCircle: 2rem;
  
  /* @link https://utopia.fyi/clamp/calculator?a=300,1400,18—52 */
  --fluid-40-50: clamp(40px, 37.2727px + 0.9091vw, 50px);
  --fluid-32-40: clamp(32px, 29.8182px + 0.7273vw, 40px);
  --fluid-28-32: clamp(28px, 26.9091px + 0.3636vw, 32px);
}

/* SYSTEM */
html, body {}

body {
  background: transparent none no-repeat scroll top left;
  background-color: var(--cLBianco);
  font-family: Arial, Helvetica, sans-serif;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--cTesto);
  /* margin: 0rem 0rem; */
}

/* Base */
body {
  position: relative;
  background: transparent none no-repeat scroll center top / auto;
  background-color: var(--cLBianco);
  /* background: transparent url("../images/body_bg.jpg") no-repeat fixed center top / cover; */
  /* background-size: contain; */
  /* background-size: auto; */
  /* background-position: bottom center; */
}

/* Overlay sempre a piena viewport (sotto al contenuto) */
html, body {
  min-height: 100%;
}

body::before {
  /* content: "";
  position: fixed;
  inset: 0;
  background-color: var(--cLBianco);
  background-color: var(--cDNero);
  opacity: 0.851;
  z-index: 0;
  pointer-events: none; */
}

/* Porta i contenuti sopra il velo */
article .node__content {
  position: relative;
  /* z-index: 1; */
  /* z-index: 0; */
}

/* =========================================
  Layout full-height + colonna
  (= d-flex flex-column min-vh-100)
========================================= */
article .node__content.node__content__full {
  min-height: 100vh;
  /* fallback */
  min-height: 100svh;
  /* mobile safe */
  display: flex;
  flex-direction: column;
}

@supports (min-height: 100dvh) {
  article .node__content.node__content__full {
    min-height: 100dvh;
  }

}

/* =========================================
  Catena wrapper che deve “riempire”
  (= d-flex flex-column flex-fill h-100)
========================================= */
article .node__content.node__content__full .custom-flex-column-fill {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  /* = flex-fill */
  min-height: 100%;
  /* = h-100 */
  min-width: 0;
  /* evita overflow su righe lunghe/forme */
}

/* (Opz.) se subito sotto hai container/row, propaga l’altezza */
/*
article .node__content.node__content__full .custom-flex-column-fill > .container,
article .node__content.node__content__full .custom-flex-column-fill > .container-fluid,
article .node__content.node__content__full .custom-flex-column-fill > .row {
  min-height: 100%;
}

*/
/* (Opz.) se i margini interni spingono la centratura della SezBody */
/*
article .node__content.node__content__full .SezBody > :first-child { margin-top: 0; }

article .node__content.node__content__full .SezBody > :last-child  { margin-bottom: 0; }

*/

/* Base (niente background-attachment: fixed sul body) */
body {
  position: relative;
  background: none;                  /* rimuove immagine + fixed */
  background-color: var(--cLBianco);   /* fallback colore */
  color: var(--cTesto);
}

/* Layer immagine fisso che simula il background fixed su iOS */
body::after {
  /* content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: transparent url("../images/body_bg.jpg") no-repeat center top / cover;
  will-change: transform;
  transform: translateZ(0); */
}

/* Overlay scuro sopra lo sfondo, sotto i contenuti */
body::before {
  /* content: "";
  position: fixed;
  inset: 0;
  background-color: var(--cDNero); 
  opacity: 0.851;
  z-index: 0; 
  pointer-events: none; */
}

/* Porta i contenuti sopra overlay/sfondo */
article .node__content { position: relative; z-index: 1; }
/* se vuoi essere ancora più robusto: */
.SezMain, .main-wrapper { position: relative; z-index: 1; }

article .node__content.node__content__full {
  min-height: 100vh;   /* fallback */
  min-height: 100svh;  /* mobile safe */
}
@supports (min-height: 100dvh) {
  article .node__content.node__content__full { min-height: 100dvh; }
}

h1, h2, h3, h4, h5, h6, p,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: Arial, Helvetica, sans-serif;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  color: var(--cTesto);
  line-height: 1.4;
}

h1, .h1 { font-weight: 400; font-size: 3.125em; line-height: 1.2; } /* 50px */

h2, .h2 { font-weight: 400; font-size: 2.5em; line-height: 1.2; } /* 40px */

h3, .h3 { font-weight: 400; font-size: 2em; line-height: 1.3; } /* 32px */

h4.big, .h4.big { font-weight: 400; font-size: 1.5em; line-height: 1.4; } /* 24px */

h4, .h4 { font-weight: 400; font-size: 1.25em; line-height: 1.4; } /* 20px */

h5, .h5 { font-weight: 400; font-size: 0.875em; line-height: 1.4; } /* 14px */

h6.big, .h6.big { font-weight: 400; font-size: 0.75em; line-height: 1.4; } /* 12px */

h6, .h6 { font-weight: 400; font-size: 0.625em; line-height: 1.4; } /* 10px */

p.big { font-size: 1.125em; line-height: 1.4; } /* 18px */

h1, .h1 { font-size: var(--fluid-40-50); }

h2, .h2 { font-size: var(--fluid-32-40); }

h3, .h3 { font-size: var(--fluid-28-32); }

p, ul, ol {
  font-family: "Roboto", sans-serif;
  font-size: 1em;
  color: var(--cTesto);
  line-height: 1.4;
  font-weight: 400;
  /* margin-top: 0rem; */
}

ul, ol {}

ul.bullet-image {
  list-style: outside url("../images/arrow.png") none;
  padding-left: 3rem;
}

ul.list-nostile {
  list-style: outside none none;
  padding-left: 2rem;
}

ul.list-bullet {
  padding-left: 1.5rem;
  list-style: outside none none;
}

ul.list-bullet li {
  display: block;
  margin-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}

ul.list-bullet li:before {
  /* content: "—"; */
  /* content: "✅︎"; */
  /* content: "✓"; */
  /* content: "✔"; */
  content: "•";
  font-family: "Roboto", sans-serif;
  font-size: 1em;
  float: left;
  margin-top: 0;
  margin-left: -1.5rem;
  color: var(--cTesto);
}

ol.list-increment {
  counter-reset: item;
  padding-left: 0rem;
}

ol.list-increment li {
  display: block;
}

ol.list-increment li:before {
  font-weight: 400;
  content: counters(item, ".") ". ";
  counter-increment: item;
}

.font-thin { font-weight: 100 !important; }
.font-elight { font-weight: 200 !important; }
.font-light { font-weight: 300 !important; }
.font-regular { font-weight: 400 !important; }
.font-medium { font-weight: 500 !important; }
.font-sbold { font-weight: 600 !important; }
.font-bold { font-weight: 700 !important; }
.font-ebold { font-weight: 800 !important; }
.font-ubold { font-weight: 900 !important; }

a, img,
.transition {
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
}

a, img {
  border: 0 none;
}

.cover img,
.img-cover {
  width: 100%;
  height: 50vw;
  height: auto;
  object-fit: cover;
  object-position: 50% 50%;
  object-position: center top;
}

.img-fluid {
  /* display: inline-block;  */
}

a:link, a:visited,
li a:link, li a:visited {
  color: var(--cLVerde);
  text-decoration: none;
  /* opacity: 0.75; */
}

a:hover, a:focus, 
li a:hover {
  color: var(--cVerde);
  outline: none;
  opacity: 1;
}

a:active, li a:active,
a.active, li a.active {
  color: var(--cVerde);
  opacity: 1;
}

.form-required::after {
  color: var(--cWFTesto);
  display: none;
}

.evidenza { color: var(--cDVerde); }
.evidenza1 { color: var(--cDNero); }
.evidenza3 { color: var(--cBianco); }
.evidenza4 { color: var(--cLVerde); }
.evidenza5 { color: var(--cLGrigio); }

.cBlu { color: var(--cBlu); }
.cRosso { color: var(--cRosso); }
.cXLVerde { color: var(--cXLVerde); }
.cVerde { color: var(--cLVerde); }
.cLVerde { color: var(--cVerde); }
.cDVerde { color: var(--cDVerde); }
.cLCiano { color: var(--cLCiano); }
.cCiano { color: var(--cCiano); }
.cLGrigio { color: var(--cLGrigio); }
.cGrigio { color: var(--cGrigio); }
.cDGrigio { color: var(--cDGrigio); }
.cXXLBianco { color: var(--cXXLBianco); }
.cXLBianco { color: var(--cXLBianco); }
.cLBianco { color: var(--cLBianco); }
.cBianco { color: var(--cBianco); }
.cNero { color: var(--cNero); }
.cDNero { color: var(--cDNero); }
.cTesto { color: var(--cTesto); }

.fprimary {
  font-family: "Roboto", sans-serif;
}

.fsecondary {
  font-family: Arial, Helvetica, sans-serif;
}

.bgBlu { background-color: var(--cBlu); }
.bgRosso { background-color: var(--cRosso); }
.bgLVerde { background-color: var(--cXLVerde); }
.bgXVerde { background-color: var(--cLVerde); }
.bgVerde { background-color: var(--cVerde); }
.bgDVerde { background-color: var(--cDVerde); }
.bgLCiano { background-color: var(--cLCiano); }
.bgCiano { background-color: var(--cCiano); }
.bgLGrigio { background-color: var(--cLGrigio); }
.bgGrigio { background-color: var(--cGrigio); }
.bgDGrigio { background-color: var(--cDGrigio); }
.bgXXLBianco { background-color: var(--cXXLBianco); }
.bgXLBianco { background-color: var(--cXLBianco); }
.bgLBianco { background-color: var(--cLBianco); }
.bgBianco { background-color: var(--cBianco); }
.bgNero { background-color: var(--cNero); }
.bgDNero { background-color: var(--cDNero); }

/* STYLE */
strong, b {
  font-weight: 700;
}

span.sup {
  font-size: 70%;
  position: relative;
  top: -0.5em;
}

sub {
  font-size: 70%;
  position: relative;
  top: 2px;
}

.btn {
  border: none;
  padding: 0.8rem 1.5rem;
}

.btn,
.btn-primary,
.btn-secondary {
  border: 1px solid var(--cDVerde) !important;
  background-color: var(--cDVerde) !important;
  color: var(--cBianco) !important;
  box-shadow: 0rem 0.3rem 0.6rem var(--cShadow);
  box-shadow: none;
  outline: none;
  font-family: Arial, Helvetica, sans-serif;
  font-family: "Roboto", sans-serif;
  font-size: 1em;
  font-weight: 700;
  padding: 0.8rem 1.5rem;
  padding: 1rem 2.5rem;
  line-height: 1.2;
  white-space: normal;
  -webkit-border-radius: var(--bCircle);
  -moz-border-radius: var(--bCircle);
  border-radius: var(--bCircle);
  text-decoration: none;
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
  /* text-transform: uppercase; */
  /* min-width: 20rem; */
  box-shadow: 0px 6px 16px 0px rgba(51, 173, 44, 0.24);
}

.btn:hover {
  background-color: var(--cLVerde) !important;
  border-color: var(--cLVerde) !important;
  color: var(--cBianco) !important;
}

.btn-primary,
.wform .form-actions .form-submit {
  background-color: var(--cLVerde) !important;
  border-color: var(--cLVerde) !important;
  color: var(--cBianco) !important;
}

.btn-primary:hover,
.wform .form-actions .form-submit:hover {
  background-color: var(--cVerde) !important;
  border-color: var(--cVerde) !important;
  color: var(--cBianco) !important;
}

.btn-secondary {
  background-color: transparent !important;
  border-color: var(--cLVerde) !important;
  color: var(--cLVerde) !important;
}

.btn-secondary:hover {
  background-color: transparent !important;
  border-color: var(--cVerde) !important;
  color: var(--cVerde) !important;
}

.btn .icon-custom:before {
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
  font-size: 1em;
  font-weight: 400;
  position: relative;
  /* color: var(--cBianco); */
  /* top: 0rem; */
}

.btn:hover .icon-custom:before {
  color: var(--cBianco) !important;
}

a.link-text {
  color: var(--cVerde);
}

a.link-text:hover {
  color: var(--cVerde);
}

a:not(.btn).text-link {
  color: var(--cTesto) !important;
  opacity: 0.75;
}

a:not(.btn):hover.text-link {
  color: var(--cTesto) !important;
  opacity: 1;
}

/* a.link-text { border-bottom: 1px solid transparent; } */
/* a.link-text:hover { border-color: var(--cCiano); } */
.js-backtop {
  cursor: pointer;
  background: var(--cNero);
  background-color: transparent;
  color: var(--cBianco);
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
  /* bottom: 1rem;
  right: 1rem;
  bottom: 0rem;
  right: 0rem;
  padding: 0.5rem 0.7rem;
  -webkit-border-radius: 0.4rem;
  -moz-border-radius: 0.4rem;
  border-radius: 0.4rem;
  max-width: 4rem; */
  top: auto;
  left: auto;
  bottom: auto;
  right: auto;
  opacity: 1;
  visibility: visible;
  z-index: auto;
  position: relative;
  border-radius: 0rem;
  padding: 0rem 0rem;
}

.js-backtop.fixed {
  opacity: 0;
  visibility: hidden;
  z-index: 99;
  position: fixed;
  /* background: var(--cNero); */
  /* background-color: transparent; */
  /* color: var(--cBianco); */
  bottom: 1rem;
  right: 1rem;
  bottom: 0rem;
  right: 0rem;
  padding: 0.5rem 0.7rem;
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  -ms-transition: none;
  transition: none;
  -webkit-transition: opacity 0.5s ease-in-out, visibility 0.5s;
  -moz-transition: opacity 0.5s ease-in-out, visibility 0.5s;
  -o-transition: opacity 0.5s ease-in-out, visibility 0.5s;
  -ms-transition: opacity 0.5s ease-in-out, visibility 0.5s;
  transition: opacity 0.5s ease-in-out, visibility 0.5s;
  max-width: 4rem;
}

.js-backtop.rounded {
  -webkit-border-radius: var(--bradius);
  -moz-border-radius: var(--bradius);
  border-radius: var(--bradius);
}

.js-backtop.show {
  opacity: 1;
  visibility: visible;
}

.text-fluid {
  word-break: break-word;
  /* Spezza le parole lunghe */
  overflow-wrap: break-word;
  /* Alternativa per la compatibilità */
  white-space: normal;
  /* Rende il testo fluido */
}

.text-responsive {
  /* Imposta la dimensione del font in modo dinamico */
  /* Versione alternativa 1:
    - Minimo: 1.5em (adatta la dimensione minima del font in base al contenitore)
    - Fluido: 8vw (scala il font in base alla larghezza dello schermo)
    - Massimo: 5em (non supera mai questa dimensione massima)
  */
  font-size: clamp(1.5em, 8vw, 5em);
  /* Versione alternativa 2:
    - Minimo: 2em (dimensione minima più grande rispetto alla versione sopra)
    - Fluido: 10vw (scala il font in base alla larghezza dello schermo)
    - Massimo: 5em (stessa dimensione massima della versione precedente)
    Nota: Se presenti due dichiarazioni con `clamp()`, solo l'ultima verrà applicata.
  */
  font-size: clamp(2em, 10vw, 5em);
  /* Evita che il testo vada a capo, mantenendolo su una sola riga */
  /* white-space: nowrap; */
  /* Se il testo supera lo spazio disponibile, nasconde la parte in eccesso */
  /* overflow: hidden; */
  /* Se il testo è troppo lungo, mostra "..." alla fine invece di tagliarlo bruscamente */
  /* text-overflow: ellipsis; */
  /* Il testo occupa l'intera larghezza del contenitore */
  width: 100%;
  /* Assicura che il testo non superi mai la larghezza del contenitore */
  max-width: 100%;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  z-index: -1;
}

.modal-backdrop.show {
  z-index: 0;
  opacity: 0.25;
  opacity: 0.45;
  background-color: var(--cLBianco);
  /* background-color: var(--cXXLBianco); */
}

.modal-content {
  /* background-color: var(--cDNero) !important; */
  /* box-shadow: 0 0px 24px rgba(197, 206, 215, 0.2)!important; */
  /* z-index: 1; */
}

.popup-disclaimer {
  display: none;
}

.popup-informativa-open .modal-backdrop.show {
  background-color: rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(4px);
  opacity: 0.85;
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
}

section {
  position: relative;
}

/* https://cssgradient.io/ */
/* https://www.colorzilla.com/gradient-editor/ */
.gradient-hor {
  background: var(--cLBianco);
  background: -webkit-linear-gradient(90deg, rgba(191, 190, 190, 1) 0%, rgba(241, 239, 239, 1) 100%);
  background: -moz-linear-gradient(90deg, rgba(191, 190, 190, 1) 0%, rgba(241, 239, 239, 1) 100%);
  background: linear-gradient(90deg, rgba(191, 190, 190, 1) 0%, rgba(241, 239, 239, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#BFBEBE", endColorstr="#F1EFEF", GradientType=1);
}

.gradient-ver {
  background: var(--cLBianco);
  background: -webkit-linear-gradient(180deg, rgba(191, 190, 190, 1) 0%, rgba(241, 239, 239, 1) 100%);
  background: -moz-linear-gradient(180deg, rgba(191, 190, 190, 1) 0%, rgba(241, 239, 239, 1) 100%);
  background: linear-gradient(180deg, rgba(191, 190, 190, 1) 0%, rgba(241, 239, 239, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#BFBEBE", endColorstr="#F1EFEF", GradientType=0);
}

@media (max-width: 575.98px) {
  .layout-mobile {
    /* padding-left: 0; */
    /* padding-right: 0; */
    /* padding-right: calc(var(--bs-gutter-x)* 0.2); */
    /* padding-left: calc(var(--bs-gutter-x)* 0.2);   */
  }

}

/* IUBENDA */
.iubenda-tp-btn {
  display: none !important;
}

.iubenda-cs-preferences-link {
  display: none !important;
}

button.iubenda-tp-btn.iubenda-cs-preferences-link {
  display: none !important;
}

/* SWIPER JS */
.swiper {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}

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

/*EFFECT*/
.wow {
  visibility: hidden;
}

.animated {
  visibility: visible;
}

.rotate-icon:before {
  -webkit-transform: rotate(0deg);
  /* Chrome, iOS, Safari e Android */
  -moz-transform: rotate(0deg);
  /* Firefox */
  -o-transform: rotate(0deg);
  /* Opera */
  -ms-transform: rotate(0deg);
  /* IE 9 */
  transform: rotate(0deg);
  /* tutti i nuovi browser */
  -webkit-transition: all 0.25s 0s ease-in-out;
  -moz-transition: all 0.25s 0s ease-in-out;
  -o-transition: all 0.25s 0s ease-in-out;
  -ms-transition: all 0.25s 0s ease-in-out;
  transition: all 0.25s 0s ease-in-out;
}

.active .rotate-icon:before {
  -webkit-transform: rotate(180deg);
  /* Chrome, iOS, Safari e Android */
  -moz-transform: rotate(180deg);
  /* Firefox */
  -o-transform: rotate(180deg);
  /* Opera */
  -ms-transform: rotate(180deg);
  /* IE 9 */
  transform: rotate(180deg);
  /* tutti i nuovi browser */
}

/* CONTENT */
.SezMain .SezHeader {
  margin: 0 !important;
  /* margin-top: 2rem !important; */
}

/* SEZSTART */
.SezStart .card-sez {
  border-radius: 1.25rem;
  border: none;
  box-shadow: 0 4px 24px rgba(0,0,0,0.07);
  box-shadow: none;
}

/*INVIATO*/
.custom-min-vh-75 {
  min-height: 75vh;
}

/*FOOTER*/
/* footer { display: none; } */
.SezFooterFirst {}

.SezFooterFirst a,
.SezFooterFirst .h6 {
  color: var(--cDGrigio);
  opacity: 0.75;
}
.SezFooterFirst .h5 a, 
.SezFooterFirst .h6 a,
.SezFooterFirst a:hover {
  opacity: 1;
}

.SezFooterFirst .wrapper-iubenda {}

.SezFooterFirst .iubenda .spacer {
  margin: auto 0.25rem;
}

/*  WEBFORM  */
.wform {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  align-items: end;
  width: 100%;
}

.wform p,
.wform label {   }

.wform .form-item,
.wform .form-item input,
.wform .form-item select,
.wform .form-item textarea,
.wform fieldset,
.wform .form-item label,
.wform .form-item .description,
.wform .form-actions {
  position: relative;  
  /* display: inline; */
  /* float: left; */  
  font-family: Arial, Helvetica, sans-serif;  
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  font-size: 1em;
}

.wform .js-form-item {
  display: inline;
  float: left;
}

/* .wform .form-composite, */
/* .form-item, */
/* .form-actions, */
.wform .js-form-item.wform-component {
  margin: 0.2rem 0 0;
  padding: 0 0.5rem;
  /* padding: 0; */
}

.wform .fieldset.js-form-item.wform-component {
  padding: 0;
}

.wform .js-form-item.form-check .js-form-item {
  margin: 0rem;
  padding: 0.5rem 0.5rem;
}

.wform .js-form-item.wform-item-boolean {
  margin: 0rem;
  margin-left: 0.5rem;
  width: 98%;
}

.wform .form-item label,
.wform .form-item .description,
.wform .form-composite .fieldset-legend {
  position: relative;  
  display: block;
  /* float: left; */  
  font-family: Arial, Helvetica, sans-serif;  
  font-family: "Roboto", sans-serif;
  font-size: 1em;
  font-weight: 700;  
  line-height: 1.4;
  color: var(--cWFTesto); 
  width: 100%;
  
  /* margin: 0.5rem 0 0; */
  margin: 0.5rem 0 0.2rem;
  /* margin: 0.5rem 0 0.5rem; */

  text-transform: none;  
}

.wform .form-item label,
.wform .form-composite .fieldset-legend { }

.wform .form-composite .fieldset-legend {  }

.wform .form-item .description {
  font-size: 1em;
  font-weight: 400;
  font-style: italic;
  margin: 0.25rem 0 2rem;
  color: var(--cLGrigio);
  font-size: 0.75em;
  display: inline-block;
}

.wform .form-item .description p { margin-bottom: 0; }

.wform .form-item .text-char-counter {
  position: relative;
  display: inline-block;
  width: 100%;
  margin-top: 1rem;
  
  font-family: Arial, Helvetica, sans-serif;  
  font-family: "Roboto", sans-serif;
  display: inline;
  float: left;
  margin: 0.5rem 0 0.5rem;
  font-size: 1em;
  text-transform: none;
  position: relative;
  color: var(--cWFTesto);
  font-weight: 700;
  width: 100%;
  line-height: 1.5;
  text-align: right;
}

.wform .form-item input,
.wform .form-item select,
.wform .form-item textarea,
.wform fieldset {
  position: relative;  
  /* display: inline; */
  /* float: left; */    

  /* margin: 0; */
  /* padding: 0; */
  /* height: 100%; */
}

.wform .form-item input,
.wform .form-item select,
.wform .form-item textarea { 
  font-size: 1em;
  font-weight: 400;
  color: var(--cWFTesto); 
}

.wform .form-item input:not(.form-check-input),
.wform .form-item select,
.wform .form-item textarea { 
  background-color: var(--cLBianco);   
  /* border: 1px solid var(--cGrigio);  */

  -webkit-border-radius: var(--bradius); 
  -moz-border-radius: var(--bradius); 
  border-radius: var(--bradius); 
  box-shadow: none;

  font-size: 1em;
  font-weight: 400;
  
  height: 100%;
  height: 3rem;
  height: 3.5rem;
}

.wform .form-item input,
.wform .form-item select,
.wform .form-item textarea { 
  border: 2px solid var(--cXXLBianco); 
}

.wform .form-item textarea { 
  resize: none; 
  height: auto;
  /* padding-left: 1.5rem;  */
  /* padding-right: 1.5rem;  */
}

.wform .form-item select {
  padding-top: 0!important;
  padding-bottom: 0!important;
}

.wform .form-item input:focus, 
.wform .form-item input:active, 
.wform .form-item select:focus, 
.wform .form-item select:active, 
.wform .form-item textarea:focus, 
.wform .form-item textarea:active {
  border-color: var(--cLVerde);
  background-color: var(--cXLBianco);
  /* box-shadow: inset 0 1rem 1rem var(--cRosso); */
  box-shadow: 0px 0px 9px 0px var(--cShadow);
  box-shadow: none;
}

/* .wform .form-item input:invalid,
.wform .form-item textarea:invalid,
.wform .form-item select:invalid, */
.wform .form-item input.error, 
.wform .form-item textarea.error, 
.wform .form-item select.error {
  border: 1px solid var(--cInvalid);
}

.wform .form-item .form-control { 
  color: var(--cWFTesto); 
  /* padding: 1rem 1.2rem;  */
  padding: 0.5rem 0.8rem;
}
.wform .form-item .form-control::-webkit-input-placeholder { color: var(--cXXLBianco);  }/* Chrome/Opera/Safari */
.wform .form-item .form-control::-moz-placeholder { color: var(--cXXLBianco);  }/* Firefox 19+ */ 
.wform .form-item .form-control:-ms-input-placeholder { color: var(--cXXLBianco);  }/* IE 10+ */ 
.wform .form-item .form-control:-moz-placeholder { color: var(--cXXLBianco);  }/* Firefox 18- */

.wform .form-item input[type="date"].form-control:invalid,
.wform .form-item select.form-control:invalid, 
.wform .form-item select.form-select:invalid { color: var(--cXXLBianco); }

.wform .form-item .form-check-input[type=checkbox] {
  /* border-radius: 0.25em; */
}

.wform .form-item input.form-check-input:checked {
  background-color: var(--cLVerde);
  border-color: var(--cLVerde);
  /* background-image: none; */
}

.wform .form-item input.form-check-input:checked[type=checkbox] {
  /* --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); */
  /* background-image: var(--bs-form-check-bg-image); */
  /* background-image: none; */
}

/* Importa la gestione Flex */
.webform-has-field-suffix {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

/* Fa in modo che il label occupi il 100% di larghezza */
.webform-has-field-suffix label {
  display: block;
  width: 100%;
  /* margin-bottom: 0.5rem; */
}

/* Fa in modo che la descrizione occupi il 100% di larghezza */
.webform-has-field-suffix .description {
  display: block;
  width: 100%;
  /* margin-bottom: 0.5rem; */
}

/* Imposta l'input e il suffisso sulla stessa riga, con l'input al 100% meno lo spazio per il suffisso */
.webform-has-field-suffix .form-number {
  display: inline-block;
  /* Rende l'input il 100% meno lo spazio per il suffisso */
  width: calc(100% - 2rem);
  /* vertical-align: middle;  */
}

/* Fa in modo che il suffisso sia visualizzato di fianco all'input e abbia una larghezza automatica */
.webform-has-field-suffix .field-suffix {
  display: inline-block;
  width: auto; 
  vertical-align: middle; 
  margin-left: 0.5rem;
}

.wform .form-item.wform-item-phone .iti {
  width: 100%;
  margin: 0.5rem 0rem;
}

.wform .form-item.wform-item-phone input.webform-webform-telephone-international { 
  padding-left: 3rem;
}

.wform .wform-item-boolean,
.wform .form-switch {
  display: flex;
  flex-wrap: nowrap;
  margin: auto;
  justify-content: start;
}

.wform .wform-item-boolean {

}

.wform .wform-item-boolean input {
  margin-left: 0rem;
}

.wform .wform-item-boolean .description {
  margin: auto;
  padding-left: 1rem;
}

.wform .form-check {
  /* display: flex; */
  /* flex-wrap: nowrap; */
  /* margin: auto; */
  /* justify-content: start; */
}

.wform .form-check .fieldset-wrapper .form-item {
  /* padding-left: 1.5em; */
}

.wform .form-check input {
  /* margin-left: -1.5em; */
}

.wform .form-check .description {
  /* margin: auto; */
  /* padding-left: 0.5rem; */
}

.wform .form-switch {

}

.wform .form-switch input {
  margin-left: -2.5rem;
}

.wform .form-switch .description {
  margin: auto;
  padding-left: 0.5rem;
}

.wform .webform-type-radios .form-radios {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
}

/* .wform .webform-type-radios .form-radio, */
.wform .webform-type-checkboxes .form-checkboxes {
  display: flex;
  flex-wrap: wrap;
  margin: auto;
  justify-content: start;
}

.wform .webform-type-radios input,
.wform .webform-type-checkboxes input {

}

.wform .webform-type-radios label,
.wform .webform-type-checkboxes label {
  margin-left: auto;

  text-transform: none;
  font-size: 1em; 
  font-weight: 400;  
  line-height: 1.5;
  color: var(--cWFTesto); 
  width: 100%;
}

.wform .form-item .form-type-checkbox:not(.campoBoolean),
.wform .form-item .form-type-radio:not(.campoBoolean) {
  font-family: Arial, Helvetica, sans-serif;  
  font-family: "Roboto", sans-serif;
}

.wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item {
  display: flex;
  align-items: center;
  width: 100%;
  /* width: 33%; */
  padding: 0 0.5rem;
}

.wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item label,
.wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item .description,
.wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item label,
.wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item .description {
  font-weight: 700;
  margin: 0.5rem 0;
  line-height: 1;
}

.wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item input {
  width: 1.5rem;
  height: 1.5rem;
  margin: 0.5rem 0;
  margin-right: 0.5rem;
  margin-left: -0.5rem;
  /* background-color: var(--cLBianco); */
}

.wform .form-item.wform-component 
.form-type-checkbox:not(.campoBoolean).js-form-item input:checked,
.wform .form-item.wform-component 
.form-type-radio:not(.campoBoolean).js-form-item input:checked {
  /* background-image: none; */
  /* background-color: var(--cCiano); */
}

.wform .form-item.wform-component.campoList .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component.campoList .form-type-radio:not(.campoBoolean).js-form-item {
  display: flex;
  align-items: center;  
  width: 100%;
}

.wform .form-item.wform-component.campoList .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.wform-component.campoList .form-type-radio:not(.campoBoolean).js-form-item input {
  /* width: 1.5rem; */
  /* height: 1.5rem; */
  /* margin: 0.5em 0; */
  /* margin-right: 0.5rem; */
}

.wform .form-item.wform-component.campoInline .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component.campoInline .form-type-radio:not(.campoBoolean).js-form-item {
  display: flex;
  align-items: center;  
  width: 20%;
  padding: 0 0.1rem;
  margin-top: 1rem;
}

.wform .form-item.wform-component.campoInline .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.wform-component.campoInline .form-type-radio:not(.campoBoolean).js-form-item input {
  /* width: 1.5rem; */
  /* height: 1.5rem; */
  /* margin: 0.5em 0; */
  /* margin-right: 0.5rem; */
}

.wform .form-item.wform-component.campo2Col .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component.campo2Col .form-type-radio:not(.campoBoolean).js-form-item {
  display: flex;
  align-items: center;    
  width: 100%;
  /* width: 50%; */
}

.wform .form-item.wform-component.campo2Col .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.wform-component.campo2Col .form-type-radio:not(.campoBoolean).js-form-item input {
  /* width: 1.5rem; */
  /* height: 1.5rem; */
  /* margin: 0.5em 0; */
  /* margin-right: 0.5rem; */
}

.wform .form-item.wform-component.campo3Col .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component.campo3Col .form-type-radio:not(.campoBoolean).js-form-item {
  display: flex;
  align-items: center;    
  width: 100%;
  /* width: 50%; */
}

.wform .form-item.wform-component.campo3Col .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.wform-component.campo3Col .form-type-radio:not(.campoBoolean).js-form-item input {
  /* width: 1.5rem; */
  /* height: 1.5rem; */
  /* margin: 0.5em 0; */
  /* margin-right: 0.5rem; */
}

.wform .form-item.wform-component.campoUpload .form-managed-file {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;

}

.wform .form-item.wform-component.campoUpload .messages--error {
  clear: both;
  display: block;
  width: 100%;
  font-size: 90%;
  order: 1;
  margin: 1rem auto;
}

.wform .form-item.wform-component.campoUpload .form-managed-file .btn-primary {
  display: block!important;
}

.wform .form-item.wform-component.campoUpload .form-managed-file input[type=file] {
  /* width: 100%; */
  flex: 1 0 0; /* Occupa spazio disponibile senza ridimensionarsi */
  min-width: 0; /* Evita problemi di overflow */
  margin-top: 8px; /* Distanza dal messaggio di errore */
}

.wform .form-item.wform-component.campoUpload .form-managed-file .file {
  margin-right: 1rem;
}

.wform .form-item.wform-component.campoUpload .description {
  margin-top: 0.5rem!important;
}

/* .wform .form-item.wform-component.campoUpload a[data-target="#upload-instructions"] {
  margin: 0.5em 0 1.5em;
  display: block;
} */

/* campoSelect */
.wform .form-item.campoSelect .form-type-select {
  width: 100%;
}

/* campoRange */

/* Wrapper: variabili responsive */
.wform .campoRange{
  /* ── Step & geometria tacche ───────────────────────────── */
  --steps:        var(--range-steps, 11);   /* es. 11 per 0..10 */
  --segments:     calc(var(--steps) - 1);   /* numero tacche/etichette (1..max) */
  --segments-h:   0.5rem;                   /* altezza tacche */

  /* ── Dimensioni responsive ─────────────────────────────── */
  --pad-x:        clamp(.4rem, 2.5vw, .75rem); /* padding orizzontale slider/scala */
  --track-h:      0.5rem;                       /* altezza barra grigia */
  --thumb-size:   1rem;                         /* diametro pallino */
  --thumb-radius: 50%;

  /* ── Colori base ───────────────────────────────────────── */
  --track:        var(--cLBianco);   /* track grigio */
  --tick:         var(--cDVerde);   /* colore tacche */
  --tick-w:       4px;       /* larghezza tacche */

  /* ── Etichette (scala numerica) ────────────────────────── */
  --scale-color:  var(--cWFTesto); 
  --scale-font:   1rem;

  /* ── Thumb (cursore) ───────────────────────────────────── */
  --thumb-color:  var(--cDVerde); 
  --thumb-shadow: none;
  --thumb-offset-x: -0.5px;  /* fine-tuning allineamento orizzontale */

  /* ── Contenitore slider ────────────────────────────────── */
  --rangeBg:      transparent;
  --rangeBRadium: 0px;
  --rangeBWidth:  0px;
  --rangeBColor:  none;
}

/* Scala numerica (1..max) */
.wform .campoRange .range-scale{
  display: grid;
  grid-template-columns: repeat(var(--segments), minmax(0,1fr));
  gap: 0;
  margin-top: .25rem;
  padding: 0 var(--pad-x);         /* identico allo slider → allineamento perfetto */
  font-size: var(--scale-font);
  color: var(--scale-color);
  white-space: nowrap;
}
.wform .campoRange .range-scale > span{
  justify-self: end;               /* numero posizionato sulla tacca di destra */
  position: relative;
  left: 0.25rem;                         /* niente offset → centratura esatta */
}

/* Hover: leggero feedback */
.wform .campoRange .range-scale span:hover { 
  color: var(--cMenta);
}

/* Focus tastiera: chiaro e non invadente */
.wform .campoRange .range-scale span:focus-visible {
  outline: 0px solid currentColor;
  outline-offset: 0px;
  border-radius: 0px;
}

/* Stato attivo: già ok, aggiungo transizione morbida */
.wform .campoRange .range-scale span {
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent; /* mobile */
   -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
}
.wform .campoRange .range-scale span.is-active {
  color: var(--thumb-color);
  font-weight: 700;
}

/* Slider con tacche 0..max — track SOTTO, tacche SOPRA */
.wform .campoRange input.form-range{
  width: 100%;
  padding: 0 var(--pad-x);
  height: clamp(1rem, 4vw, 1.25rem);
  border: var(--rangeBWidth) solid var(--rangeBColor);
  border-radius: var(--rangeBRadium);
  background-origin: content-box;
  background-color: var(--rangeBg);

  /* Layer (dall'alto al basso):
     1) tacche ripetute
     2) tacca finale destra (cap)
     3) track grigio
  */
  background-image:
    linear-gradient(to right, var(--tick) 0 var(--tick-w), transparent 0),
    linear-gradient(to right, var(--tick) 0 var(--tick-w), transparent 0),
    linear-gradient(var(--track), var(--track));

  background-size:
    calc(99% / var(--segments)) var(--segments-h),  /* ripetute equidistanti */
    100% var(--segments-h), /* cap finale */
    100% var(--track-h); /* track */

  background-repeat:
    repeat-x,
    no-repeat,
    no-repeat;

  background-position:
    left center,    /* ripetute da sinistra */
    right center,   /* cap allineato a destra (tacca max) */
    center;         /* track centrato verticalmente */
}

/* WebKit/Chromium */
.wform .campoRange input.form-range::-webkit-slider-thumb{
  transform: translateX(var(--thumb-offset-x));
}

/* Firefox */
.wform .campoRange input.form-range::-moz-range-thumb{
  transform: translateX(var(--thumb-offset-x));
}

/* WebKit */
.wform .campoRange input.form-range::-webkit-slider-runnable-track{
  height: var(--track-h);
  background: transparent; /* il track è disegnato nei layer di background */
}
.wform .campoRange input.form-range::-webkit-slider-thumb{
  -webkit-appearance: none; appearance: none;
  width: var(--thumb-size); 
  height: var(--thumb-size);
  border-radius: var(--thumb-radius);
  background: var(--thumb-color);
  border: 0;
  margin-top: calc((var(--track-h) - var(--thumb-size)) / 2); /* centrato sul track */
  box-shadow: var(--thumb-shadow);
}

/* Firefox */
.wform .campoRange input.form-range::-moz-range-track{
  height: var(--track-h);
  background: transparent;
  border: 0;
}
.wform .campoRange input.form-range::-moz-range-thumb{
  width: var(--thumb-size); 
  height: var(--thumb-size);
  border-radius: var(--thumb-radius);
  background: var(--thumb-color);
  border: 0;
  box-shadow: var(--thumb-shadow);
}

/* Hover/Focus */
.wform .campoRange input.form-range:focus-visible::-web

/* --- Modalità compatte per schermi piccoli (opzionali) --- */

/* XS: mostra solo 1,5,10 (riduce affollamento etichette) */
@media (max-width: 420px){
  .wform .campoRange .range-scale > span{
    visibility: hidden;
  }
  /* Indici: 1 (col 1), 5 (col 5), 10 (col 10) */
  .wform .campoRange .range-scale > span:nth-child(1),
  .wform .campoRange .range-scale > span:nth-child(5),
  .wform .campoRange .range-scale > span:last-child{
    visibility: visible;
  }
}

/* SM: mostra 1 su 2 (1,3,5,7,9,10) */
@media (min-width: 421px) and (max-width: 575.98px){
  .wform .campoRange .range-scale > span:nth-child(2n){
    visibility: hidden;
  }
  .wform .campoRange .range-scale > span:last-child{
    visibility: visible;
  }
}

/* campoAltro */
.wform .form-item.campoAltro { 
  margin-top: 1rem;
} 

/* campoData */
.wform .form-item.campoData {

}

.wform .form-item.campoData legend,
.wform .form-item.campoData label,
.wform .form-item.campoData .description { 

}

.wform .form-item.campoData .form-type-checkbox:not(.campoBoolean) label,
.wform .form-item.campoData .form-type-checkbox:not(.campoBoolean) .description,
.wform .form-item.campoData .form-type-radio:not(.campoBoolean) label,
.wform .form-item.campoData .form-type-radio:not(.campoBoolean) .description { 

}

.wform .form-item.campoData input,
.wform .form-item.campoData select,
.wform .form-item.campoData textarea {

}

/* campoDataInline */
.wform .form-item.campoDataInline .form-inline {
  display: flex;
  gap: 5px;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
}

.wform .form-item.campoDataInline .form-inline > div {
  flex: 1 1 0;
}

.wform .form-item.campoDataInline .form-inline legend,
.wform .form-item.campoDataInline .form-inline label,
.wform .form-item.campoDataInline .form-inline .description { 
  display: none;
}

/*SONDAGGIO*/
.wform-multistep .alert {
  width: 100% !important;
  font-size: 1em;
}

.wform-multistep .webform-progress {
  color: var(--cLVerde);
  font-size: 1em;
  font-weight: 700;
  padding: 0 0.5rem;
}

.wform-multistep .webform-progress .separator {
  font-size: 0;
  position: relative;
}

.wform-multistep .webform-progress .separator::before {
  content: "/";
  font-size: 1em;
  position: relative;
}

.wform-multistep .wform-component-step {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  width: 100%;
}

.wform-multistep .wform-component-step legend {
  margin-bottom: 0;
}

.wform-multistep .ajax-progress-throbber {
  display: none;
}

.wform-multistep .wform-component.box-action .webform-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  justify-content: space-between;
  width: 100%;
}

.wform-multistep .wform-component.box-action .webform-actions input {
  -webkit-border-radius: var(--bCircle);
  -moz-border-radius: var(--bCircle);
  border-radius: var(--bCircle);
  width: auto;
  font-weight: 700;;
}

.wform-multistep .wform-component.box-action .webform-actions input:not(.webform-button--next):not(.webform-button--previous) {
  margin: auto;
}

.wform-multistep .wform-component.box-action .webform-actions input.webform-button--previous {
  display: none !important;
}

.wform-multistep .wform-component.box-action .webform-actions input.webform-button--next {}

/*END SONDAGGIO*/

.wform .form-item.fieldset-scheda { counter-reset: item; padding-left: 0rem; }
/* ol.list-increment li { display: block; } */
.wform .fieldset-scheda .wrapper-number {
  position: relative;
  padding-left: 2rem; /* spazio per il numero */
}

.wform .fieldset-scheda .wrapper-number label:not(.option)::before,
.wform .fieldset-scheda .wrapper-number .fieldset-legend:not(.option)::before {
  position: absolute;
  left: -1.5rem;
  top: 0;
  content: counters(item, ".") ". ";
  counter-increment: item;
  font-weight: 700;
  width: 1.5rem; /* larghezza riservata al numero */
  display: inline-block;
}

.wform .form-item .campoEtichetta {
  font-family: Arial, Helvetica, sans-serif;  
  font-family: "Roboto", sans-serif;
  color: var(--cWFTesto);
  font-weight: 700;
  margin-top: 2rem;
  margin-bottom: 0;
}

/* campoBottone */
.wform .form-item.campoBottone {
  background-color: transparent;
}

.wform .form-item.campoBottone.campoForm { 
  /* padding: 0rem 1rem; */
} 

.wform .form-item.campoBottone label {
  /* position: relative; */
  font-size: 1em;
  color: var(--cWFTesto);
  /* font-weight: 400; */
}

.wform .form-item.campoBottone .control-label label strong {}

.wform .form-item.campoBottone .control-label label em {
  /* display: block;
  clear: both;
  color: var(--cWFTesto);
  font-size: 1em; 
  font-weight: 400;
  font-style: italic;
  font-style: normal;  
  margin-top: 0.5em;
  margin-bottom: 0em; */
}

.wform .form-item.campoBottone input {
  /* position: relative; */
  font-size: 1em;
  color: var(--cWFTesto);
  font-weight: 400;
  width: 100%;
  left: 2em;
  padding: 0;
}

/* .wform .form-item.campoBottone .control-label, */
.wform .form-item.campoBottone .form-radios,
.wform .form-item.campoBottone .form-checkboxes {
  position: relative;
  width: 100%;
  /* display: block; */
  float: left;
  /* padding: 0 15px; */
  padding: 0;
  line-height: 1.3;
}

/* .wform .form-item.campoBottone .control-label { 
  padding: 0;
} */
.wform .form-item.campoBottone .form-radios,
.wform .form-item.campoBottone .form-checkboxes {
  display: flex;
  justify-content: space-between;
  /* justify-content: center; */
  align-items: center;
  gap: 0.5rem;
}

.wform .form-item.campoBottone.campoList .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.campoBottone.campoList .form-type-radio:not(.campoBoolean).js-form-item {
  margin-top: 0.25rem;
  margin-bottom: 0;
}

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item {
  text-align: center;
}

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked)+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked)+label,
.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item label {
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;
  background-color: var(--cLBianco);
  border: 2px solid var(--cXXLBianco);
  color: var(--cWFTesto);
  font-size: 1em;
  font-size: 1.125em; 
  font-weight: 400;
  padding: 1rem 1rem;
  -webkit-border-radius: var(--bradius);
  -moz-border-radius: var(--bradius);
  border-radius: var(--bradius);
  margin: 0;

  line-height: 1.4;
}

            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked)+.description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked)+.description,
            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item .description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item .description {
              -webkit-transition: all 0.25s ease-in-out 0s;
              -moz-transition: all 0.25s ease-in-out 0s;
              -o-transition: all 0.25s ease-in-out 0s;
              -ms-transition: all 0.25s ease-in-out 0s;
              transition: all 0.25s ease-in-out 0s;              
              color: var(--cWFTesto)!important
            }

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked):hover+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked):hover+label,
.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:focus+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:focus+label,
.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item:hover label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item:hover label,
.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item.attivato label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item.attivato label {
  background-color: var(--cXLBianco);
  border-color: var(--cLVerde);
  color: var(--cWFTesto) !important;
  font-weight: 700!important;
}

            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked):hover+.description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked):hover+.description,
            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:focus+.description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:focus.description,
            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item:hover .description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item:hover .description,
            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item.attivato .description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item.attivato .description {
              color: var(--cBianco) !important;
            }

/* NUOVE CLASSI - Gestione stati checked/unchecked */
.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:checked+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:checked+label {}

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked)+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked)+label {
  /* outline: 1px solid var(--cLVerde); */
  background-color: var(--cLBianco) !important;
  border-color: var(--cXXLBianco) !important;
  color: var(--cWFTesto) !important;
}

            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked)+.description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked)+.description {
              color: var(--cWFTesto)!important;
            }

/* Hover solo su elementi non checked */
.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked):hover+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked):hover+label {
  background-color: var(--cXLBianco)!important;
  border-color: var(--cXXLBianco)!important; 
  color: var(--cWFTesto) !important;
    font-weight: 400!important;
}

            .wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:not(:checked):hover+.description,
            .wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:not(:checked):hover+.description {
              color: var(--cWFTesto) !important;
            }

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input[type="checkbox"]:focus+label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input[type="radio"]:focus+label {
  /* outline: 0px solid var(--cWFTesto); */
}

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item:hover label,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item:hover label {
  /* border-color: var(--cWFTesto); */
}

.wform .form-item.campoBottone .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.campoBottone .form-type-radio:not(.campoBoolean).js-form-item input {
  z-index: -1;
  /* position: relative; */
  position: absolute;
  font-size: 1em;
  color: var(--cWFTesto);
  font-weight: 400;
  left: 2em;
  padding: 0;
  margin: 0;
}

/* campoEnfasi */

.wform .form-item.campoEnfasi { 
  background-color: transparent;
  margin: 1em auto;
}

/* .wform .form-item.campoBottone.campoForm { 
  padding: 0rem 1rem;
} */

.wform .form-item.campoEnfasi .fieldset-legend,
.wform .form-item.campoEnfasi label {
  /* position: relative; */
  font-size: 1em;
  color: var(--cWFTesto);
  /* font-weight: 700; */

}

.wform .form-item.campoEnfasi .fieldset-legend strong,
.wform .form-item.campoEnfasi .control-label label strong { 

}

.wform .form-item.campoEnfasi .fieldset-legend em,
.wform .form-item.campoEnfasi .control-label label em {
  /* display: block;
  clear: both;
  color: var(--cWFTesto);
  font-size: 1em; 
  font-weight: 400;
  font-style: italic;
  font-style: normal;  
  margin-top: 0.5em;
  margin-bottom: 0em; */
}

.wform .form-item.campoEnfasi input {
  /* position: relative; */
  font-size: 1em;
  color: var(--cWFTesto);
  font-weight: 400;
  width: 100%;
  left: 2em;
  padding: 0;
}

/* .wform .form-item.campoEnfasi .control-label, */
.wform .form-item.campoEnfasi .form-radios,
.wform .form-item.campoEnfasi .form-checkboxes { 
  position: relative;
  width: 100%;
  /* display: block; */
  float: left;
  /* padding: 0 15px; */
  padding: 0;
  line-height: 1.3;
}

/* .wform .form-item.campoEnfasi .control-label { 
  padding: 0;
} */

.wform .form-item.campoEnfasi .form-radios,
.wform .form-item.campoEnfasi .form-checkboxes { 
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.wform .form-item.wform-component.campoEnfasi .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component.campoEnfasi .form-type-radio:not(.campoBoolean).js-form-item {
  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;  
  background-color: var(--cCiano);
  border: 1px solid var(--cCiano);
  color: var(--cWFTesto);
  font-size: 1em;
  font-weight: 400;
  padding: 1rem 1rem;
  padding: 0rem 1rem;
  -webkit-border-radius: var(--bradius);
  -moz-border-radius:var(--bradius);
  border-radius: var(--bradius);
  margin: 0.5rem auto;

  text-align: center;
  /* width: 50%; */
  /* width: 49%; */
  width: 100%;
}

.wform .form-item.campoEnfasi .form-type-checkbox:not(.campoBoolean).js-form-item label,
.wform .form-item.campoEnfasi .form-type-radio:not(.campoBoolean).js-form-item label {
  text-align: left;
  margin: auto;
  margin-left: 1rem;
  padding: 1rem 0rem;
}

.wform .form-item.campoEnfasi .form-type-checkbox:not(.campoBoolean).js-form-item.attivato,
.wform .form-item.campoEnfasi .form-type-radio:not(.campoBoolean).js-form-item.attivato {
  background-color: var(--cBianco);
  border-color: var(--cCiano);
  color: var(--cBianco) !important;
}

.wform .form-item.campoEnfasi .form-type-checkbox:not(.campoBoolean).js-form-item.attivato label,
.wform .form-item.campoEnfasi .form-type-radio:not(.campoBoolean).js-form-item.attivato label {

}

.wform .form-item.campoEnfasi .form-type-checkbox:not(.campoBoolean).js-form-item input,
.wform .form-item.campoEnfasi .form-type-radio:not(.campoBoolean).js-form-item input {
  /* z-index: 1; */
  position: relative;
  /* position: absolute; */
  font-size: 1em;
  color: var(--cWFTesto);
  font-weight: 400;

  left: 0em;
  padding: 0;
  margin: 0;
}

.wform .form-item.wform-component.campoEnfasi.campoList .form-type-checkbox:not(.campoBoolean).js-form-item,
.wform .form-item.wform-component.campoEnfasi.campoList .form-type-radio:not(.campoBoolean).js-form-item  {
  margin-top: 1em;
  margin-bottom: 0;
  width: 100%;
}

/* campoDomanda */

.wform .form-item.campoDomanda { 
  margin: 0em 0 2rem;
}

.wform .form-item.campoDomanda.campoDomandaLabel.campoDomandaFake,
.wform .form-item.campoDomanda.campoDomandaLabel,
.wform .form-item.campoDomanda .fieldset-legend,
.wform .form-item.campoDomanda label,
.wform .form-item.campoDomanda .description { 

}

.wform .form-item.campoDomanda.campoDomandaLabel.campoDomandaFake p,
.wform .form-item.campoDomanda label,
.wform .form-item.campoDomanda .description,
.wform .form-composite .fieldset-legend {
  position: relative;  
  display: block;
  /* float: left; */  
  font-family: Arial, Helvetica, sans-serif;  
  font-family: "Roboto", sans-serif;
  font-size: 1em;
  font-size: 1.25em;
  font-weight: 700;  
  line-height: 1.4;
  color: var(--cWFTesto); 
  width: 100%;
  
  margin: 0rem 0 1rem;
  margin: 0rem 0 0rem;

  text-transform: none;  
}

.wform .form-item.campoDomanda label,
.wform .form-composite .fieldset-legend { }

.wform .form-composite .fieldset-legend {  }

.wform .form-item.campoDomanda .description {
  font-size: 1em;
  font-weight: 400;
  font-style: italic;
  /* margin: 0.25rem 0 2rem; */
  margin: 0.5rem 0 1rem;
  color: var(--cLGrigio);
  font-size: 0.75em;
  display: inline-block;
}

.wform .form-item.campoDomanda .description p { margin-bottom: 0; }

.wform .form-item.campoDomanda .text-char-counter {
  position: relative;
  display: inline-block;
  width: 100%;
  margin-top: 1rem;
  
  font-family: Arial, Helvetica, sans-serif;  
  font-family: "Roboto", sans-serif;
  display: inline;
  float: left;
  margin: 0.5rem 0 0.5rem;
  font-size: 1em;
  text-transform: none;
  position: relative;
  color: var(--cWFTesto);
  font-weight: 700;
  width: 100%;
  line-height: 1.5;
  text-align: right;
}

.wform .form-item.campoDomanda input,
.wform .form-item.campoDomanda select,
.wform .form-item.campoDomanda textarea,
.wform fieldset {
  position: relative;  
  /* display: inline; */
  /* float: left; */    

  /* margin: 0; */
  /* padding: 0; */
  /* height: 100%; */
}

.wform .form-item.campoDomanda input,
.wform .form-item.campoDomanda select,
.wform .form-item.campoDomanda textarea { 
  font-size: 1em;
  font-weight: 400;
  color: var(--cWFTesto); 
}

.wform .form-item.campoDomanda input:not(.form-check-input),
.wform .form-item.campoDomanda select,
.wform .form-item.campoDomanda textarea { 
  background-color: var(--cLBianco);   
  /* border: 1px solid var(--cGrigio);  */

  -webkit-border-radius: var(--bradius); 
  -moz-border-radius: var(--bradius); 
  border-radius: var(--bradius); 
  box-shadow: none;

  font-size: 1em;
  font-weight: 400;
  
  height: 100%;
  height: 3rem;
}

.wform .form-item.campoDomanda input,
.wform .form-item.campoDomanda select,
.wform .form-item.campoDomanda textarea { 
  border: 2px solid var(--cXXLBianco); 
}

.wform .form-item.campoDomanda.campoDomandaLabel.campoDomandaFake,
.wform .form-item.campoDomanda.campoDomandaLabel {
  padding: 0 0.5rem;
  padding: 0;
}
.wform .form-item.campoDomanda.campoDomandaLabel.campoDomandaFake em,
.wform .form-item.campoDomanda.campoDomandaLabel em {
  display: block;
  clear: both;
  color: var(--cWFTesto);
  font-size: 1em;
  font-weight: 400;
  font-style: italic;
  font-style: normal;  
  /* margin-top: 0.5em; */
  /* margin-bottom: 0em; */
}

.wform .form-item.campoDomanda.campoDomandaLabel.campoDomandaFake p {
  
}

/* .wform .form-item.campoDomanda.campoDomandaForm select, */
.wform .form-item.campoDomanda.campoDomandaForm input,
.wform .form-item.campoDomanda.campoDomandaForm textarea {
  border: 2px solid transparent;
  border-bottom: 2px solid var(--cLVerde);
  border-radius: 0;
  font-size: 2em;
  font-size: 1.5em;
  height: 100%;
  min-height: 3rem;

  -webkit-transition: all 0.25s ease-in-out 0s;
  -moz-transition: all 0.25s ease-in-out 0s;
  -o-transition: all 0.25s ease-in-out 0s;
  -ms-transition: all 0.25s ease-in-out 0s;
  transition: all 0.25s ease-in-out 0s;

  padding: 0.5rem 0rem;

}

.wform .form-item.campoDomanda.campoDomandaForm select {
  font-size: 1.25em; 
  height: 3.5rem;
}

.wform .form-item.campoDomanda.campoDomandaForm select,
.wform .form-item.campoDomanda.campoDomandaForm input,
.wform .form-item.campoDomanda.campoDomandaForm textarea { 
  margin-top: 1rem;
}



/* .wform .form-item.campoDomanda.campoDomandaForm select:focus,  */
/* .wform .form-item.campoDomanda.campoDomandaForm select:active, */
.wform .form-item.campoDomanda.campoDomandaForm input:focus, 
.wform .form-item.campoDomanda.campoDomandaForm input:active, 
.wform .form-item.campoDomanda.campoDomandaForm textarea:focus, 
.wform .form-item.campoDomanda.campoDomandaForm textarea:active {
  border: 2px solid var(--cLVerde);
  background-color: var(--cXLBianco);
  box-shadow: 0px 0px 9px 0px var(--cShadow);
  box-shadow: none;

  -webkit-border-radius: var(--bradius); 
  -moz-border-radius: var(--bradius); 
  border-radius: var(--bradius); 

  padding: 0.5rem 0.5rem;
}



.wform .form-item.campoDomanda.campoDomandaForm  .form-control::-webkit-input-placeholder { color: var(--cXLVerde);  }/* Chrome/Opera/Safari */
.wform .form-item.campoDomanda.campoDomandaForm  .form-control::-moz-placeholder { color: var(--cXLVerde);  }/* Firefox 19+ */ 
.wform .form-item.campoDomanda.campoDomandaForm  .form-control:-ms-input-placeholder { color: var(--cXLVerde);  }/* IE 10+ */ 
.wform .form-item.campoDomanda.campoDomandaForm  .form-control:-moz-placeholder { color: var(--cXLVerde);  }/* Firefox 18- */

.wform .form-item.campoDomanda.campoDomandaForm  input[type="date"].form-control:invalid,
.wform .form-item.campoDomanda.campoDomandaForm  select.form-control:invalid, 
.wform .form-item.campoDomanda.campoDomandaForm  select.form-select:invalid { color: var(--cXXLBianco); }

/* campoDomandaProgressivo */
.wform .form-item.fieldset-sondaggio { 
  counter-reset: item; 
  /* padding-left: 0rem;  */
}
.wform .fieldset-sondaggio .form-item.campoDomandaProgressivo label:not(.option):before,
.wform .fieldset-sondaggio .form-item.campoDomandaProgressivo .fieldset-legend:not(.option):before { font-weight: 700; content: counters(item, ".") ". "; counter-increment: item; }

/* campoForm */

.wform .form-item.campoForm {
  margin: 0.5rem 0 0.2rem;
}

.wform .form-item.campoForm legend,
.wform .form-item.campoForm label,
.wform .form-item.campoForm .description { 
  /* margin: 0.5rem 0 0.2rem; */
}

.wform .form-item.campoForm .form-type-checkbox:not(.campoBoolean) label,
.wform .form-item.campoForm .form-type-checkbox:not(.campoBoolean) .description,
.wform .form-item.campoForm .form-type-radio:not(.campoBoolean) label,
.wform .form-item.campoForm .form-type-radio:not(.campoBoolean) .description { 

}

.wform .form-item.campoForm input,
.wform .form-item.campoForm select,
.wform .form-item.campoForm textarea {
  font-size: 1.25em;
}

.wform .form-item.campoForm.campoAltro { 
  /* padding-bottom: 1rem;  */
  /* margin-top: 1rem; */
  /* margin-top: 1.5rem; */
  margin-top: 0rem;
  margin-bottom: 2rem;
}

.wform .form-item.highlight > label,
.wform .form-item.highlight .fieldset-legend {
  color: var(--cInvalid);
}

.wform .form-item.highlight input,
.wform .form-item.highlight .form-control {
  border: 1px solid var(--cInvalid);
  border-color: var(--cInvalid);
}

.wform .form-item--error-message,
.wform .form-item--error-message strong,
.wform .form-item--error-message.error {
  display: block;
  font-size: 90%;
  font-weight: 400 !important;
  font-style: italic;
  margin-bottom: 0.5rem;
  margin-top: 0.5rem;
  color: var(--cInvalid);
}

.wform .form-item--error-message::before {
  display: none;
}

.wform .js-form-item.wform-item-campi { 
  position: relative;
  display: block;
  width: 100%;
  padding-top: 0rem; 
  text-align: right;
}

.wform .wform-item-campi .description { 
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5; 
  color: var(--cWFTesto); 
  width: 100%; 
  text-transform: none;
  margin-bottom: 0;
}

.wform .wform-item-campi .description .js-form-required {
  position: relative;
  top: 0.5rem;
}

.wform .campoBoolean { 
  padding-top: 2rem; 
  width: 100% !important;
}

.wform .campoBoolean:not(.form-switch) {
  padding-left: 0.5rem;
}

.wform .campoBoolean a { 
  color: var(--cWFTesto); 
  font-weight: 400; 
  text-decoration: underline; 
}

.wform .campoBoolean .description { 
  font-size: 1em;

  font-weight: 400;
  line-height: 1.5; 
  color: var(--cWFTesto); 
  width: 100%; 
  text-transform: none; 
}

.wform .form-actions { 
  position: relative; 
  /* float: left;  */
  width: 100%; 
  max-width: 100%;
  /* margin: 3rem 0 1rem; */
  margin: 1rem 0 0rem;
  margin: 0;
  text-align: center; 
}

.wform .form-actions .form-submit { 
  position: relative;
  font-family: Arial, Helvetica, sans-serif;  
  font-family: "Roboto", sans-serif;
  font-size: 1em; 
  font-weight: 700;  
  padding: 1rem 1.5rem;
  padding: 1rem 2.5rem;
  line-height: 1.1;
  text-shadow: none;
  z-index: 1;
  /* text-transform: none; */
  /* text-transform: uppercase; */
  outline: none;
  width: 100%;
  max-width: 100%;
  margin: 1rem 0;
  margin: 0;
  
  height: auto!important;    
    
  /* width: auto; */

  /* -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px; */
}

/* .wform .form-actions .ajax-progress { display: none; } */

.wform .form-actions .form-submit:hover {  }

/* MODAL BOOTSTRAP */
/* Stile predefinito per la modale di errore */
#Xform-error-modal .modal-content {
  background-color: #f8d7da; /* Sfondo rosso chiaro per indicare un errore */
  color: #721c24; /* Colore del testo rosso scuro per un buon contrasto */
  border-color: #f5c6cb; /* Bordo della modale in tono con lo sfondo */
}

/* Stile per il titolo della modale */
#Xform-error-modal .modal-title {
  font-weight: bold;
  color: #721c24; /* Colore del testo del titolo */
}

/* Bottone per chiudere la modale */
#Xform-error-modal .close {
  color: #721c24; /* Colore del bottone di chiusura */
}

/* Bottone "OK" nella modale */
#Xform-error-modal .btn-primary {
  /* background-color: #c82333; 
  border-color: #bd2130;  */
}

/************************************************/
/*            Bootstrap 5 Media Queries         */
/************************************************/

/*MOBILE FIRST METHOD*/
/* `custom-xs` >=  375px */
@media (min-width: 375px)  {   

    body { font-size: 16px; }

}

/* `sm` >=  576px */
@media (min-width: 576px) {   

    body { font-size: 16px; }
  
    /*  WEBFORM  */
    .wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item,
    .wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item {
      width: 50%;
    }
  
    .wform .form-item.wform-component.campo2Col .form-type-checkbox:not(.campoBoolean).js-form-item,
    .wform .form-item.wform-component.campo2Col .form-type-radio:not(.campoBoolean).js-form-item {
      /* width: 100%; */
    }

    .wform .form-item.wform-component.campoEnfasi .form-type-checkbox:not(.campoBoolean).js-form-item,
    .wform .form-item.wform-component.campoEnfasi .form-type-radio:not(.campoBoolean).js-form-item {
      width: 50%;
      width: 49%;
    }

}

/* `md` >=  768px */
@media (min-width: 768px)  {   

    body { font-size: 16px; }

    /*  WEBFORM  */
    .wform .form-item.wform-component .form-type-checkbox:not(.campoBoolean).js-form-item,
    .wform .form-item.wform-component .form-type-radio:not(.campoBoolean).js-form-item {
      width: 33%;
    }
  
    .wform .form-item.wform-component.campo2Col .form-type-checkbox:not(.campoBoolean).js-form-item,
    .wform .form-item.wform-component.campo2Col .form-type-radio:not(.campoBoolean).js-form-item {
      width: 50%;
    }

    .wform .form-item.wform-component.campoList .form-type-checkbox:not(.campoBoolean).js-form-item,
    .wform .form-item.wform-component.campoList .form-type-radio:not(.campoBoolean).js-form-item {
      width: 75%;
      /* padding: 0; */
    }

    .wform .form-actions .form-submit { 
      width: 100%;
      /* max-width: calc(50% - 1rem); */
      /* max-width: calc(20rem - 1rem); */
    }

    /*SONDAGGIO*/
    .wform-multistep .wform-component.box-action .webform-actions {
      justify-content: space-between;
    }
    /*END SONDAGGIO*/

}

/* `lg` >=  992px */
@media (min-width: 992px)  {   

    body { font-size: 16px; }

    /*WFORM*/
    .wform .js-form-item.wform-component {
      
    }    
    
    .wform .fieldset.js-form-item.wform-component {
      padding: 0 0.5rem;
    }

    .wform .form-item.wform-component.campoList .form-type-checkbox:not(.campoBoolean).js-form-item,
    .wform .form-item.wform-component.campoList .form-type-radio:not(.campoBoolean).js-form-item {
      width: 50%;
      /* padding: 0; */
    }

    .wform .form-item.wform-component.campo3Col .form-type-checkbox:not(.campoBoolean).js-form-item,
    .wform .form-item.wform-component.campo3Col .form-type-radio:not(.campoBoolean).js-form-item {
      width: 33%;
    }

}

/* `xl` >=  1200px */
@media (min-width: 1200px) {   

    body { font-size: 16px; }

}

/* `xxl` >=  1400px */
@media (min-width: 1400px) {   

    body { font-size: 16px; }

}

/*NO-MOBILE FIRST METHOD*/
/* `custom-xs` applies to x-small devices (portrait phones, less than 375px) */
/* `custom-xs` <  576px */
@media (max-width: 374.98px) {  }

/* `sm` applies to x-small devices (portrait phones, less than 576px) */
/* `sm` <  576px */
@media (max-width: 575.98px) {  }

/* `md` applies to small devices (landscape phones, less than 768px) */
/* `md` <  768px */
@media (max-width: 767.98px) {  }

/* `lg` applies to medium devices (tablets, less than 992px) */
/* `lg` <  992px */
@media (max-width: 991.98px) {  }

/* `xl` applies to large devices (desktops, less than 1200px) */
/* `xl` <  1200px */
@media (max-width: 1199.98px) {  }

/* `xxl` applies to x-large devices (large desktops, less than 1400px) */
/* `xxl` <  1400px */
@media (max-width: 1399.98px) {  }
