.elementor-18873 .elementor-element.elementor-element-2a9b16a{--display:flex;}/* Start custom CSS for html, class: .elementor-element-71182ea *//* =====================================================
   HUBSPOT LEGACY FORM
   FLEXIBLE / REUSABLE WIDTH LAYOUT
   ===================================================== */


/* -----------------------------------------------------
   OUTER CARD
   ----------------------------------------------------- */

.hbspt-form {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;

  background:
    linear-gradient(
      rgba(242, 239, 243, 0.95),
      rgba(242, 239, 243, 0.95)
    ) padding-box,
    linear-gradient(
      135deg,
      #76278f 0%,
      #bc278f 38%,
      #df426d 68%,
      #f0b946 100%
    ) border-box;

  border: 6px solid transparent;
  border-radius: 34px;

  padding: 26px 30px 22px;

  box-sizing: border-box;
}


/* -----------------------------------------------------
   FLATTEN HUBSPOT FIELDSETS
   ----------------------------------------------------- */

.hbspt-form form > fieldset {
  display: contents !important;
}


/* Restore checkbox fieldsets */
.hbspt-form form > fieldset:has(input[type="checkbox"]) {
  display: block !important;

  grid-column: 1 / -1 !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  order: 100 !important;
}


/* -----------------------------------------------------
   MAIN GRID
   6 columns:
   full = 6
   half = 3
   third = 2
   ----------------------------------------------------- */

.hbspt-form form {
  display: grid !important;

  grid-template-columns:
    repeat(6, minmax(0, 1fr));

  column-gap: 16px !important;
  row-gap: 14px !important;

  width: 100%;
}


/* -----------------------------------------------------
   DEFAULT FIELD BEHAVIOR
   Every field is full width unless listed below
   ----------------------------------------------------- */

.hbspt-form .hs-form-field {
  grid-column: 1 / -1;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
}


/* =====================================================
   REUSABLE WIDTH GROUPS
   ===================================================== */


/* HALF WIDTH
   Two of these will naturally sit on one row
*/

.hbspt-form :is(
  .hs_firstname,
  .hs_lastname,
  .hs_phone,
  .hs_email
) {
  grid-column: span 3;
}


/* THIRD WIDTH
   Three of these can naturally sit on one row

   Add fields here in the future if desired.

   Example:
   .hs_city,
   .hs_state_custom,
   .hs_zip
*/

.hbspt-form :is(
  .hs__placeholder_for_third_width
) {
  grid-column: span 2;
}


/* FULL WIDTH
   This is technically already the default,
   but listing important fields here makes
   future maintenance obvious.
*/

.hbspt-form :is(
  .hs_zip,
  .hs_project_description
) {
  grid-column: 1 / -1;
}


/* =====================================================
   LABELS
   ===================================================== */

.hbspt-form .hs-form-field > label {
  display: block !important;

  margin: 0 0 5px 3px !important;

  color: #171252 !important;

  font-family: inherit !important;

  font-size: 14px !important;
  line-height: 1.15 !important;

  font-weight: 700 !important;
  font-style: normal !important;
}


.hbspt-form .hs-form-required {
  color: #c52a73 !important;
}


/* =====================================================
   FIELD WRAPPERS
   ===================================================== */

.hbspt-form .input {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}


.hbspt-form .form-columns-1 .hs-form-field,
.hbspt-form .form-columns-2 .hs-form-field,
.hbspt-form .form-columns-3 .hs-form-field {
  width: 100% !important;
  float: none !important;
}


/* =====================================================
   INPUTS
   ===================================================== */

.hbspt-form input[type="text"],
.hbspt-form input[type="email"],
.hbspt-form input[type="tel"],
.hbspt-form input[type="number"],
.hbspt-form input[type="url"],
.hbspt-form select,
.hbspt-form textarea {

  display: block !important;

  width: 100% !important;
  max-width: none !important;

  box-sizing: border-box !important;

  background: #ffffff !important;

  border: 2px solid #b8b8b8 !important;
  border-radius: 9px !important;

  min-height: 44px !important;

  padding: 9px 12px !important;

  color: #333333 !important;

  font-family: inherit !important;
  font-size: 15px !important;
  line-height: 1.2 !important;

  font-weight: 500 !important;
  font-style: normal !important;

  outline: none !important;
  box-shadow: none !important;
}


/* Placeholder */

.hbspt-form input::placeholder,
.hbspt-form textarea::placeholder {
  color: #b8b8b8 !important;
  opacity: 1 !important;
  font-style: italic !important;
}


/* Dropdown */

.hbspt-form select {
  cursor: pointer !important;
  color: #555555 !important;

  min-height: 44px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}


/* Focus */

.hbspt-form input:focus,
.hbspt-form select:focus,
.hbspt-form textarea:focus {
  border-color: #8b2c91 !important;

  box-shadow:
    0 0 0 3px
    rgba(139, 44, 145, 0.10) !important;
}


/* Project description */

.hbspt-form .hs_project_description textarea {
  min-height: 105px !important;
  resize: vertical;
}


/* =====================================================
   CONSENT / CHECKBOXES
   ===================================================== */

.hbspt-form .legal-consent-container,
.hbspt-form form > fieldset:has(input[type="checkbox"]) .hs-form-field,
.hbspt-form form > fieldset:has(input[type="checkbox"]) .input,
.hbspt-form form > fieldset:has(input[type="checkbox"]) ul,
.hbspt-form form > fieldset:has(input[type="checkbox"]) li {

  width: 100% !important;
  max-width: 100% !important;

  float: none !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
}


.hbspt-form .legal-consent-container {
  display: flex !important;
  flex-direction: column !important;

  gap: 8px !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* Remove bullets */

.hbspt-form ul.inputs-list,
.hbspt-form ul.inputs-list li,
.hbspt-form .inputs-list,
.hbspt-form .inputs-list li,
.hbspt-form .hs-form-booleancheckbox {

  list-style: none !important;
  list-style-type: none !important;
}


.hbspt-form ul.inputs-list li::marker,
.hbspt-form .inputs-list li::marker,
.hbspt-form .hs-form-booleancheckbox::marker {

  content: "" !important;
  font-size: 0 !important;
}


.hbspt-form ul.inputs-list li::before,
.hbspt-form .inputs-list li::before,
.hbspt-form .hs-form-booleancheckbox::before {

  content: none !important;
  display: none !important;
}


.hbspt-form ul.inputs-list,
.hbspt-form .inputs-list {

  padding-left: 0 !important;
  margin-left: 0 !important;
}


/* Each checkbox row */

.hbspt-form .legal-consent-container li,
.hbspt-form .legal-consent-container .hs-form-booleancheckbox {

  display: block !important;

  width: 100% !important;

  margin: 0 0 6px 0 !important;
  padding: 0 !important;
}


/* Checkbox + text */

.hbspt-form
.hs-form-booleancheckbox-display {

  display: flex !important;

  flex-direction: row !important;
  align-items: flex-start !important;

  width: 100% !important;

  gap: 10px !important;
}


/* Checkbox */

.hbspt-form
input[type="checkbox"] {

  flex: 0 0 16px !important;

  width: 16px !important;
  height: 16px !important;

  min-width: 16px !important;
  min-height: 16px !important;

  margin: 3px 0 0 0 !important;
  padding: 0 !important;
}


/* Consent text */

.hbspt-form
.hs-form-booleancheckbox-display > span {

  display: block !important;

  flex: 1 1 auto !important;

  width: auto !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #414141 !important;

  font-size: 12px !important;
  line-height: 1.35 !important;

  font-weight: 400 !important;
  font-style: normal !important;

  white-space: normal !important;
}


.hbspt-form .legal-consent-container label {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


.hbspt-form .legal-consent-container a {
  color: #c42b70 !important;
  text-decoration: none !important;
}


/* =====================================================
   SUBMIT
   ===================================================== */

.hbspt-form .hs_submit {

  grid-column: 1 / -1 !important;
  grid-row: auto !important;

  order: 200 !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


.hbspt-form .actions {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


.hbspt-form input[type="submit"] {

  display: block !important;

  width: calc(100% - 50px) !important;

  margin: 0 auto !important;

  min-height: 50px !important;

  padding: 10px 18px !important;

  background: #617fc6 !important;

  color: #ffffff !important;

  border: 2px solid #ffffff !important;
  border-radius: 9px !important;

  font-size: 19px !important;
  line-height: 1.15 !important;

  font-weight: 700 !important;
  font-style: normal !important;

  text-align: center !important;

  cursor: pointer !important;

  box-shadow:
    0 1px 2px
    rgba(0, 0, 0, 0.08) !important;
}


/* =====================================================
   ERRORS
   ===================================================== */

.hbspt-form .hs-error-msgs {
  list-style: none !important;

  margin: 5px 0 0 !important;
  padding: 0 !important;
}


.hbspt-form .hs-error-msgs label {
  display: block !important;

  color: #b42318 !important;

  font-size: 12px !important;
  line-height: 1.35 !important;

  font-style: normal !important;
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 767px) {

  .hbspt-form {
    max-width: 100%;

    padding: 24px 18px 22px;

    border-width: 5px;
    border-radius: 26px;
  }


  .hbspt-form form {
    grid-template-columns: 1fr !important;

    column-gap: 0 !important;
    row-gap: 14px !important;
  }


  /* Every normal field becomes full-width on mobile */

  .hbspt-form .hs-form-field,
  .hbspt-form :is(
    .hs_firstname,
    .hs_lastname,
    .hs_phone,
    .hs_email,
    .hs_zip,
    .hs_project_description
  ),
  .hbspt-form .legal-consent-container,
  .hbspt-form .hs_submit {

    grid-column: 1 !important;
  }


  .hbspt-form input[type="text"],
  .hbspt-form input[type="email"],
  .hbspt-form input[type="tel"],
  .hbspt-form input[type="number"],
  .hbspt-form input[type="url"],
  .hbspt-form select,
  .hbspt-form textarea {

    min-height: 44px !important;

    padding: 9px 12px !important;

    font-size: 15px !important;
  }


  .hbspt-form .hs_project_description textarea {
    min-height: 100px !important;
  }


  .hbspt-form input[type="submit"] {
    width: 100% !important;
  }
}/* End custom CSS */