@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;700&display=swap');

body {
  font-family: 'Avenir', 'Montserrat', 'Segoe UI', 'Helvetica Neue', sans-serif;
  background: radial-gradient(circle at top left, #f8f9f8, #cfd8d7);
  background: linear-gradient(
    60deg,
    rgba(142, 174, 155, 1) 0%,
    rgba(92, 122, 109, 0.4) 20%,
    rgba(255, 230, 6, 0.6) 40%,
    rgba(92, 122, 109, 0.6) 60%,
    rgba(92, 122, 109, 0.4) 80%,
    rgba(255, 230, 6, 1) 100%
  );
  margin: 0;
  padding: 0;
}
/*dark green #014c2e*/
header {
  background: linear-gradient(to right, #000000, #2e7132) !important;
  padding: 45px 0 40px 0 !important;
  text-align: center;
  color: white;
}

header img {
  max-width: 90%;
  width: 450px !important;
}
@media (max-width: 650px) {
    header img {
      max-width: 90%;
      width: 250px !important;
    }
}

.text-center {
  text-align: center;
  font-weight: bold;
  margin-top: 10px;
}

.col-lg-10 {
  background: white;
  box-shadow: 0 0 30px rgba(0,0,0,0.1);
  border-radius: 12px;
  padding: 40px;
  margin-top: 30px;
}

h1 {
  font-family: 'Montserrat', 'Helvetica Neue', sans-serif;
  font-size: clamp(2rem, 2vw + 1rem, 4rem);
  font-weight: bold;
  margin-bottom: 10px;
}

.text-verde {
    color: #2e7132;
}
.text-red {
    color: #b30404;
}
.text-black {
    color: #111111;
}
a.text-black:hover {
    color: #2e7132;
}

h4, .h4 {
  color: #016734;
  font-weight: 900;
  font-size: 1.3em;
  text-transform: uppercase;
  margin-top: 30px;
  margin-bottom: 10px;
}

p {
  color: #4b4b4b;
  margin-bottom: 30px;
}

label {
  font-weight: 900;
  /*color: #016734;*/
  color: #111;
  font-size: 1.2rem;
  line-height: 1;
}
@media (max-width: 769px) and (max-width: 1024px) {
    label {
        font-size: 1.1rem;
    }
}
label sup {
  color: #016734;
}

label.package .package-title {
  font-weight: 900;
  /*color: #016734;*/
  color: #111;
  font-size: 1.3rem;
}
label.package {
  font-weight: 400;
  color: #111;
  font-size: 1.1rem;
  line-height: 1.3;
}
label.package-title {
  font-weight: 900;
  /*color: #016734;*/
  color: #111;
  font-size: 1.3rem;
}
span.optional {
  font-weight: 400;
}
.sottotitolo-1-descrittivo {
    font-size: 1.3em;
    font-weight: 300;
    color: #2e7132;
}

#form-container {
  padding: clamp(20px, 5vw, 70px) clamp(30px, 7vw, 70px) !important;
  margin: clamp(20px, 5vw, 60px);
}
@media (max-width: 900px) {
    #form-container {
        margin-left: 20px !important;
        margin-right: 20px !important;
    }
}

select.form-control,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"] {
  border: 2px solid #016734;
  border-radius: 4px;
  padding: 8px 10px;
  width: 100%;
  font-size: 1rem;
  transition: border-color 0.2s;
}


select.form-control {
    font-weight: 900;
}
select#prefix.form-control {
    font-weight: 400;
}

input[type="text"]:focus,
input[type="email"]:focus {
  border-color: #f4f116;
  outline: none;
}

input[type="checkbox"] {
  margin-right: 10px;
  transform: scale(1.2);
}

label.field-of-activity {
    font-weight: 400 !important;
    font-size: 1.1rem !important;
}


.form-check-input {
  margin-right: 5px;
}

.mb-3 hr,
h4 + hr {
  border-top: 3px solid #f4f116;
  opacity: .9;
  margin:0px;
}

small {
  font-size: 0.85rem;
  color: #333;
}

button.btn.btn-primary {
  background-color: #f4f116;
  color: black;
  border: none;
  padding: 10px 20px;
  font-weight: bold;
  border-radius: 6px;
  margin-top: 20px;
  
  font-size: clamp(1rem, 1vw + 1rem, 1.5rem);
}

.testo-grande {
      font-size: clamp(1rem, 1vw + 1rem, 1.1rem);
}

button.btn.btn-primary:hover {
  background-color: #306c35;
  color: #fff;
}

footer {
  background-color: #f4f116 !important;
  padding: 20px;
  font-size: 0.9rem;
  color: black;
}

footer a {
  color: black;
  font-weight: bold;
  text-decoration: underline;
}

footer .text-end {
  text-align: right;
}

@media (max-width: 768px) {
  .col-sm-4, .col-sm-6 {
    width: 100%;
  }
}


.box-info-privacy {
    background-color: #ebf3ef;
    padding: 12px 30px;
    margin: 25px 0px 10px;
}
#privacy-checkbox-container .label {
    font-size: 1.1rem;
}

#privacy-checkbox-container a,
.box-info-privacy a {
    font-weight: 900;
    color: #306c35;
}


.box-info-privacy small {
    font-size: 0.90rem;
}
#container-coupon_code p {
    color: #306c35;
    margin-bottom:5px;
}

#privacy-checkbox-container input[type="checkbox"],
input[type="checkbox"].privacy-check, 
input[type="checkbox"].form-check-input,
input[type="radio"].form-check-input {
  border: 2px solid #306c35;
}


#privacy-checkbox-container input[type="checkbox"] {
/*  appearance: none;
  -webkit-appearance: none;*/
  width: 20px;
  height: 20px;
  border: 2px solid #306C35;
  border-radius: 3px;
  position: relative;
  cursor: pointer;
}

/*#privacy-checkbox-container input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 5px;
  width: 4px;
  height: 9px;
  border: solid #306C35;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}*/


.box-specific-terms-and-conditions {
  padding: 2% 5%;
  margin: 20px 0px;
  border: 2px solid #2e7132;
  border-radius: 20px;
  background: #f5f5f5;
}
.box-specific-terms-and-conditions h2 {
    color: #2e7132;
    font-weight: 900;
}


#iub-legalDoc header, 
#iub-legalDoc .main-header {
    background: #ffffff !important;
}
#iub-legalDoc footer {
  background-color: #ffffff !important;
}

#container-packages .package {
    margin-bottom: 15px;
}
#box-package-dates .package.date {
    font-weight: 900;
    /*color: #2e7132;*/
    color: #dc7b00;
}

#container-payment-values {
    background-color: #ebf3ef;     
}

.label-price {
    color: #016734;
    text-align: right;
}
.total-price {
    font-weight: 900;
    font-size: 1.5rem;
}

h1.titolo-conferma {
    color: #275f2a;
    font-size: clamp(2rem, 2vw + 1rem, 3rem);
    margin-bottom: 30px !important;
}

#box-info-conferma,
#box-info-conferma p {
    font-family: 'Montserrat', sans-serif;
    color: #111;
    font-size: 16px;
    line-height: 21px;
}
#box-info-conferma strong,
#box-info-conferma p strong,
#box-info-conferma b,
#box-info-conferma p b {
    font-weight:900;
}
#box-info-conferma h2 {
    color: #016734;
    font-weight: 900;
    font-size: 1.3em;
    text-transform: uppercase;
    margin-top: 30px;
    margin-bottom: 10px;
}

.hr-riga-giallo {
    border: 2px solid #f5ed00;
    opacity: 1;
}


.btn-section-intro {
  font-size: 1.5rem;
  text-transform: uppercase;
  color: #fde900;
  border: 3px solid #2e7132 !important;
  background: linear-gradient(to right, #000, #2e7132);
}
.btn-section-intro:hover {
  background: #2e7132;
}