/* GF Bootstrap Styler v1.0.4 - compact Bootstrap-style Gravity Forms */

.gform_wrapper,
.gform_wrapper form.gform-bootstrap,
form.gform-bootstrap {
    --gfbs-radius: var(--bs-border-radius, .375rem);
    --gfbs-border: var(--bs-border-color, #d7dee6);
    --gfbs-primary: var(--bs-primary, #455563);
    --gfbs-danger: var(--bs-danger, #dc3545);
    --gfbs-muted: var(--bs-secondary-color, #5f6b76);
    --gfbs-gap: .85rem;
}

.gform_wrapper,
.gform_wrapper * { box-sizing: border-box !important; }

.gform_wrapper form,
form.gform-bootstrap {
    width: 100% !important;
    margin: 0 !important;
}

/* Kill wpautop/shortcode pollution inside Gravity Forms */
.gform_wrapper p:empty,
.gform_wrapper .gform_footer > p,
.gform_wrapper .ginput_complex > p,
.gform_wrapper .ginput_container > p,
form.gform-bootstrap p:empty,
form.gform-bootstrap .gform_footer > p,
form.gform-bootstrap .ginput_complex > p,
form.gform-bootstrap .ginput_container > p {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gform_wrapper .ginput_complex br,
.gform_wrapper .ginput_container br,
.gform_wrapper .gform_footer br,
.gform_wrapper .gfield > p,
form.gform-bootstrap .ginput_complex br,
form.gform-bootstrap .ginput_container br,
form.gform-bootstrap .gform_footer br,
form.gform-bootstrap .gfield > p {
    display: none !important;
}

.gform_wrapper .gform_fields,
form.gform-bootstrap .gform_fields {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    row-gap: 0 !important;
    grid-row-gap: 0 !important;
}

.gform_wrapper .gfield,
form.gform-bootstrap .gfield {
    display: block !important;
    margin: 0 0 var(--gfbs-gap) !important;
    padding: 0 !important;
}

.gform_wrapper .gfield_label,
.gform_wrapper legend.gfield_label,
form.gform-bootstrap .gfield_label,
form.gform-bootstrap legend.gfield_label {
    display: block !important;
    margin: 0 0 .28rem !important;
    padding: 0 !important;
    font-size: .86rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--bs-body-color, #111) !important;
}

.gform_wrapper .gfield_required,
.gform_wrapper .gfield_required_text,
form.gform-bootstrap .gfield_required,
form.gform-bootstrap .gfield_required_text {
    margin-left: .12rem !important;
    color: var(--gfbs-danger) !important;
    font-size: .78em !important;
    font-style: normal !important;
    font-weight: 400 !important;
}

.gform_wrapper input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.gform_wrapper select,
.gform_wrapper textarea,
form.gform-bootstrap input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
form.gform-bootstrap select,
form.gform-bootstrap textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 34px !important;
    height: auto !important;
    padding: .34rem .58rem !important;
    font-size: .9rem !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    color: var(--bs-body-color, #212529) !important;
    background-color: var(--bs-body-bg, #fff) !important;
    border: 1px solid var(--gfbs-border) !important;
    border-radius: var(--gfbs-radius) !important;
    box-shadow: none !important;
}

.gform_wrapper select,
form.gform-bootstrap select {
    padding-right: 2rem !important;
}

.gform_wrapper textarea,
form.gform-bootstrap textarea {
    min-height: 118px !important;
    max-height: 180px !important;
    resize: vertical !important;
}

.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus,
form.gform-bootstrap input:focus,
form.gform-bootstrap select:focus,
form.gform-bootstrap textarea:focus {
    border-color: rgba(69, 85, 99, .45) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 .14rem rgba(69, 85, 99, .12) !important;
}

.gform_wrapper .ginput_complex,
.gform_wrapper .ginput_container_name,
.gform_wrapper .ginput_container_address,
form.gform-bootstrap .ginput_complex,
form.gform-bootstrap .ginput_container_name,
form.gform-bootstrap .ginput_container_address {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .62rem 1rem !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gform_wrapper .ginput_complex > span,
.gform_wrapper .ginput_complex > p > span,
.gform_wrapper .ginput_container_name > span,
.gform_wrapper .ginput_container_address > span,
.gform_wrapper .ginput_full,
.gform_wrapper .ginput_left,
.gform_wrapper .ginput_right,
form.gform-bootstrap .ginput_complex > span,
form.gform-bootstrap .ginput_complex > p > span,
form.gform-bootstrap .ginput_container_name > span,
form.gform-bootstrap .ginput_container_address > span,
form.gform-bootstrap .ginput_full,
form.gform-bootstrap .ginput_left,
form.gform-bootstrap .ginput_right {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
}

.gform_wrapper .ginput_full,
.gform_wrapper .address_line_1,
.gform_wrapper .address_line_2,
form.gform-bootstrap .ginput_full,
form.gform-bootstrap .address_line_1,
form.gform-bootstrap .address_line_2 {
    grid-column: 1 / -1 !important;
}

.gform_wrapper .ginput_complex label,
.gform_wrapper .ginput_container_name label,
.gform_wrapper .ginput_container_address label,
.gform_wrapper .gfield_description,
.gform_wrapper .instruction,
form.gform-bootstrap .ginput_complex label,
form.gform-bootstrap .ginput_container_name label,
form.gform-bootstrap .ginput_container_address label,
form.gform-bootstrap .gfield_description,
form.gform-bootstrap .instruction {
    display: block !important;
    margin: 0 0 .22rem !important;
    padding: 0 !important;
    color: var(--gfbs-muted) !important;
    font-size: .78rem !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
}

.gform_wrapper .gfield_description,
form.gform-bootstrap .gfield_description {
    margin: 0 0 .3rem !important;
}

.gform_wrapper .gfield_checkbox,
.gform_wrapper .gfield_radio,
form.gform-bootstrap .gfield_checkbox,
form.gform-bootstrap .gfield_radio {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.gform_wrapper .gchoice,
form.gform-bootstrap .gchoice {
    display: flex !important;
    gap: .42rem !important;
    align-items: flex-start !important;
    margin: 0 0 .28rem !important;
}

.gform_wrapper input[type="checkbox"],
.gform_wrapper input[type="radio"],
form.gform-bootstrap input[type="checkbox"],
form.gform-bootstrap input[type="radio"] {
    width: 1em !important;
    height: 1em !important;
    margin-top: .18em !important;
    flex: 0 0 auto !important;
}

.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .is-invalid,
form.gform-bootstrap .gfield_error input,
form.gform-bootstrap .gfield_error select,
form.gform-bootstrap .gfield_error textarea,
form.gform-bootstrap .is-invalid {
    border-color: var(--gfbs-danger) !important;
}

.gform_wrapper .validation_message,
.gform_wrapper .gfield_validation_message,
form.gform-bootstrap .validation_message,
form.gform-bootstrap .gfield_validation_message {
    width: 100% !important;
    margin-top: .22rem !important;
    color: var(--gfbs-danger) !important;
    font-size: .8rem !important;
}

.gform_wrapper .gform_validation_errors,
form.gform-bootstrap .gform_validation_errors {
    padding: .75rem .9rem !important;
    margin-bottom: .85rem !important;
    border: 1px solid var(--bs-danger-border-subtle, #f1aeb5) !important;
    border-radius: var(--gfbs-radius) !important;
    color: var(--bs-danger-text-emphasis, #842029) !important;
    background: var(--bs-danger-bg-subtle, #f8d7da) !important;
}

.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer,
form.gform-bootstrap .gform_footer,
form.gform-bootstrap .gform_page_footer {
    display: flex !important;
    gap: .55rem !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    margin: .95rem 0 0 !important;
    padding: 0 !important;
}

.gform_wrapper input[type="submit"],
.gform_wrapper button[type="submit"],
form.gform-bootstrap input[type="submit"],
form.gform-bootstrap button[type="submit"] {
    display: inline-block !important;
    min-height: 35px !important;
    padding: .38rem .85rem !important;
    font-size: .88rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    cursor: pointer !important;
    border-radius: var(--gfbs-radius) !important;
    color: #fff !important;
    background-color: var(--gfbs-primary) !important;
    border: 1px solid var(--gfbs-primary) !important;
}

.gform_wrapper .gform_hidden,
form.gform-bootstrap .gform_hidden,
.gform_wrapper .gfield_visibility_hidden,
form.gform-bootstrap .gfield_visibility_hidden {
    display: none !important;
}

.gform_wrapper .gf_clear,
.gform_wrapper .gf_clear_complex,
form.gform-bootstrap .gf_clear,
form.gform-bootstrap .gf_clear_complex {
    display: none !important;
    clear: none !important;
}

@media (max-width: 575.98px) {
    .gform_wrapper .ginput_complex,
    .gform_wrapper .ginput_container_name,
    .gform_wrapper .ginput_container_address,
    form.gform-bootstrap .ginput_complex,
    form.gform-bootstrap .ginput_container_name,
    form.gform-bootstrap .ginput_container_address {
        grid-template-columns: 1fr !important;
        gap: .58rem !important;
    }
}
