@keyframes gformLoader {
    0% {
        transform: translate(-50%, -50%) rotate(0);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.gform-theme--api, .gform-theme--foundation {
    --gf-form-gap-x: 1.25rem;
    --gf-form-gap-y: 1.25rem;
    --gf-form-footer-margin-y-start: 1.25rem;
    --gf-label-width: 100%;
    --gf-label-req-gap: 0;
}

.gform_heading {
    order: 1;
    margin-bottom: 1.5625rem;
    text-align: center;
}

.gform_heading:empty,
.gform_heading:not(:has(.gform_title)) {
    display: none;
}

.gform_title {
    margin-bottom: 0;
}

.gform_description {
    display: none;
}

.gform_wrapper {
    display: flex;
    flex-direction: column;
    transition: opacity 0.3s;
}

.gform_wrapper > form {
    order: 3;
}

.gform_wrapper:has(.gform-loader) {
    opacity: 0.6;
}

.gform-theme--foundation .gform-loader {
    block-size: 3rem;
    inline-size: 3rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-block-end: 0.25rem solid var(--color-blue-500);
    border-block-start: 0.25rem solid var(--color-white);
    border-inline-end: 0.25rem solid var(--color-white);
    border-inline-start: 0.25rem solid var(--color-blue-500);
}

.gform_validation_errors {
    order: 2;
    margin-bottom: 1.5625rem;
    padding: 1.5rem;
    border: 1px solid var(--color-red-500);
    border-radius: var(--border-radius);
}

.gform_submission_error {
    margin-bottom: 0;
    font-size: var(--font-size-body);
    line-height: 1;
    color: var(--color-red-500);
}

.gform_required_legend {
    display: none;
}

.gfield_label {
    display: inline-block !important;
    margin-bottom: 0.625rem;
}

.gfield_required_asterisk {
    display: inline-block;
    margin-left: 0.125rem;
    color: var(--color-orange-500);
}

.gfield {
    position: relative;
}

.gfield.gfield_error {
    margin-bottom: 0.375rem;
}

.gfield_error input,
.gfield_error select,
.gfield_error textarea,
.gfield_error .choices__inner {
    border-color: var(--color-red-500);
    border-left-width: 0.25rem;
}

.gfield_error .ginput_container {
    position: relative;
}

.gfield_error .ginput_container:after {
    content: "\e90e";
    font-family: "icomoon";
    font-size: 1.75rem;
    line-height: 1;
    position: absolute;
    top: 0.4375rem;
    right: 0.625rem;
    color: var(--color-red-500);
}

.gform-theme--foundation .gfield textarea.large {
    min-block-size: 8.5625rem;
}

.gfield_validation_message {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 0.375rem;
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1;
    text-transform: uppercase;
    text-align: right;
    color: var(--color-red-500);
}

.gform_confirmation_message {
    text-align: center;
}

.fx-gform-captcha-text {
    font-size: 1rem;
}

.gform_footer {
    flex-direction: column;
}

.gform_footer .btn {
    margin: 0 auto;
    width: max-content;
}

.gform_page_footer {
    display: flex;
    justify-content: flex-end;
}

.gform_page_footer:has(.gform_previous_button) {
    justify-content: space-between;
}

@media (min-width: 768px) {
    .gform_heading {
        margin-bottom: 1.75rem;
    }

    .gform_validation_errors {
        margin-bottom: 1.75rem;
    }
}

@media (min-width: 1200px) {
    .gform-theme--api, .gform-theme--foundation {
        --gf-form-gap-x: 1.5625rem;
        --gf-form-gap-y: 1.5625rem;
        --gf-form-footer-margin-y-start: 2rem;
    }

    .gform_heading {
        margin-bottom: 1.875rem;
    }

    .gform_validation_errors {
        margin-bottom: 1.875rem;
    }

    .gfield_error .ginput_container:after {
        top: 0.6875rem;
    }
}

@media (min-width: 1600px) {
    .gform_heading {
        margin-bottom: 2rem;
    }

    .gform_validation_errors {
        margin-bottom: 2rem;
    }
}