.gform_wrapper {
    transition: opacity 0.3s;
}

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

.gform-theme--foundation .gform-loader {
    margin-top: 10px;
    block-size: 25px;
    inline-size: 25px;
    left: 50%;
    translate: -50%;
    border-block-end: 3px solid #00807F;
    border-block-start: 3px solid #fff;
    border-inline-end: 3px solid #fff;
    border-inline-start: 3px solid #00807F;
}

.gform-footer {
    width: 100%;
    position: relative;
}

.gform-footer .gform_button {
    display: flex;
    width: 100%;
    gap: 8px;
    align-items: center;
    justify-content: center;
}

.gform-footer .gform_button:after {
    position: static;
    transform: unset;
}

.gform-footer .gform_button:hover:after {
    font-size: 16px;
    transform: none;
}


.shortcode .gform_heading h2{
    display: none;
}

.gform-theme--foundation {
    --gf-label-req-gap: 0;
    --gf-form-gap-x: 20px;
    --gf-form-gap-y: 20px;
    --gf-field-gap-x: 20px;
    --gf-field-gap-y: 20px;
}

/* .gform-theme--foundation .gform-field-label:where(:not([class*=gform-field-label--type-]):not(.gfield_header_item):not(.ginput_quantity_label)) {} */

.gform-theme--foundation .gfield_label {
    display: inline-block;
}

.gform-theme--foundation legend.gfield_label,
.gform-theme--foundation legend.gform-field-label {
    float: none;
    width: auto;
    margin: 0 0 2px;
    padding: 0 0 0 25px;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.5;
    color: #00807F;
}

.gform-theme--foundation .gfield textarea.large {
    min-block-size: 150px;
}

.gform-theme--foundation .ginput_container input:not([type="radio"]):not([type="checkbox"]):active,
.gform-theme--foundation .ginput_container input:not([type="radio"]):not([type="checkbox"]):focus,
.gform-theme--foundation .ginput_container textarea:active,
.gform-theme--foundation .ginput_container textarea:focus {
    border: 1px solid #EFA073;
    background: #FFF9F6;
    outline: none;
}

.gform_validation_errors {
    position: relative;
    display: flex;
    margin: 20px 0;
    padding: 25px 25px 0;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
}

.gform_validation_errors .gform_submission_error {
    margin: 0;
    font-size: 18px;
    color: #C93230;
}

.ginput_container_checkbox input[type="checkbox"] {
    display: none;
    width: initial;
    height: initial;
    margin: 0;
    padding: 0;
}

.ginput_container_checkbox .gfield_checkbox {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    gap: 16px 24px;
    list-style: none;
}

.ginput_container_checkbox .gfield_checkbox li {
    margin: 0;
}

.ginput_container_checkbox .gfield_checkbox label {
    position: relative;
    margin: 0;
    padding: 0 0 0 40px;
    font-size: 18px;
    font-weight: 300;
    text-align: left;
    color: #005140;
    cursor: pointer;
}

.ginput_container_checkbox .gfield_checkbox label::before {
    position: absolute;
    left: 0;
    top: 1px;
    display: inline-block;
    width: 25px;
    height: 25px;
    border: 1px solid #ACDBD1;
    border-radius: 6px;
    background-color: #F1FCFA;
    content: '';
    cursor: pointer;
    -webkit-appearance: none;
}

.ginput_container_checkbox .gfield_checkbox label::after {
    position: absolute;
    left: 2px;
    top: 2px;
    font-family: 'cotton-creations' !important;
    font-size: 18px;
    line-height: 1;
    color: #DB6C4F;
    content: "\e92d";
    transition: transform 0.3s;
    transform: scale(0);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ginput_container_checkbox input[type="checkbox"]:checked + label::after {
    transform: scale(1);
}

.ginput_container_consent input[type="checkbox"] {
    display: none;
    width: initial;
    height: initial;
    margin: 0;
    padding: 0;
}

.ginput_container_consent label {
    position: relative;
    margin: 0;
    padding: 0 0 0 40px;
    font-size: 18px;
    font-weight: 300;
    text-align: left;
    color: #005140;
    cursor: pointer;
    text-transform: none;
}

.ginput_container_consent label::before {
    position: absolute;
    left: 0;
    top: 1px;
    display: inline-block;
    width: 25px;
    height: 25px;
    border: 1px solid #ACDBD1;
    border-radius: 6px;
    background-color: #F1FCFA;
    content: '';
    cursor: pointer;
    -webkit-appearance: none;
}

.ginput_container_consent label::after {
    position: absolute;
    left: 2px;
    top: 2px;
    font-family: 'cotton-creations' !important;
    font-size: 18px;
    line-height: 1;
    color: #DB6C4F;
    content: "\e92d";
    transition: transform 0.3s;
    transform: scale(0);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ginput_container_consent input[type="checkbox"]:checked ~ label::after {
    transform: scale(1);
}

.ginput_container_fileupload {}

.ginput_container_fileupload .gform_drop_area {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 128px;
    padding: 24px;
    border: 1px dashed #ACDBD1;
    border-radius: 29px;
    background-color: #F1FCFA;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 0.03em;
    color: #005140;
    transition: border-color 0.3s, background-color 0.3s;
    cursor: pointer;
}

.ginput_container_fileupload .moxie-shim {
    width: 100% !important;
    height: 100% !important;
    left: 0 !important;
    top: 0 !important;
    cursor: pointer;
}

.ginput_container_fileupload .moxie-shim input {
    cursor: pointer;
}

.ginput_container_fileupload .gform_drop_instructions {
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 0.03em;
    color: #005140;
    margin: 0;
    text-align: center;
}

.ginput_container_fileupload .gform_fileupload_rules {
    display: block;
    margin: 10px 0;
    padding-left: 25px;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.03em;
    color: #000000;
}

.ginput_container_fileupload .gfield_validation_message {
    display: block;
    margin: 0;
    padding-left: 25px;
    text-align: left;
}

.ginput_container_fileupload .gfield_validation_message:before {
    display: none;
}

.ginput_container_fileupload .gform_button_select_files {
    padding: 0;
    height: 20px;
    border: none;
    background: transparent;
    font-size: 20px;
    color: #00807F;
}

.ginput_container_fileupload .ginput_preview_list:not(:empty) {
    display: flex;
    flex-direction: column;
    margin-top: 10px;
}

.ginput_container_fileupload .ginput_preview {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    padding-left: 25px;
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0.03em;
    color: #005140;
    line-height: 1.5;
}

.ginput_container_fileupload .gfield_fileupload_filename {
    font-weight: 800;
    color: #005140;
}

.ginput_container_fileupload .gfield_fileupload_filesize {
    font-size: 14px;
    font-weight: 300;
    color: #00807F;
}

.ginput_container_fileupload .gfield_fileupload_progress {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 80px;
}

.ginput_container_fileupload .gfield_fileupload_progressbar {
    flex: 1;
    height: 6px;
    border-radius: 3px;
    background-color: #ACDBD1;
    overflow: hidden;
}

.ginput_container_fileupload .gfield_fileupload_progressbar_progress {
    display: block;
    height: 100%;
    border-radius: 3px;
    background-color: #00807F;
    transition: width 0.2s ease;
}

.ginput_container_fileupload .gfield_fileupload_percent {
    font-size: 14px;
    font-weight: 800;
    color: #005140;
    min-width: 2.5em;
}

.ginput_container_fileupload .gform_delete_file {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: none;
    background: none;
    color: #005140;
    cursor: pointer;
    transition: color 0.3s;
}

.ginput_container_fileupload .gform_delete_file:hover {
    color: #DB6C4F;
}

.ginput_container_fileupload .gform_delete_file .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.ginput_container_fileupload .gform_delete_file .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.ginput_container_radio input[type="radio"] {
    display: none;
    width: initial;
    height: initial;
    margin: 0;
    padding: 0;
}

.ginput_container_radio .gfield_radio {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    gap: 16px 24px;
    list-style: none;
}

.ginput_container_radio .gfield_radio li {
    margin: 0;
}

.ginput_container_radio .gfield_radio label {
    position: relative;
    margin: 0;
    padding: 0 0 0 40px;
    font-size: 18px;
    font-weight: 300;
    text-align: left;
    color: #005140;
    cursor: pointer;
}

.ginput_container_radio .gfield_radio label::before {
    position: absolute;
    left: 0;
    top: 1px;
    display: inline-block;
    width: 25px;
    height: 25px;
    border: 1px solid #ACDBD1;
    border-radius: 50%;
    background-color: #F1FCFA;
    content: '';
    cursor: pointer;
    -webkit-appearance: none;
}

.ginput_container_radio .gfield_radio label::after {
    position: absolute;
    left: 8px;
    top: 9px;
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: #DB6C4F;
    content: '';
    transition: transform 0.3s;
    transform: scale(0);
}

.ginput_container_radio input[type="radio"]:checked + label::after {
    transform: scale(1.5);
}

.ginput_container_select .choices__inner {
    border: 1px solid #ACDBD1;
    background: #F1FCFA;
}

.ginput_container_select .choices__list--dropdown {
    border: 1px solid #ACDBD1;
    border-radius: 0 0 25px 25px;
    background-color: #F1FCFA;
}

.ginput_container_select .choices.is-open .choices__inner {
    border-radius: 29px 29px 0 0;
}

.ginput_container_select .choices.is-flipped.is-open .choices__inner {
    border-radius: 0 0 29px 29px;
}

.ginput_container_select .choices.is-flipped.is-open .choices__list--dropdown {
    border-top: 1px solid #ACDBD1;
    border-radius: 25px 25px 0 0;
}

.ginput_container_select .choices__list--dropdown .choices__item {
    padding: 12px 25px;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 0.03em;
    color: #005140;
}

.ginput_container_select .choices__list--dropdown .choices__item--selectable.is-highlighted {
    color: #fff;
    background-color: #005140;
}

#field_1_9 .gfield_validation_message {
    max-width: 75%;
}

.gfield_description.validation_message,
.gfield_validation_message {
    display: none;
}

.gfield_error input:not([type="radio"]):not([type="checkbox"]),
.gfield_error textarea,
.gfield_error .choices__inner {
    border: 1px solid #D3A1A1;
    background: #FFF1F1;
}

.gfield_error .gfield_label,
.gfield_error label.gfield_label,
.gfield_error .choices__placeholder {
    color: #C93230;
}

.gfield_error input:not([type="radio"]):not([type="checkbox"])::placeholder,
.gfield_error textarea::placeholder {
    color: #C93230;
}

.gfield_error input:not([type="radio"]):not([type="checkbox"])::-webkit-input-placeholder,
.gfield_error textarea::-webkit-input-placeholder {
    color: #C93230;
}

.gfield_error input:not([type="radio"]):not([type="checkbox"])::-moz-placeholder,
.gfield_error textarea::-moz-placeholder {
    color: #C93230;
}

.gfield_error input:not([type="radio"]):not([type="checkbox"])::-ms-input-placeholder,
.gfield_error textarea::-ms-input-placeholder {
    color: #C93230;
}

.gfield_error .ginput_container {
    position: relative;
}

.gfield_error .ginput_container::after {
    position: absolute;
    right: 25px;
    top: 50%;
    width: 23px;
    height: 23px;
    font-family: 'cotton-creations' !important;
    font-size: 23px;
    line-height: 23px;
    color: #C93230;
    content: "\e92c";
    transform: translateY(-50%);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.gfield_error .ginput_container_textarea::after {
    top: 17px;
    transform: none;
}

.gfield_error .ginput_container_fileupload::after {
    top: -30px;
    transform: translateY(-50%);
}

.gfield_error .validation_message,
.ginput_container_fileupload .gfield_validation_message {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    font-weight: 800;
    text-align: right;
    color: #C93230;
}

.gform_confirmation_message,
.gform_validation_errors {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 40px;
    padding: 20px 15px;
    border-radius: 20px;
    border: 1px solid transparent;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.1);
    font-weight: 800;
}

.gform_confirmation_message {
    border-color: #79C3B3;
    background-color: rgba(121, 195, 179, 0.2);
    color: #005140;
}

.gform_validation_errors {
    border-color: #D3A1A1;
    background-color: #FFF1F1;
    color: #9C1E1C;
}

@media (min-width: 600px) {
    .gform_confirmation_message,
    .gform_validation_errors {
        padding: 20px 25px;
        border-radius: 25px;
    }
}

@media (min-width: 1200px) {
    .gform-footer .gform_button:hover:after {
        font-size: 18px;
    }
}
