/*********************************************
 * Plugin Gravity Form
 * Note: default GF CSS must be disabled.
**********************************************/
.gform_wrapper {
    /* Layout */
    --gf-spacing-row:var(--twc-spacing-default, 45px);
    --gf-spacing-label:10px;
    --gf-gap-h:35px;
    --gf-gap-v:16px;

    /* Colors */
    --gf-color-error:var(--twc-color-error, red);
    --gf-placeholder-color:rgba(8, 25, 72, .2);

    /* Fields */
    --gf-field-height:63px;
    --gf-field-padding-h:30px;
    --gf-font-size:14px;
    --gf-font:inherit;

    /* Field colors */
    --gf-bg:var(--twc-color-gray);
    --gf-bg-hover:var(--twc-color-gray);
    --gf-color:var(--twc-color-dark-blue);
    --gf-color-hover:var(--twc-color-text);
    --gf-border-color:rgba(0, 0, 0, 0);
    --gf-border-color-hover:var(--twc-color-permalink);

    /* Textarea */
    --gf-field-textarea-height:150px;
}
.txt_color_white .gform_wrapper {
    --gf-placeholder-color:#fff; --gf-color:#fff;
    --gf-color-error:var(--twc-color-primary);
    --gf-border-color-hover:var(--twc-color-primary);
}
.gform_wrapper form {position:relative; max-width:854px; margin:0 auto;}


/*********************
 * Body, Footer
**********************/
/* Field HTML */
.gform_fields p {margin-bottom:var(--gf-spacing-label);}

/* Form Footer */
.gform_footer {margin-top:var(--gf-gap-v); position:relative;}

/* Ajax loading spinner */
.gform_ajax_spinner {display:none;}

/* Clear legend position */
.gfield legend {float:left; width:100%;}
.main_content .gform_required_legend {display:none;}

/* Permalink */
.txt_color_white .gfield a {color:#fff;}
.gfield a {text-decoration:underline; color:var(--twc-color-text);}
.gfield a:hover,
.gfield a:focus {text-decoration:underline; color:var(--twc-color-primary);}
.gfield a:focus-visible {
    outline:2px solid var(--twc-color-primary); border-radius:3px; transition:none;
}

/*********************
 * Grid, columns
**********************/
/* Field Columns */
.gform_fields, .ginput_container.ginput_complex {
    --field-w:100%;
    display:flex; flex-wrap:wrap; gap:var(--gf-gap-v) var(--gf-gap-h);
}
.ginput_container.ginput_complex {width:100%;}
.gfield, .ginput_container.ginput_complex > span {
    width:calc(var(--field-w) - var(--gf-gap-h) * 0.5);
    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:var(--field-w);}

    .gfield.gfield--width-two-thirds {--field-w:66.66%;}
    .gfield.gfield--width-third {--field-w:33.33%;}
    .gfield.gfield--width-three-quarter {--field-w:75%;}
    .gfield.gfield--width-quarter {--field-w:25%;}

    .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-w:50%;}
}

/*********************
 * Misc
**********************/
/* Field validation (hidden by default) */
.gfield.gform_validation_container {display:none;}

/* Validation message */
.gfield_validation_message, .validation_message {display:none;}

/* Validation error */
.gform_validation_errors {color:var(--gf-color-error); max-width:854px; margin:0 auto var(--gf-gap-h); text-align:center;}

/* Confirmation (after submit form) */
.gform_confirmation_wrapper {margin-bottom:var(--gf-spacing-row);}

/* Field Label */
.gfield.hidden_label .gfield_label {display:none;}
.gfield_required {color:var(--gf-color-error); margin-left:2px; display:none;}

/* Hidden field */
.gfield_visibility_hidden, .gform_hidden {display:none;}

/* Field consent (inline with submit button) */
body .gform_wrapper .ginput_container_consent {font-size:var(--twc-size-15);}
body .gform_wrapper .ginput_container_consent a {
    font-weight:500; color:var(--twc-color-primary); text-decoration:underline;
}
body .gform_wrapper .ginput_container_consent a:hover {color:var(--twc-color-dark-blue);}
body .gform_wrapper .ginput_container_consent a:focus-visible {
    outline:2px solid var(--twc-color-dark-blue); border-radius:2px; transition:none;
}

@media only screen and (min-width:1025px) {
    body .gform_wrapper fieldset.gfield {margin-top:35px;}
    body .gform_wrapper .ginput_container_consent {display:flex; justify-content:flex-end; padding-right:220px; padding-bottom:10px;}
    body .gform_wrapper .gform_footer {position:absolute; right:0; bottom:0; width:auto;}
}

/*********************
 * Fields
**********************/
/* Fields */
.ginput_card_field,
.gfield .easy-select-current .easy-select-option,
.gfield input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.gfield textarea,
.gfield select {
    background:var(--gf-bg); color:var(--gf-color);
    font-size:var(--gf-font-size); font-family:var(--gf-font);

    font-weight:400; letter-spacing:.03em;
    width:100%; height:var(--gf-field-height); padding:5px var(--gf-field-padding-h); display:block;
    -webkit-appearance:none !important; -webkit-border-radius:15px !important; border-radius:15px !important;
    transition:var(--twc-transition);
    border:1px solid var(--gf-border-color);
    backdrop-filter:blur(16px);
}
.gfield textarea {height:var(--gf-field-textarea-height); padding:15px var(--gf-field-padding-h); resize:vertical;}

/* Fields :hover, :focus */
.ginput_card_field:hover,
.gfield .easy-select-current:hover .easy-select-option,
.gfield input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
.gfield textarea:hover,
.gfield select:hover,
.gfield input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
.gfield textarea:focus,
.gfield select:focus {
    background:var(--gf-bg-hover); border-color:var(--gf-border-color-hover);
    color:var(--gf-color-hover); box-shadow:0 0 0 1px var(--gf-border-color-hover);
    --gf-placeholder-color:rgba(8, 25, 72, .1);
}

/* Fields error */
.gfield_error .easy-select-current .easy-select-option,
.gfield_error input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.gfield_error textarea,
.gfield_error select,
.gfield_error .easy-select-current {
    box-shadow:0 0 0 1px var(--gf-color-error); border-color:var(--gf-color-error);
}
.gfield_error .ginput_container_consent {color:var(--gf-color-error);}


/*********************************************
 * Field labels
**********************************************/
.gfield_label {
    display:block; margin-bottom:var(--gf-spacing-label);
    font-size:var(--twc-size-14); color:var(--twc-color-dark-blue); letter-spacing:.03em; font-weight:400;
}

/*********************************************
 * Placeholder
**********************************************/
.gform_wrapper ::-webkit-input-placeholder {font-family:inherit; font-weight:400; font-size:14px; color:var(--gf-placeholder-color);}
.gform_wrapper ::-moz-placeholder {font-family:inherit; font-weight:400; font-size:14px; color:var(--gf-placeholder-color);}
.gform_wrapper :-ms-input-placeholder {font-family:inherit; font-weight:400; font-size:14px; color:var(--gf-placeholder-color);}
.gform_wrapper :-moz-placeholder {font-family:inherit; font-weight:400; font-size:14px; color:var(--gf-placeholder-color);}


/*********************************************
 * Field: Easy select
**********************************************/
.gform_wrapper .easy-select {max-width:unset;}
.gform_wrapper .easy-select-current {border:none; border-radius:0;}
.gform_wrapper .easy-select-current .easy-select-option {display:flex;}


/*********************************************
 * Responsive
**********************************************/
@media only screen and (max-width:1024px) {
    /* Fields */
    .gform_wrapper {
        /* Layout */
        --gf-gap-h:20px;
        --gf-gap-v:20px;

        /* Fields */
        --gf-field-height:60px;
        --gf-field-padding-h:20px;
        --gf-font-size:16px;
    }
}
@media only screen and (max-width:767px) {
    /* Fields */
    .gform_wrapper {
        --gf-field-height:55px;
        --gf-field-textarea-height:120px;
    }
    .gfield {width:100%;}
}