/* Hidden by default on civicrm sidebar blocks */
.page-civicrm .cam-content .cam-sidebar-civi-hidden-block {
  display: none;
}

/* ? */
.crm-container .six {
  width: 15em !important;
}

.crm-container select.crm-form-select {
  padding-right: 15px !important;
}

/* CiviCRM contribution pages */


/** Typography **/
.theme_am #crm-container.crm-public .crm-contribution-main-form-block strong,
#crm-container.crm-public .crm-contribution-main-form-block strong {
  font-size: 1rem;
  line-height: 1.5;
  font-family: var(--fontDisplay);
}

.theme_am #crm-container.crm-public .crm-contribution-main-form-block strong {
  font-family: var(--amFontHeading);
}

.crm-container .help p {
  font-size: 16px;
}

#crm-container.crm-public .price-set-row .crm-price-amount-label {
  font-family: var(--fontBody);
}

/** Theme colours **/
.theme_blue .crm-contribution-main-form-block .price-set-option-content.highlight {
  background: #B3D5F5;
}

.theme_judge .CRM_Contribute_Form_Contribution_Confirm .crm-submit-buttons button,
.theme_judge .CRM_Contribute_Form_Contribution_Main .crm-form-submit,
.theme_judge .CRM_Event_Form_Registration_Register .crm-form-submit,
.theme_judge .CRM_Event_Form_Registration_AdditionalParticipant .crm-form-submit,
.theme_judge .CRM_Event_Form_Registration_Confirm .crm-form-submit,
.theme_judge :is(.cam-dd-confirm-uk, .cam-dd-confirm-eu, .cam-dd-confirm-us, .cam-dd-confirm-other) a.button,
.theme_judge .crm-contribution-main-form-block .price-set-option-content.highlight {
  background: #ffc036;
  color: #000000;
}

.theme_judge .CRM_Contribute_Form_Contribution_Confirm .crm-submit-buttons button:hover,
.theme_judge .CRM_Contribute_Form_Contribution_Main .crm-form-submit:hover,
.theme_judge .CRM_Event_Form_Registration_Register .crm-form-submit:hover,
.theme_judge .CRM_Event_Form_Registration_AdditionalParticipant .crm-form-submit:hover,
.theme_judge .CRM_Event_Form_Registration_Confirm .crm-form-submit:hover,
.theme_judge :is(.cam-dd-confirm-uk, .cam-dd-confirm-eu, .cam-dd-confirm-us, .cam-dd-confirm-other) a.button:hover {
  background-color: #ffd36b;
}

.theme_judge .crm-contribution-main-form-block .price-set-option-content {
  background: #f4f4f4;
}

.theme_judge #crm-container.crm-public #priceset.price_set-section {
  background-color: #ebebeb;
}

.theme_yours .crm-container.crm-public .CRM_Contribute_Form_Contribution_Main .crm-form-submit,
.theme_yours .crm-container.crm-public .CRM_Contribute_Form_Contribution_Confirm .crm-form-submit,
.theme_yours .crm-container.crm-public .CRM_Event_Form_Registration_Register .crm-form-submit,
.theme_yours .crm-container.crm-public .CRM_Event_Form_Registration_AdditionalParticipant .crm-form-submit,
.theme_yours .crm-container.crm-public .CRM_Event_Form_Registration_Confirm .crm-form-submit,
.theme_yours .crm-container.crm-public :is(.cam-dd-confirm-uk, .cam-dd-confirm-eu, .cam-dd-confirm-us,
.theme_yours .crm-container.crm-public .cam-dd-confirm-other) a.button {
  background-color: var(--camBlue);
  color: var(--camDarkBlue);
}

.theme_yours .crm-container.crm-public .CRM_Contribute_Form_Contribution_Main .crm-form-submit:hover,
.theme_yours .crm-container.crm-public .CRM_Contribute_Form_Contribution_Confirm .crm-form-submit:hover,
.theme_yours .crm-container.crm-public .CRM_Event_Form_Registration_AdditionalParticipant .crm-form-submit:hover,
.theme_yours .crm-container.crm-public .CRM_Event_Form_Registration_Register .crm-form-submit:hover,
.theme_yours .crm-container.crm-public .CRM_Event_Form_Registration_Confirm .crm-form-submit:hover,
.theme_yours .crm-container.crm-public :is(.cam-dd-confirm-uk, .cam-dd-confirm-eu, .cam-dd-confirm-us:hover,
.theme_yours .crm-container.crm-public .cam-dd-confirm-other) a.button:hover {
 background-color: var(--camWarmBlue);
}

.theme_yours .CRM_Contribute_Form_Contribution_Main .crm-public-form-item img {
  max-width: 100%;
}

.theme_cambridge_in_america .crm-contribution-main-form-block .price-set-option-content.highlight {
  background: #106470;
}

/**
 * theme_cambridge_in_america
*/
:is(.theme_cambridge_in_america, .theme_am) #zone-user-wrapper,
.theme_cambridge_in_america #zone-postscript-wrapper {
  display: none;
}

#crm-container.crm-public .crm-contribution-main-form-block .price-set-row {
  border: 0;
  float: left;
  padding: 10px;
}

.theme_cambridge_in_america .crm-contribution-main-form-block .price-set-option-content.highlight label,
.theme_cambridge_in_america .crm-contribution-main-form-block .price-set-option-content.highlight .crm-price-amount-amount {
  color: #fff !important;
}

#crm-container.crm-public fieldset.crm-profile {
  clear: both;
}

/* Fix CiviCRM select2 dropdown */
.select2-drop-active {
  z-index: 999999;
}

/* Fixes for popup notifications */

.cam-content #crm-notification-container * {
  font-size: 12px;
}

.cam-content #crm-notification-container table {
  background: transparent;
  margin: 10px 0;
  width: auto;
}

.cam-content #crm-notification-container ul {
  list-style-position: outside;
  margin-left: 10px
}

/* Form overrides */
#priceset .crm-section {
  padding: 3px 0 5px 0;
}

/* Hack to remove priceset on specific booking forms - hide total fees for free events */
.crm-event-id-10502 #pricesetTotal {
  display: none !important;
}

#crm-container.crm-public #pricelabel {
  margin-right: 1rem
}

/* Form errors */
.crm-container.crm-public form[class^='CRM_'] input.crm-form-text.error,
.crm-container.crm-public form[class^='CRM_'] input.crm-form-text.crm-inline-error {
  border-color: red;
  color: #8c2e0b;
  background: -moz-linear-gradient(top, rgba(255, 216, 216, 1) 0%, rgba(255, 255, 255, 0) 15%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 216, 216, 1)), color-stop(15%, rgba(255, 255, 255, 0))); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, rgba(255, 216, 216, 1) 0%, rgba(255, 255, 255, 0) 15%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, rgba(255, 216, 216, 1) 0%, rgba(255, 255, 255, 0) 15%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, rgba(255, 216, 216, 1) 0%, rgba(255, 255, 255, 0) 15%); /* IE10+ */
  background: linear-gradient(to bottom, rgba(255, 216, 216, 1) 0%, rgba(255, 255, 255, 0) 15%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd8d8', endColorstr='#00ffffff', GradientType=0); /* IE6-9 */
}

#crm-container.crm-public input[type="text"],
#crm-container.crm-public select,
#crm-container.crm-public .select2-container {
  float: left;
}

#crm-container.crm-public .select2-container {
  width: 100%;
}

.select2-drop.select2-display-none.crm-container.crm-public.select2-with-searchbox.select2-drop-active {
  max-width: 255px;
}

#crm-container.crm-public .is_recur-section select {
  float: none;
}

/* CiviCRM uses two different ways of displaying the error messages
   depending on whether it's JS or server-side validation. Fix this. */
.crm-container.crm-public form[class^='CRM_'] .content label.crm-inline-error,
.crm-container.crm-public form[class^='CRM_'] .content span.crm-error {
  display: block;
  float: left;
  clear: both;
  max-width: fit-content;
}

/* Gift Aid */
#gift-aid-toggle {
  display: none;
}

/* Hides labels for form elements that have checkboxes */
#editrow-custom_2632 > div.label > label,
#editrow-custom_2662 > div.label > label,
#editrow-custom_1212 > div.label > label,
#editrow-custom_732 > div.label > label,
#editrow-custom_742 > div.label > label {
  display: none;
}

#helprow-custom_732 .content p {
  margin-top: 0;
}

/* Input formatting */
#crm-container.crm-public .crm-section .form-radio {
  margin-right: 5px;
}

.crm-container.crm-public div.form-item {
  width: 100%;
}

#crm-container.crm-public label {
  cursor: pointer;
  font-size: large;
  font-family: var(--fontHeading);
}

:is(.theme_blue, .theme_judge, .theme_yours) #crm-container.crm-public label {
  font-size: 16px;
  font-family: var(--fontDisplay);
}

.theme_am #crm-container.crm-public label {
  font-family: var(--amFontHeading);
}

#crm-container.crm-public .price-set-row label {
  font-family: var(--fontBody);
  font-weight: 400;
  font-size: 16px;
}

.theme_am #crm-container.crm-public .price-set-row label {
  font-family: var(--amFontBody);
}

/* Longer email fields */
.crm-container.crm-public input[id^="email-"] {
  width: 20em;
}

/* Ensure form componants do not bleed on responsive formats */

/* Mobile / narrow adjustments */
.responsive-layout-mobile .crm-container .crm-section .label,
.responsive-layout-mobile .crm-container-snippet .crm-section .label,
.responsive-layout-narrow .crm-container .crm-section .label,
.responsive-layout-narrow .crm-container-snippet .crm-section .label {
  float: none;
  width: auto;
  text-align: left;
}

.responsive-layout-mobile .crm-container .crm-section .content,
.responsive-layout-mobile .crm-container-snippet .crm-section .content,
.responsive-layout-narrow .crm-container .crm-section .content,
.responsive-layout-narrow .crm-container-snippet .crm-section .content {
  margin-left: 0;
}

.responsive-layout-mobile .crm-container .messages {
  margin: 0;
}

.responsive-layout-mobile .crm-container.crm-public .crm-section p {
  margin: 20px 0;
}

.page-civicrm-contribute .region-content div.messages.help {
  margin: 1rem auto;
}

.responsive-layout-mobile .crm-container .messages.help {
  background: none;
  border: none;
  padding: 0;
}

.responsive-layout-mobile .crm-container .messages.help p {
  margin: 20px 0;
}

#crm-container.crm-public .crm-section .content.description,
#crm-container.crm-public .crm-section .content span.description {
  font-size: 14px;
  padding-top: 0;
  padding-bottom: 1px;
  display: block;
  clear: both;
}

.responsive-layout-mobile .crm-container.crm-public fieldset legend {
  padding-left: 0;
}

/* Narrow input fields */
.responsive-layout-narrow #crm-container input[type="text"],
.responsive-layout-narrow #crm-container select {
  max-width: 100%;
}

/* Some more uncategorised CSS */
.crm-container .help,
.crm-container #help {
  background: #f4f4f4;
  padding: 15px;
  border: 1px solid #ccc;
  border-bottom: 6px solid #ccc;
}

.cam-content .region-content .crm-container.crm-public a.button {
  color: #fff
}

.crm-container .help h2 {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.crm-container .help h2 a:hover {
  text-decoration: underline;
  color: #0074BD;
}

/* ================================================================ */
/* civicrm event layout */
/* ================================================================ */

.crm-public-footer {
  display: none
}

.crm-event-info-form-block {
  margin: 0 10px
}

#crm-container.crm-public tr {
  background: none !important;
  border-bottom: none !important
}

#crm-container.crm-public dataTables_wrapper tr {
  background: #efefef !important
}

/* crm-button_qf_Participant_2_next_skip */
#crm-container.crm-public span[class*="_next_skip"] {
  display: none !important
}

#crm-container.crm-public input[type="text"], #crm-container.crm-public select {
  padding: 2px 12px 2px 2px
}

#crm-container.crm-public .crm-profile p {
  max-width: 500px;
  margin: 0 auto 1rem;
}

.domain-my-darwin-cam-ac-uk #crm-container.crm-public .crm-profile p,
.domain-my-homerton-cam-ac-uk #crm-container.crm-public .crm-profile p {
  max-width: unset;
}

#crm-container.crm-public .crm-profile .messages p {
  margin-left: inherit;
  margin-right: inherit
}

#crm-container.crm-public input.crm-form-radio,
#crm-container.crm-public input.crm-form-checkbox {
  margin-right: 5px;
}

#crm-container.crm-public .event_thankyou_text-section {
  background-color: #d8e8cb;
  border: 1px solid #a9c452;
  color: #3E3E3E;
  font-size: 12px;
  margin: 0 0 8px !important;
  padding: 4px
}

#crm-container.crm-public .price-set-row {
  margin-bottom: 11px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px
}

#crm-container.crm-public .disabled_option,
#crm-container.crm-public .disabled_option .crm-price-amount-label,
#crm-container.crm-public .disabled_option .crm-price-amount-amount {
  color: #727272;
}

#crm-container.crm-public .payment_processor-section label:after {
  content: '.';
  font-size: 0;
  display: block;
  line-height: 0;
}

#crm-container.crm-public .payment_processor-section input:not(:first-child) {
  margin-left: -4px;
}

/**
 * Remove print icon from event registration / contribution pages because it's
 * naff. We place a custom button on the thank you pages of each, using a custom
 * template.
 */
.page-civicrm-event #printer-friendly,
.page-civicrm-contribute #printer-friendly {
  display: none;
}

/* Event registration thank-you pages */
.cam-content .region-content form.CRM_Event_Form_Registration_ThankYou {
  margin-top: 10px;
}

/* Hide new event button */
#newManageEvent {
  display: none;
}

/* JS only events */
.crm-event-id-752,
.crm-event-id-1212,
.crm-event-id-1382,
.crm-event-id-1912 {
  display: none;
}

/* What is this doing here?! */

body:not(.admin-menu) #priceset .crm-section.Registration_fee-section {
  display: none;
}

.crm-container.crm-public .select2-container .select2-choice {
  min-height: 26px;
  text-decoration: none;
}

/**
 * Library Friends
 * Hide the 'none' options on the price-set. This is because someone could be
 * choosing either a lifetime, or an annual subscription.
 */
.Annual_membership-row4, .Lifetime_membership-row5 {
  display: none;
}

.theme_yours.page-civicrm-contribute .view-contribution-page-related-content .views-row {
  padding-bottom: 0;
}

.theme_yours.page-civicrm-contribute .views-field-field-article-intro p {
  line-height: 1.7;
  margin: 0 20px 20px;
  font-family: var(--fontDisplay);
}

/* 1279-improve-entering-other-amount-input-on-giving-pages */
@media all and (max-width: 534px) {

  /* Price set section */
  #priceset.price_set-section {
    padding: 2rem !important;
    min-width: 230px;
  }

  #crm-container.crm-public .price-set-row {
    padding-left: 0;
  }

  /* Inputs */
  #crm-container.crm-public input[type="text"],
  #crm-container.crm-public textarea,
  #crm-container.crm-public .six .crm-form-text {
    width: 100% !important;
    max-width: none;
  }

  #crm-container.crm-public input[id^="price_"] {
    width: 190px;
  }

  #crm-container.crm-public input[type="checkbox"] {
    width: 1.15em;
  }

  #crm-container.crm-public select:not(#additional_participants),
  #crm-container.crm-public .select2-container:not(#s2id_frequency_unit) .select2-choice {
    /*width: 100%;*/
  }

  .Other_amount_please_enter_in_wh-content {
    margin-left: 35px !important;
    margin-top: 35px;
  }

  .cam-dd-confirm-uk a.button,
  .cam-dd-confirm-eu a.button,
  .cam-dd-confirm-us a.button,
  .cam-dd-confirm-other a.button {
    margin-left: 0 !important;
  }

  /* Sections/Layout */
  #crm-container.crm-public .I_want_to_make_a_donation_of_-section .content,
  #crm-container.crm-public .cam-gift-location .content {
    display: grid;
  }

  #crm-container.crm-public .I_want_to_make_a_donation_of_-section .content {
    grid-template-columns: repeat(2, 120px);
    width: 250px;
  }

  #crm-container.crm-public .cam-gift-location .content {
    grid-template-columns: 1fr;
  }

  .price-set-option-content,
  .price-set-option-content.highlight {
    min-width: 75px;
  }

  .cam-gift-location .price-set-option-content,
  .cam-gift-location .price-set-option-content.highlight {
    min-width: 150px;
  }

  /* Help and description text */
  #crm-container.crm-public .crm-section.section-pricesetTotal {
    margin-left: 3px;
  }

  .price_set-section .Other_amount_please_enter_in_wh-section .label label {
    width: auto !important;
    justify-content: start !important;
  }

  .price_set-section .Other_amount_please_enter_in_wh-section .label label {
    display: none;
  }

  .crm-container.crm-public .cam-dd .crm-section .label {
    padding-left: 0;
  }

  #crm-container.crm-public .I_want_to_make_a_donation_of_-section .label {
    width: 150px;
  }

  .price_set-section .Other_amount_please_enter_in_wh-section .label label .currency-symbol {
    display: initial;
    position: relative;
    top: 38px;
    right: 105px;
  }

  .crm-container.crm-public .cam-dd .crm-section.cam-gift-location > .price-set-row {
    margin-left: -10px !important;
  }

  .crm-submit-buttons {
    width: 100% !important;
    flex-direction: column !important;
    gap: 1rem;
  }

  .crm-submit-buttons .crm-form-submit.crm-button {
    width: 100%;
    margin-top: 1rem !important;
  }

  .crm-event-additionalparticipant-form-block #priceset.price_set-section,
  .crm-event-register-form-block #priceset.price_set-section {
    margin: 1rem 0 !important;
  }

  .crm-public-form-item .crm-section.form-item .content {
    gap: 1.5rem !important;
  }

  .crm-container.crm-public form[class^='CRM_'] .content label.crm-inline-error,
  .crm-container.crm-public form[class^='CRM_'] .content span.crm-error {
    float: right;
  }
}

@media all and (min-width: 1220px) {
  .crm-container.crm-public .recaptcha-section {
    margin-left: 135px !important;
  }
}

@media all and (max-width: 979px) {
  .crm-container.crm-public .cam-dd .crm-section.cam-gift-location > .price-set-row {
    padding-left: 20px !important;
  }

  .crm-container.crm-public .recaptcha-section {
    margin-left: -20px;
  }

  .crm-event-additionalparticipant-form-block #priceset.price_set-section,
  .crm-event-register-form-block #priceset.price_set-section {
    width: 80% !important;
    margin: 1rem auto !important;
  }
}

@media all and (min-width: 980px) {
  .crm-container.crm-public .cam-dd .crm-section .label {
    text-align: left;
    padding-left: 20px;
  }

  .crm-container.crm-public .recaptcha-section {
    margin-left: 20px;
  }
}

/* Inputs */
.crm-public-form-item.additional_participants-section {
  display: flex;
  flex-direction: column;
  width: 500px;
  margin: 0 auto;
}

.crm-public-form-item.additional_participants-section .content {
  margin-left: 0;
  font-family: var(--fontBody);
}

.crm-public-form-item.additional_participants-section .content .description {
  margin-top: 1rem;
}

.crm-public-form-item.additional_participants-section .content select {
  width: 55px !important;
}

.crm-public-form-item.additional_participants-section .label {
  display: flex;
  width: 100%;
}

.crm-public-form-item.additional_participants-section .label label {
  font-family: var(--fontBody);
}

.crm-public-form-item.additional_participants-section .content .crm-form-select {
  background-image: url(../../../../themes/omega/omega/images/select-arrow.gif) !important;
  height: 35px !important;
  padding: 0 1.4rem 0 1rem !important;
  float: initial !important;
  background-color: transparent !important;
}

.crm-public-form-item.additional_participants-section .content .crm-form-select:active {
  background-image: url(../../../../themes/omega/omega/images/select-arrow.gif) !important;
}

.crm-public-form-item.additional_participants-section legend {
  font-family: var(--fontDisplay);
  font-weight: bold;
  font-size: large;
}

#crm-container.crm-public input[type="text"],
#crm-container.crm-public .crm-frozen-field,
#crm-container.crm-public .six .crm-form-text,
#crm-container.crm-public input[id^="price_"] {
  background-color: #ffffff;
}

#crm-container.crm-public input[type="text"],
#crm-container.crm-public select,
#crm-container.crm-public .crm-frozen-field,
#crm-container.crm-public .select2-choice,
#crm-container.crm-public textarea {
  box-shadow: none;
  border-radius: 3px;
  background-image: none;
  border: 1px solid #b9b9b9;
  border-bottom: 2px solid #b9b9b9;
  font-family: var(--fontBody);
  font-size: 16px;
}

#crm-container.crm-public .form-item label:not(.crm-inline-error),
#crm-container.crm-public .form-item label:not(.crm-inline-error) span {
  cursor: pointer;
  font-family: var(--fontDisplay);
  font-size: large;
  color: var(--black);
}

.cudar-form-label {
  font-family: var(--fontDisplay);
  font-size: large;
  color: var(--black);
}

.theme_alumni .cudar-form-label,
.theme_alumni #crm-container.crm-public .form-item label:not(.crm-inline-error),
.theme_alumni #crm-container.crm-public .form-item label:not(.crm-inline-error) span {
  font-family: var(--fontHeading);
}

.theme_am .cudar-form-label,
.theme_am #crm-container.crm-public .form-item label:not(.crm-inline-error),
.theme_am #crm-container.crm-public .form-item label:not(.crm-inline-error) span {
  font-family: var(--amFontHeading);
}

#crm-container.crm-public .crm-frozen-field {
  display: block;
  background-color: #F4F4F4 !important;
  color: #4F4F4F !important;
  border: 1px solid #ccc !important;
  padding: 0.6rem 1rem !important;
  font-family: var(--fontBody);
}

#crm-container.crm-public:has(.CRM_Contribute_Form_Contribution_ThankYou) .crm-frozen-field {
  max-width: 500px;
}

#crm-container.crm-public select,
#crm-container.crm-public .select2-choice {
  padding: 0.4rem 1.1rem;
}
#crm-container.crm-public .select2-container[title="Title"] .select2-choice {
  max-width: 255px;
}

#crm-container.crm-public div[class*="editrow_phone"] input[type="text"] {
  width: 240px;
}

#crm-container.crm-public .other_amount-section input[id^="price_"] {
  max-width: 250px;
  margin-bottom: 5px;
}

#crm-container.crm-public input[type="text"]:focus,
#crm-container.crm-public select:focus,
#crm-container.crm-public .select2-choice:focus,
#crm-container.crm-public input[type="text"]:active,
#crm-container.crm-public select:active,
#crm-container.crm-public .select2-choice:active,
#crm-container.crm-public textarea:focus {
  background-image: none;
}

.theme_yours #crm-container.crm-public :is(input[type="text"], select, .select2-choice, textarea):focus,
.theme_yours #crm-container.crm-public :is(input[type="text"], select, .select2-choice, textarea):active {
  border-bottom: 2px solid var(--camWarmBlue);
}

.theme_am #crm-container.crm-public :is(input[type="text"], select, .select2-choice, textarea):focus,
.theme_am #crm-container.crm-public :is(input[type="text"], select, .select2-choice, textarea):active {
  border-bottom: 2px solid var(--amBold);
}

.theme_judge #crm-container.crm-public input[type="text"]:focus,
.theme_judge #crm-container.crm-public select:focus,
.theme_judge #crm-container.crm-public .select2-choice:focus,
.theme_judge #crm-container.crm-public input[type="text"]:active,
.theme_judge #crm-container.crm-public select:active,
.theme_judge #crm-container.crm-public .select2-choice:active,
.theme_judge #crm-container.crm-public textarea:focus {
  background-color: #FFD36B;
}

.theme_alumni #crm-container.crm-public :is(input[type="text"], select):focus {
  border-bottom: 2px solid var(--camBlue);
}

#crm-container.crm-public input[type="text"],
#crm-container.crm-public .six .crm-form-text,
#crm-container.crm-public select {
  padding: 1.2rem 1rem;
  width: 100%;
  max-width: 500px;
}

#crm-container.crm-public .crm-section:has(.content > input[type='checkbox']) > .label {
  display: none;
}

#crm-container.crm-public .crm-section table td:has(input[type='checkbox']) {
  display: flex;
  justify-content: start;
  gap: 1rem;
}

#crm-container.crm-public .price-set-option-content .crm-price-amount-help-post-separator {
  display: none;
}

/* Custom checkbox */
#crm-container.crm-public input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.15em;
  min-width: 1.15em;
  height: 1.15em;
  border: 0.15em solid currentColor;
  border-radius: 0.15em;
  transform: translateY(-0.075em);
  display: grid;
  place-content: center;
}

#crm-container.crm-public input[type="checkbox"][disabled="disabled"] {
  background: #F4F4F4;
  border-color: #F4F4F4;
}

#crm-container.crm-public input[type="checkbox"]::before {
  content: '';
  width: 0.85em;
  height: 0.85em;
  transform: scale(0);
  transition: 90ms transform ease-in-out;
  background-color: #3E3E3E;
  transform-origin: bottom left;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

#crm-container.crm-public input[type="checkbox"]:checked::before {
  transform: scale(1);
}

#crm-container.crm-public .crm-section .content:has( > input[type='checkbox']) {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
  gap: 1rem;
  flex-wrap: wrap;
}

/* Would you like to hear more checkbox */
#crm-container.crm-public .editrow_custom_2662-section .content {
  flex-wrap: nowrap !important;
  justify-content: space-between;
}

#crm-container.crm-public .editrow_custom_2662-section .content label {
  margin: 0;
  width: 100%;
}

#crm-container.crm-public .crm-section .content:has(input[type='checkbox'], input[type='radio']) > label {
  font-size: 14px;
  font-weight: initial;
  font-family: var(--fontBody);
  display: initial;
}

/* Custom Radio (smaller for price-set options, on events) */
.page-civicrm-event.crm-section input[type='radio'] {
  margin-top: 0;
}

#crm-container.crm-public .crm-section input[type='radio'] {
  appearance: none;
  width: 1.2em;
  height: 1.2em;
  border: 1px solid currentColor;
  border-radius: 50%;
  background-color: #fff;
  display: grid;
  place-content: center;
}

#crm-container.crm-public .crm-section table.form-layout-compressed td {
  display: flex;
  align-items: center;
  gap: 0.2rem;
}

#crm-container.crm-public .crm-section input[type='radio']::before {
  content: "";
  width: 0.6em;
  height: 0.6em;
  border-radius: 50%;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em black;
}

#crm-container.crm-public .crm-section input[type='radio']:checked::before {
  transform: scale(1);
}

#crm-container.crm-public .crm-section input[type='radio'] > a.crm-hover-button:hover,
:is(.theme_alumni, .theme_judge, .theme_alumni) #crm-container.crm-public .crm-section input[type='radio'] > a.crm-hover-button:active {
  border: 1px solid #ffc4c4;
  background-image: none;
  background-color: #ffc4c4;
  color: var(--darkGrey);
}

:is(.CRM_Event_Form_Registration_AdditionalParticipant) .crm-section .content > input[type='radio'] > a.crm-hover-button {
  display: none;
}

#crm-container.crm-public .crm-section:has(input[data-crm-custom='Contribution_preferences:My_gift_is_in_memory_recognition_of']) {
  top: initial;
  left: initial;
}

.crm-container.crm-public .crm-section.form-item {
  display: flex;
  flex-direction: column;
  margin: auto;
  width: 100%;
}

.crm-section.form-item .label {
  float: initial !important;
  text-align: left !important;
  width: 100% !important;
  padding-top: 12px !important;
}

.crm-container.crm-public .cam-dd .crm-section .label {
  padding-left: 0;
  font-weight: 600;
}

.crm-container.crm-public .cam-dd .crm-section .content {
  padding-left: 10px;
}

#crm-container.crm-public .cam-gift-location .label {
  padding-top: 14px;
}

#crm-container.crm-public .I_want_to_make_a_donation_of_-section .label {
  margin-top: 10px;
}

.crm-container.crm-public .select2-container .select2-choice > .select2-chosen {
  font-size: 1em;
  color: black;
  font-weight: lighter;
  padding-top: 0.1rem;
  text-transform: capitalize;
}

.crm-container.crm-public .select2-container .select2-choice abbr {
  top: 12px;
}

.crm-public .select2-container .select2-choice .select2-arrow {
  border-radius: 0;
}

.crm-public .select2-container .select2-choice .select2-arrow b {
  top: 5px;
}

#crm-container.crm-public .price-set-row .highlight .crm-price-amount-label {
  font-weight: bold;
}

/* Sections / Layouts */
.crm-section.form-item {
  width: 100%;
  max-width: 500px;
  height: fit-content;
}

.crm-container.crm-public .crm-section .content:has(hr) {
  margin: 0;
}

.crm-section.form-item .content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.2rem;
  margin: 0;
  padding-top: 3px !important;
}

.crm-profile-id-1602 .crm-section.form-item .content {
  display: grid;
  row-gap: 1rem;
  align-items: center;
  grid-template-columns: 1fr 10fr 0;
  margin: 0.5rem 0;
}

/* Price set section */

#crm-container.crm-public #priceset.price_set-section {
  background-color: #f4f4f4;
  padding: 1.5rem 2.5rem 2.5rem;
  border-radius: 10px;
  margin-bottom: 2rem;
}

#priceset.price_set-section .content.description {
  margin-left: 0;
  font-size: inherit;
  padding: 0 2rem;
}

.crm-event-additionalparticipant-form-block #priceset.price_set-section,
.crm-event-register-form-block #priceset.price_set-section {
  width: 500px;
  margin: 1rem auto;
}

.crm-event-additionalparticipant-form-block #priceset.price_set-section .crm-section .label,
.crm-event-register-form-block #priceset.price_set-section .crm-section .label {
  float: none;
  text-align: left;
  display: block;
  width: auto;
  margin-bottom: 12px;
  font-family: var(--fontDisplay);
}

.crm-event-additionalparticipant-form-block #priceset.price_set-section .crm-section .label label,
.crm-event-register-form-block #priceset.price_set-section .crm-section .label label {
  font-family: var(--fontDisplay);
  font-size: large;
  font-weight: bold;
}

.crm-event-register-form-block #priceset.price_set-section .crm-section .content,
.crm-event-additionalparticipant-form-block #priceset.price_set-section .crm-section .content {
  margin-left: 0;
  min-width: fit-content;
}

input.crm-form-radio + label,
input.crm-form-checkbox + label {
  margin-left: 0;
}

.crm-event-additionalparticipant-form-block .crm-section.section-pricesetTotal,
.crm-event-register-form-block .crm-section.section-pricesetTotal {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.crm-event-additionalparticipant-form-block .crm-section.section-pricesetTotal .content.calc-value,
.crm-event-register-form-block .crm-section.section-pricesetTotal .content.calc-value {
  margin-left: 0;
}

.crm-event-additionalparticipant-form-block #priceset.price_set-section .price-set-option-content,
.crm-event-register-form-block #priceset.price_set-section .price-set-option-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.price_set-section .content.calc-value,
.price_set-section .Other_amount_please_enter_in_wh-section .currency-symbol {
  font-size: xx-large !important;
}

.price_set-section .Other_amount_please_enter_in_wh-section .label {
  display: flex;
  flex-direction: row-reverse;
  margin-bottom: 0.5rem;
  gap: 0.5rem;
  font-size: large !important;
  align-items: baseline;
}

.price_set-section .Other_amount_please_enter_in_wh-section .label {
  float: left !important;
  position: relative;
  bottom: 5px;
}

#crm-container.crm-public .price_set-section .crm-frozen-field {
  border: 0 !important;
  padding: 0 !important;
}

#crm-container .price_set-section .sold-out-option,
#crm-container .price_set-section .price-set-row span.sold-out-option .crm-price-amount-label,
#crm-container .price_set-section .price-set-row span.sold-out-option .crm-price-amount-amount {
  font: normal 14px/21px Verdana, Geneva, sans-serif !important;
  font-style: normal !important;
  font-weight: normal !important;
  color: #707070 !important;
}

.crm-contribution-main-form-block .price-set-option-content,
.crm-contribution-main-form-block .price-set-option-content.highlight {
  background: var(--lightGrey);
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 0.2rem;
  padding: 1rem;
}

.crm-section input[type='radio'] {
  border: 0.15em solid var(--darkGrey) !important;
}

.crm-contribution-main-form-block .price-set-option-content {
  background: var(--lightGrey);
}

.theme_yours .crm-contribution-main-form-block .price-set-option-content.highlight {
  background: var(--camWarmBlue);
}

#crm-container.crm-public .crm-contribution-main-form-block .price-set-row {
  border: 0;
  float: left;
}

/* Buttons */
.crm-container.crm-public .CRM_Contribute_Form_Contribution_Main .crm-form-submit,
.crm-container.crm-public .CRM_Contribute_Form_Contribution_Confirm .crm-form-submit,
.crm-container.crm-public .CRM_Event_Form_Registration_Register .crm-form-submit,
.crm-container.crm-public .CRM_Event_Form_Registration_Confirm .crm-form-submit,
.crm-container.crm-public .CRM_Event_Form_Registration_AdditionalParticipant .crm-form-submit,
.crm-container.crm-public :is(.cam-dd-confirm-uk, .cam-dd-confirm-eu, .cam-dd-confirm-us, .cam-dd-confirm-other) a span {
  font-size: 16px;
  font-weight: 600;
}

.crm-container.crm-public .CRM_Contribute_Form_Contribution_Main .crm-form-submit,
.crm-container.crm-public .CRM_Contribute_Form_Contribution_Confirm .crm-form-submit,
.crm-container.crm-public .CRM_Event_Form_Registration_Register .crm-form-submit,
.crm-container.crm-public .CRM_Event_Form_Registration_AdditionalParticipant .crm-form-submit,
.crm-container.crm-public .CRM_Event_Form_Registration_Confirm .crm-form-submit,
.crm-container.crm-public :is(.cam-dd-confirm-uk, .cam-dd-confirm-eu, .cam-dd-confirm-us, .cam-dd-confirm-other) a.button {
  padding: 1rem;
  background-color: #14509F;
  text-shadow: none;
  border: 0;
  border-radius: 10px;
  display: inline-block;
  font-weight: 500;
}

.CRM_Contribute_Form_Contribution_Main .crm-form-submit:hover,
.CRM_Contribute_Form_Contribution_Confirm .crm-form-submit:hover,
.CRM_Event_Form_Registration_Register .crm-form-submit:hover,
.CRM_Event_Form_Registration_AdditionalParticipant .crm-form-submit:hover,
.CRM_Event_Form_Registration_Confirm .crm-form-submit:hover,
:is(.cam-dd-confirm-uk, .cam-dd-confirm-eu, .cam-dd-confirm-us, .cam-dd-confirm-other) a.button:hover {
  background-color: #0072cf;
}

.button.cancel span {
  font-family: var(--fontBody);
  font-weight: bold;
  font-size: initial;
}

.button.cancel,
.crm-button-type-back,
button[class$="_next_skip"] {
  background-color: var(--darkGrey);
}

.button.cancel i {
  margin-right: 5px;
}

.CRM_Profile_Form_Edit .crm-submit-buttons {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  width: 500px;
  margin: auto;
  height: unset;
}

.CRM_Profile_Form_Edit .crm-submit-buttons .crm-form-submit,
.CRM_Profile_Form_Edit .crm-submit-buttons .button.cancel {
  margin: 0 !important;
  text-align: center;
}

.crm-form-submit:hover,
.crm-form-submit:hover,
:is(.cam-dd-confirm-uk, .cam-dd-confirm-eu, .cam-dd-confirm-us, .cam-dd-confirm-other) :is(a.button:hover, a.button:active),
.crm-form-submit:active {
  background-color: #0072cf;
}

.CRM_Contribute_Form_Contribution_Main .crm-submit-buttons {
  max-width: 850px;
  margin: 2% auto;
}

.CRM_Contribute_Form_Contribution_Main .crm-submit-buttons button {
  float: right;
  margin: unset;
}

.CRM_Event_Form_Registration_Register .crm-submit-buttons {
  display: flex;
  flex-direction: row-reverse;
  gap: 1rem;
  margin: 1rem auto !important;
  height: unset;
  width: 500px !important;
  max-width: 100%;
}

.CRM_Event_Form_Registration_AdditionalParticipant .crm-submit-buttons {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  margin: 1rem auto !important;
  height: unset;
  width: 500px !important;
  max-width: 100%;
  justify-content: space-between;
}

.CRM_Event_Form_Registration_Confirm .crm-submit-buttons {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 1rem;
  margin: 1rem auto !important;
  height: unset;
}

.CRM_Event_Form_Registration_AdditionalParticipant .crm-submit-buttons .crm-form-submit,
.CRM_Event_Form_Registration_Confirm .crm-submit-buttons .crm-form-submit {
  margin: 0 !important;
}

/* Help and description text */
.crm-public-form-item .crm-profile > p {
  margin-left: 150px;
}

.crm-container.crm-public fieldset {
  border: none;
  margin: auto;
  padding: 0;
  max-width: 500px;
  width: 100%;
}

.crm-container.crm-public .CRM_Event_Form_Registration_ThankYou fieldset,
.crm-container.crm-public .CRM_Event_Form_Registration_Confirm fieldset {
  max-width: unset;
  margin: 20px;
}

.crm-container.crm-public fieldset legend {
  display: none;
}

hr {
  border: 2px solid #CCC;
  margin: 2rem auto;
  border-radius: 30px;
  max-width: 500px;
}


.event_footer_text-section,
.contribution_thankyou_footer-section,
.donation-form-free-html {
  max-width: 500px;
  margin: auto;
}

.donation-form-free-html p,
.contribution_thankyou_footer-section p {
  margin-left: 10px;
  margin-right: 10px;
}

.CRM_Contribute_Form_Contribution_Confirm .crm-submit-buttons {
  display: flex;
  flex-direction: column-reverse !important;
  align-items: center;
  gap: 1rem;
  margin: 0 auto 2rem;
  height: unset;
}

.CRM_Contribute_Form_Contribution_Confirm .crm-submit-buttons button {
  width: 200px;
}

/* error labels */
.crm-inline-error.alert-danger,
.crm-error:not(.crm-error-label) {
  padding: 0.3rem 0.5rem;
  border: 2px solid;
  border-radius: 4px;
}

.CRM_Event_Form_Registration_AdditionalParticipant .node-warning-message {
  border-radius: 5px;
  border: 1px solid #000000;
  background-color: #fffb86;
  color: #000000;
  width: 60%;
  margin: 1rem auto;
}

:is(.theme_alumni) .crm-container.crm-public .status {
  margin: 0.5rem 0;
  padding: 0.5rem 1rem;
}

/* Helper classes */
.cudar-hidden {
  display: none !important;
}

.cudar-visible {
  display: flex !important;
  gap: 1rem;
}

.theme_am .crm-section.helprow-custom_1682-section.helprow-pre,
.theme_am .crm-section.editrow_custom_1682-section.form-item > .label {
  display: none;
}

.theme_am .stripe {
  padding-top: 1rem;
}

/* Narrow */
@media all and (min-width: 740px) and (min-device-width: 740px), (max-device-width: 800px) and (min-width: 740px) and (orientation: landscape) {
  .page-civicrm-contribute .region-content .crm-contribution-main-form-block .crm-section > p,
  .page-civicrm-contribute .region-content div.messages {
    margin: 0 0 20px;
  }

  .page-civicrm-contribute .crm-container.crm-public .cam-dd .crm-section .label {
    padding-left: 0;
  }

  :is(.page-civicrm-event, .page-civicrm-contribute) .crm-container.crm-public div.form-item {
    width: 500px;
    margin: auto;
  }

  .page-civicrm-contribute .cam-dd-confirm-uk a.button {
    margin-left: 0;
  }

  #crm-container.crm-public input[type="text"],
  #crm-container.crm-public textarea,
  #crm-container.crm-public .six .crm-form-text {
    margin-bottom: 1rem;
    font-size: larger !important;
  }

  #crm-container.crm-public fieldset textarea,
  #crm-container.crm-public fieldset input[type="text"] {
    max-width: 500px;
  }

  #crm-container.crm-public .crm-frozen-field {
    width: 460px !important;
    font-size: larger !important;
  }

  #crm-container.crm-public :is(.select2-container, .select2-results) {
    width: 455px !important;
  }

  #crm-container.crm-public .crm-form-select:not(#additional_participants),
  #crm-container.crm-public .select2-container:not(#s2id_frequency_unit) .select2-choice {
    width: 100%;
    max-width: 500px;
  }

  .crm-public-form-item.additional_participants-section .content select {
    width: 55px !important;
  }

  /* Help and description text */
  #crm-container.crm-public .crm-section.section-pricesetTotal {
    margin-left: 3px;
  }

  .price_set-section .Other_amount_please_enter_in_wh-section {
    display: flex;
    align-items: center;
  }

  .price_set-section .Other_amount_please_enter_in_wh-section .label {
    flex-direction: row;
    gap: 0;
    margin: 0;
  }

  .CRM_Contribute_Form_Contribution_Confirm .crm-submit-buttons {
    flex-direction: row-reverse !important;
    justify-content: space-between;
    align-items: center;
  }

  .price_set-section .Other_amount_please_enter_in_wh-section .label {
    position: unset;
    gap: 2rem;
    align-items: center;
  }

  /* Other amount input */
  .crm-section.Other_amount_please_enter_in_wh-section .Other_amount_please_enter_in_wh-content {
    margin-left: 1rem;
    padding: 0;
    width: 250px;
  }

  .crm-section.Other_amount_please_enter_in_wh-section .Other_amount_please_enter_in_wh-content > input[type="text"] {
    margin-bottom: 0!important;
    width: 300px !important;
  }

  .crm-container.crm-public .crm-section.section-pricesetTotal .content {
    margin-left: 0;
  }
}

/* Normal */
@media (min-width: 980px) and (min-device-width: 980px), (max-device-width: 1024px) and (min-width: 1024px) and (orientation: landscape) {
  #crm-container.crm-public .price_set-section .content.Other_amount_please_enter_in_wh-content {
      padding-top: 0;
    }

  #crm-container.crm-public .price_set-section .Other_amount_please_enter_in_wh-section .label {
    width: fit-content;
    gap: 1rem;
    margin-left: 3.5rem;
  }

  .price_set-section .Other_amount_please_enter_in_wh-section .label {
    font-size: 15px !important;
  }
}

/* Fixes for mosaico integration */

#bootstrap-theme .crm-mosaico-page button.crm-button {
  color: #ffffff !important;
}

#bootstrap-theme .crm-mosaico-page .select2-container {
  max-width: 100%;
}

#bootstrap-theme .crm-mosaico-page .crmMosaico-schedule-inner .form-group .radio {
  margin-right: 1rem;
}

#bootstrap-theme .crm-mosaico-page .btn-primary-outline {
  border-color: #51524d;
}

#bootstrap-theme .crm-mosaico-page .btn-primary-outline:hover,
#bootstrap-theme .crm-mosaico-page .btn-primary-outline:focus,
#bootstrap-theme .crm-mosaico-page .btn-primary-outline.focus {
  color: inherit;
  background: #ccc;
}

#bootstrap-theme .crm-mosaico-page .btn-danger-outline {
  border-color: #8c2e0b;
  color: #8c2e0b;
}

#bootstrap-theme .crm-mosaico-page .btn-danger-outline:hover,
#bootstrap-theme .crm-mosaico-page .btn-danger-outline:focus,
#bootstrap-theme .crm-mosaico-page .btn-danger-outline.focus {
  color: #8c2e0b;
  background: #ccc;
}
