.gform_wrapper {

    .gform_required_legend {
        display: none;
    }

    form {
        .gfield {

            .gform-field-label {
                font-weight: bold;
            }

            h3 {
                &.gsection_title {
                    font-size: 1.25rem;
                    font-weight: bold;
                }
            }

            input,
            select,
            textarea {
                background-color: #f9fafb;
            }
        }
    }
}

/* ========== Form Styles ==================== */
body.page .form-cont form h2{ font-weight:600; font-family: 'Montserrat', sans-serif; font-size: 1.5rem; line-height:1.2; padding-top:1rem; }
body.page .form-cont form .gform_fields{ row-gap:20px; }
body.page .form-cont .gform_wrapper { --gf-radius: 5px; }
body.page .form-cont .gform_wrapper :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  input[type="password"],
  input[type="search"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  select,
  textarea
) {
  border-radius: 5px;
}
body.page .form-cont .gform_wrapper :is(input, textarea)::placeholder {
  color: #000 ;
  font:revert;
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  font-weight: 300;
  font-size: 14px;
  opacity: 1; 
}
body.page .form-cont .gform_wrapper.gform-theme {--gf-ctrl-size: 44px !important;}
body.page .form-cont .gform_wrapper .ginput_container
  input[type="text"],
body.page .form-cont .gform_wrapper .ginput_container
  input[type="email"],
body.page .form-cont .gform_wrapper .ginput_container
  input[type="url"],
body.page .form-cont .gform_wrapper .ginput_container
  input[type="tel"],
body.page .form-cont .gform_wrapper .ginput_container
  input[type="number"],
body.page .form-cont .gform_wrapper .ginput_container
  input[type="password"],
body.page .form-cont .gform_wrapper .ginput_container
  input[type="search"],
body.page .form-cont .gform_wrapper .ginput_container
  input[type="date"],
body.page .form-cont .gform_wrapper .ginput_container
  input[type="time"],
body.page .form-cont .gform_wrapper .ginput_container
  input[type="datetime-local"],
body.page .form-cont .gform_wrapper .ginput_container
  input[type="month"],
body.page .form-cont .gform_wrapper .ginput_container
  input[type="week"] {
  height: 30px !important;
  line-height: 44px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box;
  font:revert;
}
body.page .form-cont .gform_wrapper .ginput_container select {min-height: 44px !important;}
body.page .form-cont .gform_wrapper .ginput_container textarea {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  line-height: 1.4 !important;
}
body.page .form-cont .gform_wrapper .gform_footer .gform_button.button,
body.page .form-cont .gform_wrapper .gform_page_footer .gform_button.button,
body.page body.page .form-cont .gform_wrapper .gform_footer input[id^="gform_submit_button_"],
body.page body.page .form-cont .gform_wrapper .gform_footer button[id^="gform_submit_button_"].gform_button {
  background-color: #D9020C ; 
  color: #ffffff ; 
  font-size: 0.75rem; 
  font-weight: 700; 
  text-transform: uppercase;
  padding: 0.5rem 1.5rem; 
  border-radius: 0.375rem; 
  white-space: nowrap; 
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  line-height: 1.2;
  transition: background-color 150ms ease, filter 150ms ease;
  border: none;
  cursor: pointer;
}
body.page .form-cont .gform_wrapper .gform_footer .gform_button.button:hover,
body.page .form-cont .gform_wrapper .gform_page_footer .gform_button.button:hover,
body.page .form-cont input[type="submit"]:hover,
body.page .form-cont button[type="submit"]:hover {background-color: #b91c1c;}
body.page .form-cont .gform_wrapper .gform_footer .gform_button.button:focus,
body.page .form-cont .gform_wrapper .gform_page_footer .gform_button.button:focus,
body.page .form-cont input[type="submit"]:focus,
body.page .form-cont button[type="submit"]:focus {
  outline: 2px solid rgba(217, 2, 12, 0.4);
  outline-offset: 2px;
}
body.page .form-cont .gform_wrapper.gform-theme {
  --gf-color-primary: #D9020C;
  --gf-color-primary-rgb: 217, 2, 12;
  --gf-color-in-ctrl-primary: #D9020C;
  --gf-color-in-ctrl-primary-rgb: 217, 2, 12;
}
body.page .form-cont .gform_wrapper :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  input[type="password"],
  input[type="search"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  select,
  textarea
):focus,
body.page .form-cont .gform_wrapper :is(
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  input[type="password"],
  input[type="search"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"],
  input[type="week"],
  select,
  textarea
):focus-visible {
  border-color: #D9020C;
  outline: 2px solid #D9020C; 
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(217, 2, 12, 0.15);
}

/* Checkboxes & radios to red */
body.page .form-cont fieldset{transition:all 0.4s; max-height:fit-content;}
body.page .form-cont fieldset.large-checkbox legend{color:#112337; font-size:1.1rem; text-decoration: underline; margin-bottom:3rem; padding-top:1rem; display:block; -webkit-text-fill-color:#112337; position:relative; z-index:1;}
body.page .form-cont .ginput_container_checkbox .gfield_checkbox {display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px;}
body.page .form-cont .gform_wrapper input[type="checkbox"],
body.page .form-cont .gform_wrapper input[type="radio"] {accent-color: #D9020C;}

body.page .form-cont .gform-theme--foundation .gfield input.medium{
  inline-size: calc(70% - var(--gf-form-gap-x) / 2);
}

/* Selects */
body.page .form-cont form .gfield--input-type-select select.gfield_select{ height:auto; line-height:30px; min-height:unset!important; }

@supports (-webkit-touch-callout: none) {
  body.page .form-cont fieldset.large-checkbox > legend{
    -webkit-text-stroke:0 transparent;
  }
}

@media only screen and (max-width:1000px){
  body.page .form-cont .ginput_container_checkbox .gfield_checkbox {grid-template-columns: repeat(3, minmax(0, 1fr));}
}

@media only screen and (max-width: 800px){
  body.page .form-cont .gform_wrapper .ginput_container
  input[type="text"],
  body.page .form-cont .gform_wrapper .ginput_container
    input[type="email"],
  body.page .form-cont .gform_wrapper .ginput_container
    input[type="url"],
  body.page .form-cont .gform_wrapper .ginput_container
    input[type="tel"],
  body.page .form-cont .gform_wrapper .ginput_container
    input[type="number"],
  body.page .form-cont .gform_wrapper .ginput_container
    input[type="password"],
  body.page .form-cont .gform_wrapper .ginput_container
    input[type="search"],
  body.page .form-cont .gform_wrapper .ginput_container
    input[type="date"],
  body.page .form-cont .gform_wrapper .ginput_container
    input[type="time"],
  body.page .form-cont .gform_wrapper .ginput_container
    input[type="datetime-local"],
  body.page .form-cont .gform_wrapper .ginput_container
    input[type="month"],
  body.page .form-cont .gform_wrapper .ginput_container
    input[type="week"] {width:100%;}
}

@media only screen and (max-width:625px){
  body.page .form-cont .ginput_container_checkbox .gfield_checkbox {grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media only screen and (max-width:400px){
  body.page .form-cont .ginput_container_checkbox .gfield_checkbox {grid-template-columns: repeat(1, minmax(0, 1fr));}
    body.page .form-cont fieldset.large-checkbox > legend{
    font-size:1rem;
    text-decoration:underline;
    margin-bottom:1rem;
    padding-top:0.5rem;
    -webkit-text-fill-color:#112337; 
  }
}