/*********************************************
 * Plugin Gravity Form v2.3 (compatible with GF 2.5 and later)
 * Note: default GF CSS must be disabled.
**********************************************/
body .gform_wrapper {
    /* GF variables */
    --gf-color-error:var(--ifs-color-error, red);
    --gf-spacing-row:var(--ifs-spacing-default, 45px);
    --gf-spacing-field:var(--ifs-spacing-20);
    --gf-spacing-label:10px;
    --gf-gap:20px; /* between field columns */
    --gf-field-height:40px;
    --gf-field-bg:transparent;
    --gf-field-side-padding:0;
    --gf-field-bg-hover:transparent;
    --gf-field-color:#000;
    --gf-field-size:var(--ifs-size-18);
    --gf-field-font:inherit;
    --gf-field-textarea-height:100px;
    --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:var(--ifs-spacing-40); position:relative;}

/* Ajax loading spinner */
body .gform_wrapper .gform_ajax_spinner {
    display:none;
    width:40px; height:40px;
    position:absolute; top:50%; left:100%;
    transform:translateY(-50%);
}

/* Field Columns */
body .gform_wrapper .gfield {width:100%; padding:0 var(--gf-gap);}
body .gform_wrapper .gfield:not(:first-child) {margin-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(1) + .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; width:100%;
    margin-bottom:var(--gf-spacing-label);
    font-weight:700; font-size:var(--ifs-size-18); line-height:1.5;
}
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;}

/* 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); font-weight:700;
    width:100%; height:var(--gf-field-height); padding:5px var(--gf-field-side-padding); display:block;
    -webkit-appearance:none !important; -webkit-border-radius:0 !important;
    transition:all .3s ease;
    border-bottom:2px solid #000;
}
body .gform_wrapper textarea {height:var(--gf-field-textarea-height); padding:0 var(--gf-field-side-padding) 15px; 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);
    --gf-placeholder-color:rgba(0, 0, 0, 0.35);
}

/* 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,
body .gform_wrapper .gfield_error .easy-select-current {
    border-color:var(--gf-color-error);
    --gf-placeholder-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:inherit; font-size:inherit; color:var(--gf-placeholder-color);}
body .gform_wrapper ::-moz-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--gf-placeholder-color);}
body .gform_wrapper :-ms-input-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--gf-placeholder-color);}
body .gform_wrapper :-moz-placeholder {font-family:inherit; font-weight:inherit; font-size:inherit; color:var(--gf-placeholder-color);}

/* Checkbox */
.ginput_container_checkbox {display:block;}
.gfield_checkbox, .gfield_radio {display:flex; flex-wrap:wrap;}
.gchoice {width:50%;}


/*********************************************
 * Custom checkbox
**********************************************/
.gform_wrapper input[type="checkbox"] {position:absolute; opacity:0;}
.gform_wrapper input[type="checkbox"] + label {padding-left:28px; position:relative;}
.gform_wrapper input[type="checkbox"] + label:before {
    position:absolute; top:0; left:0;
    content:""; display:inline-block;
    border:1px solid #171617; border-radius:2px;
    width:16px; height:16px;
}
.gform_wrapper input[type="checkbox"] + label:after {
    position:absolute; top:0; left:3px;
    content:"\e932"; font-family:var(--ifs-font-icomoon); font-size:1.2em;
    width:16px; height:16px; line-height:16px;
    transition:all .1s ease;
}


/* checked */
.gform_wrapper input[type="checkbox"]:not(:checked) + label:after {
    transform:translateY(-4px) rotate(-25deg) scale(.5);
    opacity:0;
}

/* focus */
.gform_wrapper input[type="checkbox"]:focus + label:before {box-shadow:0 0 0 2px var(--ifs-color-primary); background:var(--ifs-color-primary);}
.ifs-bg-primary .gform_wrapper input[type="checkbox"]:focus + label:before {box-shadow:0 0 0 2px #fff; background:#fff;}

/* error */
.gfield_error input[type="checkbox"] + label:before {box-shadow:0 0 0 2px var(--gf-color-error); background:var(--gf-color-error);}

/*********************************************
 * Custom radio
**********************************************/
.gform_wrapper input[type="radio"] {position:absolute; opacity:0;}
.gform_wrapper input[type="radio"] + label {padding-left:28px; position:relative;}
.gform_wrapper input[type="radio"] + label:before {
    position:absolute; top:0; left:0;
    content:""; display:inline-block;
    border:1px solid #171617; border-radius:50%;
    width:15px; height:15px;
}
.gform_wrapper input[type="radio"] + label:after {
    content:""; position:absolute; top:4px; left:4px;
    width:9px; height:9px; background:#171617; border-radius:50%;
    transition:all .1s ease;
}


/* checked */
.gform_wrapper input[type="radio"]:not(:checked) + label:after {transform:scale(0);}

/* focus */
.gform_wrapper input[type="radio"]:focus + label:before {box-shadow:0 0 0 2px var(--ifs-color-primary); background:var(--ifs-color-primary);}
.ifs-bg-primary .gform_wrapper input[type="radio"]:focus + label:before {box-shadow:0 0 0 2px #fff; background:#fff;}

/* error */
.gfield_error input[type="radio"] + label:before {box-shadow:0 0 0 2px var(--gf-color-error); background:var(--gf-color-error);}

/*********************************************
 * Columns
**********************************************/
.gfmc-container {display:flex; flex-wrap:wrap; justify-content:space-between; width:100%;}
body .gform_wrapper .gfield.gfmc-column {width:calc(50% - 20px); padding:0; margin-top:0;}
@media only screen and (max-width:1280px) {
    body .gform_wrapper .gfield.gfmc-column {width:50%;}
}
@media only screen and (max-width:767px) {
    body .gform_wrapper .gfield.gfmc-column {width:100%;}
    body .gform_wrapper .gfield.gfmc-column:not(:first-child) {margin-top:var(--gf-spacing-field);}
}

/*********************************************
 * Plugin Gravity Form v2.0 Responsive
**********************************************/
@media only screen and (max-width:767px) {
    /* Fields */
    html.iphone body .gform_wrapper select {text-indent:12px;}
}
@media only screen and (max-width:420px) {
    /* Checkbox */
    .gchoice {width:100%;}
}