/*********************************************
 * Plugin Gravity Form v2.1 (compatible with GF 2.5 and later)
 * Note: default GF CSS must be disabled.
**********************************************/
body .gform_wrapper {
    /* GF variables */
    --gf-color-error:var(--vii-color-error, red);
    --gf-spacing-row:var(--vii-spacing-default, 45px);
    --gf-spacing-field:24px;
    --gf-spacing-label:10px;
    --gf-gap:15px; /* between field columns */
    --gf-field-bg:var(--vii-color-neutral-100);
    --gf-field-bg-hover:var(--vii-color-neutral-100);
    --gf-field-color:#000;
    --gf-field-size:16px;
    --gf-field-font:inherit;
    --gf-placeholder-color:#000;

    margin-bottom:var(--gf-spacing-row);
}
body .gform_wrapper form {position:relative;}


/*********************
 * Body, Footer, Columns
**********************/
/* Form Body */
body .gform_wrapper .gform_body .gform_fields {
    display:flex; flex-wrap:wrap;
    margin:0 calc(var(--gf-gap) * -1);
}

/* Form Footer */
body .gform_wrapper .gform_footer {margin-top:15px; position:relative; width:fit-content;}
body .gform_wrapper .gform_ajax_spinner {
    width:40px; height:40px;
    position:absolute; top:50%; left:101%;
    transform:translateY(-50%);
}

/* Field Columns */
body .gform_wrapper .gfield {width:100%; padding:0 var(--gf-gap);}
body .gform_wrapper .gfield:not(:first-child) {padding-top:var(--gf-spacing-field);}
@media only screen and (min-width:768px) {
    body .gform_wrapper .gfield.gfield--width-two-thirds {width:66.66%;}
    body .gform_wrapper .gfield.gfield--width-third {width:33.33%;}
    body .gform_wrapper .gfield.gfield--width-three-quarter {width:75%;}
    body .gform_wrapper .gfield.gfield--width-quarter {width:25%;}
    body .gform_wrapper .gfield.gfield--width-half {width:50%;}
    body .gform_wrapper .gfield.gfield--width-half:nth-child(1),
    body .gform_wrapper .gfield.gfield--width-half:nth-child(2) {padding-top:0;}
}


/*********************
 * Misc
**********************/
/* Field validation (hidden by default) */
body .gform_wrapper .gfield.gform_validation_container {display:none;}

/* Validation message */
body .gform_wrapper .gfield_validation_message {display:none;}

/* Validation error */
body .gform_wrapper .gform_validation_errors {color:var(--gf-color-error); margin-bottom:var(--gf-spacing-field);}

/* Confirmation (after submit form) */
.gform_confirmation_wrapper {margin-bottom:var(--gf-spacing-row);}

/* Field Label */
body .gform_wrapper .gfield.hidden_label .gfield_label {display:none;}
body .gform_wrapper .gfield_label {
    display:block;
    margin-bottom:var(--gf-spacing-label);
}
body .gform_wrapper .gfield_required {color:var(--gf-color-error); margin-left:2px;}

/* Hidden field */
body .gform_wrapper .gfield_visibility_hidden,
body .gform_wrapper .gform_hidden {display:none;}

/*********************
 * Fields
**********************/
/* Field consent */
body .gform_wrapper fieldset.gfield {border:none; margin:0;}
body .gform_wrapper .ginput_container_consent {display:flex; align-items:center;}
body .gform_wrapper .gfield_consent_label {padding-left:5px;}

/* Field consent (inline with submit button, add class to form if needed, remove this CSS if no need) */
@media only screen and (min-width:1025px) {
    body .gform_wrapper fieldset.gfield {margin-top:10px;}
    body .gform_wrapper .ginput_container_consent {justify-content:flex-end; padding-right:250px; padding-bottom:10px;}
}

/* Fields */
body .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body .gform_wrapper textarea,
body .gform_wrapper select {
    background:var(--gf-field-bg); color:var(--gf-field-color);
    font-size:var(--gf-field-size); font-family:var(--gf-field-font);
    width:100%; height:58px; padding:5px 20px; display:block;
    border:2px solid transparent;
    transition:var(--vii-transition);
    -webkit-appearance:none !important; -webkit-border-radius:4px !important;
}
body .gform_wrapper textarea {height:120px; padding:15px 20px; resize:vertical;}

/* Fields :hover, :focus */
body .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
body .gform_wrapper textarea:hover,
body .gform_wrapper select:hover,
body .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
body .gform_wrapper textarea:focus,
body .gform_wrapper select:focus {
    background:var(--gf-field-bg-hover);
    border-color:var(--vii-color-dark);
}

/* Fields error */
body .gform_wrapper .gfield_error input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body .gform_wrapper .gfield_error textarea,
body .gform_wrapper .gfield_error select {
    border-color:var(--gf-color-error);
}
body .gform_wrapper .gfield_error .ginput_container_consent {color:var(--gf-color-error);}

/* Placeholder */
body .gform_wrapper ::-webkit-input-placeholder {font-family:inherit; font-weight:normal; font-size:var(--vii-size-14); color:var(--gf-placeholder-color);}
body .gform_wrapper ::-moz-placeholder {font-family:inherit; font-weight:normal; font-size:var(--vii-size-14); color:var(--gf-placeholder-color);}
body .gform_wrapper :-ms-input-placeholder {font-family:inherit; font-weight:normal; font-size:var(--vii-size-14); color:var(--gf-placeholder-color);}
body .gform_wrapper :-moz-placeholder {font-family:inherit; font-weight:normal; font-size:var(--vii-size-14); color:var(--gf-placeholder-color);}
body .gform_wrapper input::placeholder, body .gform_wrapper textarea::placeholder {transition:var(--vii-transition);}
body .gform_wrapper input:hover::placeholder, body .gform_wrapper input:focus::placeholder,
body .gform_wrapper textarea:hover::placeholder, body .gform_wrapper textarea:focus::placeholder {
    color:var(--vii-color-neutral-600);
}

/*Field upload*/
body .gform_wrapper .gfield .ginput_container_fileupload input {padding-top:15px !important;}

/**********************
* Contact form
**********************/
body .vii-contact-form .gform_wrapper {margin-bottom:0;}

/**********************
* News letter
**********************/
body .newsletter_wrapper {--width-news-letter-button:135px;}
body .newsletter_wrapper form {display:flex; justify-content:flex-end;}

/*body*/
body .newsletter_wrapper .gform_body {
    max-width:calc(100% - var(--width-news-letter-button));
    width:100%;
}
body .newsletter_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
    width:100%; height:54px;
    background:#fff;
    border:1px solid var(--vii-color-neutral-200); border-radius:0 !important;
}
body .newsletter_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
body .newsletter_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus {
    border-color:var(--vii-color-primary);
    background:#fff;
}

/*footer*/
body .newsletter_wrapper .gform_footer {position:relative; margin-top:0;}
body .newsletter_wrapper .gform_footer button {min-width:135px; min-height:54px;}

/**********************
* Career form
**********************/
body .site-content__sidebar .gform_title {
    font-size:var(--vii-size-24); text-transform:uppercase;
    font-weight:700; line-height:1.13;
    margin-bottom:0;
}
body .site-content__sidebar .gform_wrapper {
    --gf-spacing-field:15px;
    margin-bottom:0;
}
body .site-content__sidebar .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
    height:54px;
}
body .site-content__sidebar .gform_wrapper select {height:110px;}
body .site-content__sidebar .gform_wrapper .gform_fileupload_rules {
    font-size:var(--vii-size-12);
}
body .site-content__sidebar .gform_confirmation_message {font-weight:600;}

/*********************************************
 * Plugin Gravity Form v2.0 Responsive
**********************************************/
@media only screen and (max-width:1024px) {
    /*News letter*/
    body .newsletter_wrapper form {flex-direction:column;}
    body .newsletter_wrapper .gform_body {max-width:100%; margin-bottom:20px;}
}
@media only screen and (max-width:767px) {
    /* Fields */
    html.iphone body .gform_wrapper select {text-indent:12px;}
    body .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    body .gform_wrapper textarea,
    body .gform_wrapper select {
        height:50px !important; padding:5px 15px;
    }
    body .gform_wrapper textarea {height:100px !important; padding:15px;}

    /*Field upload*/
    body .gform_wrapper .gfield .ginput_container_fileupload input {padding-top:12px !important;}

    /*News letter*/
    body .newsletter_wrapper .gform_footer button {min-height:50px;}
    body .gform_confirmation_wrapper.newsletter {margin-bottom:var(--vii-spacing-default);}
}
@media only screen and (max-width:480px) {
    body .gform_wrapper {
        --gf-spacing-field:15px;
    }
    /* Fields */
    html.iphone body .gform_wrapper select {text-indent:12px;}
    body .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    body .gform_wrapper textarea,
    body .gform_wrapper select {
        height:45px !important;
    }
    body .gform_wrapper textarea {height:80px !important;}
    body .newsletter_wrapper .gform_footer button {min-height:42px; min-width:100px;}

    /*Field upload*/
    body .gform_wrapper .gfield .ginput_container_fileupload input {padding-top:9px !important;}

    /*News letter*/
    body .newsletter_wrapper {margin-bottom:var(--vii-spacing-35);}
    body .newsletter_wrapper .gform_body {margin-bottom:15px;}
}
