/*********************************************
 * Plugin Gravity Form
 * Note: default GF CSS must be disabled.
**********************************************/
.gform_wrapper {
    /* Layout */
    --form-gap-h:3%;
    --form-gap-v:35px;
}
.gform_wrapper form {position:relative;}


/*********************
 * Body, Footer
**********************/
/* Field HTML */
.gform_fields p {margin-bottom:var(--bb-spacing-heading);}

/* Clear legend position */
.gfield legend {float:left; width:100%;}

/* Permalink */
.txt_color_white .gfield a {color:#fff;}
.gfield a {text-decoration:underline; color:var(--bb-color-text); font-weight:600;}
.gfield a:hover,
.gfield a:focus {text-decoration:underline; color:var(--bb-color-primary);}
.gfield a:focus-visible {
    outline:2px solid var(--bb-color-primary); border-radius:3px; transition:none;
}

/*********************************************
 * Footer
**********************************************/
.gform_footer {margin-top:var(--form-gap-h); position:relative; text-align:right;}
.gform_footer button {
    color:#fff; font-size:18px; font-weight:500;
    font-family:"Roboto Slab", Georgia, "Times New Roman", serif;
    background-color:#f28c00; padding:10px 25px; border-radius:3px;
    cursor:pointer; border:none;
    min-width:135px; min-height:50px;
    display:inline-flex; align-items:center; justify-content:center;
    transition:background-color .3s ease;
}
.gform_footer button:hover {background-color:#d17600;}

/* Field consent (inline with submit button) */
@media only screen and (min-width:600px) {
    form.inline-submit-consent fieldset.gfield {margin-top:10px;}
    form.inline-submit-consent .ginput_container_consent {justify-content:flex-end; padding-right:250px; padding-bottom:10px;}
    form.inline-submit-consent .gform_footer {position:absolute; right:0; bottom:0; width:auto;}
}

/*********************
 * 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) */
.gfield_repeater_cell .gfield_label,
.hidden_sub_label,
.gfield.gform_validation_container,
.gform_required_legend {display:none;}

/* Validation message */
.gfield_validation_message {display:none;}

/* Validation error */
.gform_validation_errors {color:red; margin-bottom:var(--form-gap-v);}

/* Confirmation (after submit form) */
.gform_confirmation_wrapper {margin-bottom:var(--bb-spacing-heading);}

/* Field Label */
.gfield.hidden_label .gfield_label {display:none;}
.gfield_required {color:red; 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;}

/* Label */
.gform_wrapper .ginput_container.ginput_container_consent label {font-size:16px; color:rgba(0, 0, 0, 0.42); font-weight:500;}
.gform_wrapper .ginput_container.ginput_container_consent label a {
    text-decoration:none; color:rgba(0, 0, 0, 0.42); font-weight:500;
}
.gform_wrapper .ginput_container.ginput_container_consent label a:hover {color:#000;}


/*********************************************
 * Field: Easy select
**********************************************/
.gform_wrapper .easy-select {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(--bb-color-text);}

/*********************************************
 * 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:10px; display:flex; gap:15px;}
.gfield_repeater_buttons button {
    background:transparent;
    color:var(--bb-color-text); font-size:14px;
    text-decoration:underline;
}
.gfield_repeater_buttons button:hover {color:var(--bb-color-primary);}

/*********************************************
 * Field: Time
**********************************************/
fieldset .ginput_complex {
    display:flex;align-items:center;
}
fieldset .ginput_complex div { margin-right:5px;}
fieldset .ginput_complex div:last-child {margin-right:0;}
fieldset.twc-field-time {margin:0 !important;}

/*********************************************
 * Responsive
**********************************************/
@media only screen and (max-width:1180px) {
    .gform_wrapper {
        /* Layout */
        --form-gap-v:30px;
    }
}
@media only screen and (max-width:1024px) {
    .gform_wrapper {
        /* Layout */
        --form-gap-v:25px;
    }
}
@media only screen and (max-width:980px) {
    .gform_wrapper .ginput_container.ginput_container_consent label {float:left;}
}
@media only screen and (max-width:768px) {
    .gform_wrapper {
        /* Layout */
        --form-gap-v:15px;
    }
}