/*********************************************
 * Plugin Gravity Form
 * Note: default GF CSS must be disabled.
**********************************************/
.gform_wrapper {
    /* Layout */
    --form-gap-h:8px;
    --form-gap-v:8px;
}
.gform_wrapper form {position:relative;}

.vii-vc-gravity-forms {padding:clamp(20px, 5vw, 40px);}


/*********************
 * Body, Footer
**********************/
/* Field HTML */
.gform_fields p {margin-bottom:var(--vii-spacing-heading);}

/* Ajax loading spinner */
.gform_ajax_spinner {display:none;}

/* Clear legend position */
.gfield legend {float:left; width:100%;}

/* Permalink */
.txt_color_white .gfield a {color:#fff;}
.gfield a:not([class*="btn_"]) {text-decoration:underline; color:var(--vii-color-text); font-weight:500;}
.gfield a:hover,
.gfield a:focus {text-decoration:underline; color:var(--vii-color-primary);}
.gfield a:focus-visible {
    outline:2px solid var(--vii-color-primary); border-radius:3px; transition:none;
}

/*********************************************
 * Submit button
**********************************************/
/* full width */
.gform-button--width-full {width:100%;}

/* button position: inline */
@media only screen and (min-width:768px) {
    .gfield.gfield--type-submit[data-field-position="inline"] {text-align:right;}
}

/* button position: end of the form */
.gform_footer button {margin-top:var(--form-gap-v);}

/*********************
 * Grid, columns
**********************/
/* Field Columns */
.gform_fields, .ginput_container.ginput_complex {
    --field-col:1;
    display:flex; flex-wrap:wrap; gap:var(--form-gap-v) var(--form-gap-h);
}
.ginput_container.ginput_complex {width:100%;}

.gfield, .ginput_container.ginput_complex > span {
    width:calc((100% - var(--form-gap-h) * (var(--field-col) - 1)) / var(--field-col));
    padding:0; margin:0; border:none;
    display:block; position:relative;
}
.gfield.hidden {display:none;}

@media only screen and (min-width:768px) {
    /* full width fields: clear leftover gap */
    .gfield:not([class*="gfield--width-"]),
    .ginput_container.ginput_complex > span.ginput_full,
    .gfield.gfield--width-full {width:100%;}

    .gfield.gfield--width-third {--field-col:3;}
    .gfield.gfield--width-quarter {--field-col:4;}

    .ginput_container.ginput_complex > span:not([class*="ginput_"]),
    .ginput_container.ginput_complex > span.ginput_left,
    .ginput_container.ginput_complex > span.ginput_right,
    .gfield.gfield--width-half {--field-col:2;}

    .gfield.gfield--width-half:nth-child(2) {margin-top:0;}
}

/*********************
 * Misc
**********************/
/* Field validation (hidden by default) */
p.gform_required_legend,
.gfield_repeater_cell .gfield_label,
.hidden_sub_label,
.gfield.gform_validation_container {display:none;}

/* Validation message */
.gfield_validation_message {display:none;}

/* Validation error */
.gform_validation_errors {color:var(--form-color-error); margin-bottom:var(--form-gap-v);}

/* Confirmation (after submit form) */
.gform_confirmation_wrapper {margin-bottom:var(--vii-spacing-heading);}

/* Field Label */
.gfield.hidden_label .gfield_label {display:none;}
.gfield_required {color:var(--form-color-error); margin-left:2px; display:none;}

/* Description */
.gfield_description {font-size:13px; line-height:1.1; padding-top:0.5em;}

/* Hidden field */
.gfield_visibility_hidden, .gform_hidden {display:none;}


/*********************************************
 * Field: Easy select
**********************************************/
.gform_wrapper .easy-select {
    --es-height:var(--form-field-height);
    --es-radius:var(--form-radius);
    max-width:unset; width:100%;
}
.gform_wrapper .es-current {border:none !important; border-radius:0;}
.gform_wrapper .es-current .es-option {display:flex; color:var(--form-color);}
.gform_wrapper .es-current .es-option:hover {color:rgba(0, 0, 0, .5);}
.gform_wrapper .ginput_container_select {display:flex; position:relative; z-index:5;}

/* Layout with user enhanced interface */
.gform_wrapper .gfield.enhanced-ui-select .es-current span {overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}

/*********************************************
 * Field: Repeater
**********************************************/
fieldset.gfield_repeater {margin:0; border:none; padding:0;}

.gfield_repeater_item:not(:last-child) {margin-bottom:var(--form-gap-v);}
.gfield_repeater_item:not(:last-child) .gfield_repeater_buttons {display:none;}

.gfield_repeater_buttons {margin-top:var(--vii-spacing-10); display:flex; gap:15px;}
.gfield_repeater_buttons button {
    background:transparent;
    color:var(--vii-color-text); font-size:14px;
    text-decoration:underline;
}
.gfield_repeater_buttons button:hover {color:var(--vii-color-primary);}

/*********************************************
 * Responsive
**********************************************/
@media only screen and (max-width:1024px) {

}