/*********************************************
 * Plugin Gravity Form
 * Note: default GF CSS must be disabled.
**********************************************/
.gform_wrapper {
    /* Layout */
    --form-gap-h:28px;
    --form-gap-v:var(--vii-spacing-16);
}
.gform_wrapper form {position:relative;}

.vii-vc-gravity-forms {padding:clamp(20px, 5vw, 40px);}

/* form big size */
@media only screen and (min-width:1025px) {
    .gform_wrapper form.form-big-size {
        --form-font-size:var(--vii-size-20);
    }
}

/* form big gap */
@media only screen and (min-width:1025px) {
    .gform_wrapper.form-big-gap_wrapper {
        --form-gap-v:var(--vii-spacing-32);
    }
}


/*********************
 * 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 */
.gfield a {
    --color:var(--vii-color-body-text);
    --color-hover:var(--vii-color-primary);

    text-decoration:underline; color:var(--color);
}
.gfield a:hover,
.gfield a:focus {text-decoration:underline; color:var(--color-hover);}
.gfield a:focus-visible {
    outline:2px solid var(--color-hover); border-radius:3px; transition:none;
}

.text-force-dark .gfield a {
    --color:var(--vii-color-on-primary);
    color:var(--color);
}

.txt_color_white .gfield a {--color:#fff;}
.txt_color_white .text-force-dark .gfield a {--color:var(--vii-color-body-text);}


/*********************************************
 * 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(--vii-spacing-36); min-width:200px;}
@media only screen and (max-width:767px) {
    .gform_footer button {margin-top:var(--vii-spacing-24); min-width:unset;}
}

/*********************
 * 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;
}

@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-h);}
.gform_validation_errors .validation_error span {display:flex;}

/* Confirmation (after submit form) */
.gform_confirmation_wrapper {margin-bottom:var(--vii-spacing-heading);}
.gform_confirmation_wrapper a:not([class*="btn_"]):hover {color:var(--vii-color-primary);}

/* 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;}

/* Re-captcha */
@media only screen and (max-width:480px) {
    .gfield.gfield--type-captcha .ginput_recaptcha {transform:scale(0.85); transform-origin:left;}
}


/*********************************************
 * Field: Easy select
**********************************************/
.gform_wrapper .easy-select {
    --es-height:var(--form-field-height);
    --es-radius:var(--form-radius);
    max-width:unset; width:100%; font-size:var(--form-font-size);
}
.gform_wrapper .es-current {border:none !important; border-radius:0;}
.gform_wrapper .es-current .es-option {display:flex;}
.gform_wrapper .ginput_container_select {display:flex;}

/* arrow */
.main_content .gform_wrapper .easy-select .es-current .es-option:before,
.main_content .gform_wrapper .easy-select .es-current .es-option:after {
    width:18px; aspect-ratio:1; border:1px solid var(--vii-color-body-text); border-radius:50%;
    font-family:var(--vii-font-icomoon), fantasy; font-size:8px; color:var(--vii-color-body-text); font-weight:700;
    display:flex; align-items:center; justify-content:center;
    transition:var(--vii-transition);
    position:absolute; top:50%; right:0; transform:translateY(-50%);line-height:1;
}
.main_content .gform_wrapper .easy-select .es-current .es-option:before {
    content:"\e93b";
}
.main_content .gform_wrapper .easy-select .es-current .es-option:after {
    content:"\e93c"; opacity:0;
}
.main_content .gform_wrapper .easy-select .es-current:hover .es-option:before,
.main_content .gform_wrapper .easy-select .es-current:hover .es-option:after {
    color:var(--vii-color-primary); border-color:var(--vii-color-primary);
}
.main_content .gform_wrapper .easy-select.es-dropdown-open .es-current .es-option:before {
    transform:translateY(-50%) rotate(180deg); opacity:0;
}
.main_content .gform_wrapper .easy-select.es-dropdown-open .es-current .es-option:after {
    transform:translateY(-50%) rotate(180deg); opacity:1;
}


/* 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);}

/*********************************************
 * layout custom
**********************************************/
/* layout default, with box gradient */
.vii-gforms:is(.layout-default, .layout-with-box-gradient) {--form-field-height:35px;--form-font-size:16px;}
.vii-gforms:is(.layout-default, .layout-with-box-gradient) .gform-field-label {font-size:16px;}
.vii-gforms:is(.layout-default, .layout-with-box-gradient) .gform_wrapper form {position:static;}
.vii-gforms:is(.layout-default, .layout-with-box-gradient) a:not([class*="btn_"]) {color:var(--vii-color-on-primary);}
.vii-gforms:is(.layout-default, .layout-with-box-gradient) a:not([class*="btn_"]):hover {color:var(--vii-color-primary);}
.vii-gforms:is(.layout-default, .layout-with-box-gradient) .gform_wrapper {--form-gap-v:35px;--form-gap-h:25px;}
.vii-gforms:is(.layout-default, .layout-with-box-gradient) .gform_footer button {margin-top:20px;}
.vii-gforms:is(.layout-default, .layout-with-box-gradient) .vii-form-field {padding:0 var(--form-field-padding-h) 8px;}
.vii-gforms:is(.layout-default, .layout-with-box-gradient) .textarea.vii-form-field.small {
    padding:0 var(--form-field-padding-h) 8px;
}
.vii-gforms:is(.layout-default, .layout-with-box-gradient) .easy-select .es-current .es-option:before,
.vii-gforms:is(.layout-default, .layout-with-box-gradient) .easy-select .es-current .es-option:after {
    color:var(--vii-color-on-primary);
    border-color:var(--vii-color-on-primary);
}

/* layout newsletter */
.vii-gforms.layout-newsletter {
}

/*********************************************
 * Responsive
**********************************************/
@media only screen and (max-width:1028px) {
    .gform_wrapper {
        /* Layout */
        --form-gap-h:var(--vii-spacing-gap-container);
    }
}