/* .user-register-form .js-form-item-relationship-tax-id {
  display: none;
} */
.field--name-field-cssa-verified,
.field--name-field-disability-verified,
.field--name-field-fass-verified,
#edit-field-cssa-verified-wrapper,
#edit-field-disability-verified-wrapper,
#edit-field-fass-verified-wrapper {
  display: none !important;
}

.faq-section a {
  left: 0;
  top: 50%;
  position: fixed;
  z-index: 999;
}

.page-item .page-link,
.page-item a {
  background: #B66CDD;
  color: #FFF !important;
  border-color: #B66CDD !important;
  font-weight: 700 !important;
}

.page-item.pager__item--previous a {
  display: block;
  content: '';
  width: 40px;
  height: 40px;
  background: url(../images/decro/page_next.svg) no-repeat center !important;
  text-indent: -9999px;
  border: unset;
  transform: rotate(180deg);
}

#RedemptionHistoryAccordion td a,
#RedemptionHistoryAccordion th a,
.js-form-item-field-read-consent-value a {
  color: var(--i2-theme-color-green);
  text-decoration: underline;
}

#RedemptionHistoryAccordion td a:hover,
#RedemptionHistoryAccordion th a:hover,
.js-form-item-field-read-consent-value a:hover {
  color: var(--i2-theme-color-light-green);
  text-decoration: underline;
}

#RedemptionHistoryAccordion .waitlist-cancel-link {
  display: block;
}

/* Prevent child account table from widening the whole page. */
.user-form-body #user-form,
.user-form-body #block-i2-theme-content {
  max-width: 100%;
  overflow-x: hidden;
}

#edit-child-account {
  max-width: 100%;
  overflow: hidden;
}

#edit-child-account .details-wrapper.card-body {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

#edit-child-account table {
  width: max-content;
  margin-bottom: 0;
}

#edit-child-account table .js-child-relationship-other {
  min-width: 7rem;
}

#edit-child-account table .js-child-relationship-select {
  min-width: 6rem;
}

.user-admin-child .user-form .field--name-field-birthday input[type="date"],
.user-admin-child .user-form .field--name-field-birthday .flatpickr-input {
  background-color: rgb(233, 236, 239);
  cursor: not-allowed;
  pointer-events: none;
}

.user-form .flatpickr-wrapper {
  width: 100%;
}

.user-form .flatpickr-input.form-control {
  width: 100%;
}

.user-admin-child .user-info .info-email {
  display: none !important;
}

.enrollment-blocker-popup p,
.child-cancel-parent-prompt p,
.child-enroll-parent-prompt p {
  font-size: 20px;
  color: #000;
  font-weight: 700;
}

.field--name-field-consent-pv-int-created,
.field--name-field-consent-pv-ext-created,
.register-button .js-waitlist-cancel-child {
  display: none !important;
}

#field-language-display {
  display: none;
}

.path-webform .webform-confirmation {
  max-width: 490px;
  margin: 0 auto 0;
  padding: 20px;
}

.path-webform .webform-confirmation .webform-confirmation__message {
  border-radius: 40px;
  border: 1px solid #EEE;
  background: #FFFFF9;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
  padding: 25px 20px;
  position: relative;
}

.path-webform .webform-confirmation .webform-confirmation__message p {
  margin-bottom: 0;
}

.path-webform .webform-confirmation .webform-confirmation__back {
  display: none;
}

.page-node-type-course .block-field-blocknodecoursefield-required-living-condition,
.page-node-type-course .field--name-field-required-living-conditions {
  display: none;
}

.required-living-condition-mismatch a {
  background-color: var(--i2-theme-color-green);
  color: #fff;
  padding: 10px 30px;
  border-radius: 100px;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  display: inline-block;
  border: none;
}

.required-living-condition-mismatch ul li {
  list-style: none;
  padding-left: 0;
  margin-bottom: 5px;
}

.required-living-condition-mismatch p strong {
  font-size: 20px;
}

.MyRedemptionHistory-section #collapse-1 a {
  background-color: var(--i2-theme-color-green);
  color: #fff;
  padding: 3px 10px;
  border-radius: 100px;
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  display: inline-block;
  border: none;
}

.MyRedemptionHistory-section #collapse-1 a:hover {
  background-color: var(--i2-theme-color-light-green);
  color: #fff;
}

.MyRedemptionHistory-section .accordion-body,
.MyRedemptionHistory-section .parent-pending-requests-block {
  overflow: auto;
}

/* Course History: temporarily hide Next Session column */
.MyRedemptionHistory-section #collapse-6 .accordion-body table thead th:nth-child(7),
.MyRedemptionHistory-section #collapse-6 .accordion-body table tbody td:nth-child(7) {
  display: none;
}

#edit-field-external-consent-wrapper,
.user-register-body .user-register-form #edit-field-registering-parent-wrapper {
  display: none !important;
}

.js-upload-fee-link {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.js-upload-fee-link img {
  width: 35px;
}

.internal-consent-register-notice>p {
  color: #000;
  font-weight: 700;
  font-size: 18px;
}

.user-register-form #consent-group,
.path-my-custom-user-register .user-register-form #consent-group,
.audience-id {
  display: none;
}

#consent-group>summary {
  font-weight: 900;
  font-size: 20px;
}

.internal-consent-register-notice a {
  color: var(--i2-theme-color-green);
}

/* partner dashboard */
table.partner-table {
  max-width: var(--i2-theme-container);
  margin: 250px auto;
  padding: 200px 20px 130px;
  border-radius: 10px 10px 0 0 !important;
  overflow: hidden;
  table-layout: fixed;
}

table.partner-table thead {
  background: var(--i2-theme-color-purple);
  color: #fff;
}

table.partner-table thead th {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #fff;
  padding: 15px;
  font-weight: bold;
  min-width: 120px;
  vertical-align: middle;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

table.partner-table tbody td {
  background-color: #fff;
  border-bottom: 1px solid var(--i2-theme-color-purple);
  box-shadow: none;
  padding: 15px;
  vertical-align: middle;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

table.partner-table tbody td a {
  background-color: var(--i2-theme-color-green) !important;
  color: #fff;
  font-size: 16px !important;
}

table.partner-table tbody td a:hover {
  background-color: var(--i2-theme-color-light-green) !important;
}

/* Child-consent overlay: keep enrollment modal visible but behind popup. */
#multiChildEnrollmentModal.enroll-modal--behind-consent .modal-dialog {
  pointer-events: none;
}

body.child-consent-overlay-open .modal-backdrop.show {
  z-index: 12000 !important;
}

body.child-consent-overlay-open #bepricelessModal {
  z-index: 12010 !important;
}

/* Child consent popup actions: match site common button colors. */
#bepricelessModal .internal-consent-register-notice .js-child-consent-cancel,
#bepricelessModal .internal-consent-register-notice .js-child-consent-save,
#bepricelessModal .internal-consent-register-notice .js-consent-save,
#bepricelessModal .internal-consent-register-notice .js-parent-self-consent-save {
  border-radius: 100px;
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  padding: 10px 30px;
  border: none;
}

#bepricelessModal .internal-consent-register-notice .js-child-consent-cancel {
  background: var(--i2-theme-color-purple);
}

#bepricelessModal .internal-consent-register-notice .js-child-consent-cancel:hover {
  background: var(--i2-theme-color-light-purple);
}

#bepricelessModal .internal-consent-register-notice .js-child-consent-save,
#bepricelessModal .internal-consent-register-notice .js-consent-save,
#bepricelessModal .internal-consent-register-notice .js-parent-self-consent-save {
  background: var(--i2-theme-color-green);
}

#bepricelessModal .internal-consent-register-notice .js-child-consent-save:hover,
#bepricelessModal .internal-consent-register-notice .js-consent-save:hover,
#bepricelessModal .internal-consent-register-notice .js-parent-self-consent-save:hover {
  background: var(--i2-theme-color-light-green);
}

/* Consent modal validation should render as inline form error, not global alert card. */
#bepricelessModal .internal-consent-register-notice .js-consent-sync-error {
  position: static;
  left: auto;
  top: auto;
  transform: none;
  width: 100%;
  min-height: 0;
  display: block;
  margin: 8px 0 14px;
  padding: 8px 12px;
  border: 1px solid #f1b0b7;
  border-radius: 8px;
  background: #f8d7da;
  box-shadow: none;
  color: #842029;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

#bepricelessModal .internal-consent-register-notice .js-consent-sync-error::before,
#bepricelessModal .internal-consent-register-notice .js-consent-sync-error::after {
  display: none;
  content: none;
}

#bepricelessModal .internal-consent-register-notice .js-parent-self-consent-error,
#bepricelessModal .internal-consent-register-notice .js-child-consent-error {
  position: static;
  left: auto;
  top: auto;
  transform: none;
  width: 100%;
  min-height: 0;
  display: block;
  margin: 8px 0 14px;
  padding: 8px 12px;
  border: 1px solid #f1b0b7;
  border-radius: 8px;
  background: #f8d7da;
  box-shadow: none;
  color: #842029;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

#bepricelessModal .internal-consent-register-notice .js-parent-self-consent-error.d-none,
#bepricelessModal .internal-consent-register-notice .js-child-consent-error.d-none {
  display: none;
}

#bepricelessModal .internal-consent-register-notice .consent-internal-required {
  outline: 2px solid #842029;
  outline-offset: 2px;
  border-radius: 8px;
  background: #fff5f5;
  padding: 8px;
}

.field--name-field-relationship-other {
  display: none;
}

.webform-scale-small input+label {
  line-height: 27px;
  width: 30px;
  height: 30px;
  font-size: 1rem;
}

.webform-scale-medium input+label {
  line-height: 32px;
}

.webform-scale-options input:checked+label {
  background: var(--i2-theme-color-green);
  border-color: var(--i2-theme-color-green);
  color: #FFF;
}

.path-sitemap #block-i2-theme-content {
  max-width: var(--i2-theme-container);
  margin: 0 auto;
  padding-top: 250px;
  padding-bottom: 130px;
}

.path-sitemap #block-i2-theme-content h2 {
  display: none;
}

.path-sitemap .sitemap-item>div>ul>li {
  margin-bottom: 20px;
  list-style: none;
  padding-left: 1rem;
  ;
}

.path-sitemap .sitemap-item>div>ul>li>ul {
  padding-left: 20px;
}

.path-sitemap .sitemap-item>div>ul>li>ul>li>ul>li {
  margin-left: 1rem;
}

tr[data-drupal-selector="edit-table-add-child"] a {
  min-width: 190px;
}

.language-switcher-language-url>ul>li.is-active,
.field--name-field-agree-children-s-seed-cour,
.field--name-field-agree-family-seed-workshop,
.field--name-field-agree-caregivers-courses,
.field--name-field-partner-ref {
  display: none !important;
}

h2.learning-journey-title {
  margin-top: 50px !important;
}

.page-node-type-course .field--name-field-course-code {
  font-size: var(--font-size-lg);
  color: var(--i2-theme-color-green);
  line-height: 1.375;
  text-align: center;
  font-weight: 900;
  margin-top: 40px;
}

.page-node-type-course .register-button .child-request-cancel {
  border-radius: 100px;
  color: #FFF;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  padding: 10px 30px;
  display: inline-block;
  border: none;
  background: var(--i2-theme-color-green);
}

.page-node-type-course .register-button .child-request-cancel:hover {
  background: var(--i2-theme-color-light-green);
}

.page-node-type-course .register-button {
  cursor: pointer;
  display: flex;
  justify-content: center;
  margin-top: 50px;
  margin-bottom: 100px;
  flex-wrap: wrap;
}

.page-node-type-course .register-button.register-button--message-only {
  cursor: default;
  flex-direction: column;
  align-items: center;
}

.page-node-type-course .register-button.register-button--enrolled-terminal {
  cursor: default;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

.page-node-type-course .register-button.register-button--enrolled-terminal .register-enrollment-feedback {
  flex: 0 1 auto;
  width: auto;
  max-width: none;
}

.page-node-type-course .register-button .register-enrollment-feedback {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: 32em;
}

.page-node-type-course .register-button .register-enrollment-message {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  color: var(--i2-theme-color-blue);
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  max-width: 32em;
  cursor: default;
}

.page-node-type-course .register-button .courser-register.is-feedback-hidden {
  display: none !important;
}

.page-node-type-course .register-button .courser-register.is-disabled {
  background: #b8b8b8 !important;
  border-color: #b8b8b8 !important;
  color: #ffffff !important;
  opacity: 0.85;
  cursor: not-allowed !important;
}

/******** Cancel Course *********/
#bepricelessModal .cancel-course-inline-error,
#myccWaitlistCancelModal .cancel-course-inline-error {
  position: static;
  left: auto;
  top: auto;
  transform: none;
  width: 100%;
  min-height: 0;
  display: block;
  margin: 0 0 14px;
  padding: 8px 12px;
  border: 1px solid #f1b0b7;
  border-radius: 8px;
  background: #f8d7da;
  box-shadow: none;
  color: #842029;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

#bepricelessModal .cancel-course-inline-error::before,
#bepricelessModal .cancel-course-inline-error::after,
#myccWaitlistCancelModal .cancel-course-inline-error::before,
#myccWaitlistCancelModal .cancel-course-inline-error::after {
  display: none;
  content: none;
}

.cancel-course-request-form button {
  border-radius: 100px;
  color: #FFF;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  padding: 10px 30px;
  display: inline-block;
  border: none;
}

.cancel-course-request-form .js-cancel-course-close {
  background: var(--i2-theme-color-purple);
}

.cancel-course-request-form .js-cancel-course-back-select {
  background: var(--i2-theme-color-purple);
}

.cancel-course-request-form .js-cancel-course-confirm {
  background: var(--i2-theme-color-green);
}

.cancel-course-request-form .js-cancel-course-save {
  background: var(--i2-theme-color-green);
}

.cancel-course-request-form .js-waitlist-cancel-dismiss {
  background: var(--i2-theme-color-purple);
}

.cancel-course-request-form .js-waitlist-cancel-submit {
  background: var(--i2-theme-color-green);
}

.cancel-course-request-form .js-cancel-course-confirm:disabled,
.cancel-course-request-form .js-cancel-course-save:disabled,
.cancel-course-request-form .js-waitlist-cancel-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  filter: grayscale(0.25);
}

.page-node-type-course .cancel-course-parent-flow button.btn {
  border-radius: 100px;
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  padding: 10px 30px;
  display: inline-block;
  border: none;
}

.page-node-type-course .cancel-course-parent-flow .js-cancel-course-dismiss {
  background: var(--i2-theme-color-purple);
}

.page-node-type-course .cancel-course-parent-flow .js-cancel-course-next {
  background: var(--i2-theme-color-green);
}

.page-node-type-course .cancel-course-parent-flow .js-cancel-course-next:disabled {
  opacity: 0.55;
}

.page-node-type-course .cancel-course-parent-flow .cancel-course-child-table-wrap {
  margin-bottom: 2rem;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
  overflow-x: auto;
  overflow-y: hidden;
}

.page-node-type-course .cancel-course-parent-flow .cancel-course-children-table {
  width: 100%;
  margin-bottom: 0;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
}

.page-node-type-course .cancel-course-parent-flow .cancel-course-children-table> :not(caption)>*>* {
  border: none;
  box-shadow: none;
}

.page-node-type-course .cancel-course-parent-flow .cancel-course-children-table thead th {
  background: var(--i2-theme-color-purple);
  color: #fff;
  font-weight: 700;
  text-align: left;
  padding: 12px 15px;
  vertical-align: middle;
}

.page-node-type-course .cancel-course-parent-flow .cancel-course-children-table tbody td {
  padding: 12px 15px;
  text-align: left;
  vertical-align: middle;
  color: #333;
  border: none;
  border-bottom: 1px solid #e0e0e0;
}

.page-node-type-course .cancel-course-parent-flow .cancel-course-children-table tbody tr {
  background: #fff;
}

.page-node-type-course .cancel-course-parent-flow .cancel-course-children-table tbody tr:nth-child(even) {
  background: #f8f2fb;
}

.page-node-type-course .register-button {
  gap: 12px;
}

.page-node-type-course .register-button .courser-register,
.page-node-type-course .register-button .cancel-course,
.page-node-type-course .register-button .js-waitlist-cancel-self,
.page-node-type-course .register-button .workshop-self-register {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.page-node-type-course .register-button .js-waitlist-cancel-self {
  background: var(--i2-theme-color-blue);
  border-radius: 100px;
  border: unset;
}

.page-node-type-course .register-button .js-waitlist-cancel-self:hover {
  background: var(--i2-theme-color-light-blue);
}

.page-node-type-course #bepricelessModal .modal-dialog {
  max-width: 800px;
  width: 100%;
  padding: 0 10px;
}

.page-node-type-course #myccWaitlistCancelModal .modal-dialog {
  max-width: 800px;
  width: 100%;
  padding: 0 10px;
}

.page-node-type-course #myccInfoSessionResultModal .modal-dialog {
  max-width: 800px;
  width: 100%;
  padding: 0 10px;
}

.child-cancel-parent-prompt .info-session-result-detail {
  font-size: 18px;
  color: #c0392b;
  font-weight: 700;
  margin-top: 12px;
  margin-bottom: 0;
}

/******** Classification Bar *********/
.classification-bar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}

.classification-bar .content ul li {
  position: fixed;
  color: #fff;
  font-size: 19px;
  font-weight: 900;
  text-align: center;
  display: block;
  padding: 2px 0px;
  width: 100%;
  z-index: 9999;
}

.user-admin-adult .classification-bar .content ul li:first-child {
  background-color: var(--i2-theme-color-purple);
}

.user-admin-child .classification-bar .content ul li:nth-child(2) {
  background-color: var(--i2-theme-color-blue);
}

.user-admin-child .field--name-field-registering-parent {
  display: none !important;
}

.user-admin-child.user-form-body .user-form #edit-field-contact-person-1-0-value,
.user-admin-child.user-form-body .user-form #edit-field-contact-phone-1-0-value,
.user-admin-child.user-form-body .user-form #edit-field-contact-email-1-0-value,
.user-admin-child.user-form-body .user-form #edit-field-contact-person-2-0-value,
.user-admin-child.user-form-body .user-form #edit-field-contact-phone-2-0-value,
.user-admin-child.user-form-body .user-form #edit-field-contact-email-2-0-value,
.user-admin-child.user-form-body .user-form #edit-field-residential-address-0-value {
  pointer-events: none;
  user-select: none;
  cursor: not-allowed;
  background-color: #e9ecef;
  color: #495057;
}

/******** Custom Partner *********/
.my-custom-partner-user-upload-form {
  max-width: var(--i2-theme-container);
  margin: 0 auto;
  padding: 200px 20px 130px;
}

.my-custom-partner-user-upload-form>p {
  margin-right: 20px;
  margin-bottom: 20px;
}

.my-custom-partner-user-upload-form>p,
.my-custom-partner-user-upload-form #edit-actions {
  display: inline-block;
}

.my-custom-partner-user-upload-form>p>a,
.my-custom-partner-user-upload-form #edit-actions input {
  text-decoration: underline;
  font-weight: bold;
  display: inline-block;
  border-radius: 0.25rem;
  margin-right: 0.375rem;
  transition: all 0.2s ease;
  border: none;
  background: #569A20;
  color: #fff;
  border: 2px solid #569A20;
  font-size: 18px;
  font-weight: 700;
  padding: 0.625rem 1.5rem;
  line-height: 35px;
}

.my-custom-partner-user-upload-form #edit-actions input {
  background: #2E80BE;
  border: 2px solid #2E80BE;
}

.my-custom-partner-user-upload-form>p>a:hover {
  background: #478218;
}

.my-custom-partner-user-upload-form #edit-actions input:hover {
  background: #256a9e;
}

.my-custom-partner-bulk-enroll-form {
  max-width: var(--i2-theme-container);
  margin: 0 auto;
  border-radius: 40px;
  border: 1px solid #EEE;
  background: #FFFFF9;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
  margin-top: 200px;
  padding: 50px 30px 40px 30px;
  margin-bottom: 50px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.partner-admin-banner {
  background-color: #FFF7D4;
  border-left: 4px solid #FFC107;
  border-radius: 0.375rem;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1.5rem;
  font-size: 20px;
  font-weight: 700;
  color: #333;
}

.my-custom-partner-bulk-enroll-form .partner-enroll-filters {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 50px;
}

.my-custom-partner-bulk-enroll-form .partner-enroll-filters>input {
  border: 1px solid #569A20;
  height: 54px;
  margin-top: 1em;
  margin-bottom: 1em;
  color: #FFF;
  background: #569A20;
  font-size: 18px;
  font-weight: 700;
  border-radius: 40px;
}

.my-custom-partner-bulk-enroll-form #edit-actions input {
  color: #FFF;
  background: #569A20;
  border: 1px solid #569A20;
}

.my-custom-partner-bulk-enroll-form .partner-enroll-filters>input:hover,
.my-custom-partner-bulk-enroll-form #edit-actions input:hover {
  background: #256a9e;
  color: #FFF;
  border: 1px solid #256a9e;
}

.my-custom-partner-bulk-enroll-form .partner-enroll-filters label {
  display: none;
}

.my-custom-partner-bulk-enroll-form .partner-enroll-filters>div {
  margin-right: 20px;
}

.my-custom-partner-bulk-enroll-form .partner-enroll-filters select {
  width: 284px;
  height: 54px;
  border-radius: 50px;
  border: 1px solid #569A20;
  background: #FFF;
  color: #569A20;
  font-size: 18px;
  font-weight: 700;
  background: url(../images/decro/arrow_down.svg) center no-repeat;
  background-size: 12px 6px;
  background-position-x: 95%;
  padding: 0 26px 0 20px;
  cursor: pointer;
}

.my-custom-partner-bulk-enroll-form .partner-enroll-filters .form-item-search input {
  max-width: 284px;
  height: 54px;
  border-radius: 50px;
  border: 1px solid #569A20;
  color: #569A20;
  background: #FFF;
  font-size: 18px;
  font-weight: 700;
  padding: 0 40px 0 20px;
  position: relative;
  background-size: 32px 32px;
  background-position-x: calc(100% - 4px);
}

.messages-section {
  position: fixed;
  z-index: 500;
  top: 0;
  left: 0;
  width: 100%;
}

.messages-section.messages-modal-active {
  min-height: 100vh;
}

.messages-section .messages-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
  cursor: pointer;
}

.messages-section.messages-modal-active .region-messages {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

/* Safety fallback: if no alerts exist, never keep a modal overlay active. */
.messages-section.messages-modal-active:not(:has(.region-messages .alert)) {
  min-height: 0 !important;
  pointer-events: none;
}

.messages-section:not(:has(.region-messages .alert)) .messages-modal-backdrop {
  display: none !important;
}

.block-views-blockblock-motto-block-1 .view-id-block_motto .field-content p {
  text-align: center;
}

.user-profile-section .user-profile-card .button-group>.button-qr {
  border: none;
  border-radius: 40px;
  color: #FFF;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  display: block;
  min-width: 148px;
  margin-right: 10px;
  padding: 9px 20px;
  background: var(--i2-theme-color-green);
}

.user-profile-section .user-profile-card .button-group>.button-qr:hover,
.user-profile-section .user-profile-card .button-group>.button-qr:focus {
  background: var(--i2-theme-color-light-green);
}

/* Child details QR: keep inline + modal QR visually aligned. */
body.page-node-393 .user-profile-section .user-profile-card .button-group>.button-qr {
  min-width: 148px;
}

body.page-node-393 .user-profile-section .user-profile-card .user-contact .code,
body.page-node-393 .user-profile-section .user-profile-card .user-contact .user-profile-qr-frame {
  width: 240px;
  height: 240px;
  background: #f2f5f7;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

body.page-node-393 .user-profile-section .user-profile-card .user-contact .code .user-profile-inline-qr,
body.page-node-393 .user-profile-section .user-profile-card .user-contact .user-profile-shared-qr,
body.page-node-393 #UserProfileQrModal .user-profile-qr-img,
body.page-node-393 #UserProfileQrModal .user-profile-shared-qr {
  width: 212px;
  height: 212px;
  max-width: 212px;
  max-height: 212px;
  object-fit: contain;
  display: block;
  background: #fff;
}

body.page-node-393 #UserProfileQrModal .modal-body {
  min-height: 290px;
}

body.page-node-393 #UserProfileQrModal .user-profile-qr-empty {
  margin-top: 10px;
}

@media (max-width: 576px) {

  body.page-node-393 .user-profile-section .user-profile-card .user-contact .code,
  body.page-node-393 .user-profile-section .user-profile-card .user-contact .user-profile-qr-frame {
    width: 220px;
    height: 220px;
  }

  body.page-node-393 .user-profile-section .user-profile-card .user-contact .code .user-profile-inline-qr,
  body.page-node-393 .user-profile-section .user-profile-card .user-contact .user-profile-shared-qr,
  body.page-node-393 #UserProfileQrModal .user-profile-qr-img,
  body.page-node-393 #UserProfileQrModal .user-profile-shared-qr {
    width: 196px;
    height: 196px;
    max-width: 196px;
    max-height: 196px;
  }
}


/* .webform-submission-website-rating-form */
.paragraph--type--text-two-column>.paragraph__column>.layout--onecol,
.user-admin-adult .user-form .field--name-field-chinese-name,
.rated-body .website-rating-section,
.block-views-blockblock-user-name-block-1,
.cookiesjsr-links.links--row li a,
.user-form #edit-group-our-teams,
#block-i2-theme-views-block-block-user-name-block-1,
.page-node-type-course .block-field-blocknodecoursefield-discount-living-condition,
.page-node-type-course .block-field-blocknodecoursefield-discount-percentage {
  display: none;
}

.block-views-blockblock-user-name-block-1 {
  display: block;
}

.user-admin-child .button-child-account {
  display: none !important;
}

#views-exposed-form-block-blogs-block-1 .form--inline .js-form-item-field-resblogs-category-value {
  margin-right: auto;
}

.user-admin-adult .user-form .field--name-field-birthday input {
  background-color: #e9ecef;
  color: #495057;
}

.learning-journey-container {
  margin-bottom: 30px;
}

.section-vision p,
.section-mission p {
  font-size: 20px;
  font-weight: bold;
}

/******** logout form *********/
.user-admin-adult #block-i2-theme-local-tasks,
.user-admin-child #block-i2-theme-local-tasks,
.user-admin-child #block-i2-theme-local-tasks,
.pass-reset-token-body header,
.pass-reset-token-body #block-i2-theme-local-tasks,
.pass-reset-token-body footer,
.pass-reset-token-body #edit-pass--description,
.user-admin-child .field--name-field-chinese-name,
.user-admin-child #edit-account .js-form-type-email,
.pass-reset-token-body #consent-group,
.pass-reset-token-body #edit-field-read-consent-wrapper,
.pass-reset-token-body #edit-field-agree-all-inform-wrapper,
.pass-reset-token-body #edit-field-registering-parent-wrapper,
.pass-reset-token-body #edit-group-contact-information {
  display: none;
}

.user-admin-child .field--name-field-cssa-upload-supporting-do,
.user-admin-child .field--name-field-disability-upload-support,
.user-admin-child .field--name-field-fass-upload-supporting-do,
.user-form-child-account .field--name-field-cssa-upload-supporting-do,
.user-form-child-account .field--name-field-disability-upload-support,
.user-form-child-account .field--name-field-fass-upload-supporting-do {
  display: none !important;
}

/* user-admin-adult: email 唯讀樣式 */
body.user-admin-adult #edit-mail[readonly] {
  background-color: #e9ecef;
  cursor: not-allowed;
  color: #495057;
}

#user-logout-confirm .form-actions {
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
}

#user-login-form .form-actions {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

#user-login-form .form-actions input,
#user-logout-confirm .form-actions input,
#user-logout-confirm .form-actions a {
  border-radius: 100px;
  background: #B66CDD;
  border: unset;
  color: #fff;
  display: block;
  min-width: 140px;
  margin: 0 auto;
  padding: 9px;
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
}

#user-login-form .form-actions input:hover,
#user-login-form .form-actions input:focus {
  background-color: var(--i2-theme-color-light-purple);
}

#user-logout-confirm .form-actions a {
  background-color: var(--i2-theme-color-blue);
}

#user-logout-confirm .form-actions input:hover,
#user-logout-confirm .form-actions input:focus {
  background-color: var(--i2-theme-color-light-blue);
}

#user-logout-confirm .form-actions a:hover,
#user-logout-confirm .form-actions a:focus {
  background-color: var(--i2-theme-color-green);
}

#user-login-form a {
  color: var(--i2-theme-color-green);
  font-size: 16px;
}

#user-login-form .register-link {
  font-size: 16px;
}

#user-login-form .register-link a {
  margin-left: 3px;
}

.path-user.user-register-body #user-register-form .field--name-field-display-name,
.path-user.user-register-body #user-register-form .field--name-user-picture,
.path-user.user-register-body #user-register-form .field--name-field-assignee,
.path-user.user-register-body #user-register-form .field--name-field-team-category,
.path-user.user-register-body #user-register-form .field--name-field-position,
.path-user.user-register-body #user-register-form .field--name-field-introduction,
.path-user.user-register-body #user-register-form .referral-channel-info,
.path-user.user-register-body #user-register-form .special-needs,
.path-user.user-register-body #user-register-form .field--name-field-residential-address,
.path-user.user-register-body #user-register-form .field--name-field-consent-pv-internal,
.path-user.user-register-body #user-register-form .field--name-field-consent-pv-external,
.path-user.user-register-body #user-register-form .field--name-field-parent-email-import,
.path-user.user-register-body #user-register-form .field--name-field-bp-unique-id-crosscheck,
.path-user.user-register-body #user-register-form .field--name-field-age,
.path-user.user-register-body #user-register-form #edit-account,
.path-user.user-register-body #user-register-form .field--name-field-chinese-name,
.path-user.user-register-body #user-register-form .field--name-field-consent-pv-internal-change,
.path-user.user-register-body #user-register-form .field--name-field-consent-pv-external-change,
.path-user.user-register-body #user-register-form .field--name-field-nationality,
.path-user.user-register-body #user-register-form .field--name-field-living-conditions,
.path-user.user-register-body #user-register-form .js-form-item-field-living-conditions-other-0-value,
.path-user.user-register-body #user-register-form .js-form-item-field-child-with-special-educati-0-value,
.path-user.user-register-body #user-register-form .field--name-field-living-conditions-news,
.pass-reset-token-body .field--name-field-nationality,
.pass-reset-token-body .field--name-field-living-conditions,
.pass-reset-token-body .field--name-field-living-conditions-news,
.path-user.user-register-body #user-register-form #edit-group-our-teams,
.path-my-custom-user-register #edit-group-our-teams,
.path-my-custom-user-register #edit-field-partner-ref-wrapper,
.path-user.user-register-body #edit-field-partner-ref-wrapper,
.path-user.user-register-body #user-register-form #edit-field-agree-family-seed-workshop-wrapper,
.path-user.user-register-body #user-register-form #edit-field-agree-children-s-seed-cour-wrapper,
.path-user.user-register-body #user-register-form #edit-field-agree-caregivers-courses-wrapper,
.path-user.user-register-body #user-register-form #edit-field-living-conditions-other-wrapper,
.path-user.user-register-body #user-register-form #edit-field-cssa-upload-supporting-do-wrapper,
.path-user.user-register-body #user-register-form #edit-field-fass-upload-supporting-do-wrapper,
.path-user.user-register-body #user-register-form #edit-field-disability-upload-support-wrapper {
  display: none;
}

.user-admin-child .user-form #edit-field-living-conditions-news .form-check:not(.js-form-item-field-living-conditions-news-137),
.user-admin-adult.path-my-custom-user-register #edit-field-living-conditions-news .form-check:not(.js-form-item-field-living-conditions-news-137),
.user-form-child-account .user-form #edit-field-living-conditions-news .form-check:not(.js-form-item-field-living-conditions-news-137) {
  display: none;
}

/* .path-user.user-register-body #user-register-form #edit-field-agree-family-seed-workshop-wrapper,
.path-user.user-register-body #user-register-form #edit-field-agree-children-s-seed-cour-wrapper,
.path-user.user-register-body #user-register-form #edit-field-agree-caregivers-courses-wrapper */
#user-register-form .description,
#user-register-form .contact-information>summary {
  display: none;
}

#user-register-form .contact-person-2 {
  padding-left: 30px;
}

#user-register-form .contact-person-2[open] {
  padding-left: 0;
}

#user-register-form .contact-information,
#user-register-form .contact-person-1,
#user-register-form .contact-person-2 {
  border: unset;
  background: unset;
}

#user-register-form .contact-information>.details-wrapper,
#user-register-form .contact-person-1>.details-wrapper,
#user-register-form .contact-person-2>.details-wrapper {
  border: unset;
  padding: 0;
}

#user-register-form .contact-person-1>summary,
#user-register-form .contact-person-2>summary {
  padding: 0;
  background: unset;
  border-bottom: unset;
  list-style: none;
  color: #AC885D;
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 15px;
}

#user-register-form .contact-person-1>summary::marker,
#user-register-form .contact-person-2>summary::marker {
  display: none;
}

/* 聯絡人欄位左右兩欄佈局 */
#user-register-form .contact-person-1>.details-wrapper,
#user-register-form .contact-person-2>.details-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 36px;
}

#user-register-form .contact-person-1 .field--name-field-contact-person-1,
#user-register-form .contact-person-2 .field--name-field-contact-person-2 {
  grid-column: 1;
  margin-bottom: 20px;
}

#user-register-form .contact-person-1 .field--name-field-contact-phone-1,
#user-register-form .contact-person-2 .field--name-field-contact-phone-2 {
  grid-column: 2;
  margin-bottom: 20px;
}

#user-register-form .contact-person-1 .field--name-field-contact-email-1,
#user-register-form .contact-person-2 .field--name-field-contact-email-2 {
  grid-column: 1;
  margin-bottom: 20px;
}

#user-register-form .contact-person-2 span.summary::before {
  content: '';
  background: url(/themes/custom/i2_theme/images/icon/add-user.svg) no-repeat;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 8px;
  left: 0;
  position: absolute;
}

#user-register-form .contact-person-2[open] span.summary::before {
  display: none;
}

#user-register-form #edit-actions,
#user-register-form .contact-information {
  display: none;
}

/* 自定义用户名字段全宽显示 */
#user-register-form .form-item {
  margin-top: 0;
  margin-bottom: 0;
}

#user-register-form .js-form-type-date {
  width: 100%;
}

#user-register-form .field--name-field-gender select {
  background-color: unset;
}

#user-register-form .custom-form-username,
#user-register-form .field--name-user-picture,
#user-register-form .user-register-submit-button {
  width: 100%;
  grid-column: 1 / -1;
}

/* Username 獨佔一行；Name (Chinese) 在下一行 */
body:not(.path-my-custom-user-register) #user-register-form .user-register-row-1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 36px;
  grid-column: 1 / -1;
}

body:not(.path-my-custom-user-register) #user-register-form .user-register-row-1 .custom-form-username,
body:not(.path-my-custom-user-register) #user-register-form #edit-field-read-consent-wrapper,
body:not(.path-my-custom-user-register) #user-register-form #edit-field-internal-consent-wrapper,
body:not(.path-my-custom-user-register) #user-register-form #edit-field-external-consent-wrapper,
body:not(.path-my-custom-user-register) #user-register-form #edit-field-read-and-agree-terms-wrapper,
body:not(.path-my-custom-user-register) #user-register-form #edit-field-agree-all-inform-wrapper {
  grid-column: 1 / -1;
  width: 100%;
}

body:not(.path-my-custom-user-register) #user-register-form #edit-field-read-consent-wrapper a,
body:not(.path-my-custom-user-register) #user-register-form #edit-field-read-and-agree-terms-wrapper a {
  color: var(--i2-theme-color-green);
  text-decoration: underline;
}

body:not(.path-my-custom-user-register) #user-register-form #edit-field-read-consent-wrapper label,
body:not(.path-my-custom-user-register) #user-register-form #edit-field-read-and-agree-terms-wrapper label {
  display: inline;
  position: relative;
}

body:not(.path-my-custom-user-register) #user-register-form #edit-field-read-consent-wrapper label::after,
body:not(.path-my-custom-user-register) #user-register-form #edit-field-read-and-agree-terms-wrapper label::after {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 0.3em;
  content: "";
  vertical-align: super;
  background-image: url('/themes/contrib/bootstrap5/images/icons/required.svg');
  background-repeat: no-repeat;
  background-size: 6px 6px;
}

#user-register-form .user-register-submit-button {
  display: flex;
  justify-content: center;
}

#user-register-form .user-register-submit-button .next-button,
#user-register-form .user-register-submit-button .submit-button {
  display: inline-block;
  border-radius: 100px;
  background: #B66CDD;
  min-width: 140px;
  text-align: center;
  line-height: 40px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
}

#user-register-form .user-register-submit-button .next-button:hover,
#user-register-form .user-register-submit-button .submit-button:hover {
  background-color: var(--i2-theme-color-light-purple);
}

#user-register-form .user-register-submit-button .next-button {
  display: none;
}

/* Next/Submit disabled: dimmed but still clickable so register-gate hints can show (see custom.js) */
#user-register-form .user-register-submit-button .next-button.next-button-disabled,
#user-register-form .user-register-submit-button .submit-button.next-button-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: auto;
}

#user-register-form .user-register-submit-button .next-button.next-button-disabled:hover,
#user-register-form .user-register-submit-button .submit-button.next-button-disabled:hover {
  color: #fff;
  background: #B66CDD;
}

#user-register-form .user-register-form-steps {
  display: flex;
  justify-content: center;
  list-style: none;
}

#user-register-form .user-register-form-steps li:nth-child(1),
#user-register-form .user-register-form-steps li:nth-child(3) {
  display: flex;
  align-items: center;
  flex-direction: column
}

#user-register-form .user-register-form-steps li:nth-child(2),
#user-register-form .user-register-form-steps li:nth-child(4) {
  margin: 0 -15px;
}

/* #user-register-form .user-register-form-steps li:nth-child(3) {
  margin-left: -24px;
} */

#user-register-form .user-register-form-steps li span {
  display: block;
}

#user-register-form .user-register-form-steps li span:nth-child(1) {
  width: 34px;
  height: 34px;
  background-color: #975AB6;
  border-radius: 100%;
  color: #fff;
  text-align: center;
  line-height: 34px;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
}

#user-register-form .user-register-form-steps li span:nth-child(2) {
  color: #B66CDD;
  font-size: 18px;
  font-weight: 900;
}

/* 表单两列布局 - 使用CSS Grid */
body:not(.path-my-custom-user-register) #user-register-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 36px;
}

/* 标题和提交按钮占据整行 */
#user-register-form h2,
#user-register-form .form-actions,
#user-register-form details,
#user-register-form .user-register-form-steps {
  grid-column: 1 / -1;
}

/* 左列字段 */
body:not(.path-my-custom-user-register) #user-register-form .field--name-field-full-name,
body:not(.path-my-custom-user-register) #user-register-form .field--name-field-gender,
body:not(.path-my-custom-user-register) #user-register-form .field--name-field-phone-number {
  grid-column: 1;
}

/* 右列字段 */
body:not(.path-my-custom-user-register) #user-register-form .field--name-field-birthday,
body:not(.path-my-custom-user-register) #user-register-form .field--name-field-chinese-name,
body:not(.path-my-custom-user-register) #user-register-form .custom-form-email,
#user-register-form #parent-mail-wrapper {
  grid-column: 2;
}

/* Step 2 & 3 hidden by default; JS adds .show-contact-steps after age check (under 18) */
.user-register-form-steps>li:nth-child(2),
.user-register-form-steps>li:nth-child(3) {
  display: none;
}

.user-register-form-steps.show-contact-steps>li:nth-child(2),
.user-register-form-steps.show-contact-steps>li:nth-child(3) {
  display: block;
}

#birthday-year-invalid-feedback {
  margin-top: 5px;
}

/* Phone number field: red hint below input (same style as birthday hint) */
.phone-number-hint {
  color: #dc3545;
  font-size: 0.875em;
  margin-top: 0.25rem;
  display: block;
}

/* Standard /user/register: Phone Number greyed until adult DOB (JS sets disabled / .phone-field-enabled) */
body:not(.path-my-custom-user-register) #user-register-form .field--name-field-phone-number-new #edit-field-phone-number-new-0-value {
  background-color: #e9ecef;
  border-color: #ced4da;
  color: #6c757d;
  cursor: not-allowed;
  opacity: 0.92;
}

body:not(.path-my-custom-user-register) #user-register-form .field--name-field-phone-number-new #edit-field-phone-number-new-0-value:disabled {
  background-color: #e9ecef;
  border-color: #ced4da;
  color: #6c757d;
}

body:not(.path-my-custom-user-register) #user-register-form .field--name-field-phone-number-new.phone-field-enabled #edit-field-phone-number-new-0-value,
body:not(.path-my-custom-user-register) #user-register-form .field--name-field-phone-number-new #edit-field-phone-number-new-0-value:not(:disabled) {
  background-color: #fff;
  border-color: #ced4da;
  color: #212529;
  cursor: text;
  opacity: 1;
}

body:not(.path-my-custom-user-register) #user-register-form .field--name-field-phone-number-new:not(.phone-field-enabled) label[for="edit-field-phone-number-new-0-value"] {
  color: #6c757d;
}

body:not(.path-my-custom-user-register) #user-register-form .field--name-field-phone-number-new.phone-field-enabled label[for="edit-field-phone-number-new-0-value"] {
  color: inherit;
}

#user-pass-reset .form-actions {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

#user-pass-reset .form-actions input {
  border-radius: 100px;
  background: #B66CDD;
  color: #fff;
  min-width: 140px;
  border: unset;
  padding: 9px;
}

#user-pass-reset .form-actions input:hover {
  background-color: var(--i2-theme-color-light-purple);
}

#user-register-form .field--name-field-full-name,
#user-form .field--name-field-bp-unique-id-crosscheck,
#user-form .contact-information,
#user-form .special-needs,
#user-form .referral-channel-info,
#user-form .field--name-field-team-category,
#user-form .field--name-field-introduction,
#user-form .field--name-field-position,
#user-form .field--name-field-full-name,
.user-form-body .block-i2-theme-local-tasks,
.user-admin-adult #user-form #edit-field-registering-parent-wrapper {
  display: none;
}

body:not(.pass-reset-token-body).user-admin-child #user-form .contact-information,
body:not(.pass-reset-token-body).user-admin-adult #user-form .contact-information {
  display: block;
}

.user-form-body #block-i2-theme-content {
  max-width: 755px;
  margin: 200px auto 0;
  padding: 0 20px;
}

#user-form,
#user-pass-reset {
  border-radius: 40px;
  border: 1px solid #EEE;
  background: #FFFFF9;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
  padding: 40px 20px 25px 20px;
  position: relative;
}

#user-form::before,
#user-pass-reset::before {
  content: '';
  background: url('/themes/custom/i2_theme/images/icon/login_icon.svg') no-repeat;
  width: 91px;
  height: 111px;
  position: absolute;
  top: -61px;
  right: -18px;
  z-index: 2;
  background-size: contain;
  pointer-events: none;
}

.user-form-body #block-i2-theme-content h1,
.path-user.user-pass-reset-body #block-i2-theme-content h1,
.path-my-custom-user-register h1 {
  color: #B66CDD;
  text-align: center;
  font-weight: 900;
  margin-bottom: 40px;
  font-size: 50px;
}

.path-my-custom-user-register h1 {
  margin-top: 30px;
}

.user-form-body main,
.path-my-custom-user-register main {
  background-image: url(/themes/custom/i2_theme/images/footer/end_graphic_left.png), url(/themes/custom/i2_theme/images/footer/end_graphic_right.png);
  background-position: left bottom, right bottom;
  background-repeat: no-repeat;
  background-size: min(31.39vw, 598px) auto;
  padding-bottom: clamp(150px, 14.67vw, 280px);
}

#user-form .form-actions {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

#user-form .form-actions input,
#user-form #edit-child-account tbody a {
  border-radius: 100px;
  background: #B66CDD;
  border: unset;
  color: #fff;
  display: block;
  min-width: 140px;
  margin: 0 auto;
  padding: 9px;
}

#user-form #edit-child-account tbody a {
  display: inline-block;
  background-color: var(--i2-theme-color-green);
  font-size: 16px;
  padding: 10px 20px;
  white-space: nowrap;
}

#user-form #edit-child-account tbody a:hover,
#user-form #edit-child-account tbody a:focus,
#user-form .form-actions input:hover,
#user-form .form-actions input:focus {
  background-color: var(--i2-theme-color-light-green);
}

.path-my-custom-user-register #block-i2-theme-content {
  max-width: 755px;
  margin: 200px auto 0;
  padding: 0 20px;
}

/* Create child: show step strip (1 → 2 → 3); items stay hidden while they have .d-none (Bootstrap) */
.path-my-custom-user-register #user-register-form .user-register-form-steps {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 0 8px;
}

.path-my-custom-user-register #user-register-form .user-register-form-steps>li.d-none {
  display: none !important;
}

/* Relationship Other: hidden until JS shows when last relationship option is selected (avoids FOUC). */
.path-my-custom-user-register #user-register-form .field--name-field-relationship-other,
form#user-register-form.user-register-form[action*="my_custom_user_register/create_child"] .field--name-field-relationship-other {
  display: none;
}

.path-my-custom-user-register #user-register-form .user-register-form-steps>li:nth-child(2):not(.d-none),
.path-my-custom-user-register #user-register-form .user-register-form-steps>li:nth-child(3):not(.d-none),
.path-my-custom-user-register #user-register-form .user-register-form-steps>li.create-child-step-sep:not(.d-none),
.path-my-custom-user-register #user-register-form .user-register-form-steps>li.create-child-step-3:not(.d-none) {
  display: flex !important;
  align-items: center;
  flex-direction: column;
}

.path-my-custom-user-register #user-register-form .user-register-form-steps>li.create-child-step-sep:not(.d-none) img,
.path-my-custom-user-register #user-register-form .user-register-form-steps>li:nth-child(2):not(.d-none) img {
  margin-top: 18px;
  max-width: 66px;
  width: 100%;
}

/* .path-my-custom-user-register .user-register-form #edit-account .form-type-email, */
/* .path-my-custom-user-register .field--name-field-nationality */
/* .path-my-custom-user-register .family-background */
.family-background,
.family-background .field--name-field-years-in-hk,
.family-background .field--name-field-amhi,
.family-background .field--name-field-household-size,
.family-background .field--name-field-single-parent-household,
.field--name-field-family-seed-participation,
.field--name-field-family-member-1-name,
.field--name-field-family-member-1-phone,
.field--name-field-family-member-2-name,
.field--name-field-family-member-3-name,
.path-my-custom-user-register header,
.path-my-custom-user-register footer,
.path-my-custom-user-register .website-rating-section,
.path-my-custom-user-register .field--name-field-bp-unique-id-crosscheck,
.path-my-custom-user-register .special-needs,
.path-my-custom-user-register .referral-channel-info,
.path-my-custom-user-register .field--name-field-team-category,
.path-my-custom-user-register .field--name-field-introduction,
.path-my-custom-user-register .field--name-field-position,
.path-my-custom-user-register #edit-account .js-form-type-email,
.path-my-custom-user-register .field--name-field-chinese-name,
.path-my-custom-user-register .field--name-field-consent-pv-internal-change,
.path-my-custom-user-register .field--name-field-consent-pv-external-change,
.path-my-custom-user-register .field--name-field-partner-id,
.path-my-custom-user-register .field--name-field-source-type,
#edit-group-family-background summary {
  display: none;
}

#edit-group-family-background .details-wrapper,
#edit-field-living-conditions--wrapper {
  padding: 0;
  border: unset;
}

.field--name-field-living-conditions {
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

#edit-field-living-conditions--wrapper {
  margin: 0;
}

/* Create child 註冊頁：兩欄 Grid（姓名欄位並排；其餘欄位預設全寬） */
.path-my-custom-user-register #user-register-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 36px;
}

.path-my-custom-user-register #user-register-form>* {
  grid-column: 1 / -1;
}

.path-my-custom-user-register #user-register-form .field--name-field-last-name,
.path-my-custom-user-register #user-register-form .field--name-field-last-name-chinese {
  grid-column: 1;
}

.path-my-custom-user-register #user-register-form .field--name-field-first-name,
.path-my-custom-user-register #user-register-form .field--name-field-first-name-chinese {
  grid-column: 2;
}

.path-my-custom-user-register .user-register-form>*,
.path-my-custom-user-register .user-register-form #edit-account>div,
.path-my-custom-user-register .user-register-form .js-form-type-password,
.user-form .js-form-type-password {
  margin-bottom: 20px !important;
}

/* Step 3: .user-form flex + #edit-account { order: 28 } (custom.css) paints default order:0 before account — fix paint order */
.path-my-custom-user-register #user-register-form.create-child-wizard-step-3 .user-register-submit-button {
  order: 29;
  margin-top: 12px;
  margin-bottom: 24px;
}

.path-my-custom-user-register #user-register-form.create-child-wizard-step-3 #edit-actions {
  order: 30;
}


.pass-reset-password .field--name-field-first-name,
.pass-reset-password .field--name-field-last-name,
.pass-reset-password .field--name-field-chinese-name,
.pass-reset-password .field--name-field-gender,
.pass-reset-password .field--name-field-age,
.pass-reset-password .field--name-field-phone-number-new,
.pass-reset-password .field--name-user-picture,
.pass-reset-password #edit-child-account,
.pass-reset-password .field--name-field-birthday,
.pass-reset-password .field--name-field-first-name-chinese,
.pass-reset-password .field--name-field-last-name-chinese,
.pass-reset-password .field--name-field-cssa-upload-supporting-do,
.pass-reset-password .field--name-field-disability-upload-support,
.pass-reset-password .field--name-field-fass-upload-supporting-do {
  display: none;
}

.pass-reset-password #edit-account .js-form-type-email {
  display: none;
}

.pass-reset-password #block-i2-theme-content h1 {
  color: var(--i2-theme-color-green);
}

.pass-reset-password #block-i2-theme-content h2 {
  color: var(--i2-theme-color-purple);
}

/******** Feel today modal *********/
#UserProfileQrModal .modal-dialog>.modal-content {
  padding-top: 40px;
  padding-bottom: 40px;
}

.view-id-block_feel_today_modal.view-display-id-block_1 .paragraph>.paragraph__column {
  padding: 0;
}

.view-id-block_feel_today_modal.view-display-id-block_1 .views-field-field-paragraphs {
  display: none;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .modal-dialog,
.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-dialog {
  max-width: 750px;
  padding: 0 7px;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .modal-dialog>.modal-content,
.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-dialog>.modal-content,
#UserProfileQrModal .modal-dialog>.modal-content {
  border-radius: 60px;
  background: #FFF4E6;
  position: relative;
  border: unset;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .modal-dialog>.modal-content::after,
.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-dialog>.modal-content::after,
#UserProfileQrModal .modal-dialog>.modal-content::after,
#ratingModal .modal-content .rating-form-content::after {
  content: '';
  background-color: #975AB6;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: -20px;
  z-index: -1;
  border-radius: 60px;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .modal-dialog>.modal-content::before,
#ratingModal .modal-content .rating-form-content::before,
#UserProfileQrModal .modal-dialog>.modal-content::before {
  content: '';
  background: url('/themes/custom/i2_theme/images/icon/blue_waves.svg') no-repeat center center;
  width: 196px;
  height: 117px;
  position: absolute;
  bottom: -20px;
  z-index: 2;
  bottom: -23px;
  z-index: 2;
  right: -24px;
}

#UserProfileQrModal .user-profile-qr-hint {
  font-weight: bold;
  max-width: 400px;
  margin: auto;
  font-size: 18px;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content {
  display: flex;
  flex-wrap: wrap;
  max-width: 670px;
  margin: 0 auto;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .modal-dialog>.modal-content .modal-body {
  padding-bottom: 40px;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-header h2 {
  color: var(--i2-theme-color-purple);
  font-size: 32px;
  font-weight: 900;
  padding: 18px 50px;
  border-radius: 60px;
  background-color: #fff;
  position: relative;
  margin-bottom: 40px;
  margin-top: 50px;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-header h2::before {
  content: '';
  background: url('/themes/custom/i2_theme/images/icon/sun.svg') center no-repeat;
  width: 72px;
  height: 72px;
  position: absolute;
  top: 0;
  left: 17px;
  transform: translate(-50%, -50%);
  background-size: contain;
}


.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-header h2::after {
  content: '';
  background: url('/themes/custom/i2_theme/images/icon/period.svg') center no-repeat;
  width: 72px;
  height: 72px;
  position: absolute;
  bottom: 0;
  right: 91px;
  transform: translate(50%, 50%);
  background-size: contain;
}

.view-id-block_feel_today_modal.view-display-id-block_1 button.btn-close,
#UserProfileQrModal .btn-close {
  width: 50px;
  height: 50px;
  position: absolute;
  left: 100%;
  top: -10px;
  transform: translateX(-40px);
  background: url('../images/decro/close.svg') center no-repeat;
  opacity: 1;
  box-shadow: unset;
  z-index: 10;
}

.view-id-block_feel_today_modal.view-display-id-block_1 button.btn-close:hover {
  filter: brightness(0.9);
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row {
  width: 120px;
  height: 120px;
  background-color: #fff;
  border-radius: 100%;
  border: 2px solid #FCDA69;
  text-align: center;
  margin-bottom: 20px;
  cursor: pointer;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row:hover {
  background-color: #FCDA69;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row .views-field-field-award-image {
  margin-top: -20px;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row .views-field-title .field-content,
.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row .views-field-field-traditional-chinese-title .field-content {
  color: #569A20;
  font-size: 20px;
  font-weight: 700;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row:nth-child(1),
.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row:nth-child(2),
.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row:nth-child(3),
.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row:nth-child(4) {
  margin-right: 40px;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row:nth-child(5),
.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row:nth-child(6),
.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row:nth-child(7),
.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row:nth-child(8) {
  margin-left: 40px;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-content {
  border-radius: 60px;

}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-body {
  padding: 0;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-body .field--name-field-image img {
  width: 100%;
  object-fit: cover;
  border-radius: 60px;
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-body .field--name-field-description,
.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-body .field--name-field-traditional-chinese-descri {
  position: absolute;
  bottom: 40px;
  left: 80px;
  width: calc(100% - 160px);
  padding: 20px 40px;
  text-align: center;
  background-color: #fff;
  border-radius: 100px;
  color: var(--i2-theme-color-green);
  font-size: 20px;
  font-weight: 700;
  border: 2px solid #CEEBFF;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
}

.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-body .field--name-field-description::after,
.view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-body .field--name-field-traditional-chinese-descri::after {
  display: block;
  content: '';
  position: absolute;
  width: 66px;
  height: 80px;
  right: -16px;
  top: -30px;
  background: url('../images/decro/chat1.png') no-repeat center;
  z-index: 1;
  background-size: contain;
}

.webform-submission-feel-today-webform-form {
  display: none;
}


.user-logged-in.page-node-type-course .field--name-field-media-video-file {
  text-align: center;
}

.user-logged-in.page-node-type-course .field--name-field-info-session .field__label {
  color: var(--i2-theme-color-purple);
  font-size: var(--font-size-md);
  font-weight: 900;
  text-align: center;
  margin-bottom: 20px;
}

.page-node-type-course .info-session-watched-wrap {
  text-align: center;
  margin: 20px 0;
  padding: 15px;
}

.page-node-type-course .info-session-watched-btn {
  padding: 12px 30px;
  background-color: #4CAF50;
  color: #fff;
  border: none;
  border-radius: 5px;
  font-weight: bold;
  font-size: 16px;
  cursor: pointer;
}

.page-node-type-course .info-session-parent-flow button.btn {
  border-radius: 100px;
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  padding: 10px 30px;
  display: inline-block;
  border: none;
}

.page-node-type-course .info-session-parent-flow .info-session-parent-cancel {
  background: var(--i2-theme-color-purple);
}

.page-node-type-course .info-session-parent-flow .info-session-parent-submit {
  background: var(--i2-theme-color-green);
}

.page-node-type-course .info-session-parent-flow .info-session-parent-submit:disabled {
  opacity: 0.55;
}

.page-node-type-course .info-session-parent-flow .info-session-child-table-wrap {
  margin-bottom: 2rem;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
  overflow-x: auto;
  overflow-y: hidden;
}

.page-node-type-course .info-session-parent-flow .info-session-children-table {
  width: 100%;
  margin-bottom: 0;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
}

.page-node-type-course .info-session-parent-flow .info-session-children-table> :not(caption)>*>* {
  border: none;
  box-shadow: none;
}

.page-node-type-course .info-session-parent-flow .info-session-children-table thead th {
  background: var(--i2-theme-color-purple);
  color: #fff;
  font-weight: 700;
  text-align: left;
  padding: 12px 15px;
  vertical-align: middle;
}

.page-node-type-course .info-session-parent-flow .info-session-children-table tbody td {
  padding: 12px 15px;
  text-align: left;
  vertical-align: middle;
  color: #333;
  border: none;
  border-bottom: 1px solid #e0e0e0;
}

.page-node-type-course .info-session-parent-flow .info-session-children-table tbody tr {
  background: #fff;
}

.page-node-type-course .info-session-parent-flow .info-session-children-table tbody tr:nth-child(even) {
  background: #f8f2fb;
}

/******** Paydollar *********/
.path-paydollar main {
  background-image: url('../images/footer/end_graphic_left.png'), url('../images/footer/end_graphic_right.png');
  background-position: left bottom, right bottom;
  background-repeat: no-repeat;
  background-size: min(31.39vw, 598px) auto;
  padding-bottom: clamp(150px, 14.67vw, 280px);
}

.path-paydollar #block-i2-theme-content {
  max-width: 490px;
  margin: 200px auto 0;
  padding: 0 20px 0px;
}

.path-paydollar .paydollar-return {
  border-radius: 40px;
  border: 1px solid #EEE;
  background: #FFFFF9;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
  padding: 25px 20px;
  position: relative;
}

.path-paydollar .paydollar-return::before {
  content: '';
  background: url(/themes/custom/i2_theme/images/icon/login_icon.svg) no-repeat;
  width: 91px;
  height: 111px;
  position: absolute;
  top: -50px;
  right: -20px;
  z-index: 2;
}

.path-paydollar #block-i2-theme-content h1 {
  color: #B66CDD;
  text-align: center;
  font-weight: 900;
  margin-bottom: 60px;
  font-size: 44px;
}

.path-paydollar .paydollar-return--success .paydollar-return__message p {
  color: #B66CDD;
}

.path-paydollar .paydollar-return__message p {
  font-size: 24px;
  font-weight: 900;
  line-height: 1.375;
  margin-bottom: 30px;
  text-align: center;
}

.path-paydollar .paydollar-return__actions {
  justify-content: center;
  display: flex;
}

.path-paydollar .paydollar-return__actions a {
  border-radius: 100px;
  background: var(--i2-theme-color-green);
  border: unset;
  color: #fff;
  display: block;
  min-width: 140px;
  margin: 0 auto;
  padding: 9px 15px;
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
}

.path-paydollar .paydollar-return__actions a:hover {
  background-color: var(--i2-theme-color-light-green);
}

.path-paydollar .paydollar-return__detail {
  margin-bottom: 5px;
  font-size: 18px;
}

.path-paydollar .paydollar-return__details {
  margin-bottom: 16px;
}

.path-paydollar .paydollar-return__value {
  font-weight: 900;
}

.path-paydollar .paydollar-return__children-summary {
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 8px;
}

.path-paydollar .paydollar-return__children-summary h3 {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  margin: 0 0 12px;
}

.path-paydollar .paydollar-return__children-table {
  width: 100%;
  margin-bottom: 0;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
}

.path-paydollar .paydollar-return__children-table> :not(caption)>*>* {
  border: none;
  box-shadow: none;
}

.path-paydollar .paydollar-return__children-table thead th {
  background: var(--i2-theme-color-purple);
  color: #fff;
  font-weight: 700;
  text-align: left;
  padding: 10px 12px;
  vertical-align: middle;
}

.path-paydollar .paydollar-return__children-table tbody td {
  padding: 10px 12px;
  text-align: left;
  vertical-align: middle;
  color: #333;
  font-size: 16px;
  border: none;
  border-bottom: 1px solid #e0e0e0;
}

.path-paydollar .paydollar-return__children-table tbody tr {
  background: #fff;
}

.path-paydollar .paydollar-return__children-table tbody tr:nth-child(even) {
  background: #f8f2fb;
}

.path-paydollar .paydollar-return__next-steps {
  margin-top: 8px;
  margin-bottom: 10px;
  font-size: 18px;
}

/******** Blogs *********/
.page-node-type-resources-blogs .block-field-blocknoderesources-blogsfield-anonymous-visitors-content {
  margin-top: 42px !important;
  position: relative;
}

/* Anonymous visitors: content teaser with fade + Show more (when not logged in) */
body.page-node-type-resources-blogs:not(.user-logged-in) .field--name-field-anonymous-visitors-content.anonymous-visitors-teaser {
  position: relative;
  overflow: hidden;
  max-height: 150px;
}

body.page-node-type-resources-blogs:not(.user-logged-in) .field--name-field-anonymous-visitors-content.anonymous-visitors-teaser::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  background: linear-gradient(to top, #E5FEFF 0%, rgba(229, 254, 255, 0) 100%);
  pointer-events: none;
}

body.page-node-type-resources-blogs:not(.user-logged-in) .anonymous-visitors-show-more {
  display: inline-block;
  margin-top: 12px;
  padding: 8px 16px;
  border: 1px solid #7dd3fc;
  border-radius: 999px;
  color: var(--i2-theme-color-blue, #0ea5e9);
  font-size: 16px;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.2s, border-color 0.2s;
  position: absolute;
  left: calc(50% - 85px);
  bottom: 0;
  background: #fff;
}

body.page-node-type-resources-blogs:not(.user-logged-in) .anonymous-visitors-show-more:hover {
  background-color: rgba(125, 211, 252, 0.2);
  border-color: var(--i2-theme-color-blue, #0ea5e9);
}

body.page-node-type-resources-blogs:not(.user-logged-in) .anonymous-visitors-show-more .chevron {
  display: inline-block;
  margin-left: 4px;
  vertical-align: middle;
}

/******** Child Details *********/
.child-detail-dropdown {
  display: none;
}

/* Child page: only Profile Detail (child edit) + QR — hide adult-only actions */
body.page-node-393 .user-profile-section .user-profile-card .button-group>a.button-child-account,
body.page-node-393 .user-profile-section .user-profile-card .button-group>.child-detail-dropdown {
  display: none !important;
}

.page-node-393 .user-profile-section .user-profile-card .user-avatar .user-picture.level-1::before {
  display: none !important;
}

.page-node-393 .MyProfile-section {
  margin-top: 200px;
}

/* .page-node-393 .MyRedemptionHistory-section #RedemptionHistoryAccordion > .accordion-item:not(:first-child) {
  display: block;
} */

/* .page-node-393 .MyForestAchievements-section {
  background-color: #E5FEFF;
  padding-top: 200px;
  background-image: url('../images/footer/end_graphic_left.png'), url('../images/footer/end_graphic_right.png');
  background-position: left bottom, right bottom;
  background-repeat: no-repeat;
  background-size: min(31.39vw, 598px) auto;
  padding-bottom: clamp(150px, 14.67vw, 280px);
} */

.user-admin-child.page-node-393 .MyProfile-section,
.user-admin-child.page-node-393 .MyCourseJourney-section,
.user-admin-child.page-node-393 .YourSuperpowerCompass-section,
.user-admin-child.page-node-393 .MyForestAchievements-section,
.user-admin-child.page-node-393 .MyProfileCard-section,
.user-admin-child.user-form-body .user-form #edit-group-our-teams,
.user-admin-child.user-form-body .user-form #edit-field-agree-family-seed-workshop-wrapper,
.user-admin-child.user-form-body .user-form #edit-field-agree-children-s-seed-cour-wrapper,
.user-admin-child.user-form-body .user-form #edit-field-agree-caregivers-courses-wrapper,
.path-my-custom-user-register .user-register-form #edit-field-agree-family-seed-workshop-wrapper,
.path-my-custom-user-register .user-register-form #edit-field-agree-children-s-seed-cour-wrapper,
.path-my-custom-user-register .user-register-form #edit-field-agree-caregivers-courses-wrapper {
  display: none;
}

#views-exposed-form-block-animations-block-1 .js-form-item-field-tags-target-id select {
  display: none;
}

.theme-content-section .block-layout-builder>div.section-fee-exemption-part-1 {
  padding-bottom: 90px !important;
}

.section-fee-exemption-requirement-table .paragraph--type--table table thead th {
  min-width: 172px;
}

.WeatherProcedures-section .field--name-field-html-content>p {
  max-width: 1200px;
  margin: auto;
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: 18px;
}

/******** 404 page *********/
.page-404-section,
.page-403-section {
  max-width: 1000px;
  margin: 200px auto 0;
  padding: 40px 0px;
}

.page-404-section h1,
.page-403-section h1 {
  color: #B66CDD;
}

.page-404-section .content,
.page-403-section .content {
  border-radius: 40px;
  border: 1px solid #EEE;
  background: #FFFFF9;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
  padding: 30px 50px;
  position: relative;
}

.page-404-section .content::before,
.page-403-section .content::before {
  content: '';
  background: url('/themes/custom/i2_theme/images/icon/login_icon.svg') no-repeat;
  width: 91px;
  height: 111px;
  position: absolute;
  top: -33px;
  right: -18px;
  z-index: 2;
}

.page-404-section .content p,
.page-403-section .content p {
  font-size: 20px;
}

.page-404-section .content p a,
.page-403-section .content p a {
  background: #B66CDD url('../images/icon/btn_more_arrow.svg') right 18px center no-repeat;
  border-radius: 50px;
  color: #fff;
  font-size: 22px;
  line-height: calc(100% + 8px);
  padding: 10px 52px 10px 21px;
}

.page-404-section .content p a:hover,
.page-403-section .content p a:hover {
  background-color: var(--i2-theme-color-light-purple);
}

/******** Course *********/
.login-prompt-content>p,
.discount-register-gate>p,
#ratingThankYouModal .modal-body p {
  color: var(--i2-theme-color-purple);
  font-size: 25px;
  font-weight: 700;
  margin-bottom: 40px;
}

#ratingThankYouModal h2 {
  color: var(--i2-theme-color-green);
}

.discount-register-gate>p a {
  color: var(--i2-theme-color-green);
}

.login-prompt-content>a,
.discount-register-gate .js-discount-register-now,
.discount-register-gate .js-go-my-profile {
  border-radius: 100px;
  background: var(--i2-theme-color-purple);
  color: #FFF;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  padding: 10px 30px;
  display: inline-block;
  border: unset;
  width: 185px;
  margin: 0;
}

.discount-register-gate .js-go-my-profile {
  background: var(--i2-theme-color-green);
}

.discount-register-gate .js-go-my-profile:hover {
  background: var(--i2-theme-color-light-green);
}

.discount-register-gate>p a:hover {
  color: var(--i2-theme-color-light-green);
}

.discount-register-gate .js-discount-register-now:hover {
  background: var(--i2-theme-color-light-purple);
}

/******** media *********/
@media (max-width: 720px) {
  .view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-header {
    padding: 0 30px;
  }

  .view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-header h2 {
    padding: 18px;
    font-size: 22px;
  }

  .view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-header h2::after {
    height: 63px;
    width: 40px;
    bottom: 12px;
    right: 61px;
  }

  .view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-header h2::before {
    height: 40px;
    width: 40px;
  }

  .view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content {
    justify-content: center;
    align-items: center;
  }

  .view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle .view-content .views-row {
    margin-left: 10px !important;
    margin-right: 10px !important;
    margin-bottom: 40px;
  }

  .view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-body .field--name-field-image img {
    min-height: 476px;
  }

  .view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-body .field--name-field-description,
  .view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-body .field--name-field-traditional-chinese-descri {
    left: 0;
    bottom: 0;
    width: 100%;
  }

  .view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-body .field--name-field-description,
  .view-id-block_feel_today_modal.view-display-id-block_1 #FeelTodayModalToggle2 .modal-body .field--name-field-traditional-chinese-descri {
    padding: 20px;
  }
}

@media (max-width: 576px) {
  .faq-section a img {
    width: 110px;
  }

  .path-paydollar #block-i2-theme-content h1 {
    font-size: 33px;
  }

  .path-my-custom-user-register #user-register-form .user-register-form-steps {
    display: block !important;
  }

  #user-register-form .user-register-form-steps li:nth-child(2),
  #user-register-form .user-register-form-steps li:nth-child(4) {
    margin-bottom: 40px;
  }

  .classification-bar .content ul li {
    height: 50px;
    line-height: 50px;
    font-size: 14px;
  }

  #RedemptionHistoryAccordion {
    padding: 20px;
  }

  #RedemptionHistoryAccordion .accordion-item .accordion-button {
    padding: 10px;
    font-size: 22px;
  }

  #RedemptionHistoryAccordion .accordion-item .accordion-button::after {
    width: 25px;
    height: 25px;
  }

  .paragraph--type--bp-accordion .i2-styled-accordion {
    padding: 20px;
  }

  .paragraph--type--bp-accordion .i2-styled-accordion .accordion-item .accordion-button {
    padding: 10px 40px;
    font-size: 22px;
  }

  .paragraph--type--bp-accordion .i2-styled-accordion .accordion-item .accordion-button::after {
    width: 25px;
    height: 25px;
  }

  .paragraph--type--bp-accordion.i2-accordion-section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

@media (max-width: 539px) {
  body:not(.path-my-custom-user-register) #user-register-form {
    display: flex;
  }
}

/******** Info Session result modal shell (match #bepricelessModal) *********/
#myccInfoSessionResultModal .modal-dialog {
  max-width: 1300px;
  width: 90%;
  margin: 0 auto;
}

.page-node-type-course #myccInfoSessionResultModal .modal-dialog {
  max-width: 800px;
  width: 100%;
  padding: 0 10px;
}

#myccInfoSessionResultModal .modal-content {
  background: #FFF4E6;
  border-radius: 60px;
  border-bottom: 14px solid #975AB6;
  position: relative;
  border: none;
}

#myccInfoSessionResultModal .modal-dialog .modal-content::before {
  display: block;
  content: '';
  background: url('../images/decro/line1.svg');
  height: 113px;
  width: 192px;
  position: absolute;
  right: -20px;
  bottom: -12px;
  pointer-events: none;
}

#myccInfoSessionResultModal .modal-body {
  padding: 0 40px 40px 40px;
}

#myccInfoSessionResultModal button.btn-close {
  width: 50px;
  height: 50px;
  position: relative;
  left: 100%;
  top: -10px;
  transform: translateX(-40px);
  background: url('/themes/custom/i2_theme/images/decro/close.svg') center no-repeat;
  opacity: 1;
  box-shadow: unset;
}

@media (max-width: 768px) {
  #myccInfoSessionResultModal .modal-dialog .modal-content::before {
    display: none;
  }

  #myccInfoSessionResultModal .modal-body {
    padding: 0 15px 40px 15px;
  }
}
