/* Shared estimate form component. */
.gform_wrapper select { line-height: 1.5 !important; }

.estimate-card { min-height: 820px; padding: 25px 22px 28px; border-radius: 12px; background: var(--bc-blue); color: #fff; }
.estimate-card h2 { margin: 20px 0; color: #fff; font-size: 28px; font-weight: 600; line-height: 38.5px; text-align: center; }
.estimate-card .gform_wrapper { margin: 0; }
.estimate-card .gform_fields { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 12px !important; row-gap: 9px !important; }
.estimate-card .gfield { grid-column: 1 / -1; gap: 3px !important; margin: 0 !important; }
.estimate-card .gfield.bc-half { grid-column: span 1; }
.estimate-card .gfield_label { margin: 0 0 5px !important; color: #fff; font-size: 15px !important; font-weight: 400 !important; line-height: 21px !important; }
.estimate-card .gfield_required { color: #fff !important; }
.estimate-card input:not([type='submit']):not([type='checkbox']), .estimate-card select { width: 100% !important; height: 40px !important; min-height: 40px !important; padding: 8px 18px !important; border: 0 !important; border-radius: 0 !important; background-color: #fff; color: var(--bc-ink); font-size: 16px !important; }
.estimate-card textarea { width: 100% !important; height: 105px !important; min-height: 105px !important; padding: 8px 18px !important; border: 0 !important; border-radius: 0 !important; background: #fff; color: var(--bc-ink); font-size: 16px !important; resize: vertical; }
.estimate-card .ginput_complex { gap: 9px 12px; }
.estimate-card .gform-field-label--type-sub { color: #fff !important; font-size: 13px !important; line-height: 1.5 !important; }
.estimate-card .gsection { margin-top: 18px !important; padding: 0 0 8px !important; border-bottom: 2px solid var(--bc-yellow) !important; }
.estimate-card .gsection:first-child { margin-top: 0 !important; }
.estimate-card .gsection_title { margin: 0; color: #fff; font-size: 22px; line-height: 1.25; }
.estimate-card .gchoice { display: grid; grid-template-columns: 18px 1fr; gap: 8px; align-items: start; }
.estimate-card .gchoice label, .estimate-card .gfield_description { color: #fff !important; font-size: 15px !important; font-weight: 400 !important; line-height: 21px !important; }
.estimate-card .gfield--type-consent > .gfield_label { display: none !important; }
.estimate-card .gfield--type-consent .gfield_consent_label { color: #fff !important; font-size: 15px !important; font-weight: 400 !important; line-height: 21px !important; }
.estimate-card .gfield--type-consent .gfield_consent_description { display: block !important; max-height: none !important; margin: 4px 0 0 !important; padding: 0 !important; overflow: visible !important; border: 0 !important; color: #fff !important; font-size: 13px !important; line-height: 17.875px !important; }
.estimate-card .gfield--type-consent .gfield_consent_description a { color: #fff; text-decoration: underline; }
.estimate-card .gfield--type-consent { min-height: 146px; }
.estimate-card .gform_footer { height: 58px !important; min-height: 58px !important; padding: 18px 0 0 !important; margin: 0 !important; justify-content: center; }
.estimate-card .gform_footer input.gform_button { width: auto !important; min-width: 225px !important; margin: 0 auto 10px !important; }
.estimate-card .gform_validation_errors { font-size: 12px; }

.estimate-card--light { min-height: 0; background: var(--bc-light); color: var(--bc-ink); }
.estimate-card--light h2 { color: var(--bc-navy); }
.estimate-card--light .gfield_label,
.estimate-card--light .gfield_required,
.estimate-card--light .gchoice label,
.estimate-card--light .gfield_description,
.estimate-card--light .gform-field-label--type-sub,
.estimate-card--light .gsection_title,
.estimate-card--light .gfield--type-consent .gfield_consent_label,
.estimate-card--light .gfield--type-consent .gfield_consent_description,
.estimate-card--light .gfield--type-consent .gfield_consent_description a { color: var(--bc-ink) !important; }
.estimate-card--light input:not([type='submit']):not([type='checkbox']),
.estimate-card--light select,
.estimate-card--light textarea { border: 1px solid #c8ced2 !important; }

@media (max-width: 767px) {
  .estimate-card h2 { font-size: 24px; }
}
@media (min-width: 640px) {
    .gform-theme--foundation .ginput_address_city, .gform-theme--foundation .ginput_address_country, .gform-theme--foundation .ginput_address_state, .gform-theme--foundation .ginput_address_zip {
        inline-size: 32%;
    }
}