.elementor-228 .elementor-element.elementor-element-767a9b96{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-767a9b96:not(.elementor-motion-effects-element-type-background), .elementor-228 .elementor-element.elementor-element-767a9b96 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#A70C0C;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-228 .elementor-element.elementor-element-62538e6{text-align:center;}.elementor-228 .elementor-element.elementor-element-62538e6 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-228 .elementor-element.elementor-element-3985c3f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:10px;--margin-bottom:10px;--margin-left:10px;--margin-right:10px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}@media(max-width:767px){.elementor-228 .elementor-element.elementor-element-3985c3f{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-228 .elementor-element.elementor-element-3985c3f{--content-width:900px;}}/* Start custom CSS for formidable, class: .elementor-element-68ac424b *//* ==================================================
   DVG State Candidate Questionnaire
   Formidable Form ID: 8
   Full Updated CSS
================================================== */

/* Outer border wrapper */
#frm_form_8_container {
  border: 2px solid #061f3f !important;
  padding: 8px !important;
  background: #ffffff !important;
  max-width: 1020px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Inner form area */
#frm_form_8_container form {
  background: #061f3f !important;
  padding: 40px 42px !important;
  color: #ffffff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Remove fieldset/default borders */
#frm_form_8_container .frm_form_fields,
#frm_form_8_container fieldset {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Form title */
#frm_form_8_container .frm_form_title,
#frm_form_8_container h2,
#frm_form_8_container h3 {
  color: #ffffff !important;
  text-align: center !important;
  font-size: 30px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  margin: 0 0 28px !important;
  letter-spacing: -0.5px !important;
}

/* Grid container */
#frm_form_8_container .frm_fields_container {
  display: grid !important;
  grid-template-columns: repeat(12, 1fr) !important;
  column-gap: 20px !important;
  row-gap: 0 !important;
}

/* All fields full width by default */
#frm_form_8_container .frm_form_field {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 18px !important;
  color: #ffffff !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: both !important;
}

/* Labels */
#frm_form_8_container .frm_primary_label {
  color: #ffffff !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* Required text */
#frm_form_8_container .frm_required {
  color: #ff1d1d !important;
  font-size: 0 !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

/* Show (Required) only for actual required fields */
#frm_form_8_container .frm_required_field .frm_required::before {
  content: "(Required)" !important;
  font-size: 13px !important;
  color: #ff1d1d !important;
  font-style: italic !important;
  font-weight: 400 !important;
  margin-left: 4px !important;
}

/* Hide required text on non-required fields like Comments */
#frm_form_8_container .frm_form_field:not(.frm_required_field) .frm_required::before {
  content: "" !important;
  display: none !important;
}

/* Input fields */
#frm_form_8_container input[type="text"],
#frm_form_8_container input[type="email"],
#frm_form_8_container input[type="tel"],
#frm_form_8_container input[type="url"],
#frm_form_8_container input[type="number"],
#frm_form_8_container select {
  width: 100% !important;
  max-width: 100% !important;
  height: 35px !important;
  background: #ffffff !important;
  color: #000000 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 6px 10px !important;
  font-size: 15px !important;
  box-shadow: none !important;
  outline: none !important;
  box-sizing: border-box !important;
}

/* Placeholder */
#frm_form_8_container input::placeholder,
#frm_form_8_container textarea::placeholder {
  color: #999999 !important;
  opacity: 1 !important;
}

/* Textarea */
#frm_form_8_container textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 285px !important;
  background: #ffffff !important;
  color: #000000 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 10px !important;
  font-size: 15px !important;
  box-shadow: none !important;
  outline: none !important;
  resize: vertical !important;
  box-sizing: border-box !important;
  display: block !important;
  clear: both !important;
}

/* ==================================================
   First / Last Name Layout
================================================== */

/* First Name field */
#frm_form_8_container{
  grid-column: 1 / span 6 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  clear: none !important;
  margin: 0 0 18px 0 !important;
}

/* Last Name field */
#frm_form_8_container  {
  grid-column: 7 / span 6 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  clear: none !important;
  margin: 0 0 18px 0 !important;
}

/* First / Last inputs */
#frm_form_8_container #frm_field_163_container input[type="text"],
#frm_form_8_container #frm_field_164_container input[type="text"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  height: 35px !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* First / Last description */
#frm_form_8_container .frm_description {
  color: #ffffff !important;
  font-size: 15px !important;
  margin: 0 0 8px 0 !important;
  opacity: 1 !important;
}

/* Order: label, description, input */
#frm_form_8_container #frm_field_163_container .frm_primary_label,
#frm_form_8_container #frm_field_164_container .frm_primary_label {
  order: 1 !important;
}

#frm_form_8_container #frm_field_163_container .frm_description,
#frm_form_8_container #frm_field_164_container .frm_description {
  order: 2 !important;
}

#frm_form_8_container #frm_field_163_container input,
#frm_form_8_container #frm_field_164_container input {
  order: 3 !important;
}

/* Hide Last Name main label but keep alignment */
#frm_form_8_container #frm_field_164_container .frm_primary_label {
  visibility: hidden !important;
}

/* Email and all fields after name should start full row */
#frm_form_8_container #frm_field_165_container {
  grid-column: 1 / -1 !important;
  clear: both !important;
}

/* ==================================================
   Radio Buttons - Works With Simple Radio Format
================================================== */

/* Radio group horizontal */
#frm_form_8_container .frm_opt_container[role="radiogroup"] {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: 14px !important;
  margin-bottom: 22px !important;
  clear: both !important;
}

/* Each radio option */
#frm_form_8_container .frm_opt_container[role="radiogroup"] .frm_radio {
  display: inline-flex !important;
  width: auto !important;
  max-width: none !important;
  min-width: auto !important;
  float: none !important;
  clear: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide real radio circle */
#frm_form_8_container .frm_opt_container[role="radiogroup"] .frm_radio input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

/* Turn simple radio label into button */
#frm_form_8_container .frm_opt_container[role="radiogroup"] .frm_radio label {
  width: 120px !important;
  min-width: 120px !important;
  height: 44px !important;
  background: #b99100 !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  border: none !important;
  line-height: 1 !important;
  padding: 0 20px !important;
  margin: 0 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease-in-out !important;
}

/* Remove default radio spacing inside label */
#frm_form_8_container .frm_opt_container[role="radiogroup"] .frm_radio label input {
  margin: 0 !important;
}

/* Selected radio becomes red */
#frm_form_8_container .frm_opt_container[role="radiogroup"] .frm_radio label:has(input[type="radio"]:checked) {
  background: #c30707 !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,0.45) !important;
}

/* Hover */
#frm_form_8_container .frm_opt_container[role="radiogroup"] .frm_radio label:hover {
  filter: brightness(1.08) !important;
}

/* Support if Formidable button format exists later */
#frm_form_8_container .frm_display_format_buttons .frm_opt_container {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: 14px !important;
  margin-bottom: 22px !important;
}

#frm_form_8_container .frm_display_format_buttons .frm_radio {
  display: inline-flex !important;
  width: auto !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

#frm_form_8_container .frm_display_format_buttons .frm_radio input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

#frm_form_8_container .frm_display_format_buttons .frm_label_button_container {
  width: 120px !important;
  min-width: 120px !important;
  height: 44px !important;
  background: #b99100 !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  border: none !important;
  line-height: 1 !important;
  padding: 0 20px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

#frm_form_8_container .frm_display_format_buttons .frm_radio input[type="radio"]:checked + .frm_label_button_container {
  background: #c30707 !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,0.45) !important;
}

/* Wider special option buttons */
#frm_form_8_container #frm_field_198_container .frm_label_button_container,
#frm_form_8_container #frm_field_198_container .frm_radio label {
  width: auto !important;
  min-width: 160px !important;
}

/* ==================================================
   Checkbox Style - Keep Vertical
================================================== */

/* Checkbox fields should not become flex row */
#frm_form_8_container .frm_form_field:not(.frm_display_format_buttons) .frm_opt_container[role="group"] {
  display: block !important;
}

#frm_form_8_container .frm_checkbox {
  display: block !important;
  width: 100% !important;
  margin-bottom: 10px !important;
  float: none !important;
  clear: both !important;
}

#frm_form_8_container .frm_checkbox label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

#frm_form_8_container .frm_checkbox input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
}

/* ==================================================
   Submit Button
================================================== */

#frm_form_8_container .frm_submit button,
#frm_form_8_container button[type="submit"] {
  background: #c30707 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  height: 48px !important;
  min-width: 160px !important;
  padding: 0 30px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

#frm_form_8_container .frm_submit button:hover,
#frm_form_8_container button[type="submit"]:hover {
  background: #a90000 !important;
}

/* ==================================================
   Error / Success Messages
================================================== */

#frm_form_8_container .frm_error {
  color: #ff4d4d !important;
  font-size: 13px !important;
  margin-top: 5px !important;
}

#frm_form_8_container .frm_error_style {
  background: #ffffff !important;
  color: #c30707 !important;
  border: none !important;
  padding: 12px 15px !important;
  margin-bottom: 20px !important;
}

#frm_form_8_container .frm_message {
  background: #d7f5dd !important;
  color: #064d18 !important;
  border: none !important;
  padding: 12px 15px !important;
}

/* ==================================================
   Mobile Responsive
================================================== */

@media (max-width: 768px) {
  #frm_form_8_container {
    padding: 6px !important;
  }

  #frm_form_8_container form {
    padding: 28px 18px !important;
  }

  #frm_form_8_container .frm_fields_container {
    display: block !important;
  }

  #frm_form_8_container #frm_field_163_container,
  #frm_form_8_container #frm_field_164_container {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    margin-bottom: 18px !important;
    float: none !important;
    clear: both !important;
  }

  #frm_form_8_container #frm_field_164_container .frm_primary_label {
    display: none !important;
  }

  #frm_form_8_container .frm_opt_container[role="radiogroup"],
  #frm_form_8_container .frm_display_format_buttons .frm_opt_container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }

  #frm_form_8_container .frm_opt_container[role="radiogroup"] .frm_radio label,
  #frm_form_8_container .frm_display_format_buttons .frm_label_button_container {
    width: 110px !important;
    min-width: 110px !important;
    height: 42px !important;
    font-size: 13px !important;
  }

  #frm_form_8_container textarea {
    min-height: 220px !important;
  }
}

@media (max-width: 480px) {
  #frm_form_8_container .frm_opt_container[role="radiogroup"] .frm_radio label,
  #frm_form_8_container .frm_display_format_buttons .frm_label_button_container {
    width: 100px !important;
    min-width: 100px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
  }
}

.with_frm_style .frm_hidden_container .frm_primary_label, .with_frm_style .frm_pos_hidden, .frm_hidden_container .frm_primary_label {
    visibility: visible;
    white-space: nowrap;
}

#frm_form_8_container #frm_field_163_container .frm_primary_label, #frm_form_8_container #frm_field_164_container .frm_primary_label {
    order: 0 !important;
}
#frm_form_8_container #frm_field_164_container .frm_primary_label {
    visibility: visible !important;
}/* End custom CSS */