/* ==================================================
   FONT FAMILY 
   ================================================== */

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

* {
  font-family: "Montserrat", sans-serif;
}

/* ==================================================
   TYPOGRAPHY - DESKTOP
   ================================================== */

.st_container {
  max-width: 1240px;
  padding: 0 20px;
  margin: 0 auto;
}

.st_h-special {
  font-size: 80px;
  line-height: 97px;
  font-weight: 700; /* Bold */
}

.st_h1 {
  font-size: 48px;
  line-height: 54px;
  font-weight: 700; /* Bold */
}

.st_h2 {
  font-size: 36px;
  line-height: 42px;
  font-weight: 700; /* Bold */
}

.st_h2-special {
  font-size: 32px;
  line-height: 42px;
  font-weight: 500; /* Medium */
}

.st_h3 {
  font-size: 28px;
  line-height: 34px;
  font-weight: 700; /* Bold */
}

.st_h4 {
  font-size: 22px;
  line-height: 26px;
  font-weight: 700; /* Bold */
}

.st_text {
  font-size: 18px;
  line-height: 28px;
  font-weight: 400; /* Regular */
}

.st_menu-item {
  font-size: 14px;
  line-height: 12px;
  font-weight: 700; /* Bold */
  letter-spacing: 1.5px;
}

.st_button {
  font-size: 12px;
  line-height: 12px;
  font-weight: 700; /* Bold */
  padding: 16px 23px; /* due in meno per il bordo che si somma */
  border: 1px solid #ffffff;
  color: #ffffff;
  border-radius: 50px;
  text-decoration: none;
  width: fit-content;
  white-space: nowrap;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
}

.st_form {
  font-size: 16px;
  line-height: 20px;
  font-weight: 500; /* Medium */
}

@media (max-width: 991px) {
  .st_h1 {
    font-size: 30px;
    line-height: 34px;
    font-weight: 700; /* Bold */
  }

  .st_h2 {
    font-size: 26px;
    line-height: 30px;
    font-weight: 700; /* Bold */
  }

  .st_h2-special {
    font-size: 24px;
    line-height: 28px;
    font-weight: 500; /* Medium */
  }

  .st_h3 {
    font-size: 22px;
    line-height: 24px;
    font-weight: 700; /* Bold */
  }

  .st_h4 {
    font-size: 18px;
    line-height: 24px;
    font-weight: 700; /* Bold */
  }

  .st_text {
    font-size: 16px;
    line-height: 26px;
    font-weight: 400; /* Regular */
  }

  .st_button {
    font-size: 12px;
    line-height: 12px;
    padding: 13px 20px; /* due in meno per il bordo che si somma */
  }

  .st_form {
    font-size: 14px;
    line-height: 18px;
    font-weight: 500; /* Medium */
  }
}

/* ==================================================
   PALETTE COLORI
   ================================================== */

/* --- Background Colors --- */
.st_bg-grigio-chiaro {
  background-color: #f5f5f5;
}
.st_bg-grigio-scuro {
  background-color: #cccccc;
}
.st_bg-nero {
  background-color: #1f1b29;
}
.st_bg-bianco {
  background-color: #ffffff;
}
.st_bg-giallo {
  background-color: #d4a615;
}
.st_bg-celeste {
  background-color: #87bad3;
}
.st_bg-blu-medio {
  background-color: #2D739A;
}

.st_bg-blu {
  background-color: #0E4169;
}
.st_bg-azzurro {
  background-color: #55AADF;
}
.st_bg-verde {
  background-color: #5CAF32;
}

/* --- Border Colors --- */
.st_border-grigio-chiaro {
  border-color: #f5f5f5;
}
.st_border-grigio-scuro {
  border-color: #cccccc;
}
.st_border-nero {
  border-color: #1f1b29;
}
.st_border-bianco {
  border-color: #ffffff;
}
.st_border-giallo {
  border-color: #d4a615;
}
.st_border-celeste {
  border-color: #87bad3;
}
.st_border-blu-medio {
  border-color: #2D739A;
}

.st_border-blu {
  border-color: #0E4169;
}
.st_border-azzurro {
  border-color: #55AADF;
}
.st_border-verde {
  border-color: #5CAF32;
}

/* --- Text Colors --- */
.st_text-grigio-chiaro {
  color: #f5f5f5;
}
.st_text-grigio-scuro {
  color: #cccccc;
}
.st_text-nero {
  color: #1f1b29;
}
.st_text-bianco {
  color: #ffffff;
}
.st_text-giallo {
  color: #d4a615;
}
.st_text-celeste {
  color: #87bad3;
}
.st_text-blu-medio {
  color: #2D739A;
}

.st_text-blu {
  color: #0E4169;
}
.st_text-azzurro {
  color: #55AADF;
}
.st_text-verde {
  color: #5CAF32;
}