.gp-form {
    position: relative;
    z-index: 9;
}

.gp-form .gform-theme--api,
.gp-form .gform-theme--foundation {
    --gf-form-footer-margin-y-start: 55px;
}

.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container .gform-field-label--type-sub,
.gform_wrapper .gform_heading {
    display: none;
}

.gform_wrapper form .gform-body .gform_fields .gfield .gfield_label {
    font-size: 18px !important;
}

.gform_wrapper
    form
    .gform-body
    .gform_fields
    .gfield
    .ginput_container
    :is(input:not([type="checkbox"], [type="radio"]), select, textarea) {
    border: 0;
    border-radius: 0;
    border-bottom: 1px solid;
    padding: 20px 0;
    box-shadow: none;
    outline: none;
}

.gform_wrapper
    form
    .gform-body
    .gform_fields
    .gfield
    .ginput_container
    :is(input:not([type="checkbox"], [type="radio"])) {
    min-height: 66px;
}

.gform_wrapper
    form
    .gform-body
    .gform_fields
    .gfield
    .ginput_container
    :is(input:not([type="checkbox"], [type="radio"]), select, textarea)::placeholder {
    color: #40394580;
}

.gform_wrapper form .gform-body .gform_fields .gfield .ginput_container :is(input[type="checkbox"]) {
    border-radius: 0;
    border: 1px solid #112337 !important;
    box-shadow: none;
}

.gform_wrapper form .gform-body .gform_fields .gfield .gfield_label,
.gform_wrapper
    form
    .gform-body
    .gform_fields
    .gfield
    .ginput_container
    :is(input:not([type="checkbox"], [type="radio"]), select, textarea) {
    font-size: 20px;
}

.gform_wrapper form .gform-body .gform_fields {
    gap: 40px 30px;
}

.gform-theme--framework .gform-loader {
    border-block-end-color: var(--e-global-color-primary) !important;
    border-inline-start-color: var(--e-global-color-primary) !important;
}

.gform_wrapper form .gform_footer .gform_button {
    background-color: var(--e-global-color-primary) !important;
    font-family: var(--e-global-typography-primary-font-family) !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1em !important;
    letter-spacing: 1px;
    color: var(--e-global-color-2037d97) !important;
    border-radius: 10px !important;
    padding: 15px 30px !important;
    outline: none !important;
    border: 2px dashed var(--e-global-color-secondary) !important;
}

.gform_wrapper form .gform_footer .gform_button:hover {
    background-color: var(--e-global-color-2037d97) !important;
    color: var(--e-global-color-primary) !important;
    border-color: var(--e-global-color-primary) !important;
}

.validation_message,
.gform_validation_errors {
    display: none !important;
}

.gfield_error.gfield_contains_required:after {
    content: "This field is required.";
    font-size: 14px;
    color: var(--e-global-color-primary);
    font-weight: 500;
    margin-top: 5px;
    display: block;
}

.gform_wrapper
    form
    .gform-body
    .gform_fields
    .gfield.gfield_error.gfield_contains_required
    .ginput_container
    :is(input, select, textarea) {
    border-color: var(--e-global-color-primary) !important;
}

.gfield_checkbox .gchoice {
    border: 1px solid #0000001c;
    background: #faf9f9;
    padding: 15px 22px;
}

.gfield_checkbox .gchoice .gfield-choice-input {
    background: #faf9f9;
    min-height: 0px !important;
    padding: 0 !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: 100% !important;
}

.gfield_checkbox .gchoice .gfield-choice-input:before {
    content: "";
    width: 20px;
    height: 20px;
    background: var(--color-primary);
    border-radius: 100%;
    transition: all 0.3s ease-in-out;
}

.gfield_checkbox .gchoice label {
    cursor: pointer;
}

.gp-form .gform_wrapper form .gfield--input-type-fileupload {
    position: relative;
    z-index: 9;
    border: 3px dashed var(--color-primary);
    background: #fffaef;
    padding: 75px 20px 192px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 16px;
    cursor: pointer;
}

.gp-form .gform_wrapper form .gfield--input-type-fileupload::before {
    position: absolute;
    content: "";
    bottom: 75px;
    left: 50%;
    transform: translateX(-50%);
    width: 86px;
    height: 78px;
    background: transparent url(./../images/add-file.webp) no-repeat center center / contain;
}

.gp-form .gform_wrapper form .gform-body .gfield--input-type-fileupload .gfield_label {
    font-family: Inter;
    font-weight: 700;
    font-size: 24px !important;
    line-height: 100%;
    text-align: center;
    margin: 0;
    display: block;
    color: #000000;
}

.gp-form .gform_wrapper form .gfield--input-type-fileupload input[type="file"] {
    display: none;
}

.gp-form .gform_wrapper form .gfield--input-type-fileupload .gform_fileupload_rules {
    margin: 0;
    line-height: 1.2;
    text-align: center;
}

.gp-form .gform_wrapper form .gfield--input-type-fileupload > .gfield_description {
    font-size: 18px;
    line-height: 1.2;
    text-align: center;
    margin: 0;
    color: #000000;
}

.gp-form .gform_wrapper form .gfield--input-type-fileupload .ginput_container_fileupload {
    order: 1;
}

.gp-form .gform_wrapper form .gfield--input-type-fileupload .ginput_container_fileupload .selected-files {
    margin: 20px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-style: italic;
    line-height: 1.2;
}

.gp-form .gform_wrapper form .gfield--input-type-fileupload .ginput_container_fileupload .remove-file {
    color: red;
    font-size: 24px;
    line-height: 1;
    margin-left: 10px;
}

.gp-form.footer-center .gform-theme--foundation #field_submit,
.gp-form.footer-center .gform-theme--foundation .gform_footer,
.gp-form.footer-center .gform-theme--foundation .gform_page_footer {
    justify-content: center;
}

.book-submission-form_wrapper form * {
    outline: none !important;
}
.book-submission-form_wrapper form .gform_fields {
    display: flex;
    flex-wrap: wrap;
}
.book-submission-form_wrapper form .gform_fields .gfield {
    width: 100%;
    flex-basis: 100%;
}
.book-submission-form_wrapper form .gform_fields .gfield.gfield--width-half {
    width: calc(50% - 20px);
    flex-basis: calc(50% - 20px);
}
.book-submission-form_wrapper
    form
    .gform-body
    .gform_fields
    .gfield
    .ginput_container
    :is(input:not([type="checkbox"], [type="radio"]), select) {
    min-height: 40px !important;
    padding: 0 !important;
}
.book-submission-form_wrapper form .gfield--input-type-fileupload {
    padding: 20px !important;
}
.book-submission-form_wrapper form .gfield--input-type-fileupload::before {
    display: none;
}
.book-submission-form_wrapper form .gfield--input-type-fileupload .gform_drop_area {
    padding: 20px;
}
.book-submission-form_wrapper form .gfield--input-type-consent .ginput_container_consent input {
    margin-top: 4px;
}

@media (max-width: 1200px) {
    .gp-form .gform-theme--api,
    .gp-form .gform-theme--foundation {
        --gf-form-footer-margin-y-start: 35px;
    }

    .gform_wrapper
        form
        .gform-body
        .gform_fields
        .gfield
        .ginput_container
        :is(input:not([type="checkbox"], [type="radio"])) {
        min-height: 50px;
    }

    .gform_wrapper form .gform_footer .gform_button {
        font-size: 20px;
        padding: 18px 26px 18px 26px;
    }

    .gform_wrapper form .gform-body .gform_fields .gfield .gfield_label,
    .gform_wrapper
        form
        .gform-body
        .gform_fields
        .gfield
        .ginput_container
        :is(input:not([type="checkbox"], [type="radio"]), select, textarea) {
        font-size: 18px;
    }

    .gform_wrapper form .gform-body .gform_fields .gfield .gfield_label {
        font-size: 16px !important;
    }

    .gp-form .gform_wrapper form .gform-body .gfield--input-type-fileupload .gfield_label {
        font-size: 20px !important;
    }

    .gp-form .gform_wrapper form .gfield--input-type-fileupload {
        padding: 75px 20px 150px;
    }

    .gp-form .gform_wrapper form .gfield--input-type-fileupload::before {
        bottom: 45px;
    }
}

@media (max-width: 880px) {
    .gform_wrapper form .gform-body .gform_fields {
        gap: 20px;
    }

    .gform_wrapper
        form
        .gform-body
        .gform_fields
        .gfield
        .ginput_container
        :is(input:not([type="checkbox"], [type="radio"]), select, textarea) {
        padding: 15px 0;
    }

    .gform_wrapper
        form
        .gform-body
        .gform_fields
        .gfield
        .ginput_container
        :is(input:not([type="checkbox"], [type="radio"])) {
        min-height: 50px;
    }

    .gform_wrapper form .gform_footer .gform_button {
        padding: 14px 20px 14px 20px !important;
    }

    .gp-form .gform_wrapper form .gfield--input-type-fileupload {
        padding: 40px 20px 150px;
    }
    .book-submission-form_wrapper form .gform_fields .gfield.gfield--width-half {
        width: calc(50% - 10px);
        flex-basis: calc(50% - 10px);
    }
}

@media screen and (max-width: 767px) {
    .gp-form .gform_wrapper form .gfield--input-type-fileupload {
        padding: 40px 20px 120px;
    }

    .gp-form .gform_wrapper form .gfield--input-type-fileupload::before {
        width: 66px;
        height: 58px;
        bottom: 35px;
    }

    .gfield-md-full {
        grid-column: span 12 !important;
    }

    .gform_wrapper form .gform-body .gform_fields .gfield .gfield_label,
    .gform_wrapper
        form
        .gform-body
        .gform_fields
        .gfield
        .ginput_container
        :is(input:not([type="checkbox"], [type="radio"]), select, textarea) {
        font-size: 16px;
    }

    .gform_wrapper
        form
        .gform-body
        .gform_fields
        .gfield
        .ginput_container
        :is(input:not([type="checkbox"], [type="radio"]), select, textarea) {
        padding: 10px 0;
    }
}

@media screen and (max-width: 639px) {
    .book-submission-form_wrapper form .gform_fields .gfield.gfield--width-half {
        width: 100%;
        flex-basis: 100%;
    }
}
