/* ===== SHARED TYPOGRAPHY UTILITY CLASSES ===== */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

/* Large Light Title - 40px, 300 Light */
.typo-title-large-light {
  font-weight: 300;
  font-style: Light;
  font-size: 2.5rem;
  line-height: 100%;
  letter-spacing: -2%;
}

/* Heading Bold - 28-42px, 700 Bold */
.typo-heading-bold {
  font-weight: 700;
  font-style: Bold;
  font-size: 2.625rem;
  line-height: 100%;
  letter-spacing: -2%;
}

.typo-heading-bold-sm {
  font-weight: 700;
  font-style: Bold;
  font-size: 1.75rem;
  line-height: 100%;
  letter-spacing: -2%;
}

/* Number Large - 40px, 700 Bold */
.typo-number-lg,
.typo-spec-number {
  font-weight: 700;
  font-style: Bold;
  font-size: 2.5rem;
  line-height: 100%;
  letter-spacing: -2%;
  vertical-align: middle;
}

/* Number Medium - 28px, 700 Bold */
.typo-number-md,
.typo-spec-number-sm {
  font-weight: 700;
  font-style: Bold;
  font-size: 1.75rem;
  line-height: 100%;
  letter-spacing: -2%;
  vertical-align: middle;
}

/* Unit Large - 20px, 300 Light */
.typo-unit-lg,
.typo-spec-unit {
  font-weight: 300;
  font-style: Light;
  font-size: 1.25rem;
  line-height: 100%;
  letter-spacing: 0%;
  vertical-align: middle;
}

/* Unit Medium - 24px, 300 Light */
.typo-unit-md,
.typo-spec-unit-sm {
  font-weight: 300;
  font-style: Light;
  font-size: 1.5rem;
  line-height: 100%;
  letter-spacing: 0%;
  vertical-align: middle;
}

/* Label/Description - 16px, 600 SemiBold */
.typo-label-semibold {
  font-weight: 600;
  font-style: SemiBold;
  font-size: 1rem;
  line-height: 150%;
  letter-spacing: 0%;
  vertical-align: middle;
}

/* Label Small - 14px, 400 Regular */
.typo-label-regular {
  font-weight: 400;
  font-style: Normal;
  font-size: 0.875rem;
  line-height: 160%;
  letter-spacing: 0%;
  color: #666666;
}

/* Body Text - 16px, 400 Regular */
.typo-body {
  font-weight: 400;
  font-style: Regular;
  font-size: 1rem;
  line-height: 150%;
  letter-spacing: 0%;
}

.typo-body-lg {
  font-weight: 400;
  font-style: Regular;
  font-size: 1rem;
  line-height: 180%;
  letter-spacing: 0%;
}

/* Description - 20px, 700 Bold */
.typo-description-bold,
.typo-subtitle-bold {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 100%;
  letter-spacing: 0%;
}

/* ===== END TYPOGRAPHY UTILITY CLASSES ===== */

/* ===== SHARED CONTAINER UTILITY CLASSES ===== */

/* Max Width Container - 1500px centered */
.herio-container-max,
.limo-container-max {
  max-width: 1500px;
  padding: 0px 40px;
  margin: 0 auto;
}

.no-padding {
  padding: 0 !important;
}

/* ===== SHARED RESPONSIVE UTILITIES ===== */
.btn--primary--blue:hover {
  background: #fff;
  color: #1464f4;
}
.btn--primary--white:hover {
  background: #1464f4;
  color: #fff;
}
/* Tablet Landscape - 1024px */
@media (max-width: 1024px) {
  .typo-heading-bold {
    font-size: 1.75rem;
  }
}

/* Tablet Portrait / Mobile Large - 768px */
@media (max-width: 768px) {
  .features-section,
  .pdp-section-class {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .typo-heading-bold {
    font-size: 20px;
  }

  .typo-spec-number-sm {
    font-size: 1.25rem;
  }
  .typo-spec-unit {
    font-size: 0.875rem;
  }
  .typo-label-semibold {
    font-size: 1rem;
  }

  .typo-title-large-light {
    font-size: 1.5rem;
  }
  .typo-body-lg {
    font-size: 1rem;
  }
  .typo-number-lg,
  .typo-spec-number {
    font-size: 1.5rem;
  }
  .typo-unit-lg,
  .typo-spec-unit {
    font-size: 1rem;
  }
  .typo-label-semibold {
    font-size: 1rem;
  }
}

/* Mobile Small - 600px */
@media (max-width: 600px) {
  .typo-heading-bold {
    font-size: 18px;
  }
}

/* Form Dialog Style */
.pdp-custom-modal .close-button-wrapper {
  padding: 8px;
  display: flex;
  position: absolute;
  right: 0;
  top: 0;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-items: center;
}
.pdp-custom-modal .close-button-wrapper button {
  width: 100%;
  height: 100%;
}
.pdp-custom-modal .modal-body .title {
  font-family: Mulish;
  font-weight: 300;
  font-style: Light;
  font-size: 24px;
  line-height: 100%;
  letter-spacing: -2%;
}
.pdp-custom-modal .desc {
  font-family: Mulish;
  font-weight: 400;
  font-style: Regular;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 0%;
  text-align: center;
}

.pdp-custom-modal .form-footer {
  font-family: Mulish;
  font-weight: 600;
  font-style: SemiBold;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 0%;
}

.pdp-custom-modal .modal-dialog {
  max-width: 100vw;
  background: unset;
}
.pdp-custom-modal .modal-content {
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
  margin: auto;
  max-width: 100vw;
  background: unset;
}

.pdp-custom-modal .modal-body {
  width: 100%;
  background: #fff;
  padding: 0 !important;
  border-radius: 24px;
  overflow: hidden;
}
.pdp-custom-modal #lead-form-news-wrapper {
  padding: 0;
  background: #fff;
  margin-top: 0;
  border-radius: 12px;
  overflow: hidden;
  min-width: 400px;
}
.pdp-custom-modal .left .field {
  height: 100%;
}
.pdp-custom-modal .left .field img {
  height: 100%;
  min-width: 400px;
  object-fit: cover;
}
.pdp-custom-modal .right {
  margin: auto;
}

@media (max-width: 768px) {
  .pdp-custom-modal .left {
    display: none;
  }
}
/* ===== END CONTAINER UTILITY CLASSES ===== */
