body {
  background: #545555;
  padding-top: 35px
}

.row {
  max-width: 730px
}

.content {
  background: #fff;
  padding: 20px;
  margin-bottom: 35px
}

div.donation-form-container.responsive {
  padding: 0;
  background-color: transparent;
  border: none
}

div.responsive {
  color: #3c3c3c;
  -webkit-text-size-adjust: 100%;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 23px;
  width: auto
}

#level_standard_row .FormLabelText,
h2.section-header-container {
  text-transform: uppercase;
  color: #000;
  font-weight: 700;
  font-size: 20px;
  border: none;
  clear: both
}

.donation-level-input-container label {
  float: left !important
}

.content #ProcessForm .donation-level-input-container .donation-level-user-entered {
  float: right;
  margin-top: -13px !important;
  margin-left: 13px !important
}

.don-standard-levels {
  margin-top: 40px !important
}

fieldset {
  margin: 0;
  padding: 0;
  border: none
}

.honor-content {
  margin-top: 20px
}

.alerts {
  float: left;
  margin-top: 5px
}

.alerts p {
  margin: 0;
  font-size: 14px;
  line-height: 22px;
  color: #666
}

div.button-container {
  border-top: none;
  margin-top: 0;
  padding-top: 0
}

div.responsive button.step-button {
  max-width: none
}

#level_forever_row .aural-only,
#level_forever_row .field-required,
#payment_cc_container h3,
.field-required {
  display: none !important
}

div.form-row div.form-content {
  display: block !important;
  zoom: 1
}

div.responsive div.form-content {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-right: 0
}

.HelpLink {
  font-size: 12px;
}

label[for=billing_first_namename]:after,
label[for=billing_last_namename]:after,
label[for=billing_addr_street1name]:after,
label[for=billing_addr_cityname]:after,
label[for=billing_addr_state]:after,
label[for=billing_addr_zipname]:after,
label[for=donor_email_addressname]:after,
label[for=payment_typecc_numbername]:after,
label[for=payment_typecc_exp_date_MONTH]:after,
label[for=payment_typecc_cvvname]:after {
  content: " *";
  color: #cc0000;
}

#payment_typecc_cvvname {
  clear: both;
}

#billing_addr_street1_row input,
#billing_addr_street2_row input {
  width: 100%;
}

#ProcessForm #billing_first_name_row,
#ProcessForm #billing_last_name_row,
#ProcessForm #billing_addr_street1_row,
#ProcessForm #billing_addr_street2_row,
#ProcessForm .address .field.phone,
#ProcessForm .field.email,
#ProcessForm .field.payment-type,
#ProcessForm #payment_typecc_exp_date_MONTH,
#ProcessForm #payment_typecc_exp_date_YEAR,
#ProcessForm #billing_addr_city_row,
#ProcessForm #billing_addr_state_row,
#billing_addr_country_row,
#ProcessForm #billing_addr_zip_row,
#tribute_honoree_name_row,
#tribute_notify_recip_name_row,
#tribute_notify_recip_street1_row,
#tribute_notify_recip_street2_row,
#tribute_notify_recip_city_row,
#tribute_notify_recip_state_row,
#tribute_notify_recip_zip_row,
#tribute_notify_recip_country_row,
#donor_email_address_row,
.custom-field-container {
  width: 48%;
  margin-right: 2%;
  float: left;
}

.custom-field-container .form-input-label-block {
  display: block;
}

.donation-level-container-generic-repeat {
  margin-bottom: 16px;
}

.donation-level-container-generic-repeat,
#ProcessForm #billing_addr_zip_row,
#tribute_notify_recip_zip_row,
#donor_email_address_row {
  clear: both;
}

div.generic-repeat-label-checkbox-container {
  padding: 0 !important;
}

#joint_donor_title_row {
  visibility: hidden;
  height: 0;
  clear: both;
}

.donation-level-container label {
  float: right;
  line-height: 14px;
}

.donation-level-label-input-container {
  float: left;
  margin-right: 10px;
}

div.donation-level-container {
  border: none;
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  float: left;
  margin-right: 15px;
}

#payment_typecc_cvv_row label,
#payment_typecc_cvv_row .HelpLink {
  float: left;
}

#payment_typecc_cvv_row .HelpLink {
  margin-left: 10px;
}

#ProcessForm .donation-level-input-container .donation-level-user-entered {
  margin-top: 16px !important;
  max-width: 200px !important;
}

@-moz-document url-prefix() {
  #ProcessForm select {
    background-color: #ffffff !important;
    background-image: none !important;
  }
}

#ProcessForm button {
  background: #0143a3;
  float: none;
  margin: 0 auto;
  padding: 15px 10%;
}

#ProcessForm button:hover {
  background: #096569;
}

/* FORM ERRORS */
.donAPIFormErrorRow {
  float: right !important;
  clear: right !important;
  color: #d01616;
  font-weight: bold;
}

.donAPIFormErrorRow p {
  font-size: 13px;
  line-height: 20px;
  margin: 0;
}

div.responsive div.form-error {
  padding: 0px !important;
}

div.responsive div.form-error {
  border: none !important;
  background-color: transparent !important;
  padding: 0px !important;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  margin-top: 0px !important;
}

.form-row .ErrorMessage .field-error-text {
  margin-bottom: 0px !important;
  float: right;
  font-size: 15px !important;
  color: #cc0000 !important;
}

.form-row.form-error {
  height: 84px;
}

#ProcessForm .form-error input[type=text],
#ProcessForm .form-error input[type=currency],
#ProcessForm .form-error select {
  border: 1px solid #cc0000;
}

.large-12 .ErrorMessage.page-error {
  border: 1px solid #cc0000 !important;
  background-color: #cc0000 !important;
  padding: 5px !important;
  -moz-border-radius: 3px !important;
  -webkit-border-radius: 3px !important;
  border-radius: 3px !important;
  width: 100% !important;
  margin: 0px !important;
  margin-bottom: 20px !important;
}

.large-12 .ErrorMessage.page-error>span.field-error-text {
  border: none !important;
  color: #fff !important;
  padding: 0px !important;
  font-size: 12px !important;
  display: inline-block !important;
  zoom: 1 !important;
  width: auto !important;
  background-color: transparent !important;
  padding-left: 10px !important;
  font-family: 'Open Sans', sans-serif;
}

.large-12 .ErrorMessage.page-error>span.field-error-indicator {
  height: 38px !important;
  width: 38px !important;
  background: #fff url('https://secure3.convio.net/si/images/content/pagebuilder/error.png') no-repeat center center !important;
  -webkit-border-radius: 3px 0 0 3px;
  border-radius: 3px 0 0 3px;
  margin: -5px;
}

#ProcessForm input[type=checkbox]+label {
  background-image: url(https://secure3.convio.net/si/images/content/pagebuilder/checkbox.png);
}

#ProcessForm input[type=checkbox]:checked+label {
  background-image: url(https://secure3.convio.net/si/images/content/pagebuilder/checked.png);
}

#ProcessForm select {
  background-image: url(https://secure3.convio.net/si/images/content/pagebuilder/arrow-yellow.png);
}

@media (max-width: 710px) {
  .desktop-header {
    display: none;
  }

  .mobile-header {
    display: block !important;
  }
}

@media (max-width: 610px) {
  #ProcessForm input[type=checkbox]+label {
    padding-top: 1px !important;
  }
}

@media (max-width: 500px) {

  #ProcessForm #billing_first_name_row,
  #ProcessForm #billing_last_name_row,
  #ProcessForm #billing_addr_street1_row,
  #ProcessForm #billing_addr_street2_row,
  #ProcessForm #billing_addr_city_row,
  #ProcessForm #billing_addr_state_row,
  #ProcessForm #billing_addr_zip_row,
  #ProcessForm #donor_email_address_row,
  #ProcessForm #payment_typecc_number_row,
  #ProcessForm #payment_typecc_exp_date_MONTH,
  #ProcessForm #payment_typecc_exp_date_YEAR,
  #billing_addr_country_row {
    width: 100%;
    margin-right: 0px;
  }

  #payment_typecc_exp_date_MONTH,
  #payment_typecc_exp_date_YEAR,
  #billing_addr_state,
  #billing_addr_country {
    margin-bottom: 16px;
  }
}

@media (max-width:320px) {
  .content #ProcessForm .donation-level-input-container .donation-level-user-entered {
    margin-top: 0 !important;
    margin-left: 0 !important;
  }
}

/* CMK20190410: Add styles to apply to tribute-gift custom data elements.  */

/* Hide tribute fields by default. */
input[id^=nmai_tribute],
input[id^=nmai_notification],
select[id^=nmai_tribute],
select[id^=nmai_notification],
label[for^=nmai_tribute],
label[for^=nmai_notification] {
  display: none;
  visibility: hidden;
}

/* Show the tribute fields when class has been added to the body tag. */
.show-tribute-fields input[id^=nmai_tribute],
.show-tribute-fields input[id^=nmai_notification],
.show-tribute-fields select[id^=nmai_tribute],
.show-tribute-fields select[id^=nmai_notification],
.show-tribute-fields label[for^=nmai_tribute],
.show-tribute-fields label[for^=nmai_notification] {
  display: block;
  visibility: visible;
}

.custom-field-container.tribute-field-container {
  width: 100%;
}

@media screen and (min-width: 610px) {
  .custom-field-container.tribute-field-container {
    width: 48%;
    margin-right: 2%;
    float: left;
  } 
  
  /* Hack to get the tribute type dropdown to be full width. */
  .custom-field-container.tribute-field-container:first-of-type {
    width: 100%;
    margin-right: 0;
    float: none;
  }
}

/* Add asterisks to labels for the required tribute fields. */
label[for=nmai_tribute_type_dropdown]::after,
label[for=nmai_tribute_honoree_f_name_input]::after,
label[for=nmai_tribute_honoree_l_name_input]::after,
label[for=nmai_notification_first_name_input]::after,
label[for=nmai_notification_last_name_input]::after,
label[for=nmai_notification_street1_input]::after,
label[for=nmai_notification_city_input]::after,
label[for=nmai_notification_state_dropdown]::after,
label[for=nmai_notification_zip_input]::after,
label[for=nmai_notification_country_dropdown]::after {
  content: " *";
  color: #cc0000;
}

/* Remove some asterisks added in preceding rules. We don't want the asterisk appearing after the error messages. */
label.error::after {
  content: "";
}

#ProcessForm select, 
#ProcessForm input[type="text"],
#ProcessForm input[type="email"] {
  margin-bottom: 1rem;
}

#ProcessForm select.error, 
#ProcessForm input[type="text"].error,
#ProcessForm input[type="email"].error {
  margin-bottom: 0;
}

@media screen and (min-width: 610px) {
  /* Prevent the float fields from shifting when there are errors. */
  label[for=nmai_tribute_type_dropdown].error,
  label[for=nmai_tribute_honoree_f_name_input].error,
  label[for=nmai_tribute_honoree_l_name_input].error,
  label[for=nmai_notification_first_name_input].error,
  label[for=nmai_notification_last_name_input].error,
  label[for=nmai_notification_street1_input].error,
  label[for=nmai_notification_city_input].error,
  label[for=nmai_notification_state_dropdown].error,
  label[for=nmai_notification_zip_input].error,
  label[for=nmai_notification_country_dropdown].error {
    margin-bottom: -5px;
  }

  label[for=billing_first_namename].error,
  label[for=billing_last_namename].error,
  label[for=billing_addr_street1name].error,
  label[for=billing_addr_cityname].error,
  label[for=billing_addr_state].error,
  label[for=billing_addr_zipname].error {
    margin-bottom: -5px;
  }
}

/* Footer */
#footer-info {
  text-align: center;
}

#footer-info p {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 13px; 
  line-height: 48px; 
  color: #ffffff;
  margin-bottom: 0; 
}

.footer-logo {
  margin-bottom: 2rem;
}

#footer-info a {
  font-family: "Open Sans", Arial, sans-serif;
  color: #ffffff;
}

#footer-links {
  text-align: center;
}

#footer-links a {
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 13px; 
  line-height: 48px; 
  color: #ffffff;
}