/* =========================
   Variables
   ========================= */
:root {
    --red-200: #fcebec;
    --red-300: #f2adb3;
    --red-500: #de3340;
    --red-700: #c01414;
    --gray-200: #bab4b4;
}
p {
    margin: 0;
    padding: 0;
}
.row > * {
    margin-top: 0;
    padding-right: 4px;
    padding-left: 4px;
}
.row {
    margin-left: -4px;
    margin-right: -4px;
}
.row > * {
    padding-left: 4px;
    padding-right: 4px;
}
.mb-3 {
    margin-bottom: 0 !important;
}
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    box-shadow: none;
}
/* =========================
   Layout (Left / Right)
   ========================= */
.donation-wrapper {
    display: flex;
    min-height: 100vh;
}
.content-sub-title {
    color: #b22933;
    margin-bottom: 24px;
    font-family: "Roboto", sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 150%;
}

#step4 .content-sub-title,
#step2 .content-sub-title {
    margin-bottom: 24px;
}
#step4 .content-sub-title {
    text-align: center;
}

.left-panel {
    display: flex;
    padding: 357px 52.2px 0 52.2px;
    background-size: 416px 960px;
    z-index: 1;
    position: relative;
    background-color: #de3340;
    width: 416px;
}
.left-panel img.bg-desktop-top {
    display: block;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.left-panel img.bg-desktop-bottom {
    display: block;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
}
.left-panel img.bg-mobile-left,
.left-panel img.bg-mobile-right,
.left-panel img.bg-table-left,
.left-panel img.bg-table-right {
    display: none;
}

.right-panel {
    width: 100%;
    padding: 0 0 0 0;
    display: flex;
    flex-direction: column;
}
.accordionItemText {
    background-color: #fff8f8;
    padding-top: 16px;
    font-family: Roboto;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    text-align: center;
}

#donationWizard {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.tab-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    margin-top: 48px;
}

#step1,
#step2,
#step3,
#step4 {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.stepper-indicator {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 80px;
}
.amount-control-wrapper {
    max-width: 960px;
    padding: 0 80px;
    margin: 0 auto;
}
.price-section {
    max-width: 960px;
    padding: 0 80px;
    margin: 0 auto;
}

/* =========================
   Stepper
   ========================= */
.stepper-indicator-wrapper {
    width: 100%;
    box-shadow: 0px 4px 36px 0px #fcebec;
}

.stepper-indicator {
    margin-bottom: 32px;
}
.spacer-48 {
    height: 48px;
    width: 100%;
}

.stepper.stepper-edge {
    --circle: 48px;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
}

.stepper.stepper-edge::before {
    content: "";
    position: absolute;
    top: calc(var(--circle) / 2);
    left: calc(var(--circle) / 2);
    right: calc(var(--circle) / 2);
    height: 1px;
    background: var(--gray-200);
    z-index: 0;
}

.stepper.stepper-edge::after {
    content: "";
    position: absolute;
    top: calc(var(--circle) / 2);
    left: calc(var(--circle) / 2);
    height: 1px;
    width: 0;
    background: var(--red-500);
    z-index: 0;
}

#donationWizard:has(#step1-tab.active) .stepper.stepper-edge::after {
    width: 0;
}
#donationWizard:has(#step2-tab.active) .stepper.stepper-edge::after {
    width: calc((100% - var(--circle)) * 0.3333);
}
#donationWizard:has(#step3-tab.active) .stepper.stepper-edge::after {
    width: calc((100% - var(--circle)) * 0.6666);
}
#donationWizard:has(#step4-tab.active) .stepper.stepper-edge::after {
    width: calc(100% - var(--circle));
}

.stepper.stepper-edge .step {
    flex: 0 0 auto;
    position: relative;
    text-align: center;
}
.stepper.stepper-edge .step .nav-link {
    background: none;
    border: 0;
    padding: 0;
    color: var(--gray-200);
}

.stepper.stepper-edge .step .step-index {
    width: var(--circle);
    height: var(--circle);
    line-height: var(--circle);
    border-radius: 50%;
    border: 1.5px solid var(--gray-200);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 24px;
    background: #fff;
    color: var(--gray-200);
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.stepper.stepper-edge .step:first-child .step-index,
.stepper.stepper-edge .step:last-child .step-index {
    padding-right: 1px;
}

.stepper.stepper-edge .nav-link.active .step-index {
    background: var(--red-500);
    color: #fff;
    border-color: var(--red-500);
}

.stepper.stepper-edge .step:has(~ .step .nav-link.active) .step-index {
    background: var(--red-300);
    color: #fff;
    border-color: var(--red-300);
}

.step .step-label {
    display: none !important;
}

.step-title {
    font-size: 28px;
    font-weight: 800;
    color: var(--red-700);
    line-height: 1.2;
    text-align: center;
    margin-bottom: 0;
}
.step-title span {
    display: none;
    font-size: 32px;
    font-family: "Montserrat Alternates", sans-serif;
    line-height: 120%;
    font-weight: 700;
}
#donationWizard:has(#step1-tab.active) .step-title [data-step="1"] {
    display: inline;
}
#donationWizard:has(#step2-tab.active) .step-title [data-step="2"] {
    display: inline;
}
#donationWizard:has(#step3-tab.active) .step-title [data-step="3"] {
    display: inline;
}
#donationWizard:has(#step4-tab.active) .step-title [data-step="4"] {
    display: inline;
}

.donation-amount-section.choose-frequency {
    margin-bottom: 64px;
}
.donation-amount-section.choose-amount {
    margin-bottom: 12px;
}
.donation-frequency {
    width: 480px;
    border: 1px solid var(--red-300);
    border-radius: 9999px;
    overflow: hidden;
    padding: 8px;
    background-color: var(--red-200);
    display: inline-flex;
}
.donation-frequency .btn {
    max-width: 232px;
    flex: 1;
    background: transparent;
    color: #000;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 140%;
    padding: 8px 0;
    border: 0;
}
.donation-frequency .btn.active,
.donation-frequency .btn:active {
    background: #de3340;
    color: #fff;
    border-radius: 9999px;
}

.price-section {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 12px;
}
.price-section button {
    border: 1px solid #bab4b4;
    border-radius: 8px;
    font-family: "Roboto", sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 140%;
    color: #222;
    padding: 14px;
    background-color: #fff;
}
.price-section button:hover,
.price-section button:active,
.price-section button:focus {
    background-color: #de3340;
    color: #fff;
}

.amount-control {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 14px;
    border: 1px solid #bab4b4;
    border-radius: 8px;
    background: #fff;
}
.amount-control::before,
.amount-control::after {
    content: "";
    flex: 1 1 0;
}
.amount-control .currency {
    font-family: Roboto;
    font-weight: 600;
    color: #111;
    flex: 0 0 auto;
    margin-left: 50px;
    font-size: 18px;
}
.amount-control > .amount-input.form-control {
    width: 104px;
    text-align: justify;
    padding: 0 !important;
    border: 0 !important;
    font-family: Roboto;
    line-height: normal;
    font-size: 18px;
}
.amount-control .amount-input::placeholder {
    color: #bab4b4;
}

.next-wrapper {
    margin-top: auto;
    background-color: #fcebec;
    width: 100%;
    border-top: 1px solid #de3340;
    position: absolute;
    bottom: 0;
    width: 100%;
}
#step1 .next-content-wrapper {
    max-width: 1024px;
    display: flex;
    align-items: center;
    justify-content: end;
    margin: 0 auto;
}
#step2 .next-content-wrapper,
#step3 .next-content-wrapper,
#step4 .next-content-wrapper {
    max-width: 800px;
    display: flex;
    align-items: center;
    justify-content: end;
    margin: 0 auto;
}
.next-wrapper .btn {
    margin-right: 112px;
    margin-top: 40px;
    margin-bottom: 40px;
}

#step2 .next-wrapper .btn,
#step3 .next-wrapper .btn {
    margin-right: 0px;
}
#step2 .next-content-wrapper,
#step3 .next-content-wrapper,
#step4 .next-content-wrapper {
    justify-content: space-between;
}
#step2 .form-item {
    margin-top: 26px;
}
#step2 .form-item:first-child,
#step2 .entity-col.form-item {
    margin-top: 8px;
}
#step2 .form-item:last-child {
    margin-top: 28px;
    margin-bottom: 0px;
}

#step2 .receipt_naming {
    margin-top: 18px;
    margin-bottom: 24px;
}
#donor_type.is-placeholder,
#salutation.is-placeholder {
    color: #bab4b4;
}
#step2 .form-control,
#step2 .form-select {
    padding: 8px 16px;
    height: 40px;
    border: 1px solid #bab4b4;
    border-radius: 8px;
}
#step2 .form-check-label {
    cursor: pointer;
}
#step2 .form-control::placeholder {
    color: #bab4b4;
}
#step2 .receipt-wrapper {
    margin-left: 24px;
    display: inline;
}
#step2 .form-check-label {
    font-size: 16px;
}

#step2 .form-check {
    padding-right: 40px;
    margin: 0;
}
#step2 .form-check:last-child {
    padding-right: 0px;
}

#step2 .form-check-input {
    padding-right: 12px;
}
#step1 .content-wrapper,
#step2 .content-wrapper,
#step3 .content-wrapper,
#step4 .content-wrapper {
    height: 722px;
    flex: 1 1 auto;
}
#step2 .content-wrapper,
#step3 .content-wrapper,
#step4 .content-wrapper {
    padding: 0 80px;
    /*margin: 0 auto 48px auto;*/
    margin: 0 auto;
    max-width: 960px;
    width: 100%;
    /* min-height: 722px; */
}
#step3 .content-wrapper.is-open {
    height: 767px;
}

#step4 .content-wrapper {
    max-width: 800px;
}
#step4 .next-wrapper .btn {
    margin-right: 0;
}
/* =========================
   Buttons / Form / Misc
   ========================= */

.btn-red,
.btn-outline-dark {
    background: #de3340;
    color: #fff;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 100%;
    border-radius: 4px;
    background-color: #de3340;
    padding: 12px 24px;
}
.btn-red:hover,
.btn-red:active {
    background: var(--red-500) !important;
    color: #fff !important;
    border: 1px solid #de3340 !important;
}

.btn-outline-dark,
.btn-outline-dark:hover,
.btn-outline-dark:active {
    border: 1px solid #b22933 !important;
    color: #b22933 !important;
    background: none !important;
}
.back-arrow,
.next-arrow {
    width: 16px;
    padding-bottom: 2px;
}
.form-select {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
}
.form-label {
    font-family: "Roboto", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 140%;
    margin-bottom: 6px;
}
.form-text {
    font-size: 0.95rem;
    color: #555;
}

.form-check-input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    background-image: none !important;
    --size: 16px;
    width: var(--size);
    height: var(--size);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    padding: 0;
    line-height: 1;
    cursor: pointer;
    background-color: #fff;
}

.form-check-input[type="radio"]::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #de3340;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 120ms ease-in-out;
}

.form-check-input[type="radio"]:checked {
    background-color: #ffe7ea;
    border-color: #de3340;
}
.form-check-input[type="radio"]:checked::before {
    transform: translate(-50%, -50%) scale(1);
}
.btn[disabled] {
    opacity: 0.6;
    pointer-events: none;
}

.donation-method-btn {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 150%;
}
.donation-method-btn:hover,
.donation-method-btn:focus {
    border-color: #000;
    background: #f6f6f6;
    text-decoration: none;
    color: #000;
}

.accordion-button {
    display: block;
    text-align: center;
}
/* remove Bootstrap’s default styles */
.accordion-button:not(.collapsed)::after,
.accordion-button::after {
    background-image: none;
}
.accordion-button.donation-method-btn {
    background: #fff8f8;
    color: #b22933;
}
.accordion-button.donation-method-btn.collapsed {
    color: #222222;
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    display: block;
    text-align: center;
    border: 1px solid #f2adb3;
}
.accordion-item:has(.accordion-collapse.show) {
    border: 2px solid #de3340;
    border-radius: 8px;
    overflow: hidden;
}

.accordion-button .pm-arrow-collapsed,
.accordion-button .pm-arrow-expanded {
    background-repeat: no-repeat;
    background-size: 24px 24px;
    background-position: center;
    width: 24px;
    height: 24px;
    margin-left: auto;
    position: absolute;
    top: 19px;
    right: 19px;
}

.accordion-button .pm-arrow-expanded {
    display: none;
}
.accordion-button:not(.collapsed) {
    box-shadow: none;
    padding-bottom: 0px;
}

.accordion-button:not(.collapsed) .pm-arrow-collapsed {
    display: none;
}
.accordion-button:not(.collapsed) .pm-arrow-expanded {
    display: block;
}
.accordion-item {
    border: 0px;
    margin-bottom: 12px !important;
    background-color: #fff8f8;
}

.accordion .collapsing {
    transition: none !important;
}
.accordion-body {
    background-color: #fff8f8;
    padding: 8px 32px 24px 32px;
}
.accordion-body.end .uploader {
    margin-bottom: 0;
}
.accordion-button.donation-method-btn {
    font-weight: 600;
}

.paydollar-image-wrapper.nonMonthly {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
    width: 335px;
    margin: 0 auto;
    padding-left: 0px;
    padding-right: 0px;
}
.paydollar-image {
    width: 52.5px;
    height: 36px;
}
.paydollar-image-wrapper.monthlyShow {
    width: 100%;
}
table.summary-table {
    border-collapse: separate !important;
}
.summary-table {
    width: 100%;
    background: #fff8f8;
    border: 1px solid #de3340;
    border-radius: 4px;
    margin-bottom: 24px;
    font-size: 16px;
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    line-height: 140%;
    padding: 24px;
}
.summary-table th,
.summary-table td {
    vertical-align: top;
    border: none;
}
.summary-table th {
    font-weight: 600;
    width: 224px;
    color: #222;
    background: transparent;
    font-family: "Roboto Condensed", sans-serif;
}
.summary-table td {
    color: #222;
    background: transparent;
}
#step4 .form-check-label {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
}
#step4 .form-check {
    margin-bottom: 16px;
}
.form-check a {
    color: #000;
    text-decoration: underline;
}
#step4 .form-check-input {
    width: 16px;
    height: 16px;
    border-radius: 4px;
}
#step4 .form-check {
    padding-left: 28px;
}

/* =========================
   Typography
   ========================= */
.main-title,
.fw-bold {
    font-family: "Montserrat Alternates", sans-serif;
    font-weight: 700;
    color: var(--red-700);
}
.main-title {
    font-size: 52px;
    line-height: 120%;
    margin-bottom: 32px;
}
.main-title.fundraiser {
    width: 213px;
}
.main-text {
    font-size: 20px;
    line-height: 150%;
    margin-bottom: 0;
    font-weight: 400;
    max-width: 272px;
}

.montserrat-alternates-thin {
    font-family: "Montserrat Alternates", sans-serif;
    font-weight: 100;
    font-style: normal;
}
.montserrat-alternates-extralight {
    font-weight: 200;
    font-style: normal;
}
.montserrat-alternates-light {
    font-weight: 300;
    font-style: normal;
}
.montserrat-alternates-regular {
    font-weight: 400;
    font-style: normal;
}
.montserrat-alternates-medium {
    font-weight: 500;
    font-style: normal;
}
.montserrat-alternates-semibold {
    font-weight: 600;
    font-style: normal;
}
.montserrat-alternates-bold {
    font-weight: 700;
    font-style: normal;
}
.montserrat-alternates-extrabold {
    font-weight: 800;
    font-style: normal;
}
.montserrat-alternates-black {
    font-weight: 900;
    font-style: normal;
}
.montserrat-alternates-thin-italic {
    font-weight: 100;
    font-style: italic;
}
.montserrat-alternates-extralight-italic {
    font-weight: 200;
    font-style: italic;
}
.montserrat-alternates-light-italic {
    font-weight: 300;
    font-style: italic;
}
.montserrat-alternates-regular-italic {
    font-weight: 400;
    font-style: italic;
}
.montserrat-alternates-medium-italic {
    font-weight: 500;
    font-style: italic;
}
.montserrat-alternates-semibold-italic {
    font-weight: 600;
    font-style: italic;
}
.montserrat-alternates-bold-italic {
    font-weight: 700;
    font-style: italic;
}
.montserrat-alternates-extrabold-italic {
    font-weight: 800;
    font-style: italic;
}
.montserrat-alternates-black-italic {
    font-weight: 900;
    font-style: italic;
}

/* =========================
   Tabs (Bootstrap)
   ========================= */
.nav-tabs {
    border-bottom: 2px solid var(--red-200);
    margin-bottom: 2rem;
    justify-content: flex-start;
    gap: 2rem;
}
.nav-tabs .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    background: none;
    color: #bbb;
    font-size: 1.2rem;
    font-weight: 600;
    padding-left: 0;
    padding-right: 0;
    min-width: 140px;
    text-align: left;
    transition: color 0.2s, border-bottom 0.2s;
}
.nav-tabs .nav-link.active {
    color: var(--red-700);
    border-bottom: 2px solid var(--red-700);
    background: none;
}
.nav-tabs .nav-link:hover {
    color: var(--red-300);
    border-bottom: 2px solid var(--red-700);
    background: none;
}
.nav-tabs .nav-link span {
    display: block;
    font-size: 1rem;
    font-weight: 400;
}
.accordion-body th,
.accordion-body td {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: #222222;
}
.accordion-body th {
    font-weight: 600;
    width: 136px;
}
.accordion-body table {
    margin-bottom: 16px;
}
.accordion-body a {
    font-family: Roboto;
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    text-align: right;
    text-decoration: underline;
    text-decoration-style: solid;
    color: #b22933;
    text-align: right;
    display: flex;
    justify-content: flex-end;
}
/* upload file */
.uploader {
    display: flex;
    align-items: center;
    border: 1px solid #f2adb3;
    background: #fff;
    border-radius: 8px;
    padding: 8px;
    margin: 16px 0;
}
.uploader.is-error {
    margin-bottom: 3px;
}
.uploader-input {
    display: none;
}

.uploader-btn,
.uploader-btn:active,
.uploader-btn:hover {
    line-height: 1;
    padding: 8px 12px;
    margin-right: 16px;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 100%;
    color: #666666 !important;
    background-color: #e7e7e7 !important;
    border-radius: 4px;
}
.uploader-remove {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    text-decoration: underline;
    text-decoration-style: solid;
    color: #bab4b4;
    margin-left: 14px;
}
.uploader-text {
    color: #bab4b4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
}
.uploader-text.has-file {
    color: #222222;
}
.uploader-remove {
    background: none;
    border: 0;
    color: #999;
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
}
.uploader-remove:hover {
    color: #c00;
}

.chequeBold {
    font-weight: 600;
}
.paymethodNote {
    text-align: center;
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-style: Italic;
    font-size: 14px;
    line-height: 140%;
    color: #b22933;
    margin-top: 16px;
}
.payMethodQRImage {
    width: 335px;
    margin-bottom: 16px;
    margin-top: 8px;
}
.payMethodQRImageMobile {
    display: none;
}
/* =========================
   Error Msg
   ========================= */

.form-label-validate,
.formInputError,
.form-check {
    position: relative;
}
.formErrorArrow {
    display: none;
}
.formError {
    position: static;
    display: block;
    top: auto !important;
    left: 0 !important;
    bottom: -22px;
    margin-top: 0 !important;
    opacity: 1 !important;
    font-family: Roboto;
    font-weight: 400;
    font-style: Regular;
    font-size: 14px;
    line-height: 140%;
}
.formErrorContent {
    font-family: Roboto;
    font-weight: 400;
    font-style: Regular;
    font-size: 14px;
    line-height: 140%;
    color: #b22933;
}

/* =========================
   Responsive
   ========================= */
@media (max-width: 1440px) {
    .next-wrapper {
        max-width: 1440px;
        padding: 0 80px;
    }
    .next-wrapper .btn {
        margin-right: 0;
    }
}
@media (max-width: 1380px) {
    .next-wrapper {
        max-width: 1440px;
        padding: 0 80px;
    }
    .next-wrapper .btn {
        margin-right: 0;
    }
}

@media (max-width: 1024px) {
    .main-title.fundraiser {
        width: auto;
    }
    .amount-control > .amount-input.form-control {
        font-size: 16px;
        line-height: inherit;
    }
    #step2 .content-wrapper.is-open {
        height: 743px;
    }
    .accordion-body a {
        font-size: 12px;
        justify-content: center;
    }
    .accordionItemText {
        font-size: 14px;
    }
    .donation-frequency .btn,
    .amount-control .currency {
        font-size: 16px;
    }
    #step4 .form-check-label {
        font-size: 12px;
    }
    .accordion-body th,
    .accordion-body td {
        font-size: 14px;
    }
    .accordion-body table {
        margin-bottom: 12px;
    }
    .next-content-wrapper {
        margin: 0;
    }
    .content-wrapper {
        height: 490px;
    }
    .step-title span {
        font-size: 28px;
    }
    .content-sub-title {
        font-size: 16px;
    }
    .donation-amount-section.choose-frequency {
        margin-bottom: 48px;
    }

    .donation-wrapper {
        flex-direction: column;
    }
    .left-panel {
        width: 100%;
        height: auto;
    }

    .left-panel img.bg-table-left {
        display: block;
        width: 92px;
        position: absolute;
        left: 0;
        top: 0;
    }
    .left-panel img.bg-table-right {
        display: block;
        width: 108px;
        position: absolute;
        right: 0;
        top: 0;
    }
    .left-panel img.bg-mobile-left,
    .left-panel img.bg-mobile-right,
    .left-panel img.bg-desktop-top,
    .left-panel img.bg-desktop-bottom {
        display: none;
    }
    .stepper.stepper-edge {
        --circle: 32px;
        margin: 0 0 12px 0;
    }
    .stepper.stepper-edge .step .step-index {
        font-size: 16px;
    }
    .spacer-48 {
        height: 32px;
    }
    .stepper-indicator {
        margin-bottom: 24px;
        padding: 0 64px;
        max-width: 928px;
    }

    .next-wrapper {
        max-width: 1024px;
        padding: 0 64px;
        margin-top: auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        background-color: #fcebec;
        width: 100%;
        border-top: 1px solid #de3340;
        position: fixed;
        z-index: 999999;
    }
    #step1 .content-wrapper,
    #step2 .content-wrapper,
    #step3 .content-wrapper,
    #step4 .content-wrapper {
        height: 554px;
    }
    #step2 .content-wrapper.is-open,
    #step3 .content-wrapper.is-open {
        height: 554px;
    }

    .next-wrapper .btn {
        margin-right: calc(48px - (1024px - 100vw) * 0.5);
        margin-top: 16px;
        margin-bottom: 16px;
    }
    .price-section,
    .amount-control-wrapper {
        padding: 0 64px;
        max-width: 928px;
    }
    .left-panel {
        background: none;
        background-color: #de3340;
        padding: 48px 32px;
    }
    .main-title-wrapper {
        margin: 0 auto;
    }
    .main-title {
        margin-bottom: 16px;
        font-size: 44px;
        text-align: center;
    }
    .main-text {
        font-size: 16px;
        max-width: 445px;
        text-align: center;
    }
    #step1 .next-content-wrapper {
        margin: 0;
    }

    .amount-control,
    .form-control,
    #step2 .form-label,
    #step2 .form-select,
    #step2 .form-check-label {
        font-size: 14px;
    }
    .price-section button {
        font-size: 16px;
    }

    #step2 .content-wrapper,
    #step3 .content-wrapper,
    #step4 .content-wrapper {
        padding: 0 64px;
    }

    #step2 .form-item:first-child,
    #step2 .entity-col.form-item {
        margin-top: 12px;
    }
    #step2 .form-item,
    #step2 .form-item:last-child,
    #step2 .receipt_naming {
        margin-top: 16.75px;
    }
    #step2 .receipt-title {
        margin-top: 19px;
    }
    #step2 .next-wrapper,
    #step3 .next-wrapper,
    #step4 .next-wrapper {
        display: block;
    }
    .donation-method-btn {
        font-size: 16px;
    }
    .accordion-body {
        padding: 8px 16px 16px 16px;
    }
    .uploader-text {
        font-size: 14px;
    }
    .paymethodNote {
        font-size: 12px;
        margin-top: 12px;
    }
    .accordion-button .pm-arrow-collapsed,
    .accordion-button .pm-arrow-expanded {
        top: 17px;
    }
    #step4 .content-sub-title,
    #step2 .content-sub-title,
    #step3 .content-sub-title {
        margin-bottom: 12px;
    }

    .summary-table {
        margin-bottom: 12px;
        font-size: 14px;
        padding: 16px;
    }
    .summary-table th {
        width: 220px;
    }
    #step4 .content-wrapper {
        max-width: 768px;
    }
    #step2
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        )
        .formError {
        bottom: -14px;
        right: auto;
        margin-top: 0 !important;
    }
    #step2 .form-selected .formError {
        top: auto !important;
        bottom: -14px;
        left: 4px !important;
    }
    #step2 .input .formError {
        bottom: -21px !important;
    }
}

@media (max-width: 920px) {
    .next-wrapper {
        padding: 0 64px;
    }
    .next-wrapper .btn {
        margin-right: 0;
    }
}
@media (max-width: 767px) {
    .amount-control > .amount-input.form-control {
        font-size: 14px;
        line-height: inherit;
    }
    .price-section button,
    .amount-control .currency,
    .donation-frequency .btn {
        font-size: 14px;
    }

    .paydollar-image-wrapper.nonMonthly {
        padding: 8px 0 12px 0;
        width: 287px;
    }

    .accordion-button.donation-method-btn.collapsed {
        padding: 12px;
    }
    .btn-red,
    .btn-outline-dark {
        padding: 8px 12px;
    }
    .content-wrapper {
        margin-bottom: 0px;
        height: 464px;
    }
    .left-panel {
        padding: 40px 32px;
        overflow: hidden;
    }
    .left-panel img.bg-mobile-right {
        display: block;
        width: 79px;
        position: absolute;
        top: 0;
        right: 0;
    }
    .left-panel img.bg-mobile-left {
        display: block;
        width: 84px;
        position: absolute;
        left: 0;
        top: 0;
    }
    .left-panel img.bg-table-left,
    .left-panel img.bg-table-right,
    .left-panel img.bg-desktop-top,
    .left-panel img.bg-desktop-bottom {
        display: none;
    }
    .stepper.stepper-edge {
        --circle: 12px;
    }
    .stepper.stepper-edge .step .step-index {
        font-size: 0;
        color: transparent;
    }
    .step-title span {
        font-size: 24px;
    }
    .content-sub-title {
        font-size: 14px;
    }
    .stepper.stepper-edge::before,
    .stepper.stepper-edge::after {
        top: calc(var(--circle) / 0.7);
    }
    .donation-amount-section.choose-frequency {
        margin-bottom: 40px;
    }
    .stepper-indicator {
        margin-bottom: 12px;
    }
    .stepper-indicator,
    .next-wrapper {
        padding: 0 24px;
        max-width: 100%;
    }
    .next-wrapper {
        max-width: none;
    }
    .spacer-48 {
        height: 4px;
    }
    .step-title span {
        font-size: 24px;
    }
    .content-sub-title {
        font-size: 14px;
    }
    .donation-amount-section.choose-frequency {
        margin-bottom: 40px;
    }
    .tab-content {
        margin-top: 24px;
    }
    .main-title {
        margin-bottom: 8px;
        font-size: 32px;
    }
    .main-text {
        font-size: 14px;
        max-width: 305px;
    }
    .price-section,
    .amount-control-wrapper,
    .stepper-indicator,
    .next-wrapper,
    #step2 .next-wrapper,
    #step2 .content-wrapper,
    #step3 .content-wrapper,
    #step4 .content-wrapper {
        padding: 0 32px;
    }
    .price-section,
    .donation-amount-section.choose-amount {
        margin-bottom: 8px;
        gap: 8px;
    }
    .donation-frequency {
        width: 311px;
        padding: 4px;
    }
    .next-wrapper .btn {
        margin-right: 0px;
        margin-top: 16px;
        margin-bottom: 16px;
    }
    #step2 .form-item:first-child,
    #step2 .entity-col.form-item {
        margin-top: 8px;
    }
    #step2 .form-item,
    #step2 .form-item:last-child,
    #step2 .entity-col.form-item,
    #step2 .receipt_naming {
        margin-top: 12px;
    }
    #step2 .receipt-title {
        margin-top: 16px;
    }
    #step1 .content-wrapper {
        height: 472px;
    }
    #step2 .content-wrapper {
        height: 657px;
    }
    #step3 .content-wrapper {
        height: 472px;
    }
    #step4 .content-wrapper {
        height: 750px;
    }

    #step2 .content-wrapper.is-open {
        height: 743px;
    }
    #step2 .content-wrapper.is-open-all {
        height: 842px;
    }
    #step3 .content-wrapper.is-open {
        height: 602px;
    }
    .donation-method-btn {
        font-size: 14px;
    }
    .accordion-body {
        padding: 8px 12px 12px 12px;
    }
    .accordion-item {
        border: 0px;
        margin-bottom: 8px !important;
    }
    .uploader-btn,
    .uploader-btn:active,
    .uploader-btn:hover {
        margin-right: 12px;
        font-size: 14px;
    }
    .uploader {
        margin: 12px 0;
    }
    .accordion-body tbody,
    .accordion-body th,
    .accordion-body td {
        display: grid;
    }
    .accordion-body tr:not(:last-child) {
        margin-bottom: 8px;
    }
    .payMethodQRImage {
        display: none;
    }
    .payMethodQRImageMobile {
        display: flex;
        gap: 4px;
        margin: 8px auto 12px auto;
        justify-content: center;
    }
    .payMethodQRImageMobile Img {
        width: 52.5px;
    }
    .accordion-button .pm-arrow-collapsed,
    .accordion-button .pm-arrow-expanded {
        top: 14px;
    }
    #step4 .content-sub-title,
    #step2 .content-sub-title,
    #step3 .content-sub-title {
        margin-bottom: 8px;
    }
    #step2 .content-sub-title {
        /* left: -4px; */
        position: relative;
    }
    .summary-table {
        margin-bottom: 16px;
        padding: 12px;
    }

    .summary-table td,
    .summary-table tr {
        /* display: block; */
        width: auto;
    }
    .summary-table th {
        width: 108px;
    }
    .summary-table tr:not(:last-child) {
        margin-bottom: 4px;
    }
    .accordion-button {
        padding-top: 12px;
    }
    /* error msg margin issue */
    #step2
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        ) {
        height: 80px;
    }
    #step2
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        )
        .formError {
        bottom: -11px;
        right: auto;
        margin-top: 0 !important;
    }
    #step2 .form-selected .formError {
        top: auto !important;
        bottom: -11px;
        left: 4px !important;
    }
    #step2 .input .formError {
        bottom: -21px !important;
    }
}
@media (max-width: 375px) {
    .paydollar-image-wrapper.nonMonthly {
        width: 100%;
    }
}
/* thank you page*/
.right-panel.thank-you,
#donationWizard,
.thank-you-wrapper {
    width: 100%;
}

.thank-you-wrapper {
    position: relative;
    height: 100vh !important;
    height: 100svh !important;
    height: 100dvh !important;
    min-height: 640px;
    overflow: hidden;
    margin: 0;
    z-index: 1;
    background: url("../img/thank-you-img.jpg") center bottom / cover no-repeat !important;
    --fog-w: 610px;
    --fog-h: 412px;
    --fog-alpha: 0.18;
    --fog-blur: 18px;
}
.foggy_effect_bg {
    width: 610px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    flex-direction: column;
    top: 20%;
}
.thank-you-wrapper .title-wrapper {
    position: absolute;
    left: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 9;
    padding: 40px;
    background-color: #fff;
    border: 2px solid var(--Color-Red-500, #de3340);
    border-radius: 24px;
    max-width: 600px;
    top: 50%;
    transform: translate(-50%, -50%);
}
.thank-you-wrapper .title {
    font-family: "Montserrat Alternates", sans-serif;
    font-weight: 700;
    font-style: Bold;
    font-size: 52px;
    line-height: 120%;
    text-align: center;
    color: #b22933;
    margin-bottom: 8px;
}
.thank-you-wrapper .text {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-style: Regular;
    font-size: 20px;
    line-height: 150%;
    text-align: center;
    color: #222222;
    margin-bottom: 32px;
}
.thank-you-wrapper .button {
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 600;
    font-style: SemiBold;
    font-size: 16px;
    line-height: 100%;
    text-align: right;
    padding: 12px 24px;
    background-color: #de3340;
    color: #ffffff;
    text-decoration: none;
    border-radius: 4px;
}
.thank-you-wrapper .thank-you-home-img {
    width: 16px;
    margin-left: 8px;
}
@media (max-width: 1024px) {
    .left-panel.thank-you {
        display: none !important;
    }
    .thank-you-wrapper .title-wrapper {
        top: 272px;
        padding: 32px;
        border-radius: 16px;
        max-width: 400px;
    }
    .thank-you-wrapper .title {
        font-size: 44px;
    }
    .thank-you-wrapper .text {
        font-size: 16px;
    }
    .thank-you-wrapper {
        aspect-ratio: 1024 / 1024;
        width: min(100%, 1024px);
    }
}
@media (max-width: 767px) {
    .thank-you-wrapper .title-wrapper {
        width: 327px;
        padding: 24px 31.5px;
        border-radius: 8px;
        border: 1px solid var(--Color-Red-500, #de3340);
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
    .thank-you-wrapper .title {
        font-size: 32px !important;
    }
    .thank-you-wrapper .text {
        font-size: 14px !important;
    }
    .thank-you-wrapper {
        aspect-ratio: 767 / 812;
        width: min(100%, 767px);
    }
}

/* start fundraiser */

#step1-fundraiser .content-sub-title,
#step2-fundraiser .content-sub-title,
#step3-fundraiser .content-sub-title,
#step4-fundraiser .content-sub-title {
    margin-bottom: 24px;
}

#step1-fundraiser,
#step2-fundraiser,
#step3-fundraiser,
#step4-fundraiser {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

#step1-fundraiser .next-content-wrapper,
#step2-fundraiser .next-content-wrapper,
#step3-fundraiser .next-content-wrapper,
#step4-fundraiser .next-content-wrapper {
    display: flex;
    justify-content: flex-end;
}

#step1-fundraiser .next-wrapper .btn,
#step2-fundraiser .next-wrapper .btn,
#step3-fundraiser .next-wrapper .btn,
#step4-fundraiser .next-wrapper .btn {
    margin-right: 0px;
}

#step1-fundraiser .form-item,
#step2-fundraiser .form-item,
#step3-fundraiser .form-item,
#step4-fundraiser .form-item {
    margin-top: 24px;
}

#step1-fundraiser .form-item:first-child,
#step1-fundraiser .entity-col.form-item,
#step2-fundraiser .form-item:first-child,
#step2-fundraiser .entity-col.form-item,
#step3-fundraiser .form-item:first-child,
#step3-fundraiser .entity-col.form-item,
#step4-fundraiser .form-item:first-child,
#step4-fundraiser .entity-col.form-item {
    margin-top: 8px;
}

#step1-fundraiser .form-item:last-child,
#step2-fundraiser .form-item:last-child,
#step3-fundraiser .form-item:last-child,
#step4-fundraiser .form-item:last-child {
    margin-top: 24px;
    margin-bottom: 0px;
}

#step1-fundraiser .form-control,
#step2-fundraiser .form-control,
#step3-fundraiser .form-control,
#step4-fundraiser .form-control,
#step1-fundraiser .form-select,
#step2-fundraiser .form-select,
#step3-fundraiser .form-select,
#step4-fundraiser .form-select {
    padding: 8px 16px;
    height: 40px;
    border: 1px solid #bab4b4;
    border-radius: 8px;
}

#step1-fundraiser .form-check-label,
#step2-fundraiser .form-check-label,
#step3-fundraiser .form-check-label,
#step4-fundraiser .form-check-label {
    cursor: pointer;
}

#step1-fundraiser .form-control::placeholder,
#step2-fundraiser .form-control::placeholder,
#step3-fundraiser .form-control::placeholder,
#step4-fundraiser .form-control::placeholder {
    color: #bab4b4;
}

#step1-fundraiser .form-check-label,
#step2-fundraiser .form-check-label,
#step3-fundraiser .form-check-label,
#step4-fundraiser .form-check-label {
    font-size: 16px;
}

#step1-fundraiser .form-check,
#step2-fundraiser .form-check,
#step3-fundraiser .form-check,
#step4-fundraiser .form-check {
    padding-right: 40px;
    margin: 0;
}

#step1-fundraiser .form-check:last-child,
#step2-fundraiser .form-check:last-child,
#step3-fundraiser .form-check:last-child,
#step4-fundraiser .form-check:last-child {
    padding-right: 0px;
}

#step1-fundraiser .form-check-input,
#step2-fundraiser .form-check-input,
#step3-fundraiser .form-check-input,
#step4-fundraiser .form-check-input {
    padding-right: 12px;
}

#step1-fundraiser .content-wrapper,
#step2-fundraiser .content-wrapper,
#step3-fundraiser .content-wrapper,
#step4-fundraiser .content-wrapper {
    height: 722px;
    flex: 1 1 auto;
}

#step1-fundraiser .content-wrapper,
#step2-fundraiser .content-wrapper,
#step3-fundraiser .content-wrapper,
#step4-fundraiser .content-wrapper {
    padding: 0 80px;
    margin: 0 auto;
    max-width: 960px;
    width: 100%;
}

/* #step2-fundraiser */
#step2-fundraiser .prefixedField-control {
    /* display: block; */
    padding: 6px 12px;
    height: 40px;
    display: flex;
    align-items: center;
    border: 1px solid #bab4b4;
    border-radius: 8px;
    /* gap: 4px; */
}
#step2-fundraiser .targe-amount {
    gap: 4px;
}
#step2-fundraiser .prefixedField-control input {
    border: 0;
    height: auto;
    padding: 0;
    font-family: Roboto;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0%;
}

#step2-fundraiser .form-control {
    display: inline-block;
    height: 40px;
    display: inline-block;
    height: 40px;
    width: 100%;
    border: 1px solid #babab4;
    font-size: 16px;
}
#step2-fundraiser .amount-control > .amount-input.form-control {
    height: auto;
}
#step2-fundraiser .prefixedField {
    margin-top: 8px;
}
#step2-fundraiser .currency,
#step2-fundraiser .url {
    margin-left: 0 !important;
    font-family: Roboto;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
}
#step2-fundraiser .currency {
    min-width: 36px;
}
#step2-fundraiser .description {
    min-height: 99px;
    height: auto;
    resize: vertical;
    overflow: hidden;
    field-sizing: content;
}
#step1-fundraiser .next-content-wrapper {
    max-width: 800px;
    margin: 0 auto;
}
#step2-fundraiser .next-content-wrapper,
#step3-fundraiser .next-content-wrapper,
#step4-fundraiser .next-content-wrapper {
    display: flex;
    justify-content: space-between;
    max-width: 800px;
    margin: 0 auto;
}

/* step3 */
#step3-fundraiser .row-wrapper {
    display: flex;
    gap: 16px;
}

#step3-fundraiser .single-upload-box {
    border: 2px dashed #dee2e6;
    border-radius: 8px;
    height: 140px;
    position: relative;
    cursor: pointer;
    background: #fff;
    transition: all 0.3s;
}

#step3-fundraiser .single-upload-box.has-images .img-wrapper {
    border: 1px solid #bab4b4;
    background: #fafafa;
    padding: 4px;
    border-radius: 4px;
    position: absolute;
}

#step3-fundraiser .multi-upload-box {
    border: 2px dashed #dee2e6;
    border-radius: 8px;
    padding: 15px;
    background: #fff;
}

#step3-fundraiser .upload-grid {
    display: flex;
    gap: 15px;
}

#step3-fundraiser .upload-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 10px;
    gap: 8px;
    background: transparent;
}

#step3-fundraiser .step3-text {
    font-family: Roboto;
    font-weight: 400;
    font-size: 12px;
    line-height: 140%;
    color: #999;
    margin-bottom: 6px;
}

#step3-fundraiser .upload-icon-circle {
    width: 32px;
    height: 32px;
}

#step3-fundraiser .img-fluid {
    background: transparent;
}

#step3-fundraiser .team-input {
    border: 1px solid #dee2e6;
    padding: 8px 12px;
    font-family: Roboto;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    margin-bottom: 6px;
}

#step3-fundraiser .upload-text {
    font-family: Roboto;
    font-weight: 400;
    font-size: 14px;
    line-height: 120%;
    letter-spacing: 0%;
    text-align: center;
    color: #999;
}

#step3-fundraiser #addTeamBtn {
    font-family: Roboto;
    font-weight: 700;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0%;
    text-decoration: none;
    color: #de3340;
}

#step3-fundraiser #addTeamBtn img {
    width: 20px;
    height: 20px;
}

#step3-fundraiser .upload-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 10px;
    position: relative;
}

#step3-fundraiser .preview-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

#step3-fundraiser .single-upload-box .preview-img {
    max-height: 110px;
}

#step3-fundraiser .grid-upload-item .preview-img {
    max-height: 90px;
}

#step3-fundraiser .remove-btn {
    position: absolute;
    top: 4px;
    right: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: none;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

#step3-fundraiser .info-icon-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

#step3-fundraiser .fundraisers-tooltip {
    width: 16px;
    height: 16px;
}

#step3-fundraiser .custom-tooltip {
    position: fixed;
    bottom: auto;
    top: auto;
    left: auto;
    transform: none;
    background: rgba(102, 102, 102, 0.9);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.4;
    white-space: normal;
    width: 185px;
    visibility: hidden;
    opacity: 0;
    z-index: 9999;
    pointer-events: none;
    font-family: Roboto;
    font-weight: 400;
    font-size: 10px;
    line-height: 14px;
}

#step3-fundraiser .custom-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: rgba(102, 102, 102, 0.9);
}

#step3-fundraiser .info-icon-wrapper:hover .custom-tooltip {
    visibility: visible;
    opacity: 1;
}

/* #step3-fundraiser .teams-list {
    max-height: 380px;
    overflow-y: auto;
} */

#step3-fundraiser .grid-upload-item {
    border: none;
    border-radius: 6px;
    height: 120px;
    position: relative;
    cursor: pointer;
    background: transparent;
    transition: all 0.3s;
    flex: 1;
}

/* #step3-fundraiser .single-upload-box.has-images {
    border: 1px solid #bab4b4;
    background: #fafafa;
} */
#step3-fundraiser .multi-upload-box.has-images .grid-upload-item {
    border: 1px solid #bab4b4;
    background: #fafafa;
}
#step3-fundraiser .grid-upload-item.has-file {
    border: 2px #dee2e6;
    background: #fff;
    padding: 0;
}

#step3-fundraiser .grid-upload-item.has-file .upload-preview {
    padding: 0;
}

#step3-fundraiser .grid-upload-item.has-file .preview-img {
    max-height: 110px;
    width: auto;
    object-fit: cover;
}

#step3-fundraiser .grid-upload-item:only-child {
    max-width: 50%;
    margin: 0 auto;
}

#step3-fundraiser .grid-upload-item.has-file .remove-btn img {
    width: 16px;
    height: 16px;
}
#step3-fundraiser .logo-wrapper {
    margin-bottom: 24px;
}
#step3-fundraiser .error-msg {
    width: 100%;
    position: relative;
    color: #b22933;
    font-family: Roboto;
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    margin-top: 6px;
}
/* scroll bar*/
#step3-fundraiser .row-wrapper {
    height: 500px;
    overflow: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
    margin-right: -80px;
    padding-right: 80px;
}
#step3-fundraiser {
    --sb-track: #ffffff;
    --sb-thumb: #dee2e6;
    --sb-thumb-hover: #ced4da;
    --sb-thumb-active: #c0c7cf;
    --sb-outline: rgba(0, 0, 0, 0.06);
}
@media (max-width: 1024px) {
    #step3-fundraiser .row-wrapper {
        height: 500px;
        margin-right: -40px;
        padding-right: 40px;
    }
}
@media (max-width: 767px) {
    #step3-fundraiser .row-wrapper {
        height: 579px;
        margin-left: -100px !important;
        padding-left: 100px !important;
    }
}
#step3-fundraiser .row-wrapper {
    scrollbar-width: thin;
    scrollbar-color: var(--sb-thumb) var(--sb-track);
}
/* --- Teams remove button --- */
#step3-fundraiser .team-item {
    position: relative;
    margin-bottom: 6px;
}

#step3-fundraiser .team-item .team-input {
    padding-right: 44px;
}

#step3-fundraiser .team-remove-btn {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 1;
}
#step3-fundraiser .team-remove-btn img {
    width: 20px;
    height: 20px;
    display: block;
}

/* step4*/
#step4-fundraiser .js-view-description,
#step4-fundraiser .js-view-teams {
    color: #222222;
}

#step4-fundraiser .osc-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1056;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

#step4-fundraiser .osc-modal {
    background: #fff;
    border-radius: 4px;
    max-width: 474px;
    width: 100%;
    padding: 13px 12px;
    position: relative;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    max-height: none !important;
}

#step4-fundraiser .osc-modal.team-popup {
    max-width: 248px;
}

#step4-fundraiser .osc-modal__header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    padding-right: 32px;
}

#step4-fundraiser .osc-modal__title {
    font-family: Roboto, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 140%;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
}
#step4-fundraiser .description-popup {
    padding: 20px;
}
#step4-fundraiser .description-popup .osc-modal__header {
    padding-right: 0px;
    margin-bottom: 12px;
}
#step4-fundraiser .description-popup .osc-modal__title {
    margin: 0 auto;
}

#step4-fundraiser .team-popup .osc-modal__title {
    text-align: left;
}
#step4-fundraiser .team-popup .osc-modal__header {
    padding-right: 0px;
    margin-bottom: 12px;
}
#step4-fundraiser .team-popup .osc-modal__header {
    align-items: flex-start;
    justify-content: flex-start;
}
#step4-fundraiser .osc-modal__close {
    position: absolute;
    right: 8px;
    top: 0px;
    background: transparent;
    border: 0;
    width: 24px;
    height: 24px;
    padding: 0;
    cursor: pointer;
}
#step4-fundraiser .osc-modal__close img {
    display: block;
    width: 24px;
    height: 24px;
}

#step4-fundraiser .osc-modal__body {
    max-height: 180px;
    overflow-y: auto;
    overflow-x: hidden;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    line-height: 1.6;
}

#step4-fundraiser .osc-modal__body .confirm-text {
    font-family: Roboto, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0;
    vertical-align: middle;
    margin: 0;
}

#step4-fundraiser .confirm-popup-team-item {
    list-style-type: decimal;
    margin: 0;
    padding: 0;
    list-style-position: outside;
    padding-left: 20px !important;
}

#step4-fundraiser .team-popup .osc-modal__body {
    max-height: 140px;
}

#step4-fundraiser .osc-modal__body::-webkit-scrollbar {
    width: 8px;
}
#step4-fundraiser .osc-modal__body::-webkit-scrollbar-track {
    background: #f3f3f3;
    border-radius: 4px;
}
#step4-fundraiser .osc-modal__body::-webkit-scrollbar-thumb {
    background: #cfcfcf;
    border-radius: 4px;
}
#step4-fundraiser .osc-modal__body:hover::-webkit-scrollbar-thumb {
    background: #b5b5b5;
}
#step4-fundraiser .osc-modal__body {
    scrollbar-width: thin;
    scrollbar-color: #cfcfcf #f3f3f3;
}
#step4-fundraiser .thank-you-popup {
    max-width: 720px;
    padding: 40px 72px;
    border: 2px solid #de3340;
    border-radius: 24px;
    position: relative;
    overflow: visible;
}

#step4-fundraiser .thank-you-popup .osc-modal__title {
    font-family: Montserrat Alternates;
    font-weight: 700;
    font-size: 52px;
    leading-trim: NONE;
    line-height: 120%;
    letter-spacing: 0%;
    text-align: center;
    color: #b22933;
    margin-bottom: 16px;
}
#step4-fundraiser .thank-you-popup .thankyou-popup p {
    font-family: Roboto;
    font-weight: 400;
    font-size: 20px;
    line-height: 150%;
    text-align: center;
    color: #222;
    margin-bottom: 32px;
}
#step4-fundraiser .thank-you-popup .osc-modal__header {
    margin-bottom: 0px;
}

.osc-modal.thank-you-popup .fundraisers-thank-you-santa {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -184px;
    width: 436px;
    height: auto;
    z-index: 2;
    pointer-events: none;
}
.osc-modal.thank-you-popup .back-button {
    display: flow;
}
#step4-fundraiser .next-wrapper {
    z-index: 1;
}
#step4-fundraiser .osc-modal.thank-you-popup .button {
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 600;
    font-style: SemiBold;
    font-size: 16px;
    line-height: 43px;
    text-align: right;
    padding: 12px 24px;
    background-color: #de3340;
    color: #ffffff;
    text-decoration: none;
    border-radius: 4px;
}
#step4-fundraiser .thank-you-popup .osc-modal__body {
    scrollbar-width: none;
}
#step4-fundraiser .thank-you-popup .thank-you-home-img {
    width: 16px;
    height: 16px;
    margin-left: 8px;
}
@media (min-width: 768px) {
    #step4-fundraiser .osc-modal__body {
        max-height: 70vh;
    }
}

@keyframes osc-modal-in {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1024px) {
    /* opened content wrapper */
    #step1-fundraiser .content-wrapper.is-open,
    #step2-fundraiser .content-wrapper.is-open,
    #step3-fundraiser .content-wrapper.is-open,
    #step4-fundraiser .content-wrapper.is-open {
        height: 743px;
    }

    /* base font size */
    .amount-control,
    .form-control,
    #step1-fundraiser .form-label,
    #step1-fundraiser .form-select,
    #step1-fundraiser .form-check-label,
    #step2-fundraiser .form-label,
    #step2-fundraiser .form-select,
    #step2-fundraiser .form-check-label,
    #step3-fundraiser .form-label,
    #step3-fundraiser .form-select,
    #step3-fundraiser .form-check-label,
    #step4-fundraiser .form-label,
    #step4-fundraiser .form-select,
    #step4-fundraiser .form-check-label {
        font-size: 14px;
    }

    /* content padding */
    #step1-fundraiser .content-wrapper,
    #step2-fundraiser .content-wrapper,
    #step3-fundraiser .content-wrapper,
    #step4-fundraiser .content-wrapper {
        padding: 0 64px;
    }

    /* first-item / entity-col margins */
    #step1-fundraiser .form-item:first-child,
    #step1-fundraiser .entity-col.form-item,
    #step2-fundraiser .form-item:first-child,
    #step2-fundraiser .entity-col.form-item,
    #step3-fundraiser .form-item:first-child,
    #step3-fundraiser .entity-col.form-item,
    #step4-fundraiser .form-item:first-child,
    #step4-fundraiser .entity-col.form-item,
    #step2-fundraiser .prefixedField {
        margin-top: 12px;
    }

    /* next wrapper */
    #step1-fundraiser .next-wrapper,
    #step2-fundraiser .next-wrapper,
    #step3-fundraiser .next-wrapper,
    #step4-fundraiser .next-wrapper {
        display: block;
    }

    /* content sub title */
    #step1-fundraiser .content-sub-title,
    #step2-fundraiser .content-sub-title,
    #step3-fundraiser .content-sub-title,
    #step4-fundraiser .content-sub-title {
        margin-bottom: 12px;
    }

    /* -----------------------------
       error msg margin issue
       ----------------------------- */

    /* error message position for row items */
    #step1-fundraiser
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        )
        .formError,
    #step2-fundraiser
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        )
        .formError,
    #step3-fundraiser
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        )
        .formError,
    #step4-fundraiser
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        )
        .formError {
        bottom: -14px;
        right: auto;
        margin-top: 0 !important;
    }

    #step2-fundraiser .descriptionField .formError .formErrorContent {
        left: 4px !important;
        top: -7px !important;
    }

    #step2-fundraiser .prefixedField .formError .formErrorContent {
        top: 8px;
    }

    /* error message position for selected */
    #step1-fundraiser .form-selected .formError,
    #step2-fundraiser .form-selected .formError,
    #step3-fundraiser .form-selected .formError,
    #step4-fundraiser .form-selected .formError {
        top: auto !important;
        bottom: -14px;
        left: 4px !important;
    }

    #step1-fundraiser .email .formErrorContent {
        left: 3px;
    }

    /* error message position for input */
    #step1-fundraiser .input .formError,
    #step2-fundraiser .input .formError,
    #step3-fundraiser .input .formError,
    #step4-fundraiser .input .formError {
        bottom: -21px !important;
    }

    #step3-fundraiser .team-input,
    #step3-fundraiser .team-input {
        font-size: 14px;
    }

    #step4-fundraiser .thank-you-popup {
        max-width: 640px;
        padding: 40px 40px;
    }
    #step4-fundraiser .thank-you-popup .osc-modal__title {
        font-size: 44px;
    }
    #step4-fundraiser .thank-you-popup .thankyou-popup p {
        font-size: 16px;
    }

    #step4-fundraiser .summary-table tr:not(:last-child) {
        margin-bottom: 8px;
    }
}

/* responsive: <= 767px */
@media (max-width: 767px) {
    .price-section,
    .amount-control-wrapper,
    .stepper-indicator,
    .next-wrapper,
    #step1-fundraiser .next-wrapper,
    #step1-fundraiser .content-wrapper,
    #step2-fundraiser .next-wrapper,
    #step2-fundraiser .content-wrapper,
    #step3-fundraiser .next-wrapper,
    #step3-fundraiser .content-wrapper,
    #step4-fundraiser .next-wrapper,
    #step4-fundraiser .content-wrapper {
        padding: 0 32px;
    }
    #step2-fundraiser .description {
        font-size: 14px;
    }
    #step1-fundraiser .form-item,
    #step2-fundraiser .form-item,
    #step3-fundraiser .form-item,
    #step4-fundraiser .form-item {
        width: 100%;
    }

    #step1-fundraiser .form-item:first-child,
    #step2-fundraiser .form-item:first-child,
    #step3-fundraiser .form-item:first-child,
    #step4-fundraiser .form-item:first-child {
        margin-top: 8px;
    }

    #step1-fundraiser .form-item,
    #step1-fundraiser .form-item:last-child,
    #step1-fundraiser .receipt_naming,
    #step2-fundraiser .form-item,
    #step2-fundraiser .form-item:last-child,
    #step3-fundraiser .form-item,
    #step3-fundraiser .form-item:last-child,
    #step4-fundraiser .form-item,
    #step4-fundraiser .form-item:last-child {
        margin-top: 16px;
    }

    #step1-fundraiser .receipt-title,
    #step2-fundraiser .receipt-title,
    #step3-fundraiser .receipt-title,
    #step4-fundraiser .receipt-title {
        margin-top: 16px;
    }

    #step1-fundraiser .content-wrapper {
        height: 657px;
    }
    #step2-fundraiser .content-wrapper {
        height: 772px;
    }
    #step3-fundraiser .content-wrapper {
        height: 822px;
    }

    #step1-fundraiser .content-wrapper.is-open,
    #step2-fundraiser .content-wrapper.is-open,
    #step3-fundraiser .content-wrapper.is-open,
    #step4-fundraiser .content-wrapper.is-open {
        height: 743px;
    }

    #step1-fundraiser .content-wrapper.is-open-all,
    #step2-fundraiser .content-wrapper.is-open-all,
    #step3-fundraiser .content-wrapper.is-open-all,
    #step4-fundraiser .content-wrapper.is-open-all {
        height: 842px;
    }

    #step1-fundraiser .content-sub-title,
    #step2-fundraiser .content-sub-title,
    #step3-fundraiser .content-sub-title,
    #step4-fundraiser .content-sub-title {
        margin-bottom: 8px;
    }
    #step4-fundraiser .content-sub-title {
        text-align: center;
    }
    #step1-fundraiser .content-sub-title,
    #step2-fundraiser .content-sub-title,
    #step3-fundraiser .content-sub-title {
        /* left: -4px; */
        position: relative;
    }

    #step1-fundraiser .email .formErrorContent {
        top: -9px;
        left: 3px;
    }

    /* error msg margin issue */
    #step1-fundraiser
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        ),
    /* #step2-fundraiser
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        ), */
    #step3-fundraiser
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        ) {
        height: 80px;
    }

    #step1-fundraiser
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        )
        .formError,
    #step2-fundraiser
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        )
        .formError,
    #step3-fundraiser
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        )
        .formError,
    #step4-fundraiser
        .row.g-3.mb-3
        > .form-item:is(
            .formInputError,
            :has(.input.formInputError),
            :has(.formError)
        )
        .formError {
        bottom: -11px;
        right: auto;
        margin-top: 0 !important;
    }

    #step2-fundraiser .prefixedField .formError .formErrorContent {
        top: 11px;
    }

    #step1-fundraiser .form-selected .formError,
    #step2-fundraiser .form-selected .formError,
    #step3-fundraiser .form-selected .formError,
    #step4-fundraiser .form-selected .formError {
        top: auto !important;
        bottom: -11px;
        left: 4px !important;
    }

    #step1-fundraiser .input .formError,
    #step2-fundraiser .input .formError,
    #step3-fundraiser .input .formError,
    #step4-fundraiser .input .formError {
        bottom: -21px !important;
    }

    #step3-fundraiser .row-wrapper {
        display: flex;
        gap: 20px;
        flex-direction: column;
    }
    #step3-fundraiser .logo-wrapper {
        margin-bottom: 20px;
    }

    #step4-fundraiser .thank-you-popup {
        max-width: 343px;
        padding: 32px;
    }
    #step4-fundraiser .thank-you-popup .osc-modal__title {
        font-size: 32px;
    }
    #step4-fundraiser .thank-you-popup .thankyou-popup p {
        font-size: 14px;
    }
    #step4-fundraiser .content-wrapper {
        height: 900px;
    }
    .osc-modal.thank-you-popup .fundraisers-thank-you-santa {
        width: 343.2px;
        top: -141px;
    }
    #step2-fundraiser .prefixedField-control {
        padding: 8px 16px;
    }
}
/* end #step1-fundraiser */

/* Dontaion form - for fundraiser */
#donationTabContent .team-supporting {
    width: 400px;
    margin-bottom: 64px;
    max-width: 400px;
}

#donationTabContent .donation-for {
    flex-direction: column;
    align-items: center;
    margin-bottom: 64px;
}
#donationTabContent .donation-for-text {
    margin-bottom: 0px;
    font-size: 32px;
    font-family: Roboto;
    font-weight: 600;
    line-height: 120%;
    text-align: center;
}
#donationTabContent #step1 .content-sub-title {
    margin-bottom: 8px;
}
#donationTabContent #teamSelect {
    background: url("../img/fundraisers-team-select-arrow.png") center bottom /
        cover no-repeat !important;
    background-size: 16px 16px !important;
    background-position: right 11px center !important;
    cursor: pointer;
    border: 1px solid #bab4b4;
}
#donationTabContent #step4 .donation-for {
    margin-bottom: 32px !important;
}
#donationTabContent #step4 .donation-for-title {
    margin-bottom: 0px;
}
@media (max-width: 1024px) {
    #donationTabContent .donation-for-text {
        font-size: 28px;
    }
    #donationTabContent .team-supporting,
    #donationTabContent .donation-for {
        margin-bottom: 32px;
    }
    #donationTabContent #step4 .donation-for {
        margin-bottom: 12px !important;
    }
}
@media (max-width: 767px) {
    #donationTabContent .donation-for-text {
        font-size: 24px;
    }
    #donationTabContent .team-supporting,
    #donationTabContent .donation-for {
        margin-bottom: 40px;
    }
    #donationTabContent .team-supporting {
        max-width: 544px;
        padding: 0 32px;
        width: 544px;
    }
    #donationTabContent #step4 .donation-for {
        margin-bottom: 8px !important;
    }
}

/* ===== Emergency color override ===== */
html {
    -moz-filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    filter: gray; /* IE6-9 */
    filter: grayscale(100%);
}

/* :root {
    --red-200: #bab4b4;
    --red-300: #bab4b4;
    --red-500: #000000;
    --red-700: #000000;
    --Color-Red-500: #000000;
}

.content-sub-title,
.btn-outline-dark,
.btn-outline-dark:hover,
.btn-outline-dark:active,
.accordion-button.donation-method-btn,
.accordion-body a,
.paymethodNote,
.thank-you-wrapper .title,
#step4-fundraiser .thank-you-popup .osc-modal__title {
    color: #000000 !important;
}
.form-check-input[type="radio"]:checked {
    border-color: #000;
}
.form-check-input[type="radio"]::before {
    background-color: #000;
}
.fw-bold,
.step-title,
.nav-tabs .nav-link.active,
.nav-tabs .nav-link:hover {
    color: #000000 !important;
}
.main-title {
    color: #000 !important;
}
.left-panel,
.donation-frequency .btn.active,
.price-section button:hover,
.price-section button:active,
.price-section button:focus,
.btn-red,
.btn-red:hover,
.btn-red:active,
.thank-you-wrapper .button,
.btn-outline-dark,
.btn-outline-dark:hover,
.btn-outline-dark:active,
#step4-fundraiser .osc-modal.thank-you-popup .button {
    background-color: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

.next-wrapper,
.accordion-item:has(.accordion-collapse.show),
.summary-table,
#step4-fundraiser .thank-you-popup,
.thank-you-wrapper .title-wrapper {
    border-color: #000000 !important;
}

.stepper-indicator-wrapper {
    box-shadow: 0px 4px 36px 0px #bab4b4 !important;
}

.next-wrapper {
    background-color: #bab4b4 !important;
}

.donation-frequency,
.accordion-button.donation-method-btn.collapsed,
.uploader {
    border-color: #bab4b4 !important;
}

.nav-tabs {
    border-bottom-color: #bab4b4 !important;
}

.back-arrow,
.next-arrow {
    filter: brightness(10);
}
.accordion-button:not(.collapsed) .pm-arrow-expanded {
    display: block;
    filter: brightness(0);
} */
