html,
body {
  height: 100%;
  font-family: 'Roboto', sans-serif;
}
.bg-verde {
  background-color: #B3FFB1;
  color: #000;
}
.login {
  background-color: #33324A;
  display: flex;
  align-items: center;
  color: #fff;
}
.login .form-signin {
  max-width: 630px;
  padding: 1rem;
}
.login .form-signin .form-floating label {
  display: none;
}
.login .form-signin .form-floating input {
  margin-bottom: -1px;
  border-radius: 25px;
  line-height: 58px;
  padding: 10px 25px;
}
.login .form-signin .form-floating input::placeholder {
  color: #A3A3A3;
  font-size: 22px;
  font-weight: 400;
}
.login .form-signin .form-floating:focus-within {
  z-index: 2;
}
.login .form-signin .form-floating:focus-within label {
  display: block;
  padding: 10px 0px 0px 25px;
  margin: 0px;
  height: auto;
}
.login .form-signin .form-floating:focus-within input {
  padding-left: 25px;
}
.login .form-signin .form-floating:focus-within input::placeholder {
  color: #FFF;
}
.login #logo {
  text-align: center;
  width: 100%;
}
.login #logo img {
  height: 134px;
}
@media (max-width: 768px) {
  .login #logo img {
    height: 80px;
  }
}
.login #logo div {
  white-space: nowrap;
  color: #FFF;
  font-family: 'Roboto Condensed';
  font-size: 24px;
  font-weight: 500;
  line-height: normal;
}
.btn-ptms {
  margin: 0px auto;
  padding: 0px 80px;
  line-height: 58px;
  border-radius: 80px;
  border: 4px solid #000;
  background: #D9D9D9;
  font-family: Roboto;
  font-size: 36px;
  font-style: normal;
  font-weight: 600;
  width: auto;
  box-shadow: 7px 10px 0px 3px rgba(0, 0, 0, 0.75);
}
.btn-ptms:hover {
  border: 4px solid #fff;
  box-shadow: 7px 10px 0px 3px rgba(255, 255, 255, 0.75);
}
.btn-ptms.btn-verde {
  background-color: #25FC21;
}
.btn-ptms.btn-rosso {
  background-color: #FC2155;
}
@media (max-width: 768px) {
  .btn-ptms {
    font-size: 24px;
    padding: 10px 40px;
  }
}
.pagina {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.pagina header {
  background-color: #33324A;
  color: #fff;
  display: flex;
  justify-content: space-between;
  padding: 35px 70px;
}
@media (max-width: 768px) {
  .pagina header {
    padding: 35px 15px;
  }
}
.pagina header #logo img {
  height: 90px;
}
@media (max-width: 768px) {
  .pagina header #logo img {
    height: 40px;
  }
}
.pagina header .menu {
  display: flex;
  align-items: center;
  gap: 30px;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .pagina header .menu img {
    height: 40px;
  }
}
.pagina header .menu label {
  color: #F6F6F6;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
@media (max-width: 768px) {
  .pagina header .menu label {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .pagina header .menu {
    gap: 15px;
  }
}
.pagina section {
  color: #000;
}
.pagina section a {
  color: inherit;
}
.pagina section.bottoni {
  display: flex;
  flex-direction: column;
}
.pagina section.bottoni h1 {
  text-align: center;
}
.pagina section.bottoni a.btn {
  margin-top: 60px;
  line-height: 130px;
}
@media (max-width: 768px) {
  .pagina section.bottoni a.btn {
    line-height: 30px;
  }
}
.pagina section.bottoni a.btn.btn-verde {
  background-color: #25FC21;
}
.pagina section.bottoni a.btn.btn-rosso {
  background-color: #FC2155;
}
.pagina section.bottoni a.btn.btn-link {
  line-height: normal;
}
.pagina section.bottoni a.btn.btn-link:hover {
  border: none;
}
.pagina section.bottoni a.btn:hover {
  border: 4px solid #000;
}
.pagina section.bottoni .form-ricerca {
  display: flex;
  justify-content: space-around;
  max-width: 1024px;
  margin: 0px auto;
  gap: 60px;
}
@media (max-width: 768px) {
  .pagina section.bottoni .form-ricerca {
    flex-direction: column;
  }
}
.pagina section.bottoni .form-ricerca .form-floating {
  width: 450px;
}
@media (max-width: 768px) {
  .pagina section.bottoni .form-ricerca .form-floating {
    width: 100%;
  }
}
.pagina section.bottoni .form-ricerca .form-floating label {
  display: none;
}
.pagina section.bottoni .form-ricerca .form-floating input {
  margin-bottom: -1px;
  border-radius: 25px;
  line-height: 58px;
  padding: 10px 25px;
}
.pagina section.bottoni .form-ricerca .form-floating input::placeholder {
  color: #A3A3A3;
  font-size: 22px;
  font-weight: 400;
}
.pagina section.bottoni .form-ricerca .form-floating select {
  margin-bottom: -1px;
  border-radius: 25px;
  padding: 10px 25px;
  color: #A3A3A3;
  font-size: 22px;
  font-weight: 400;
}
.pagina section.bottoni .form-ricerca .form-floating:focus-within {
  z-index: 2;
}
.pagina section.bottoni .form-ricerca .form-floating:focus-within label {
  display: block;
  padding: 10px 0px 0px 25px;
  margin: 0px;
  height: auto;
}
.pagina section.bottoni .form-ricerca .form-floating:focus-within input {
  padding-left: 25px;
}
.pagina section.bottoni .form-ricerca .form-floating:focus-within input::placeholder {
  color: #FFF;
}
.pagina section.bottoni .form-ricerca .btn {
  margin: 0px !important;
  background-color: #FC2155;
  line-height: 50px;
  padding: 0px 90px;
  color: #FFF;
  text-align: center;
  font-family: Roboto;
  font-size: 24px;
  font-weight: 600;
  border-radius: 20px;
  white-space: nowrap;
}
.pagina section.bottoni2 {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.pagina section.bottoni2 a.btn {
  margin: 0px auto !important;
  background-color: #FC2155;
  border: solid 1px #FC2155;
  line-height: 50px;
  padding: 0px 50px;
  color: #FFF;
  text-align: center;
  font-family: Roboto;
  font-size: 24px;
  font-weight: 600;
  border-radius: 20px;
  white-space: nowrap;
  width: auto;
  min-width: 350px;
  display: block;
}
.pagina section.bottoni2 a.btn:hover {
  background-color: #fff;
  color: #FC2155;
  border: solid 1px #FC2155;
}
.pagina section.bottoni2 a.btn.btn-white {
  background-color: #fff;
  color: #FC2155;
  border: solid 1px #FC2155;
}
.pagina section.bottoni2 a.btn.btn-white:hover {
  background-color: #FC2155;
  color: #fff;
  border: solid 1px #fff;
}
.pagina section.bottoni2 button {
  background: none;
  border: none;
}
.pagina section.bottoni2 button.btn {
  margin: 0px auto !important;
  background-color: #FC2155;
  border: solid 1px #FC2155;
  line-height: 50px;
  padding: 0px 50px;
  color: #FFF;
  text-align: center;
  font-family: Roboto;
  font-size: 24px;
  font-weight: 600;
  border-radius: 20px;
  white-space: nowrap;
  width: auto;
  min-width: 350px;
  display: block;
}
.pagina section.bottoni2 button.btn:hover {
  background-color: #fff;
  color: #FC2155;
  border: solid 1px #FC2155;
}
.pagina section.bottoni2 button.btn.btn-white {
  background-color: #fff;
  color: #FC2155;
  border: solid 1px #FC2155;
}
.pagina section.bottoni2 button.btn.btn-white:hover {
  background-color: #FC2155;
  color: #fff;
  border: solid 1px #fff;
}
.pagina section.form-print {
  box-shadow: 4px 8px 2px 0px rgba(81, 81, 81, 0.25);
}
.pagina section.form-print h2 {
  margin: 30px 0px;
}
.pagina section.form-print .row_ubicazione {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .pagina section.form-print .row_ubicazione {
    flex-direction: column;
  }
}
.pagina section.form-print .row_ubicazione .item {
  width: 25%;
  display: flex;
  gap: 15px;
  align-items: center;
}
.pagina section.form-print .row_ubicazione .item input[type=radio] {
  display: none;
}
.pagina section.form-print .row_ubicazione .item input[type=radio] + span {
  position: relative;
}
.pagina section.form-print .row_ubicazione .item input[type=radio] + span:before {
  content: '';
  border: 1px solid #222021;
  width: 34px;
  height: 34px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: top;
}
.pagina section.form-print .row_ubicazione .item input[type=radio] + span:after {
  content: '';
  background: #222021;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 7px;
  left: 7px;
  transition: 300ms;
  opacity: 0;
}
.pagina section.form-print .row_ubicazione .item input[type=radio]:checked + span:after {
  opacity: 1;
}
.pagina section.form-print .row_ubicazione .item label {
  font-size: 32.316px;
  font-style: normal;
  font-weight: 600;
}
@media (max-width: 768px) {
  .pagina section.form-print .row_ubicazione .item {
    flex-direction: column;
    width: 100%;
    gap: 0px;
    margin-bottom: 30px;
  }
}
.pagina section.form-print .row3 {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .pagina section.form-print .row3 {
    flex-direction: column;
  }
}
.pagina section.form-print .row3 .item {
  width: 33%;
  display: flex;
  gap: 60px;
  align-items: center;
}
.pagina section.form-print .row3 .item input[type=radio] {
  display: none;
}
.pagina section.form-print .row3 .item input[type=radio] + span {
  position: relative;
}
.pagina section.form-print .row3 .item input[type=radio] + span:before {
  content: '';
  border: 1px solid #222021;
  width: 34px;
  height: 34px;
  margin-right: 10px;
  display: inline-block;
  vertical-align: top;
}
.pagina section.form-print .row3 .item input[type=radio] + span:after {
  content: '';
  background: #222021;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 7px;
  left: 7px;
  transition: 300ms;
  opacity: 0;
}
.pagina section.form-print .row3 .item input[type=radio]:checked + span:after {
  opacity: 1;
}
.pagina section.form-print .row3 .item label {
  font-size: 32.316px;
  font-style: normal;
  font-weight: 600;
}
@media (max-width: 768px) {
  .pagina section.form-print .row3 .item {
    flex-direction: column;
    width: 100%;
    gap: 0px;
    margin-bottom: 30px;
  }
}
.pagina section.form-print .row2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 50px;
}
@media (max-width: 768px) {
  .pagina section.form-print .row2 {
    flex-direction: column;
  }
}
.pagina section.form-print .row2 .item {
  width: calc(50% - 50px);
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  .pagina section.form-print .row2 .item {
    width: 100%;
    flex-direction: column;
  }
}
.pagina section.form-print .row2 .item .help {
  font-size: 12px;
  text-align: center;
}
.pagina section.form-print .row2 .item .title {
  width: 40%;
}
@media (max-width: 768px) {
  .pagina section.form-print .row2 .item .title {
    width: 100%;
  }
}
.pagina section.form-print .row2 .item .title.strong {
  font-weight: bold;
}
.pagina section.form-print .row2 .item .title.lead {
  font-size: 28px;
}
.pagina section.form-print .row2 .item .descrizione {
  width: 60%;
}
@media (max-width: 768px) {
  .pagina section.form-print .row2 .item .descrizione {
    width: 100%;
  }
}
.pagina section.form-print .row2 .item .descrizione.lead {
  font-size: 24px;
}
.pagina section.form-print .row2 .item .descrizione input {
  border-radius: 15px;
}
.pagina section.form-print .row2 .item .descrizione select {
  border-radius: 15px;
}
.pagina section.form-print .row1 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 50px;
}
@media (max-width: 768px) {
  .pagina section.form-print .row1 {
    flex-direction: column;
  }
}
.pagina section.form-print .row1 .item {
  width: 100%;
  display: flex;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .pagina section.form-print .row1 .item {
    flex-direction: column;
  }
}
.pagina section.form-print .row1 .item .title {
  width: 250px;
}
@media (max-width: 768px) {
  .pagina section.form-print .row1 .item .title {
    width: 100%;
  }
}
.pagina section.form-print .row1 .item .title.strong {
  font-weight: bold;
}
.pagina section.form-print .row1 .item .title.lead {
  font-size: 28px;
}
.pagina section.form-print .row1 .item .descrizione {
  width: 100%;
}
.pagina section.form-print .row1 .item .descrizione.lead {
  font-size: 24px;
}
.pagina section.form-print .row1 .item .descrizione textarea {
  border-radius: 15px;
  height: 250px;
}
.pagina section.form-print input[type=text].required,
.pagina section.form-print input[type=date].required,
.pagina section.form-print select.required,
.pagina section.form-print textarea.required {
  border: solid 1px red;
}
.pagina section.progresso {
  margin-top: 60px;
}
.pagina section.progresso .bottoni {
  display: flex;
  justify-content: center;
  gap: 60px;
}
.pagina section.progresso .bottoni a.btn-ins {
  display: inline-block;
  font-weight: bold;
  font-size: 26px;
  text-decoration: underline;
  text-align: center;
}
.pagina section.progresso .bottoni button.btn-ins {
  display: inline-block;
  font-weight: bold;
  font-size: 26px;
  text-decoration: underline;
  text-align: center;
  background: none;
  border: none;
}
.pagina section.progresso .barra {
  margin: 60px auto 0px auto;
  max-width: 640px;
  height: 30px;
  border-radius: 38px;
  background: #B3FFB1;
  position: relative;
}
.pagina section.progresso .barra span {
  display: block;
  height: 30px;
  border-radius: 38px;
  background: #25FC21;
  position: absolute;
  top: 0px;
  left: 0px;
}
.pagina section.progresso .barra.barra25 span {
  width: 25%;
}
.pagina section.progresso .barra.barra50 span {
  width: 50%;
}
.pagina section.progresso .barra.barra75 span {
  width: 75%;
}
.pagina section.progresso .barra.barra100 span {
  width: 100%;
}
.pagina .modale {
  display: none;
  /* Hidden by default */
  position: fixed;
  /* Stay in place */
  z-index: 3;
  /* Sit on top */
  left: 0;
  top: 0;
  width: 100%;
  /* Full width */
  height: 100%;
  /* Full height */
  overflow: auto;
  /* Enable scroll if needed */
  background-color: #000000;
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4);
  /* Black w/ opacity */
}
.pagina .modale .modale-body {
  background-color: #fefefe;
  margin: 15% auto;
  /* 15% from the top and centered */
  padding: 40px;
  border: 1px solid #888;
  width: 80%;
  max-width: 500px;
  display: flex;
  flex-direction: column;
}
.pagina .modale .modale-body .ico {
  text-align: center;
}
.pagina .modale .modale-body .ico img {
  height: 80px;
}
.pagina .modale .modale-body .disclaimer {
  text-align: center;
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  padding: 30px 0px;
}
.pagina .modale .modale-body .bottoni {
  text-align: center;
}
.pagina .modale .modale-body .bottoni a {
  padding: 4px 40px;
  text-decoration: none;
  color: #fff;
  font-size: 28px;
  max-width: 100px;
  margin: 0px 15px;
  box-shadow: 2px 5px 0px 0px rgba(0, 0, 0, 0.75);
}
.pagina .modale .modale-body .bottoni a.btn-white {
  color: #000;
}
.pagina .modale .modale-body .bottoni a:hover {
  border: 4px solid #000;
  box-shadow: 2px 5px 0px 0px rgba(0, 0, 0, 0.75);
}
.pagina .ico_conferma {
  margin: 0px auto;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #25FC21;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
}
.pagina .ico_conferma svg {
  width: 60%;
}
@media print {
  body {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}
.stampa header {
  /*background-color: #33324A;
        color: #fff;
		*/
  color: #000;
  padding: 35px 40px;
}
.stampa header #logo {
  text-align: center;
}
.stampa header #logo img {
  height: 70px;
}
@media print {
  .stampa header {
    /*background-color: #33324A;*/
  }
}
.stampa main h1 {
  text-align: center;
  font-size: 32px;
  font-weight: 600;
  line-height: 60px;
}
.stampa main h2 {
  text-align: center;
  font-size: 18px;
  line-height: 30px;
}
.stampa main table {
  width: 100%;
  margin-top: 40px;
  margin-bottom: 40px;
}
.stampa main table tr td {
  border: solid 1px #000;
  padding: 20px;
  font-size: 24px;
  font-weight: 600;
}
.stampa main table tr td:first-child {
  border-left: none;
}
.stampa main table tr td:last-child {
  border-right: none;
}
.stampa main table tr:first-child td {
  border-top: none;
}
.stampa main table tr:last-child td {
  border-bottom: none;
}
.stampa footer {
  /*border-radius: 18px;
        border: 1px solid #000;*/
  /*background: #25FC21;*/
  color: #000;
  text-align: center;
  font-family: Roboto;
  font-size: 22px;
  font-style: normal;
  font-weight: 900;
  line-height: 60px;
}
