/* Formidable forms of the theme: survey (cta-form), contact, download guide and article subscribe.
   Ported from the Custom CSS & JS snippets Survey Light, Survey Dark, Contact Us New, Contact Us API, FooterForm,
   css fixes, Blog CSS (form part) and new home (form part), and the Divi child Additional CSS.
   Only declarations that win somewhere on a theme page are kept; no declaration carries the important flag, because forms-base.css
   (the plugin stylesheet, reduced) and this file are the only form styling.
   Body classes from inc/forms.php scope the rules: .form-theme and .form-theme-light | dark | contact | contact-api
   (written with :where(), so they add no specificity). The last block lists the few places where a rule has to
   outrank another rule on the same element. Dark and contact forms show the same arrow, magnifier and select icons as
   the light forms (the legacy rules pointed those at a dead staging host, so nothing was painted). */

/* ---- Survey (cta-form), contact and download guide forms: the former Survey Light / Dark, Contact Us New / API and FooterForm snippets ---- */

.footerform .frm_page_num_2 label:has(> input:checked) {
    color: var(--color-cream);
}

.footerform .frm_button_submit::after {
    width: 16px;
    height: 16px;
}

.footerform .frm_prev_page::before {
    display: block;
    height: 16px;
}

@media screen and (min-width: 960px) {
    button.frm_button_submit {
        height: 54px;
    }

}

.frm-show-form {
    border: 3px solid var(--color-cream);
}

.frm_style_formidable-style.with_frm_style .frm_blank_field label,
.frm_style_formidable-style.with_frm_style .frm_error {
    color: white;
}

:where(.form-theme-dark) .mob-hid {
    color: var(--color-cream);
}

#survey-light #form_newsurvey .frm_submit .frm_prev_page {
    color: var(--color-ink);
}

#survey-light #form_newsurvey button.frm_prev_page {
    padding-left: 0px;
}

#survey-light #form_newsurvey .frm_submit .frm_prev_page::before {
    content: url("../images/forms/black-carr.svg");
    color: var(--color-ink);
}

:where(.form-theme-light) #form_newsurvey h2 {
    font-family: "FK Grotesk 500", Helvetica, Arial, Lucida, sans-serif;
    font-size: 57px;
    line-height: 112%;
    padding-bottom: 0px;
    margin-bottom: 40px;
    color: var(--color-ink);
}

:where(.form-theme-light) #form_newsurvey p {
    font-family: "FK Grotesk 400", Helvetica, Arial, Lucida, sans-serif;
    font-size: 18px;
    line-height: 140%;
    width: 100%;
    color: var(--color-ink);
    padding-top: 0px;
    padding-bottom: 0px;
    margin-top: 0px;
    margin-bottom: 40px;
}

:where(.form-theme-dark) #form_newsurvey h2 {
    font-family: "FK Grotesk 500", Helvetica, Arial, Lucida, sans-serif;
    font-size: 57px;
    line-height: 112%;
    padding-bottom: 0px;
    margin-bottom: 40px;
    color: var(--color-cream);
}

:where(.form-theme-dark) #form_newsurvey p {
    font-family: "FK Grotesk 400", Helvetica, Arial, Lucida, sans-serif;
    font-size: 18px;
    line-height: 140%;
    width: 100%;
    padding-top: 0px;
    padding-bottom: 0px;
    margin-top: 0px;
    margin-bottom: 40px;
}

:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey {
    padding: 0px;
}

:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey input[type="text"],
:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey input[type="email"],
:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey input[type="text"],
:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey select,
:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey input[type="text"],
:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey input[type="email"],
:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey input[type="text"] {
    background: transparent;
    border-width: 0px 0px 1px;
    border-radius: 0px;
}

:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey input[type="text"],
:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey input[type="email"],
:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey select {
    font-size: 28px;
    border-color: var(--color-steel);
    line-height: 100%;
    opacity: 1;
    color: var(--color-ink);
    font-weight: 500;
    font-family: "FK Grotesk 500";
}

#survey-light form#form_newsurvey .frm_page_num_1 input[type="email"] {
    background: var(--color-cream);
    border-radius: 500px;
    padding: 0px 24px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    color: var(--color-ink);
    font-size: 18px;
    border: 1px solid var(--color-steel);
}

#survey-dark form#form_newsurvey .frm_page_num_1 input[type="email"] {
    background: var(--color-cream);
    border-radius: 500px;
    padding: 0px 24px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    color: var(--color-ink);
    font-size: 18px;
}

#survey-dark form#form_newsurvey .frm_page_num_1 input[type="email"][aria-invalid="true"] {
    border: 3px solid var(--color-rust);
}

:is(#survey-light,
#survey-dark) .welcome-email {
    max-width: 400px;
    width: 400px;
    position: relative;
}

:is(#survey-light,
#survey-dark) .welcome-email .frm_error {
    position: absolute;
    top: -30px;
}

:is(#survey-light,
#survey-dark) .frm_page_num_1 .frm_submit.frm_flex {
    position: relative;
    width: auto;
    grid-column: auto;
}

:is(#survey-light,
#survey-dark) form#form_newsurvey .frm_page_num_1 input[type="email"]::placeholder {
    color: var(--color-ink);
    font-size: 18px;
}

:is(#survey-light,
#survey-dark) .frm_form_fields.frm_page_num_1 .frm_fields_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 24px;
}

:is(#survey-light,
#survey-dark) .frm_form_fields .frm_error {
    display: flex;
}

:is(#survey-light,
#survey-dark) .frm_form_fields button.frm_button_submit {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    margin: 0px;
    background-color: var(--color-rust);
    border: 1px solid var(--color-rust);
    border-radius: 100px;
    box-shadow: none;
    width: 115px;
    height: 55px;
    font-size: clamp(16px, 0.83vw, 18px);
    color: var(--color-cream);
    font-weight: 700;
    text-shadow: none;
}

#survey-light .frm_form_fields button.frm_button_submit:hover {
    background-color: transparent;
}

:where(.form-theme-light) .footerform .frm_primary_label,
:where(.form-theme-light) .footerform .frm_page_num_3 h3.frm_pos_top.frm_section_spacing {
    color: var(--color-ink);
    font-size: clamp(24px, 1.45vw, 28px);
    font-weight: 700;
    line-height: 128%;
    margin-bottom: clamp(15px, 1.45vw, 27px);
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    margin-top: 0px;
}

#survey-light .frm_page_num_2 .frm_checkbox label {
    color: var(--color-slate);
    position: relative;
    opacity: 1;
    font-size: 18px;
    display: flex;
    gap: 12px;
    align-items: center;
    line-height: 112%;
    font-family: "FK Grotesk 500";
}

#survey-light .frm_page_num_2 .frm_opt_container:has(.frm_checkbox) {
    height: auto;
    padding: 60px 0px;
    border-bottom-width: medium;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
    display: flex;
    gap: 24px;
}

#survey-dark .frm_form_fields button.frm_button_submit:hover {
    background-color: transparent;
    color: var(--color-cream);
}

/* Keyboard focus: forms-base.css (the plugin stylesheet) takes the outline off every submit button on focus, so the
   survey Next and Submit pills showed no focus at all; they get the browser focus ring back like the theme's other
   arrow pills (.btn). */
:is(#survey-light,
#survey-dark) .frm_form_fields button.frm_button_submit:focus-visible {
    outline: revert;
}

:where(.form-theme-dark) .footerform .frm_primary_label,
:where(.form-theme-dark) .footerform .frm_page_num_3 h3.frm_pos_top.frm_section_spacing {
    color: var(--color-cream);
    font-size: clamp(24px, 1.45vw, 28px);
    font-weight: 700;
    line-height: 128%;
    margin-bottom: clamp(15px, 1.45vw, 27px);
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    margin-top: 0px;
}

#survey-dark .frm_page_num_2 .frm_checkbox label {
    color: var(--color-steel);
    position: relative;
    opacity: 1;
    font-size: 18px;
    display: flex;
    gap: 12px;
    align-items: center;
    line-height: 112%;
    font-family: "FK Grotesk 500";
}

#survey-dark .frm_page_num_2 .frm_opt_container:has(.frm_checkbox) {
    height: auto;
    padding: 60px 0px;
    border-bottom-width: medium;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
    flex-wrap: wrap;
    display: flex;
    gap: 24px;
}

:is(#survey-light,
#survey-dark) .frm_page_num_2 .frm_checkbox {
    display: flex;
    height: auto;
    margin: 0px;
}

#survey-light .with_frm_style #form_newsurvey .frm_checkbox input[type="checkbox"] {
    margin: 0px;
    border: 1px solid var(--color-slate);
    background: var(--color-cream);
    min-width: 18px;
}

#survey-dark .with_frm_style #form_newsurvey .frm_checkbox input[type="checkbox"] {
    margin: 0px;
    border: 1px solid var(--color-steel);
    background: var(--color-ink);
    min-width: 18px;
}

:is(#survey-light,
#survey-dark) .frm_forms.with_frm_style #form_newsurvey .frm_fields_container .frm_checkbox input[type="checkbox"]:not([disabled]) {
    width: 18px;
    height: 18px;
}

#survey-light .frm_forms.with_frm_style #form_newsurvey .frm_fields_container .frm_checkbox input[type="checkbox"]:not([disabled]):checked {
    background: var(--color-cream);
    border: 1px solid var(--color-rust);
    width: 18px;
    height: 18px;
}

#survey-light .with_frm_style #form_newsurvey .frm_checkbox:hover input[type="checkbox"] {
    margin: 0px;
    border: 1px solid var(--color-rust);
    background: var(--color-cream);
    min-width: 18px;
}

#survey-light .with_frm_style .frm_checkbox input[type="checkbox"]::before {
    background: var(--color-cream);
    margin: 0px;
    width: 100%;
    height: 100%;
    background-image: url("../images/forms/black-check.svg");
    background-size: 9px auto;
    background-repeat: no-repeat;
    background-position: center center;
}

#survey-light #form_newsurvey .frm_page_num_2 .frm_primary_label {
    color: var(--color-ink);
    font-size: clamp(24px, 1.45vw, 28px);
    font-weight: 700;
    line-height: 128%;
    margin-bottom: clamp(15px, 1.45vw, 27px);
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    margin-top: 0px;
}

#survey-dark .frm_forms.with_frm_style #form_newsurvey .frm_fields_container .frm_checkbox input[type="checkbox"]:not([disabled]):checked {
    background: var(--color-ink);
    border: 1px solid var(--color-rust);
    width: 18px;
    height: 18px;
}

#survey-dark .with_frm_style #form_newsurvey .frm_checkbox:hover input[type="checkbox"] {
    margin: 0px;
    border: 1px solid var(--color-rust);
    background: var(--color-ink);
    min-width: 18px;
}

#survey-dark .with_frm_style .frm_checkbox input[type="checkbox"]::before {
    background: var(--color-ink);
}

#survey-dark #form_newsurvey .frm_page_num_2 .frm_primary_label {
    color: var(--color-cream);
    font-size: clamp(24px, 1.45vw, 28px);
    font-weight: 700;
    line-height: 128%;
    margin-bottom: clamp(15px, 1.45vw, 27px);
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    margin-top: 0px;
}

:where(.form-theme-dark,
.form-theme-light) #frm_field_87_container .frm_checkbox {
    width: calc(33.3333% - 16px);
}

#survey-light #form_newsurvey .frm_page_num_2 .frm_submit.frm_flex {
    width: calc(50% + 60px);
    align-items: flex-end;
    justify-content: space-between;
    position: relative;
    margin-top: 40px;
}

#survey-light #form_newsurvey .frm_page_num_3 h3 {
    color: var(--color-ink);
    font-size: clamp(24px, 1.45vw, 28px);
    line-height: 128%;
    font-family: "FK Grotesk 700";
    font-weight: 700;
    padding-bottom: clamp(15px, 1.45vw, 27px);
    border-bottom: 1px solid var(--color-steel);
    margin-top: 0px;
    margin-bottom: 60px;
}

#survey-light #form_newsurvey .frm_page_num_3 input {
    border-width: 0px 0px 1px;
    font-family: "FK Grotesk 500";
    padding: 10px 0px 16px;
    background: var(--color-cream);
    color: var(--color-ink);
    font-size: 28px;
    font-weight: 500;
    height: auto;
    line-height: 100%;
    border-color: var(--color-ink);
}

#survey-light #form_newsurvey .frm_page_num_2 label:has(> input:checked) {
    color: var(--color-ink);
}

#survey-light #form_newsurvey .frm_page_num_3 input::placeholder {
    color: var(--color-ink);
    font-size: 28px;
}

#survey-dark #form_newsurvey .frm_page_num_3 h3 {
    color: var(--color-cream);
    font-size: clamp(24px, 1.45vw, 28px);
    font-weight: 700;
    line-height: 128%;
    padding-bottom: clamp(15px, 1.45vw, 27px);
    border-bottom: 1px solid var(--color-steel);
    margin-top: 0px;
    margin-bottom: 60px;
}

#survey-dark #form_newsurvey .frm_page_num_3 input {
    border-width: 0px 0px 1px;
    font-family: "FK Grotesk 500";
    padding: 10px 0px 16px;
    background: var(--color-ink);
    color: var(--color-cream);
    font-size: 28px;
    font-weight: 500;
    height: auto;
    line-height: 100%;
}

#survey-dark #form_newsurvey .frm_page_num_3 input::placeholder {
    color: var(--color-steel);
    font-size: 28px;
}

:is(#survey-light,
#survey-dark) #form_newsurvey .frm_page_num_3 .frm_form_field {
    margin-bottom: 80px;
}

:is(#survey-light,
#survey-dark) #form_newsurvey .frm_page_num_3 #frm_field_98_container {
    margin-bottom: 40px;
}

:is(#survey-light,
#survey-dark) #form_newsurvey .frm_page_num_3 .form-field {
    position: relative;
}

:is(#survey-light,
#survey-dark) .frm_page_num_3.frm_form_fields .frm_error {
    position: absolute;
    top: -20px;
}

:is(#survey-light,
#survey-dark) #form_newsurvey .frm_page_num_3 .frm_primary_label {
    position: absolute;
    top: -20px;
    opacity: 0;
    display: flex;
}

:where(.form-theme-dark,
.form-theme-light) #frm_field_90_container {
    display: none;
}

#survey-light #form_newsurvey .frm_page_num_3 p,
#survey-light #form_newsurvey .frm_page_num_3 a {
    color: var(--color-ink);
    margin-bottom: 0px;
}

#survey-dark #form_newsurvey .frm_page_num_3 p,
#survey-dark #form_newsurvey .frm_page_num_3 a {
    color: var(--color-steel);
    margin-bottom: 0px;
}

:is(#survey-light,
#survey-dark) #form_newsurvey .frm_page_num_3 a {
    text-decoration: underline var(--color-rust);
}

#survey-light #form_newsurvey .frm_page_num_3 .frm_submit.frm_flex {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    position: relative;
    justify-content: flex-start;
}

:where(.form-theme-light) div#frm_field_101_container,
:where(.form-theme-light) div#frm_field_102_container {
    display: none;
}

#survey-dark #form_newsurvey .frm_page_num_3 .frm_submit.frm_flex {
    width: 100%;
    display: flex;
    position: relative;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
}

:is(#survey-light,
#survey-dark) #form_newsurvey .frm_page_num_3 button.frm_prev_page {
    padding-left: 0px;
    width: 120px;
    display: flex;
    justify-content: flex-start;
    margin-right: calc(50% - 243px);
    order: 1;
}

:is(#survey-light,
#survey-dark) #form_newsurvey .frm_page_num_3 button.frm_button_submit {
    order: 2;
    width: 215px;
}

:is(#survey-light,
#survey-dark) .frm_fields_container:has(input[type="text"][aria-invalid="true"]) .frm_submit.frm_flex button.frm_button_submit.primary-dark {
    background-color: transparent;
    color: var(--color-slate);
    pointer-events: none;
    border-color: var(--color-slate);
}

:is(#survey-light,
#survey-dark) .frm_fields_container:has(input[type="text"][aria-invalid="true"]) .frm_submit.frm_flex button.frm_button_submit.primary-dark::after {
    background-repeat: no-repeat;
    background-position: center center;
    content: url("../images/forms/gray-arr.svg");
    background-size: contain;
}

:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey input[type="text"]::placeholder,
:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey input[type="email"]::placeholder {
    line-height: 118%;
    opacity: 1;
    font-weight: 500;
    font-family: "FK Grotesk 500";
}

:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey input[type="text"]:focus,
:where(.form-theme-dark,
.form-theme-light) form#form_newsurvey input[type="email"]:focus {
    box-shadow: none;
}

:where(.form-theme-contact-api,
.form-theme-contact) .frm_forms.frm_style_formidable-style.with_frm_style {
    width: 100%;
    max-width: 100%;
}

form:is(#form_contact-us-new,
#form_contact-us-new22) {
    padding: 0px;
}

:where(.form-theme-contact) .frm_style_formidable-style.with_frm_style .form-field {
    display: flex;
    flex-direction: column;
}

.form-theme-contact-api .frm_style_formidable-style.with_frm_style .form-field {
    display: flex;
    flex-direction: column;
    margin-bottom: 60px;
}

form#form_contact-us-new input[type="text"],
form#form_contact-us-new input[type="url"],
form#form_contact-us-new input[type="email"],
form#form_contact-us-new input[type="text"],
form#form_contact-us-new select,
form#form_contact-us-new input[type="text"],
form#form_contact-us-new input[type="email"],
form#form_contact-us-new input[type="text"],
form#form_contact-us-new textarea {
    background: transparent;
    border-width: 0px 0px 1px;
    border-radius: 0px;
    border-color: var(--color-ink);
}

form#form_contact-us-new input[type="text"],
form#form_contact-us-new input[type="url"],
form#form_contact-us-new input[type="email"],
form#form_contact-us-new select {
    padding: 0px 0px 24px;
    font-size: 28px;
    border-color: var(--color-ink);
    line-height: 100%;
    opacity: 1;
    color: var(--color-ink);
    font-weight: 500;
    font-family: "FK Grotesk 500";
}

form#form_contact-us-new22 input[type="text"],
form#form_contact-us-new22 input[type="url"],
form#form_contact-us-new22 input[type="email"],
form#form_contact-us-new22 input[type="text"],
form#form_contact-us-new22 input[type="text"],
form#form_contact-us-new22 input[type="email"],
form#form_contact-us-new22 input[type="text"] {
    background: transparent;
    border-width: 0px 0px 1px;
    border-radius: 0px;
}

form#form_contact-us-new22 input[type="text"],
form#form_contact-us-new22 input[type="url"],
form#form_contact-us-new22 input[type="email"] {
    padding: 0px 0px 24px;
    font-size: 28px;
    border-color: var(--color-ink);
    line-height: 100%;
    opacity: 1;
    color: var(--color-ink);
    font-weight: 500;
    font-family: "FK Grotesk 500";
}

form:is(#form_contact-us-new,
#form_contact-us-new22) input[type="text"]::placeholder,
form:is(#form_contact-us-new,
#form_contact-us-new22) input[type="url"]::placeholder,
form:is(#form_contact-us-new,
#form_contact-us-new22) input[type="email"]::placeholder {
    color: var(--color-ink);
    font-size: 28px;
    line-height: 118%;
    opacity: 1;
    font-weight: 500;
    font-family: "FK Grotesk 500";
}

form:is(#form_contact-us-new,
#form_contact-us-new22) input[type="text"]:focus,
form:is(#form_contact-us-new,
#form_contact-us-new22) input[type="url"]:focus,
form:is(#form_contact-us-new,
#form_contact-us-new22) input[type="email"]:focus {
    box-shadow: none;
}

:where(.form-theme) .frm_style_formidable-style.with_frm_style .form-field input:not([type="file"]):not([type="range"]):not([readonly]):focus,
:where(.form-theme) .frm_style_formidable-style.with_frm_style select:focus,
:where(.form-theme) .frm_style_formidable-style.with_frm_style .form-field textarea:focus {
    box-shadow: none;
}

:where(.form-theme-dark,
.form-theme-light) .with_frm_style select option.frm-select-placeholder {
    color: var(--color-steel);
}

:where(.form-theme-light) ul#select2-field_rowv2-results li:first-child {
    position: sticky;
    top: 0px;
    z-index: 999;
    border-bottom: 1px solid var(--color-steel);
}

:where(.form-theme-dark) ul#select2-field_rowv2-results li:first-child {
    position: sticky;
    top: 0px;
    z-index: 999;
    border-bottom: 1px solid var(--color-steel);
}

:where(.form-theme-dark,
.form-theme-light) ul#select2-field_rowv2-results li.select2-results__option--highlighted {
    background: var(--color-rust);
}

:where(.form-theme-light) span.select2-selection.select2-selection--single {
    border-width: medium medium 1px;
    border-style: none none solid;
    border-image: none;
    border-radius: 0px;
    height: auto;
    padding: 10px 0px 24px;
    border-color: var(--color-ink);
    background: var(--color-cream);
}

:where(.form-theme-contact) .vertical_radio .frm_primary_label {
    padding: 0px 0px 24px;
    font-size: 28px;
    border-color: var(--color-ink);
    line-height: 130%;
    opacity: 1;
    color: var(--color-ink);
    font-weight: 500;
    font-family: "FK Grotesk 500";
    border-bottom-width: 1px;
    border-bottom-style: solid;
    margin-bottom: 24px;
    margin-top: 28px;
}

:where(.form-theme-contact) .vertical_radio .frm_checkbox label {
    color: var(--color-slate);
    font-family: "FK Grotesk 500";
    font-weight: 500;
    font-size: 22px;
    line-height: 127%;
}

:where(.form-theme-contact-api) .vertical_radio .frm_primary_label {
    padding: 0px 0px 24px;
    font-size: 28px;
    border-color: var(--color-ink);
    line-height: 130%;
    opacity: 1;
    color: var(--color-ink);
    font-weight: 500;
    font-family: "FK Grotesk 500";
    border-bottom-width: 1px;
    border-bottom-style: solid;
    margin-bottom: 24px;
    order: 2;
}

:where(.form-theme-contact-api,
.form-theme-contact) .with_frm_style select option.frm-select-placeholder {
    color: var(--color-ink);
}

:where(.form-theme-contact) .frm_forms.with_frm_style .frm_fields_container .frm_checkbox label:has(input[type="checkbox"]:not([disabled])) {
    display: flex;
    align-items: center;
    gap: 16px;
}

:where(.form-theme-contact) .with_frm_style .frm_checkbox label:has(input[type="checkbox"]) input[type="checkbox"],
:where(.form-theme-contact) .with_frm_style .frm_checkbox label:has(input[type="checkbox"]:checked) input[type="checkbox"]:focus {
    background-color: transparent;
    width: 18px;
    height: 18px;
    border-radius: 0px;
    border-color: var(--color-slate);
}

:where(.form-theme-contact) .frm_blank_field input[type="checkbox"] {
    order: 0;
}

:where(.form-theme-contact) .frm_forms.with_frm_style .frm_fields_container .frm_blank_field .frm_checkbox label:has(input[type="checkbox"]:not([disabled])) {
    color: var(--color-slate);
}

:where(.form-theme-contact) .frm_style_formidable-style.with_frm_style form .vertical_radio.frm_blank_field .frm_error {
    position: absolute;
}

:where(.form-theme-contact-api,
.form-theme-contact) ul#select2-field_q64n6-results li:first-child {
    position: sticky;
    top: 0px;
    z-index: 999;
    border-bottom: 1px solid var(--color-ink);
}

:where(.form-theme-contact-api,
.form-theme-contact) ul#select2-field_q64n6-results li.select2-results__option--highlighted {
    background: var(--color-rust);
}

:where(.form-theme-contact) ul#select2-field_qs5ez-results li {
    border-bottom: 1px solid var(--color-ink);
}

:where(.form-theme-contact) .select2-dropdown:has(#select2-field_qs5ez-results) {
    border: 1px solid var(--color-ink);
}

:where(.form-theme-contact-api,
.form-theme-contact) span.select2-selection.select2-selection--single {
    background: var(--color-cream);
    border-width: medium medium 1px;
    border-style: none none solid;
    border-image: none;
    border-radius: 0px;
    height: auto;
    padding: 10px 0px 24px;
    border-color: var(--color-ink);
}

:where(.form-theme-contact-api,
.form-theme-contact,
.form-theme-light) .select2-container .select2-selection--single .select2-selection__rendered {
    height: auto;
    font-size: 28px;
    border-color: var(--color-ink);
    opacity: 1;
    font-weight: 500;
    font-family: "FK Grotesk 500";
    line-height: 105%;
    color: var(--color-ink);
    padding-left: 0px;
}

:where(.form-theme-contact-api,
.form-theme-contact,
.form-theme-light) .select2-container--open .select2-dropdown--below {
    top: 0px;
    background: var(--color-cream);
}

:where(.form-theme-contact-api,
.form-theme-contact,
.form-theme-light) .select2-container--open .select2-dropdown--above {
    top: 0px;
    background: var(--color-cream);
}

:where(.form-theme-contact-api,
.form-theme-contact,
.form-theme-light) span.select2-dropdown.select2-dropdown--below li {
    font-family: "FK Grotesk 500";
    line-height: 130%;
    position: relative;
    padding: 15px 30px;
    font-size: 22px;
    color: var(--color-ink);
}

:where(.form-theme-dark) span.select2-selection.select2-selection--single {
    background: var(--color-ink);
    border-width: medium medium 1px;
    border-style: none none solid;
    border-image: none;
    border-radius: 0px;
    height: auto;
    padding: 10px 0px 24px;
    border-color: var(--color-steel);
}

:where(.form-theme-dark) .select2-container .select2-selection--single .select2-selection__rendered {
    height: auto;
    font-size: 28px;
    border-color: var(--color-steel);
    opacity: 1;
    font-weight: 500;
    font-family: "FK Grotesk 500";
    line-height: 105%;
    color: var(--color-cream);
    padding-left: 0px;
}

:where(.form-theme-dark) .select2-container--open .select2-dropdown--below {
    top: 0px;
    background: var(--color-ink);
}

:where(.form-theme-dark) .select2-container--open .select2-dropdown--above {
    top: 0px;
    background: var(--color-ink);
}

:where(.form-theme-dark) span.select2-dropdown.select2-dropdown--below li {
    font-family: "FK Grotesk 500";
    line-height: 130%;
    position: relative;
    padding: 15px 30px;
    font-size: 22px;
    color: var(--color-cream);
}

:where(.form-theme) .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background: var(--color-rust);
    color: rgb(255, 255, 255);
}

:where(.form-theme-light) .select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--color-cream);
    height: 48px;
    padding: 0px 40px 0px 15px;
    font-family: "FK Grotesk 500";
    line-height: 130%;
    position: relative;
    font-size: 22px;
    color: var(--color-cream);
}

:where(.form-theme-dark) .select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--color-ink);
    height: 48px;
    padding: 0px 40px 0px 15px;
    font-family: "FK Grotesk 500";
    line-height: 130%;
    position: relative;
    font-size: 22px;
    color: var(--color-cream);
}

:where(.form-theme-dark,
.form-theme-light) .select2-container--default .select2-selection--single .select2-selection__arrow {
    background-image: url("../images/forms/select-bone.svg");
    background-size: contain;
    height: 22px;
    width: 32px;
    position: absolute;
    top: calc(50% - 11px);
    right: 0px;
}

:where(.form-theme-contact-api,
.form-theme-contact) .select2-container--default .select2-search--dropdown .select2-search__field {
    background: var(--color-cream);
    height: 48px;
    padding: 0px 40px 0px 15px;
    font-family: "FK Grotesk 500";
    line-height: 130%;
    position: relative;
    font-size: 22px;
    color: var(--color-ink);
}

:where(.form-theme-contact-api,
.form-theme-contact) .select2-container--default .select2-selection--single .select2-selection__arrow {
    background-image: url("../images/forms/select-bone.svg");
    background-size: contain;
    height: 22px;
    width: 32px;
    position: absolute;
    top: calc(50% - 11px);
    right: 0px;
}

:where(.form-theme) .select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

:where(.form-theme) .frm_form_fields .frm_section_heading,
:where(.form-theme) .frm_form_fields .frm_fields_container {
    gap: 0px 47px;
}

:where(.form-theme) span.select2-search.select2-search--dropdown {
    padding: 18px 18px 4px;
    position: relative;
}

:where(.form-theme) .select2-container--default .select2-results > .select2-results__options {
    max-height: 285px;
    overflow-y: auto;
}

:where(.form-theme-contact-api,
.form-theme-light) span.select2-search.select2-search--dropdown::before {
    content: "";
    width: 20px;
    height: 20px;
    background-image: url("../images/search-magnifier.png");
    position: absolute;
    right: 33px;
    top: calc(50% - 1px);
    display: flex;
    background-size: contain;
    z-index: 9999;
    background-repeat: no-repeat;
}

:where(.form-theme-contact) span.select2-search.select2-search--dropdown::before {
    content: "";
    width: 20px;
    height: 20px;
    background-image: url("../images/search-magnifier.png");
    position: absolute;
    right: 33px;
    top: calc(50% - 1px);
    display: flex;
    background-size: contain;
    z-index: 9999;
    background-repeat: no-repeat;
}

:where(.form-theme-contact-api,
.form-theme-contact,
.form-theme-light) span.select2-selection__placeholder {
    color: var(--color-ink);
}

:where(.form-theme-dark) span.select2-search.select2-search--dropdown::before {
    content: "";
    width: 20px;
    height: 20px;
    background-image: url("../images/search-magnifier.png");
    position: absolute;
    right: 33px;
    top: calc(50% - 1px);
    display: flex;
    background-size: contain;
    z-index: 9999;
    background-repeat: no-repeat;
}

:where(.form-theme-dark) span.select2-selection__placeholder {
    color: var(--color-steel);
}

:where(.form-theme) .frm_form_field label {
    opacity: 0;
}

:where(.form-theme-contact-api,
.form-theme-contact) .frm_form_field textarea {
    padding: 0px 0px 24px;
    font-size: 28px;
    line-height: 130%;
    opacity: 1;
    color: var(--color-ink);
    font-weight: 500;
    font-family: "FK Grotesk 500";
    border-bottom-style: solid;
    margin-bottom: 24px;
}

:where(.form-theme) .frm_form_field textarea::placeholder {
    font-size: 28px;
}

:where(.form-theme-dark,
.form-theme-light) #form_newsurvey button.frm_button_submit.frm_final_submit {
    margin: 0px auto;
    align-items: center;
    background-color: var(--color-rust);
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    border-radius: 100px;
    box-shadow: none;
    color: var(--color-cream);
    font-weight: 700;
    text-shadow: none;
    height: 56px;
    display: flex;
    justify-content: space-between;
    padding: 0px 24px;
    gap: 16px;
    font-size: 18px;
}

:where(.form-theme-light) #form_newsurvey button.frm_button_submit:hover {
    color: var(--color-ink);
}

:where(.form-theme-light) #form_newsurvey .frm_button_submit::after {
    content: url("../images/forms/blackarrow.svg");
}

:where(.form-theme-light) #form_newsurvey button.frm_button_submit:hover::after {
    content: url("../images/forms/red-arr.svg");
}

:where(.form-theme-dark) #form_newsurvey .frm_button_submit::after {
    content: url("../images/forms/blackarrow.svg");
}

:where(.form-theme-dark) #form_newsurvey button.frm_button_submit:hover::after {
    content: url("../images/forms/red-arr.svg");
}

:is(#form_contact-us-new,
#form_contact-us-new22) button.frm_button_submit.frm_final_submit {
    margin: 0px auto;
    align-items: center;
    background-color: var(--color-rust);
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    border-radius: 100px;
    box-shadow: none;
    color: var(--color-cream);
    font-weight: 700;
    text-shadow: none;
    height: 56px;
    display: flex;
    justify-content: space-between;
    padding: 0px 24px;
    gap: 16px;
    font-size: 18px;
}

:is(#form_contact-us-new,
#form_contact-us-new22) button.frm_button_submit:hover {
    color: var(--color-cream);
    background-color: var(--color-ink);
}

#form_contact-us-new .frm_button_submit::after {
    content: url("../images/forms/blackarrow.svg");
    width: 16px;
    height: 16px;
}

#form_contact-us-new button.frm_button_submit:hover::after {
    content: url("../images/forms/red-arr.svg");
}

#form_contact-us-new22 .frm_button_submit::after {
    content: url("../images/forms/blackarrow.svg");
    width: 16px;
    height: 16px;
}

#form_contact-us-new22 button.frm_button_submit:hover::after {
    content: url("../images/forms/red-arr.svg");
}

:where(.form-theme) .frm_form_field:has(.has-value) label {
    opacity: 1;
    transition: 1s;
    font-family: "FK Grotesk 400";
    font-size: 18px;
    line-height: 133%;
}

:is(#survey-light,
#survey-dark) #form_newsurvey .frm_page_num_3 #frm_field_95_container,
:is(#survey-light,
#survey-dark) #form_newsurvey .frm_page_num_3 #frm_field_96_container {
    margin: 0px;
}

:is(#survey-light,
#survey-dark) #form_newsurvey .frm_page_num_3 #frm_field_89_container {
    margin-bottom: 60px;
}

:where(.form-theme) .frm_style_formidable-style.with_frm_style .frm_blank_field label,
:where(.form-theme) .frm_style_formidable-style.with_frm_style .frm_error {
    font-size: 0px;
}

:where(.form-theme) .frm_style_formidable-style.with_frm_style form .frm_error {
    order: 1;
    opacity: 1;
    transition: 1s;
    font-family: "FK Grotesk 400";
    line-height: 133%;
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 18px;
    color: var(--color-rust);
    margin: 0px 0px 3px;
}

:where(.form-theme-contact-api,
.form-theme-light) .frm_style_formidable-style.with_frm_style form .frm_error::before {
    content: "";
    width: 18px;
    height: 18px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

:where(.form-theme-contact,
.form-theme-dark) .frm_style_formidable-style.with_frm_style form .frm_error::before {
    content: "";
    width: 18px;
    height: 18px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

:where(.form-theme) .frm_form_field:has(.has-value):has(.frm_error) label {
    order: 2;
}

:where(.form-theme) .frm_blank_field input,
:where(.form-theme) .frm_blank_field .select2-container {
    order: 3;
}

:where(.form-theme) .with_frm_style form .frm_required {
    display: none;
}

:where(.form-theme) .form-field:has(input[aria-invalid="true"]) label,
:where(.form-theme) .form-field:has(select[aria-invalid="true"]) label {
    display: none;
}

:where(.form-theme-light) .indiv-option {
    padding: 40px;
    display: flex;
    gap: 120px;
    border: 1px solid var(--color-ink);
}

:where(.form-theme-dark) .indiv-option {
    padding: 40px;
    display: flex;
    gap: 120px;
    border: 1px solid var(--color-steel);
}

:where(.form-theme-dark) .indiv-option .left-part svg path {
    stroke: var(--color-steel);
}

:where(.form-theme-dark,
.form-theme-light) .indiv-option .left-part {
    width: 320px;
}

:where(.form-theme-dark,
.form-theme-light) .indiv-option .right-part {
    width: calc(100% - 320px);
}

:where(.form-theme-light) h3.indiv-title {
    color: var(--color-ink);
    font-size: 28px;
    line-height: 128%;
    font-family: "FK Grotesk 700";
    font-weight: 700;
    margin-bottom: 10px;
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    margin-top: 0px;
}

:where(.form-theme-light) #form_newsurvey p.indiv-text {
    font-size: 28px;
    line-height: 128%;
    font-family: "FK Grotesk 400";
    font-weight: 400;
    color: var(--color-ink);
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    margin-top: 0px;
    margin-bottom: 30px;
}

:where(.form-theme-dark) h3.indiv-title {
    color: var(--color-cream);
    font-size: 28px;
    line-height: 128%;
    font-family: "FK Grotesk 700";
    font-weight: 700;
    margin-bottom: 10px;
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    margin-top: 0px;
}

:where(.form-theme-dark) #form_newsurvey p.indiv-text {
    font-size: 28px;
    line-height: 128%;
    font-family: "FK Grotesk 400";
    font-weight: 400;
    color: var(--color-steel);
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    margin-top: 0px;
    margin-bottom: 30px;
}

:is(#survey-light,
#survey-dark) .frm_page_num_4 .frm_submit.frm_flex {
    display: none;
}

:where(.form-theme-dark,
.form-theme-light) a.indiv-btn {
    margin: 0px;
    align-items: center;
    font-family: "FK Grotesk 700";
    width: 240px;
    background-color: var(--color-rust);
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    border-radius: 100px;
    box-shadow: none;
    color: var(--color-cream);
    font-weight: 700;
    text-shadow: none;
    height: 56px;
    display: flex;
    justify-content: space-between;
    padding: 0px 24px;
    gap: 16px;
    font-size: 18px;
}

:where(.form-theme-light) a.indiv-btn:hover {
    background: transparent;
    border: 1px solid var(--color-rust);
    color: var(--color-ink);
}

:where(.form-theme-light) #form_newsurvey .indiv-btn::after {
    content: url("../images/forms/blackarrow.svg");
    width: 16px;
    height: 16px;
}

:where(.form-theme-light) #form_newsurvey .indiv-btn:hover::after {
    content: url("../images/forms/red-arr.svg");
}

:where(.form-theme-dark) a.indiv-btn:hover {
    background: transparent;
    border: 1px solid var(--color-rust);
}

:where(.form-theme-dark) #form_newsurvey .indiv-btn::after {
    content: url("../images/forms/blackarrow.svg");
    width: 16px;
    height: 16px;
}

:where(.form-theme-dark) #form_newsurvey .indiv-btn:hover::after {
    content: url("../images/forms/red-arr.svg");
}

:where(.form-theme-dark,
.form-theme-light) .frm_fields_container:has(input[type="text"][aria-invalid="true"]) .frm_submit.frm_flex::before,
:where(.form-theme-dark,
.form-theme-light) .frm_fields_container:has(select#field_qs5ez[aria-invalid="true"]) .frm_submit.frm_flex::before,
:where(.form-theme-dark,
.form-theme-light) .frm_fields_container:has(select#field_q64n6[aria-invalid="true"]) .frm_submit.frm_flex::before {
    content: "Please complete all fields. \a This helps us assist you better.";
    font-size: 28px;
    line-height: 130%;
    color: var(--color-rust);
    font-weight: 500;
    font-family: "FK Grotesk 500";
    text-align: center;
    width: 100%;
}

:where(.form-theme-dark,
.form-theme-light) .frm_form_fields:not(.frm_page_num_1) .frm_fields_container:has(input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex::before {
    content: "Hmm, that email doesn’t look right. \a Please check the format and try again.";
    font-size: 28px;
    line-height: 130%;
    color: var(--color-rust);
    font-weight: 500;
    font-family: "FK Grotesk 500";
    text-align: center;
    white-space: pre;
    width: 100%;
}

/* live /roc-access/ and /roc-watch-schools/ (the pages with a download guide form) switch the email message off
   in their page CSS, for every form on the page */
body:has(.guide-form) .frm_form_fields:not(.frm_page_num_1) .frm_fields_container:has(input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex::before {
    content: none;
}

:where(.form-theme-contact-api) .frm_fields_container:has(input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex::before {
    content: "Please complete all fields. This helps us assist you better.";
    font-size: 28px;
    line-height: 130%;
    color: var(--color-rust);
    font-weight: 500;
    font-family: "FK Grotesk 500";
    text-align: center;
    white-space: pre;
}

:where(.form-theme) .frm_fields_container:has(input[aria-invalid="true"]) .frm_submit.frm_flex,
:where(.form-theme) .frm_fields_container:has(select[aria-invalid="true"]) .frm_submit.frm_flex {
    flex-direction: column;
    gap: 28px;
}

:where(.form-theme-light) .frm_page_num_2 .frm_fields_container {
    align-items: flex-start;
    flex-direction: column;
}

:where(.form-theme-light) .frm_page_num_3 .frm_fields_container {
    align-items: flex-start;
    flex-direction: column;
}

@media screen and (max-width: 475px) {
    :where(.form-theme-light) form#form_newsurvey input[type="text"],
    :where(.form-theme-light) form#form_newsurvey input[type="email"],
    :where(.form-theme-light) form#form_newsurvey select,
    #survey-light #form_newsurvey .frm_page_num_3 input[type="text"],
    #survey-light #form_newsurvey .frm_page_num_3 input[type="tel"],
    #survey-light #form_newsurvey .frm_page_num_3 select {
        padding: 10px 0px 10px 10px;
        font-size: 16px;
        font-weight: 700;
        font-family: "FK Grotesk 700";
    }

    :where(.form-theme-dark) form#form_newsurvey input[type="text"],
    :where(.form-theme-dark) form#form_newsurvey input[type="tel"],
    :where(.form-theme-dark) form#form_newsurvey input[type="email"],
    :where(.form-theme-dark) form#form_newsurvey select {
        font-size: 16px;
        font-weight: 700;
        font-family: "FK Grotesk 700";
    }

    :where(.form-theme-dark,
    .form-theme-light) form#form_newsurvey input[type="text"]::placeholder,
    :where(.form-theme-dark,
    .form-theme-light) form#form_newsurvey input[type="tel"]::placeholder,
    :where(.form-theme-dark,
    .form-theme-light) form#form_newsurvey input[type="email"]::placeholder {
        font-weight: 700;
        font-family: "FK Grotesk 700";
    }

    form#form_contact-us-new input[type="text"],
    form#form_contact-us-new input[type="url"],
    form#form_contact-us-new input[type="email"],
    form#form_contact-us-new select {
        padding: 0px 0px 10px;
        font-size: 16px;
        font-weight: 700;
        font-family: "FK Grotesk 700";
    }

}

#form_contact-us-new22 .frm_checkbox label {
    position: relative;
    opacity: 1;
    font-size: 18px;
    display: flex;
    gap: 12px;
    align-items: center;
    line-height: 112%;
    font-family: "FK Grotesk 500";
    color: var(--color-slate);
}

#form_contact-us-new22 .frm_opt_container:has(.frm_checkbox) {
    height: auto;
    padding: 24px 0px;
    border-bottom-width: medium;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
    order: 3;
    display: flex;
    gap: 24px;
}

#form_contact-us-new22 .frm_checkbox {
    display: flex;
    height: auto;
    margin: 0px;
}

#form_contact-us-new22 .frm_checkbox input[type="checkbox"] {
    margin: 0px;
    border: 1px solid var(--color-slate);
    background: var(--color-cream);
    min-width: 18px;
}

#form_contact-us-new22 .frm_fields_container .frm_checkbox input[type="checkbox"]:not([disabled]) {
    width: 18px;
    height: 18px;
}

#form_contact-us-new22 .frm_checkbox:hover input[type="checkbox"] {
    margin: 0px;
    border: 1px solid var(--color-rust);
    background: var(--color-cream);
    min-width: 18px;
}

:where(.form-theme-contact-api) div#frm_field_125_container .frm_opt_container {
    flex-direction: column;
}

:where(.form-theme-contact-api) div#frm_field_126_container {
    margin-top: -277px;
}

@media screen and (max-width: 475px) {
    :where(.form-theme-contact-api) div#frm_field_126_container {
        margin-top: 0px;
    }

    #form_contact-us-new22 .frm_opt_container:has(.frm_checkbox) {
        height: auto;
        padding: 0px;
        border-bottom-width: medium;
        border-bottom-style: none;
        border-bottom-color: currentcolor;
        display: flex;
        gap: 24px;
    }

    form#form_contact-us-new22 input[type="text"],
    form#form_contact-us-new22 input[type="url"],
    form#form_contact-us-new22 input[type="email"] {
        padding: 0px 0px 10px;
        font-size: 16px;
        font-weight: 700;
        font-family: "FK Grotesk 700";
    }

    form:is(#form_contact-us-new,
    #form_contact-us-new22) input[type="text"]::placeholder,
    form:is(#form_contact-us-new,
    #form_contact-us-new22) input[type="url"]::placeholder,
    form:is(#form_contact-us-new,
    #form_contact-us-new22) input[type="email"]::placeholder {
        font-size: 16px;
        font-weight: 700;
        font-family: "FK Grotesk 700";
    }

    :where(.form-theme-contact,
    .form-theme-dark,
    .form-theme-light) .frm_form_field:has(.has-value) label {
        font-size: 13px;
        line-height: 16px;
    }

    :where(.form-theme-contact-api) .frm_form_field:has(.has-value) label {
        font-size: 13px;
        line-height: 16px;
    }

    :where(.form-theme) .frm_form_fields .frm_section_heading,
    :where(.form-theme) .frm_form_fields .frm_fields_container {
        display: flex;
        flex-direction: column;
    }

    :where(.form-theme) .frm_form_field label {
        height: 20px;
    }

    :where(.form-theme-contact-api) .vertical_radio .frm_primary_label {
        padding: 0px 0px 10px;
        font-weight: 700;
        font-family: "FK Grotesk 700";
        margin: 0px 0px 24px;
        font-size: 16px;
    }

    :where(.form-theme-contact-api,
    .form-theme-dark,
    .form-theme-light) .vertical_radio .frm_opt_container {
        flex-direction: column;
    }

    :where(.form-theme-dark,
    .form-theme-light) span.select2-selection.select2-selection--single {
        padding: 0px 0px 10px 10px;
    }

    :where(.form-theme-contact) .vertical_radio .frm_primary_label {
        padding: 0px 0px 10px;
        font-weight: 700;
        font-family: "FK Grotesk 700";
        margin: 20px 0px 24px;
        border-bottom-width: medium;
        border-bottom-style: none;
        border-bottom-color: currentcolor;
        font-size: 16px;
    }

    :where(.form-theme-contact) .vertical_radio .frm_checkbox label {
        font-size: 16px;
    }

    :where(.form-theme-contact) .vertical_radio .frm_opt_container {
        display: flex;
        flex-direction: column;
        gap: 18px;
        padding-bottom: 24px;
        border-bottom: 1px solid var(--color-ink);
    }

    :where(.form-theme-contact) .with_frm_style .frm_checkbox label:has(input[type="checkbox"]) input[type="checkbox"],
    :where(.form-theme-contact) .with_frm_style .frm_checkbox label:has(input[type="checkbox"]:checked) input[type="checkbox"]:focus {
        width: 30px;
        height: 30px;
    }

    :where(.form-theme-contact-api,
    .form-theme-contact) span.select2-selection.select2-selection--single {
        padding: 0px 0px 10px;
    }

    :where(.form-theme) .select2-container .select2-selection--single .select2-selection__rendered {
        font-weight: 700;
        font-family: "FK Grotesk 700";
        font-size: 16px;
    }

    :where(.form-theme-dark,
    .form-theme-light) .select2-container--default .select2-selection--single .select2-selection__arrow {
        background-repeat: no-repeat;
        background-position: center center;
        width: 16px;
        height: 16px;
        right: 10px;
    }

    :where(.form-theme-contact-api,
    .form-theme-contact) .select2-container--default .select2-selection--single .select2-selection__arrow {
        background-repeat: no-repeat;
        background-position: center center;
        width: 16px;
        height: 16px;
    }

    :where(.form-theme) span.select2-search.select2-search--dropdown {
        padding: 10px;
    }

    :where(.form-theme) span.select2-search.select2-search--dropdown::before {
        width: 16px;
        height: 16px;
        top: calc(50% - 8px);
        right: 20px;
    }

    :where(.form-theme) .select2-container--default .select2-search--dropdown .select2-search__field {
        height: 40px;
        font-family: "FK Grotesk 700";
        font-size: 16px;
    }

    .form-theme-contact-api .frm_style_formidable-style.with_frm_style .form-field {
        margin-bottom: 20px;
    }

    :where(.form-theme) .frm_form_field textarea,
    :where(.form-theme) .frm_form_field textarea::placeholder {
        font-family: "FK Grotesk 700";
        font-weight: 700;
        margin-bottom: 40px;
        font-size: 16px;
    }

    :where(.form-theme-dark,
    .form-theme-light) #form_newsurvey button.frm_button_submit.frm_final_submit {
        font-family: "FK Grotesk 700";
    }

    :is(#form_contact-us-new,
    #form_contact-us-new22) button.frm_button_submit.frm_final_submit {
        height: 44px;
        font-family: "FK Grotesk 700";
    }

    :where(.form-theme) .frm_fields_container:has(input[type="text"][aria-invalid="true"]) .frm_submit.frm_flex::before,
    :where(.form-theme) .frm_fields_container:has(input[type="url"][aria-invalid="true"]) .frm_submit.frm_flex::before,
    :where(.form-theme) .frm_fields_container:has(select#field_qs5ez[aria-invalid="true"]) .frm_submit.frm_flex::before,
    :where(.form-theme) .frm_fields_container:has(select#field_q64n6[aria-invalid="true"]) .frm_submit.frm_flex::before {
        font-size: 16px;
        white-space: pre;
    }

    :where(.form-theme-contact,
    .form-theme-dark,
    .form-theme-light) .frm_fields_container:has(input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex::before {
        width: 100%;
    }

    :where(.form-theme) .with_frm_style .vertical_radio .frm_checkbox {
        margin: 0px;
    }

    :where(.form-theme) .frm_fields_container:has(input[aria-invalid="true"]) .frm_submit.frm_flex,
    :where(.form-theme) .frm_fields_container:has(select[aria-invalid="true"]) .frm_submit.frm_flex {
        gap: 40px;
    }

    :where(.form-theme) .frm_style_formidable-style.with_frm_style form .frm_error::before {
        width: 15px;
        height: 15px;
    }

    :where(.form-theme) .frm_style_formidable-style.with_frm_style form .frm_error {
        gap: 4px;
        font-size: 14px;
        margin-bottom: 5px;
    }

    :where(.form-theme-dark,
    .form-theme-light) #form_newsurvey h2 {
        font-size: 8.4vw;
        margin-bottom: 24px;
    }

    :is(#survey-light,
    #survey-dark) .welcome-email {
        max-width: 100%;
        width: 100%;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_2 .frm_primary_label {
        margin-bottom: 24px;
        font-size: 5.6vw;
    }

    :is(#survey-light,
    #survey-dark) .frm_page_num_2 .frm_opt_container:has(.frm_checkbox) {
        padding: 0px;
        gap: 0px;
    }

    :is(#survey-light,
    #survey-dark) .frm_page_num_2 .frm_checkbox {
        padding: 13px 0px;
        border-bottom: 1px solid var(--color-slate);
    }

    :is(#survey-light,
    #survey-dark) .frm_forms.with_frm_style #form_newsurvey .frm_fields_container .frm_checkbox input[type="checkbox"]:not([disabled]) {
        width: 7vw;
        height: 7vw;
    }

    :is(#survey-light,
    #survey-dark) .frm_page_num_2 .frm_checkbox label {
        line-height: 30px;
        height: 30px;
        font-size: 4.2vw;
    }

    :is(#survey-light,
    #survey-dark) .frm_forms.with_frm_style #form_newsurvey .frm_fields_container .frm_checkbox input[type="checkbox"]:not([disabled]):checked {
        background: var(--color-ink);
        border: 1px solid var(--color-rust);
        width: 7vw;
        height: 7vw;
    }

    :where(.form-theme-dark,
    .form-theme-light) .frm_forms.with_frm_style .frm_checkbox input[type="checkbox"]::before {
        background-size: 4vw auto;
    }

    :where(.form-theme-dark,
    .form-theme-light) #frm_field_87_container .frm_checkbox {
        width: 100%;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey button.frm_prev_page {
        display: none;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 h3 {
        font-size: 5.6vw;
        padding-left: 10px;
        border-width: medium;
        border-style: none;
        border-color: currentcolor;
        border-image: none;
        margin-bottom: 40px;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 input {
        padding: 10px 0px 10px 10px;
        font-size: 3.7vw;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 input::placeholder {
        font-size: 3.7vw;
        padding: 0px;
    }

    :is(#survey-light,
    #survey-dark) .frm_page_num_3.frm_form_fields .frm_error {
        position: absolute;
        top: -15px;
        left: 10px;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 .frm_form_field {
        margin-bottom: 40px;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 #frm_field_95_container,
    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 #frm_field_96_container {
        margin: 0px 0px 40px;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 .frm_primary_label {
        position: absolute;
        top: -15px;
        opacity: 0;
        left: 10px;
        display: flex;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 #frm_field_89_container {
        margin-bottom: 0px;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 p,
    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 a {
        font-size: 14px;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 #frm_field_98_container {
        margin-bottom: 0px;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 #frm_field_96_container label {
        top: -20px;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 button.frm_prev_page {
        display: none;
    }

    :is(#survey-light,
    #survey-dark) #form_newsurvey .frm_page_num_3 button.frm_button_submit {
        margin: 0px auto;
        order: 2;
        width: 215px;
        height: 44px;
    }

    :is(#survey-light,
    #survey-dark) .frm_form_fields button.frm_button_submit {
        height: 44px;
    }

    :is(#survey-light,
    #survey-dark) form#form_newsurvey .frm_page_num_1 input[type="email"],
    :is(#survey-light,
    #survey-dark) form#form_newsurvey .frm_page_num_1 input[type="email"]::placeholder {
        font-size: 4.2vw;
        height: 41px;
    }

    :is(#survey-light,
    #survey-dark) .frm_page_num_1 .frm_submit.frm_flex {
        bottom: -20px;
    }

    :where(.form-theme-dark,
    .form-theme-light) .indiv-option {
        padding: 0px;
        border-width: medium;
        border-style: none;
        border-color: currentcolor;
        border-image: none;
        flex-direction: column;
        gap: 60px;
        align-items: center;
    }

    :where(.form-theme-dark,
    .form-theme-light) .indiv-option .left-part {
        width: 300px;
    }

    :where(.form-theme-dark,
    .form-theme-light) .indiv-option .right-part {
        width: 100%;
    }

    :where(.form-theme-dark,
    .form-theme-light) h3.indiv-title {
        font-size: 5.6vw;
        text-align: center;
        width: 70%;
        margin: 0px auto;
    }

    :where(.form-theme-dark,
    .form-theme-light) #form_newsurvey p.indiv-text {
        text-align: center;
        font-size: 3.7vw;
    }

    :where(.form-theme-dark,
    .form-theme-light) a.indiv-btn {
        margin: 0px auto;
        width: 245px;
        height: 44px;
        font-size: 4.2vw;
    }

    :is(#survey-light,
    #survey-dark) form#form_newsurvey .frm_page_num_1 input[type="email"]::placeholder {
        text-align: center;
    }

}

:where(.form-theme-contact-api) .frm_blank_field .frm_checkbox input {
    order: 0;
}

:where(.form-theme-contact-api) #frm_field_125_container,
:where(.form-theme-contact-api) #frm_field_126_container {
    padding-top: 27px;
}

:where(.form-theme-contact-api) #frm_field_125_container:has(.frm_error),
:where(.form-theme-contact-api) #frm_field_126_container:has(.frm_error) {
    padding-top: 0px;
}

@media screen and (max-width: 475px) {
    :where(.form-theme-contact-api) #frm_field_125_container,
    :where(.form-theme-contact-api) #frm_field_126_container {
        padding-top: 20px;
    }

    :where(.form-theme-contact-api) #frm_field_125_container:has(.frm_error),
    :where(.form-theme-contact-api) #frm_field_126_container:has(.frm_error) {
        padding-top: 0px;
    }

    :where(.form-theme-contact-api) .frm_fields_container:has(input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex::before {
        font-size: 16px;
        width: 100%;
        white-space: pre;
        content: "Please complete all fields.\a This helps us assist you better.";
    }

}

/* ---- Old home form headings (former "new home" snippet) ---- */

@media screen and (min-width:768px) {
    h3.frm_pos_top.frm_section_spacing {
        padding: 0px;
    }

}

/* ---- Article subscribe form (former Blog CSS snippet) ---- */

form#form_subscribe {
    border: none;
}

form#form_subscribe .frm_button_submit:hover {
    background: transparent;
}

.sub-email input {
    width: 320px;
    height: 55px;
    border-radius: 50px;
    padding: 20px;
    background-color: #F4F0E7;
    font-family: 'FK Grotesk 700';
    color: #111114;
    font-size: 18px;
}

.sub-email input[type="email"][aria-invalid="true"] {
    border: solid 3px #C7493A;
}

.sub-email input[type="email"]:focus {
    background: #fff;
}

.sub-email input::placeholder {
    opacity: 1;
    color: #111114;
    font-size:18px;
}

.subscribe-btn,
.sub-email,
.frm_style_formidable-style.with_frm_style .form-field {
    margin:0;
}

@media screen and (max-width:475px) {
    .sub-email input {
        width: 342px;
        height: 41px;
        font-size: 16px;
    }

}

/* ---- Download guide and footer form leftovers (former css fixes snippet) ---- */

.email-download .frm_error::before,
.frm_style_formidable-style.with_frm_style form .frm_error:before {
    background-image: url("../images/form-error.png");
}

/* ---- Download guide forms: focus and error states (live /roc-access/ page CSS: #form_download-guide2 and
   #form_download-guide22, live /roc-watch-schools/: #form_download-guide). The live rules are keyed to the form ids;
   the ids also outrank Formidable's own focus and error rules (blue border, white field, grey text). ---- */
.guide-form .email-download { position: relative; }

:is(#form_download-guide2, #form_download-guide22) .email-download input:focus {
    border-color: var(--color-ink);
    background: transparent;
    color: var(--color-ink);
}

#form_download-guide .email-download input:focus {
    border-color: var(--color-steel);
    background: var(--color-white);
    color: var(--color-ink);
}

:is(#form_download-guide2, #form_download-guide22) .email-download input[aria-invalid="true"] {
    border: 1px solid var(--color-rust);
    color: var(--color-rust);
}

#form_download-guide .email-download input[aria-invalid="true"] {
    border: 3px solid var(--color-rust);
    color: var(--color-rust);
}

/* The error sits above the field, in the gap under the form heading (36px, 32px on phones), so the row keeps its
   height. Every download form shows it the same way (live hides it on the second /roc-access/ form on desktop and
   puts it 55px up on phones inside that form's padding; Evan asked for one look, DIGITAL-300). */
:is(#form_download-guide2, #form_download-guide22, #form_download-guide) .email-download .frm_error {
    position: absolute;
    top: -28px;
    left: 0;
    height: 20px;
    margin: 0;
    gap: 5px;
}

@media (max-width: 767px) {
    :is(#form_download-guide2, #form_download-guide22, #form_download-guide) .email-download .frm_error { top: -26px; }
}

@media (max-width: 475px) {
    :is(#form_download-guide2, #form_download-guide22, #form_download-guide) .email-download .frm_error::before {
        width: 18px;
        height: 18px;
    }
}

@media (max-width: 980px) and (min-width:476px) {
    .footerform .frm_page_num_2 .frm_opt_container {
        flex-wrap: wrap;
        padding: 20px;
        border-top: solid 1px #ABB4BD;
    }

}

@media screen and (max-width:1025px) and (min-width:476px) {
    .footerform .frm_submit.frm_flex {
        width: 100%;
    }

}

@media screen and (max-width:475px) {
    .mob-hid {
        display:none;
    }

}


/* ---- Where a rule has to outrank another rule on the same element (the legacy cascade used the important flag) ---- */

:is(.subscribe form#form_subscribe):is(form#form_subscribe) {
    border: none;
}

:is(.subscribe form#form_subscribe button.frm_button_submit:hover):is(form#form_subscribe .frm_button_submit:hover) {
    background: transparent;
}

:is(.subscribe form#form_subscribe .sub-email input):is(.sub-email input) {
    background-color: #F4F0E7;
    border-radius: 50px;
    color: #111114;
    font-family: 'FK Grotesk 700';
    padding: 20px;
}

:is(.subscribe form#form_subscribe .sub-email input[aria-invalid="true"]):is(.sub-email input[type="email"][aria-invalid="true"]) {
    border: solid 3px #C7493A;
}

:is(.subscribe form#form_subscribe .sub-email input:focus):is(.sub-email input[type="email"]:focus) {
    background: #fff;
}

:is(.subscribe form#form_subscribe .sub-email input):is(.sub-email input)::placeholder {
    color: #111114;
    font-size:18px;
    opacity: 1;
}

:is(.subscribe form#form_subscribe .form-field, .subscribe form#form_subscribe .sub-email, .subscribe form#form_subscribe .subscribe-btn):is(.subscribe-btn, .sub-email, .frm_style_formidable-style.with_frm_style .form-field) {
    margin:0;
}

:is(.subscribe form#form_subscribe .frm_error):is(.email-download .frm_error, .frm_style_formidable-style.with_frm_style form .frm_error)::before {
    background-image: url("../images/form-error.png");
}

:is(#survey-dark .with_frm_style .frm_checkbox input[type="checkbox"]):is(.frm_forms.with_frm_style .frm_checkbox input[type="checkbox"])::before {
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='9' viewBox='0 0 12 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.6667 1.5L4.25001 7.91667L1.33334 5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 9px;
}

:is(.block-cta-form__form .with_frm_style .frm_checkbox input[type="checkbox"]):is(.frm_forms.with_frm_style .frm_checkbox input[type="checkbox"])::before {
    height: 100%;
    width: 100%;
}

:is(#survey-dark .frm_page_num_2 .frm_checkbox label):is(.footerform .frm_page_num_2 label:has(> input:checked)) {
    color: var(--color-cream);
}

:is(.select2-container--default .select2-selection--single .select2-selection__placeholder):is(:where(.form-theme-contact-api, .form-theme-contact, .form-theme-light) span.select2-selection__placeholder) {
    color: var(--color-ink);
}

:is(.select2-container--default .select2-selection--single .select2-selection__placeholder):is(:where(.form-theme-dark) span.select2-selection__placeholder) {
    color: var(--color-steel);
}

:is(.with_frm_style .frm_top_container .frm_primary_label, .with_frm_style .frm_hidden_container .frm_primary_label, .with_frm_style .frm_pos_top):is(:where(.form-theme) .form-field:has(input[aria-invalid="true"]) label, :where(.form-theme) .form-field:has(select[aria-invalid="true"]) label) {
    display: none;
}

:is(.frm_style_formidable-style.with_frm_style .frm_none_container .frm_primary_label, .frm_style_formidable-style.with_frm_style .frm_pos_none):is(:where(.form-theme) .form-field:has(input[aria-invalid="true"]) label, :where(.form-theme) .form-field:has(select[aria-invalid="true"]) label) {
    display: none;
}

:is(:where(.form-theme-dark, .form-theme-light) h3.indiv-title):is(:where(.form-theme-light) h3.indiv-title) {
    margin-bottom: 10px;
    margin-top: 0px;
}

:is(:where(.form-theme-dark, .form-theme-light) h3.indiv-title):is(:where(.form-theme-dark) h3.indiv-title) {
    margin-bottom: 10px;
    margin-top: 0px;
}

:is(.block-cta-form--rows-centered .block-cta-form__form#survey-dark .frm_form_fields .frm_fields_container, .block-cta-form--rows-centered .block-cta-form__form#survey-light .frm_form_fields .frm_fields_container):is(:where(.form-theme-light) .frm_page_num_2 .frm_fields_container) {
    align-items: flex-start;
}

:is(:where(.form-theme) .frm_form_fields .frm_section_heading, :where(.form-theme) .frm_form_fields .frm_fields_container):is(:where(.form-theme-light) .frm_page_num_2 .frm_fields_container) {
    flex-direction: column;
}

:is(.block-cta-form--rows-centered .block-cta-form__form#survey-dark .frm_form_fields .frm_fields_container, .block-cta-form--rows-centered .block-cta-form__form#survey-light .frm_form_fields .frm_fields_container):is(:where(.form-theme-light) .frm_page_num_3 .frm_fields_container) {
    align-items: flex-start;
}

:is(:where(.form-theme) .frm_form_fields .frm_section_heading, :where(.form-theme) .frm_form_fields .frm_fields_container):is(:where(.form-theme-light) .frm_page_num_3 .frm_fields_container) {
    flex-direction: column;
}

:is(.block-cta-form__form .frm_submit .frm_prev_page):is(.footerform .frm_prev_page)::before {
    display: block;
    height: 16px;
}

:is(:where(.form-theme) .frm_form_field:has(.has-value) label):is(:where(.form-theme-contact) .vertical_radio .frm_checkbox label) {
    font-family: "FK Grotesk 500";
    line-height: 127%;
}

:is(:where(.form-theme-contact, .form-theme-dark, .form-theme-light) .frm_form_field:has(.has-value) label):is(:where(.form-theme-contact) .vertical_radio .frm_checkbox label) {
    line-height: 127%;
}

:is(:is(#survey-light, #survey-dark) #form_newsurvey .frm_page_num_3 button.frm_prev_page):is(#survey-light #form_newsurvey button.frm_prev_page) {
    padding-left: 0px;
}

@media (max-width: 980px) and (min-width:476px) {
    :is(#survey-light .frm_page_num_2 .frm_opt_container:has(.frm_checkbox)):is(.footerform .frm_page_num_2 .frm_opt_container) {
        padding: 20px;
    }

    :is(#survey-dark .frm_page_num_2 .frm_opt_container:has(.frm_checkbox)):is(.footerform .frm_page_num_2 .frm_opt_container) {
        padding: 20px;
    }

}

@media (min-width: 476px) {
    :is(.subscribe form#form_subscribe .sub-email input):is(.sub-email input) {
        font-size: 18px;
        height: 55px;
        width: 320px;
    }

    :is(:where(.form-theme) .frm_form_field:has(.has-value) label):is(:where(.form-theme-contact) .vertical_radio .frm_checkbox label) {
        font-size: 22px;
    }

    :is(:where(.form-theme) .frm_style_formidable-style.with_frm_style .frm_blank_field label, :where(.form-theme) .frm_style_formidable-style.with_frm_style .frm_error):is(:where(.form-theme-contact) .vertical_radio .frm_checkbox label) {
        font-size: 22px;
    }

}

@media only screen and (max-width: 600px) {
    :is(:is(#survey-light, #survey-dark) .frm_page_num_1 .frm_submit.frm_flex):is(.frm_section_heading > .frm_form_field, .frm_fields_container > .frm_submit, .frm_grid_container > .frm_form_field, .frm_fields_container > .frm_form_field) {
        grid-column: 1 / span 12;
    }

}

@media screen and (max-width: 475px) {
    :is(#survey-dark #form_newsurvey .frm_page_num_3 input):is(:where(.form-theme-dark) form#form_newsurvey input[type="text"], :where(.form-theme-dark) form#form_newsurvey input[type="tel"], :where(.form-theme-dark) form#form_newsurvey input[type="email"], :where(.form-theme-dark) form#form_newsurvey select) {
        font-family: "FK Grotesk 700";
    }

    :is(#form_contact-us-new22 .frm_checkbox label):is(:where(.form-theme-contact-api) .frm_form_field:has(.has-value) label) {
        font-size: 13px;
        line-height: 16px;
    }

    :is(:where(.form-theme) .frm_style_formidable-style.with_frm_style .frm_blank_field label, :where(.form-theme) .frm_style_formidable-style.with_frm_style .frm_error):is(:where(.form-theme-contact) .vertical_radio .frm_checkbox label) {
        font-size: 16px;
    }

    :is(#survey-dark .with_frm_style .frm_checkbox input[type="checkbox"]):is(:where(.form-theme-dark, .form-theme-light) .frm_forms.with_frm_style .frm_checkbox input[type="checkbox"])::before {
        background-size: 4vw auto;
    }

}

@media screen and (max-width:1025px) and (min-width:476px) {
    :is(:is(#survey-light, #survey-dark) .frm_page_num_1 .frm_submit.frm_flex):is(.footerform .frm_submit.frm_flex) {
        width: 100%;
    }

    :is(#survey-light #form_newsurvey .frm_page_num_2 .frm_submit.frm_flex):is(.footerform .frm_submit.frm_flex) {
        width: 100%;
    }

    :is(.block-cta-form--dark .block-cta-form__form .frm_form_fields:not(.frm_page_num_1) .frm_submit.frm_flex):is(.footerform .frm_submit.frm_flex) {
        width: 100%;
    }

}

@media screen and (max-width:475px) {
    :is(.subscribe form#form_subscribe .sub-email input):is(.sub-email input) {
        font-size: 16px;
        height: 41px;
        width: 342px;
    }

}

@media screen and (min-width: 960px) {
    :is(.guide-form .with_frm_style .frm_submit .frm_button_submit):is(button.frm_button_submit) {
        height: 54px;
    }

    :is(.subscribe form#form_subscribe button.frm_button_submit):is(button.frm_button_submit) {
        height: 54px;
    }

}

@media screen and (min-width:768px) {
    :is(.with_frm_style .frm-show-form .frm_section_heading h3[class*="frm_pos_"]):is(h3.frm_pos_top.frm_section_spacing) {
        padding: 0px;
    }

}

/* ==== ZTC form (Formidable form 10, key contact-us-new2, /ztc/): the legacy ZTC page snippet 22430 ==== */
:where(.form-theme-ztc) .frm_forms.frm_style_formidable-style.with_frm_style {
    width: 100%;
    max-width: 100%;
}

:where(.form-theme-ztc) .frm_form_fields .frm_fields_container {
    grid-gap: 0 47px;
}

form#form_contact-us-new2 {
    padding: 0;
}

:where(.form-theme-ztc) .frm_style_formidable-style.with_frm_style .form-field {
    display: flex;
    flex-direction: column;
}

:where(.form-theme-ztc) #frm_field_104_container {
    margin-bottom: 90px;
}

form#form_contact-us-new2 input[type="text"],
form#form_contact-us-new2 input[type="url"],
form#form_contact-us-new2 input[type="email"],
form#form_contact-us-new2 textarea {
    background: transparent;
    border-width: 0 0 1px;
    border-style: solid;
    border-radius: 0;
    border-color: var(--color-ink);
    padding: 0 0 24px;
    font-family: "FK Grotesk 500";
    font-size: 28px;
    font-weight: 500;
    line-height: 100%;
    opacity: 1;
    color: var(--color-ink);
}

form#form_contact-us-new2 textarea {
    margin-bottom: 24px;
    line-height: 130%;
}

form#form_contact-us-new2 input[type="text"]::placeholder,
form#form_contact-us-new2 input[type="url"]::placeholder,
form#form_contact-us-new2 input[type="email"]::placeholder {
    color: var(--color-ink);
    font-family: "FK Grotesk 500";
    font-size: 28px;
    font-weight: 500;
    line-height: 118%;
    opacity: 1;
}

form#form_contact-us-new2 input[type="text"]:focus,
form#form_contact-us-new2 input[type="url"]:focus,
form#form_contact-us-new2 input[type="email"]:focus,
form#form_contact-us-new2 textarea:focus {
    box-shadow: none;
}

form#form_contact-us-new2 button.frm_button_submit.frm_final_submit {
    margin: 0 auto;
    align-items: center;
    background-color: var(--color-rust);
    border-style: none;
    border-radius: 100px;
    box-shadow: none;
    color: var(--color-cream);
    font-weight: 700;
    text-shadow: none;
    height: 56px;
    display: flex;
    justify-content: space-between;
    padding: 0 24px;
    gap: 16px;
    font-size: 18px;
}

form#form_contact-us-new2 button.frm_button_submit.frm_final_submit:hover {
    color: var(--color-cream);
    background-color: var(--color-ink);
}

form#form_contact-us-new2 .frm_button_submit::after {
    content: url("../images/forms/blackarrow.svg");
    width: 16px;
    height: 16px;
}

form#form_contact-us-new2 button.frm_button_submit:hover::after {
    content: url("../images/forms/red-arr.svg");
}

:where(.form-theme-ztc) .frm_style_formidable-style.with_frm_style form .frm_error::before {
    content: "";
    width: 18px;
    height: 18px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

:where(.form-theme-ztc) .frm_fields_container:has(input[type="text"][aria-invalid="true"]) .frm_submit.frm_flex::before {
    content: "Please complete all fields. \a This helps us assist you better.";
    font-size: 28px;
    line-height: 130%;
    color: var(--color-rust);
    font-weight: 500;
    font-family: "FK Grotesk 500";
    text-align: center;
}

:where(.form-theme-ztc) .frm_fields_container:has(input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex::before {
    content: "Hmm, that email doesn\2019t look right. \a Please check the format and try again.";
    font-size: 28px;
    line-height: 130%;
    color: var(--color-rust);
    font-weight: 500;
    font-family: "FK Grotesk 500";
    text-align: center;
    white-space: pre;
}

:where(.form-theme-ztc) .frm_fields_container:has(input[type="email"][aria-invalid="true"]):has(input[type="text"][aria-invalid="true"]) .frm_submit.frm_flex::before {
    content: "Please complete all fields. This helps us assist you better";
}

@media (max-width: 475px) {
    :where(.form-theme-ztc) .frm_form_fields .frm_fields_container {
        display: flex;
        flex-direction: column;
    }

    :where(.form-theme-ztc) #frm_field_104_container,
    :where(.form-theme-ztc) #frm_field_108_container {
        margin-bottom: 40px;
    }

    :where(.form-theme-ztc) .frm_form_field label {
        height: 20px;
    }

    :where(.form-theme-ztc) .frm_form_field:has(.has-value) label {
        font-size: 13px;
        line-height: 16px;
    }

    form#form_contact-us-new2 input[type="text"],
    form#form_contact-us-new2 input[type="url"],
    form#form_contact-us-new2 input[type="email"] {
        padding: 0 0 10px;
        font-family: "FK Grotesk 700";
        font-size: 16px;
        font-weight: 700;
    }

    form#form_contact-us-new2 input[type="text"]::placeholder,
    form#form_contact-us-new2 input[type="url"]::placeholder,
    form#form_contact-us-new2 input[type="email"]::placeholder {
        font-family: "FK Grotesk 700";
        font-size: 16px;
        font-weight: 700;
    }

    form#form_contact-us-new2 textarea {
        margin-bottom: 60px;
        font-family: "FK Grotesk 700";
        font-size: 16px;
        font-weight: 700;
    }

    form#form_contact-us-new2 textarea::placeholder {
        font-size: 16px;
    }

    form#form_contact-us-new2 button.frm_button_submit.frm_final_submit {
        height: 44px;
        font-family: "FK Grotesk 700";
    }

    :where(.form-theme-ztc) .frm_fields_container:has(input[type="text"][aria-invalid="true"]) .frm_submit.frm_flex::before,
    :where(.form-theme-ztc) .frm_fields_container:has(input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex::before {
        width: 100%;
        font-size: 16px;
        white-space: pre;
    }

    :where(.form-theme-ztc) .frm_fields_container:has(input[type="email"][aria-invalid="true"]):has(input[type="text"][aria-invalid="true"]) .frm_submit.frm_flex::before {
        content: "Please complete all fields. \a This helps us assist you better";
        word-wrap: break-word;
    }

    :where(.form-theme-ztc) .frm_style_formidable-style.with_frm_style form .frm_error::before {
        width: 15px;
        height: 15px;
    }
}

/* ==== Learn more survey (Formidable form 2, key formwithsteps; /commercial-security/, /fintech/, /ai/): the plugin "form" style that is off now ==== */
.block-learn-more-form .frm_forms {
    font-family: "Poppins", var(--font-fallback);
}

.block-learn-more-form form#form_formwithsteps {
    padding: 32px;
}

.block-learn-more-form .frm_form_fields .frm_fields_container,
.block-learn-more-form .frm_form_fields .frm_section_heading {
    gap: 0 2%;
}

#form-steps .frm_forms.with_frm_style .frm_radio label input[type="radio"] {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--color-white);
    font-family: var(--font-regular);
}

#form-steps .frm_forms.with_frm_style .frm_radio label input[type="radio"]:checked {
    border-color: #66afe9;
}

#form-steps .frm_forms.with_frm_style .frm_radio label input[type="radio"]:checked::before {
    border-radius: 50%;
}

#form-steps .frm_forms .frm_submit button.frm_button_submit:hover,
#form-steps .frm_forms .frm_submit button.frm_prev_page:hover {
    background-color: var(--color-black);
    color: var(--color-white);
}

#form-steps .frm_forms.with_frm_style h3 {
    font-weight: 700;
}

#form-steps .frm_forms .frm_submit button.frm_button_submit,
#form-steps .frm_forms .frm_submit button.frm_prev_page {
    border-color: var(--color-white);
    border-radius: 4px;
    color: var(--color-white);
    font-size: 15px;
}

#form-steps .frm_forms.with_frm_style input[type="text"],
#form-steps .frm_forms.with_frm_style input[type="email"],
#form-steps .frm_forms.with_frm_style input[type="tel"],
#form-steps .frm_forms.with_frm_style select {
    border-radius: 4px;
    color: #555;
    font-family: "Poppins", var(--font-fallback);
    font-size: 14px;
    line-height: 1.3;
}

#form-steps .grecaptcha-badge {
    visibility: hidden;
}

#form-steps iframe {
    max-width: 100%;
    border: 0;
}

@media (min-width: 981px) {
    .block-learn-more-form .frm_form_fields {
        margin-right: 55px;
        margin-left: 55px;
    }
}

/* ==== Learn more survey, outlined radio cards (live /face-recognition-sdk/ only): a stray page style of the live page turns the first
   step into a grey divider heading over outlined radios (hidden input, ring and dot drawn on the label). Option "Outlined radio cards". ==== */

#form-steps.block-learn-more-form--outline-radios .vertical_radio .frm_primary_label {
    margin-top: 28px;
    padding: 0 0 24px;
    border-bottom: 1px solid #abb4bd;
    font-family: "FK Grotesk 500", var(--font-fallback);
    font-weight: 500;
}

#form-steps.block-learn-more-form--outline-radios .frm_forms.with_frm_style .frm_radio label input[type="radio"] {
    visibility: hidden;
    width: 20px;
    height: 20px;
    margin-right: 14px;
}

#form-steps.block-learn-more-form--outline-radios .frm_radio label:has(input[type="radio"])::before {
    content: "";
    display: flex;
    position: absolute;
    top: 4px;
    width: 17px;
    height: 17px;
    border: 1px solid #abb4bd;
    border-radius: 500px;
    background: transparent;
}

#form-steps.block-learn-more-form--outline-radios .frm_radio label:has(input[type="radio"]:checked)::after {
    content: "";
    display: flex;
    position: absolute;
    top: 8px;
    left: 4px;
    width: 9px;
    height: 9px;
    border: 1px solid #000;
    border-radius: 500px;
    background: #abb4bd;
}

#form-steps.block-learn-more-form--outline-radios .frm_radio label {
    color: #abb4bd;
}

@media (max-width: 475px) {
    #form-steps.block-learn-more-form--outline-radios .vertical_radio .frm_primary_label {
        margin-top: 20px;
        padding-bottom: 10px;
        font-size: 16px;
        font-weight: 700;
    }

    #form-steps.block-learn-more-form--outline-radios .frm_radio {
        margin-bottom: 0;
    }

    #form-steps.block-learn-more-form--outline-radios .frm_radio label {
        font-size: 16px;
    }

    #form-steps.block-learn-more-form--outline-radios .frm_forms.with_frm_style .frm_radio label input[type="radio"] {
        width: 10px;
        height: 10px;
        margin-right: 8px;
    }

    #form-steps.block-learn-more-form--outline-radios .frm_radio label:has(input[type="radio"])::before {
        top: 2px;
        width: 10px;
        height: 10px;
    }

    #form-steps.block-learn-more-form--outline-radios .frm_radio label:has(input[type="radio"]:checked)::after {
        top: 4.5px;
        left: 2.5px;
        width: 5px;
        height: 5px;
    }
}

/* ==== Demo request form (Formidable form 14, key contact-us-watch, live /roc-watch-book-a-demo/, demo-hero block): the
   former "Watch Landing" (23548) and "mobile Watch Landing" (23619) snippets. Cream card with cut bottom corners,
   underlined fields two per row, labels shown once a field has a value, outlined square checkboxes, rust pill button.
   Phones (767px and below) stack the fields and open the form collapsed to the email field (assets/js/demo-form.js). ==== */
.block-demo-hero__form .with_frm_style {
    --form-width: 100%;
    width: 100%;
}

.block-demo-hero__form .frm_forms.with_frm_style .frm-show-form {
    padding: 60px 60px 0;
    border: 0;
    background-color: var(--color-cream);
    color: var(--color-black);
    clip-path: polygon(0% 0%, 100% 0%, 100% 95%, 93% 100%, 6% 100%, 0% 95%);
}

.block-demo-hero__form .frm_forms.with_frm_style .frm_fields_container { gap: 0 47px; }

.block-demo-hero__form .frm_forms.with_frm_style .frm_form_field {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-bottom: 36px;
}

/* The heading field comes first (live order rule). */
.block-demo-hero__form .frm_forms.with_frm_style .frm_html_container { order: -1; }

.block-demo-hero__form .frm_forms.with_frm_style .frm_html_container h2 {
    padding-bottom: 10px;
    font-family: var(--font-bold);
    font-size: 38px;
    font-weight: 500;
    line-height: 130%;
    color: var(--color-ink);
}

.block-demo-hero__form .frm_forms.with_frm_style .frm_html_container p {
    font-family: var(--font-regular);
    font-size: 18px;
    font-weight: 400;
    color: var(--color-ink);
}

.block-demo-hero__form .frm_forms.with_frm_style .frm_form_field input:is([type="text"], [type="url"], [type="email"], [type="tel"]) {
    padding: 0 0 8px;
    border-width: 0 0 1px;
    border-radius: 0;
    border-color: var(--color-ink);
    background: transparent;
    box-shadow: none;
    font-family: var(--font-medium);
    font-size: 18px;
    font-weight: 500;
    line-height: 100%;
    color: var(--color-ink);
    opacity: 1;
}

.block-demo-hero__form .frm_forms.with_frm_style .form-field.frm_form_field input:is([type="text"], [type="url"], [type="email"], [type="tel"]):not([readonly]):focus {
    /* outranks the plugin focus rule: live keeps the ink line and no glow */
    border-color: var(--color-ink);
    background-color: transparent;
    box-shadow: none;
    color: var(--color-ink);
    outline: 0;
}

.block-demo-hero__form .frm_forms.with_frm_style .frm_form_field input::placeholder {
    font-family: var(--font-medium);
    font-size: 18px;
    font-weight: 500;
    line-height: 118%;
    color: var(--color-ink);
    opacity: 1;
}

/* Labels stay invisible until the field has a value, then fade in small above it. */
.block-demo-hero__form .frm_forms.with_frm_style .frm_form_field > label { opacity: 0; }

.block-demo-hero__form .frm_forms.with_frm_style .frm_form_field:has(.has-value) > label {
    font-family: var(--font-regular);
    font-size: 14px;
    line-height: 133%;
    opacity: 1;
    transition: all 1s ease;
}

.block-demo-hero__form .frm_forms.with_frm_style .frm_required { display: none; }

/* Country and Industry: the group name as an underlined row, then the outlined checkboxes. */
.block-demo-hero__form .frm_forms.with_frm_style .vertical_radio .frm_primary_label {
    order: 2;
    margin-bottom: 8px;
    padding: 0 0 8px;
    border-bottom: 1px solid var(--color-ink);
    font-family: var(--font-medium);
    font-size: 18px;
    font-weight: 500;
    line-height: 130%;
    color: var(--color-ink);
}

.block-demo-hero__form .frm_forms.with_frm_style .frm_opt_container {
    display: flex;
    flex-wrap: wrap;
    order: 3;
    gap: 24px;
    padding: 24px 0;
}

.block-demo-hero__form .frm_forms.with_frm_style .frm_opt_container .frm_checkbox {
    display: flex;
    min-width: 200px;
    margin: 0;
}

.block-demo-hero__form .frm_forms.with_frm_style .frm_checkbox label {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--font-medium);
    font-size: 18px;
    line-height: 112%;
    color: var(--color-slate);
    opacity: 1;
}

.block-demo-hero__form .frm_forms.with_frm_style .frm_checkbox label:has(input:checked) { color: var(--color-ink); }

.block-demo-hero__form .frm_forms.with_frm_style .frm_checkbox input[type="checkbox"] {
    width: 18px;
    min-width: 18px;
    height: 18px;
    margin: 0;
    font-family: var(--font-regular);
    border: 1px solid var(--color-slate);
    background: var(--color-cream);
}

.block-demo-hero__form .frm_forms.with_frm_style .frm_checkbox:hover input[type="checkbox"],
.block-demo-hero__form .frm_forms.with_frm_style .frm_checkbox input[type="checkbox"]:checked {
    border-color: var(--color-rust);
    background: var(--color-cream);
}

.block-demo-hero__form .frm_forms.with_frm_style .frm_checkbox input[type="checkbox"]::before {
    width: 100%;
    height: 100%;
    margin: 0;
    background: var(--color-cream) url("../images/forms/black-check.svg") center / 9px no-repeat;
}

/* Rust pill with the diamond arrow; ink on hover with the rust arrow. */
.block-demo-hero__form .frm_forms.with_frm_style .frm_submit {
    justify-content: center;
    text-align: center;
}

.block-demo-hero__form .frm_forms.with_frm_style button.frm_button_submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    height: 56px;
    margin: 10px auto 8px 0;
    padding: 0 24px;
    border: 0;
    border-radius: var(--radius-pill);
    background-color: var(--color-rust);
    box-shadow: none;
    font-size: 18px;
    font-weight: 700;
    color: var(--color-cream);
    text-shadow: none;
}

.block-demo-hero__form .frm_forms.with_frm_style button.frm_button_submit::after {
    content: url("../images/forms/blackarrow.svg");
    width: 16px;
    height: 16px;
}

.block-demo-hero__form .frm_forms.with_frm_style button.frm_button_submit:hover {
    background-color: var(--color-ink);
    color: var(--color-cream);
}

.block-demo-hero__form .frm_forms.with_frm_style button.frm_button_submit:hover::after { content: url("../images/forms/red-arr.svg"); }

/* Errors (the plugin's own check of an empty or invalid field): a small rust note with the error icon just above the
   field, and under the button "Please complete all fields. / This helps us assist you better." beside it (not on phones). */
.block-demo-hero__form .frm_forms.with_frm_style .frm_error {
    position: absolute;
    top: -15px;
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 3px;
    font-family: var(--font-regular);
    font-size: 9px;
    line-height: 133%;
    color: var(--color-rust);
}

.block-demo-hero__form .frm_forms.with_frm_style .frm_error::before {
    content: "";
    width: 10px;
    height: 10px;
    background: url("../images/form-error.png") center / contain no-repeat;
}

.block-demo-hero__form .frm_fields_container:has(input[aria-invalid="true"]) .frm_submit {
    flex-direction: row;
    gap: 28px;
}

.block-demo-hero__form .frm_fields_container:has(input[aria-invalid="true"]) .frm_submit::after {
    content: "Please complete all fields. \A This helps us assist you better.";
    width: 50%;
    font-family: var(--font-medium);
    font-size: 18px;
    font-weight: 500;
    line-height: 130%;
    white-space: pre;
    text-align: center;
    color: var(--color-rust);
}

/* Demo request form on phones (767px and below; 475px and below in the next block). */
@media (max-width: 767px) {
    .block-demo-hero__form .frm_forms.with_frm_style .frm-show-form { clip-path: none; }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_fields_container {
        display: flex;
        flex-direction: column;
    }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_html_container {
        margin-bottom: 44px;
        text-align: center;
    }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_html_container h2 {
        max-width: 340px;
        margin: 0 auto 12px;
        line-height: 115%;
    }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_html_container p {
        max-width: 340px;
        margin: 0 auto;
        line-height: 140%;
    }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_form_field:has(input:is([type="text"], [type="url"], [type="email"], [type="tel"])) { margin-bottom: 28px; }
    .block-demo-hero__form .frm_forms.with_frm_style .vertical_radio {
        margin: 10px 0 24px;
    }
    .block-demo-hero__form .frm_forms.with_frm_style .vertical_radio .frm_primary_label {
        order: 0;
        margin-bottom: 18px;
        border-bottom-color: var(--color-rule-grey);
        font-family: var(--font-bold);
        font-size: 16px;
        font-weight: 600;
    }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_opt_container {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: flex-start;
        gap: 14px;
        padding: 0;
    }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_opt_container .frm_checkbox { width: 100%; }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_checkbox label {
        gap: 12px;
        font-size: 15px;
        line-height: 1.4;
    }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_checkbox input[type="checkbox"] {
        flex: 0 0 20px;
        width: 20px;
    }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_form_field:has(.frm_submit) { margin-top: 30px; }
    .block-demo-hero__form .frm_forms.with_frm_style .form-field.frm_form_field input:is([type="text"], [type="url"], [type="email"], [type="tel"]):not([readonly]):focus { border-bottom-color: var(--color-rust); }
    .block-demo-hero__form .frm_fields_container:has(input[aria-invalid="true"]) .frm_submit::after { content: none; }

    /* Collapsed: the heading, the email field as a centred pill and the button. */
    .block-demo-hero__form.is-collapsed .frm_form_field:not(.frm_html_container, :has(input[type="email"]), :has(.frm_submit)) { display: none; }
    .block-demo-hero__form.is-collapsed .frm_forms.with_frm_style .frm_html_container { margin-bottom: 50px; }
    .block-demo-hero__form.is-collapsed .frm_forms.with_frm_style .frm_form_field:has(input[type="email"]) { margin-bottom: 30px; }
    .block-demo-hero__form.is-collapsed .frm_forms.with_frm_style .frm_form_field:has(.frm_submit) { margin-top: 0; }
    .block-demo-hero__form.is-collapsed .frm_forms.with_frm_style input[type="email"] {
        height: 56px;
        padding: 14px 24px;
        border: 1px solid var(--color-steel);
        border-radius: var(--radius-pill);
        font-weight: 600;
        text-align: center;
    }
    .block-demo-hero__form.is-collapsed .frm_forms.with_frm_style input[type="email"]::placeholder {
        font-size: 18px;
        font-weight: 600;
        text-align: center;
    }
}

/* Phones up to 475px: 60px / 20px / 40px around the fields, vw headings, bold 16px fields, centred button. */
@media (max-width: 475px) {
    .block-demo-hero__form .frm_forms.with_frm_style .frm-show-form { padding: 60px 20px 40px; }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_html_container h2 { font-size: 5.6vw; }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_html_container p { font-size: 4.2vw; }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_form_field input:is([type="text"], [type="url"], [type="email"], [type="tel"]),
    .block-demo-hero__form .frm_forms.with_frm_style .frm_form_field input::placeholder {
        padding-bottom: 10px;
        font-family: var(--font-bold);
        font-size: 16px;
        font-weight: 700;
    }
    .block-demo-hero__form.is-collapsed .frm_forms.with_frm_style input[type="email"] {
        padding: 14px 24px;
        font-weight: 700;
    }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_form_field:has(.frm_submit) {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_checkbox label {
        height: 20px;
        font-size: 13px;
        line-height: 16px;
    }
    .block-demo-hero__form .frm_forms.with_frm_style .frm_checkbox input[type="checkbox"] { height: 18px; }
    .block-demo-hero__form .frm_forms.with_frm_style button.frm_button_submit {
        min-height: 52px;
        height: auto;
        margin: 0 auto;
        font-family: var(--font-bold);
    }
}

/* ==== Contact forms after Evan's review (ROC-96, DIGITAL-295 and 296): /contact-us/ (form 8) and /contact-us-api/ (form 13) ==== */

/* A checked box: rust ("ochre") frame with the black check, its label in ink ("obsidian"); the old site did this, the ported
   rules painted the plugin's white check on the cream box (invisible) and kept the slate label. */
:is(#form_contact-us-new, #form_contact-us-new22) .frm_checkbox input[type="checkbox"]:checked {
    border-color: var(--color-rust);
    background-color: var(--color-cream);
}

:is(#form_contact-us-new, #form_contact-us-new22) .frm_checkbox input[type="checkbox"]:checked::before {
    background: url("../images/forms/black-check.svg") center / 9px auto no-repeat;
}

:is(#form_contact-us-new, #form_contact-us-new22) .frm_checkbox label:has(input[type="checkbox"]:checked) {
    color: var(--color-ink);
}

/* /contact-us/: room between a field's line and the small label of the next row (30px, 20px on phones). */
#form_contact-us-new .frm_fields_container {
    row-gap: 30px;
}

/* /contact-us-api/ and /contact-us/: any error (a field, the interest or the country boxes) puts one line over the button.
   The /contact-us/ form is named by its id so the line also wraps on phones (the shared phone rule keyed to its
   country and industry selects keeps the old two-line text on one line each). */
:where(.form-theme-contact-api) .frm_fields_container:has(.frm_blank_field, input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex,
#form_contact-us-new .frm_fields_container:has(.frm_blank_field, input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex {
    flex-direction: column;
    gap: 28px;
}

:where(.form-theme-contact-api) .frm_fields_container:has(.frm_blank_field, input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex::before,
#form_contact-us-new .frm_fields_container:has(.frm_blank_field, input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex::before {
    content: "Please review the errors above before continuing.";
    width: 100%;
    font-family: "FK Grotesk 500";
    font-size: 28px;
    font-weight: 500;
    line-height: 130%;
    white-space: normal;
    text-align: center;
    color: var(--color-rust);
}

@media (max-width: 475px) {
    #form_contact-us-new .frm_fields_container { row-gap: 20px; }

    :where(.form-theme-contact-api) .frm_fields_container:has(.frm_blank_field, input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex::before,
    #form_contact-us-new .frm_fields_container:has(.frm_blank_field, input[type="email"][aria-invalid="true"]) .frm_submit.frm_flex::before {
        font-size: 16px;
    }
}
