/* Gravty Forms style modifications */
div.gform_wrapper *:not(span.gform-icon):not(span.gform-loader):not(input.button) {
  font-family: "Nunito", sans-serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  box-shadow: none !important;
  border-radius: 4px !important;
  border-width: 1px !important;
}

h2.gform_title,
p.gform_required_legend {
  display: none !important;
}

div.gform_wrapper div.gfield > .gform-field-label,
div.gform_wrapper fieldset.gfield > .gform-field-label {
  font-size: 24px !important;
  font-weight: 700 !important;
}

div.gform_fields {
  row-gap: 32px !important;
}

div.gfield_radio {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

input.gfield-choice-input {
  transform: scale(1.33) !important;
  margin-right: 4px !important;
}

div.gfield--type-captcha > label {
  display: none	!important;
}

div.gform_footer,
div.gform_footer * {
  margin: 0 !important;
  padding: 0 !important;
}

input.gform_button {
  font-size: 20px !important;
  border-radius: 4px !important;
  padding: 8px 16px !important;
  width: fit-content !important;
  font-weight: bold !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-decoration: none !important;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 250ms;
  color: white !important;
  background-color: var(--vha-blue) !important;
  border: 2px solid var(--vha-blue) !important;
  margin-right: 16px !important;
  cursor: pointer !important;
}

input.gform_button:hover {
  color: var(--vha-blue) !important;
  background-color: transparent !important;
}

div.gform_footer {
  margin-bottom: 32px !important;
}

div.gform_validation_errors {
  outline: none !important;
}

span.gfield_required {
  transform: translate(-1px, -1px) !important;
}

/* Registration form styles */
p#rcp_user_login_wrap,
p.rcp_error.username_empty,
p.rcp_error.username_unavailable,
fieldset.rcp_subscription_fieldset {
  display: none !important;
}

form[id^="rcp_"] fieldset {
  border: none !important;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 32px 0 16px;
}

form[id^="rcp_"] div.rcp_login_link {
  margin-bottom: 32px;
}

form[id^="rcp_"] h3::after {
  content: "";
  border-bottom: 4px solid var(--vha-blue);
  width: 100%;
  display: flex;
}

form[id^="rcp_"] p:has(> label) {
  display: flex;
  flex-direction: column;
}

form[id^="rcp_"] input {
  height: 36px;
  padding: 0 8px;
  display: flex;
  align-items: center;
}

form[id^="rcp_"] select {
  height: 40px;
  padding: 0 8px;
  display: flex;
  align-items: center;
  max-width: calc(100vw - 32px);
}

form[id^="rcp_"] p:has(> input[type="checkbox"]) {
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

form[id^="rcp_"] input[type="checkbox"] {
  scale: 150%;
  height: auto;
  margin-left: 4px;
}

form[id^="rcp_"] table.rcp_registration_total_details {
  margin: 16px 0;
}

form[id^="rcp_"] table.rcp_registration_total_details th {
  display: none !important;
}

form[id^="rcp_"] table.rcp_registration_total_details td:first-child {
  overflow: hidden;
  white-space: nowrap;
  float: left;
  width: 320px;
}

form[id^="rcp_"] table.rcp_registration_total_details td:first-child::after {
  content: " .......................................................";
}

form[id^="rcp_"] table.rcp_registration_total_details td:not(:first-child) {
  padding-left: 6px;
}

form[id^="rcp_"] div.rcp_gateway_stripe_fields {
  transform: translateY(-16px);
}

form[id^="rcp_"] label[for="rcp-card-element"] {
  display: none !important;
}

form[id^="rcp_"] div#rcp-card-name-wrap {
  display: flex;
}

form[id^="rcp_"] input#rcp-card-name {
  width: calc(100% - 20px) !important;
}

form[id^="rcp_"] div#rcp-card-element {
  height: 40px;
}

form[id^="rcp_"] div#rcp-card-element > div {
  transform: translateY(8px);
}

form[id^="rcp_"] input[type="submit"] {
  cursor: pointer;
  font-size: 20px;
  border-radius: 4px;
  padding: 8px 16px;
  width: fit-content;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none !important;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 250ms;
  color: white;
  background-color: var(--vha-maroon);
  border: 2px solid var(--vha-maroon);
}

form[id^="rcp_"] input[type="submit"]:hover {
  color: var(--vha-maroon);
  background-color: transparent;
}

form[id^="rcp_"] input[type="submit"]:disabled {
  color: var(--vha-dk-gray);
  background-color: var(--vha-lt-gray);
  border: 2px solid var(--vha-lt-gray);
}

form[id^="rcp_"] fieldset > p:has(.required) label::after {
  content: "*";
  color: red;
  display: inline-block;
  margin-left: 2px;
}

div.rcp_message.error:has(p.rcp_error) {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

div.rcp_message.error:has(p.rcp_error)::before {
  content: "Issues encountered:";
  font-weight: bold;
  color: red;
  display: block;
}

p.rcp_error {
  color: red;
  margin-left: 32px;
  position: relative;
}

p.rcp_error::before {
  content: "•";
  position: absolute;
  left: -16px;
}

form[id^="rcp_"] p#rcp_submit_wrap div.rcp_message.error:has(p.rcp_error) {
  margin-bottom: 24px;
}

form[id^="rcp_"] div#rcp-sandbox-gateway-test-cards {
  transform: translateY(16px);
  margin-top: 16px;
  color: green;
}

form[id^="rcp_"] div#rcp-sandbox-gateway-test-cards ul {
  gap: 0;
}

div.rcp-table-wrapper {
  max-width: 100%;
  overflow-x: auto;
}

div.rcp-table-wrapper button {
  cursor: pointer;
  font-size: 20px;
  border-radius: 4px;
  padding: 8px 16px;
  width: fit-content;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none !important;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 250ms;
  color: white;
  background-color: var(--vha-maroon);
  border: 2px solid var(--vha-maroon);
}

div.rcp-table-wrapper button:hover {
  color: var(--vha-maroon);
  background-color: transparent;
}

div.rcp-table-wrapper button:disabled {
  color: var(--vha-dk-gray);
  background-color: var(--vha-lt-gray);
  border: 2px solid var(--vha-lt-gray);
}

div.rcp-table-wrapper table {
  border-collapse: collapse;
  width: 100%;
  margin: 24px 0;
}

div.rcp-table-wrapper td,
div.rcp-table-wrapper th {
  border: 1px solid black;
  padding: 8px;
  text-align: center;
}

div.rcp-table-wrapper th {
  font-weight: bold;
}

div.rcp-table-wrapper button {
  width: 100%;
}

div.rcp-table-wrapper br {
  display: none;
}

div.rcp-table-wrapper a:has(> button) {
  text-decoration: none !important;
  display: block;
}

div.rcp-table-wrapper a:has(> button):not(:first-child) {
  margin-top: 8px;
}

form.rcp_form fieldset {
  margin: 16px 0;
}

form.rcp_form ul.rcp-gateway-saved-payment-methods {
  list-style: none;
  padding: 0;
  margin: 8px 0 16px;
  gap: 0;
}

form.rcp_form ul.rcp-gateway-saved-payment-methods label {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

form.rcp_form ul.rcp-gateway-saved-payment-methods label input {
  margin-right: 4px;
}

form.rcp_form ul.rcp-gateway-saved-payment-methods span {
  white-space: nowrap;
}

form.rcp_form div.rcp-gateway-new-card-fields {
  margin-top: 32px;
  margin-bottom: 24px;
}

form.rcp_form__register-single div.rcp-gateway-new-card-fields,
form.rcp_form__register-single ul.rcp-gateway-saved-payment-methods {
  margin-top: 32px;
}

p.rcp_success {
  color: green;
}

a.rcp_sub_details_change_membership {
  display: none !important;
}

form.rcp_form div.rcp_message.error:has(p.rcp_error) {
  margin-bottom: 24px;
}

@media screen and (max-width: 599px) {
  form[id^="rcp_"] table.rcp_registration_total_details tr {
    display: flex;
    flex-direction: column;
  }

  form[id^="rcp_"] table.rcp_registration_total_details td:first-child::after {
    content: ":";
  }

  form[id^="rcp_"] table.rcp_registration_total_details td:not(:first-child) {
    padding-left: 24px;
  }
}

form#rcp_login_form fieldset.rcp_login_data p:not(:last-child),
form#rcp_password_form fieldset.rcp_change_password_fieldset p:not(:last-child),
form#rcp_lostpassword_form fieldset.rcp_lostpassword_data p:not(:last-child) {
  transform: translateY(-24px);
}

div:has(> div.rcp_message.error):has(form#rcp_login_form) div.rcp_message.error {
  transform: translateY(-8px);
}

form#rcp_profile_editor_form fieldset {
  margin: 0 0 24px;
}

form#rcp_profile_editor_form input#rcp_email,
form#rcp_profile_editor_form p#rcp_profile_display_name_wrap {
  display: none !important;
}

div.vha-page-content-right input.vha-newsletter-email {
  height: 40px;
  padding: 0 12px;
  width: calc(100% - 32px);
}
