main#main .wcdp-form {
    position: relative;
    padding: 0;
    margin-bottom: 0;
}

.wcdp-progress-bar {
    position: relative;
    display: block;
    height: 6px;
    background: var(--wcdp-main-2);
    width: 0;
    transition: width 0.9s;
    margin: -6px 16.6667% 0;
    z-index: 1;
    top: 1em;
}

.wcdp-progress-bar-background {
    position: relative;
    height: 6px;
    background: var(--wcdp-main);
    z-index: 0;
    top: 1em;
    margin: 0 16.6667%;
}

.wcdp-header>.wcdp-step {
    z-index: 2;
    position: relative;
    width: 33.333%;
    float: left;
    text-align: center;
    color: var(--wcdp-main);
    text-decoration: none;
}

.wcdp-header>.wcdp-step::before {
    display: block;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5em;
    color: var(--wcdp-label-text-checked);
    border-radius: 100%;
    margin: auto;
    background: var(--wcdp-main);
    font-size: 1em;
    content: attr(data-step);
}

#wcdp-step-2,
#wcdp-step-3 {
    display: none;
}

.wcdp-required-field-notice {
    display: none;
    color: var(--wcdp-main-3);
}

.button-row {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}

#wcdp-popup .wcdp-body {
    overflow: hidden;
    padding: 18px;
}

.wcdp-body input.wcdp-donation-amount {
    width: calc(100% - 1ch - 20px);
    height: 100%;
    padding: 3px;
    text-align: center;
    margin: 0;
    color: var(--wcdp-controls);
    background-color: var(--wcdp-label-text-checked);
    display: inline-block;
}

.wcdp-step:target:before {
    background-color: var(--wcdp-main-2);
}

.wcdp-step:target {
    color: var(--wcdp-main-2);
}

.wcdp-arrow {
    display: inline-block;
}

.wcdp-button:hover>.wcdp-right-arrow {
    animation-name: wcdp-right-arrow-animation;
    animation-duration: 1s;
    transform: translateX(5px);
}

@keyframes wcdp-right-arrow-animation {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(5px);
    }
}

.wcdp-button:hover>.wcdp-left-arrow {
    animation-name: wcdp-left-arrow-animation;
    animation-duration: 1s;
    transform: translateX(-5px);
}

@keyframes wcdp-left-arrow-animation {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-5px);
    }
}

.wcdp-tab {
    animation-name: wcdp-appear-animation;
    animation-duration: 1s;
}

@keyframes wcdp-appear-animation {
    0% {
        opacity: 0;
        transform: translate(0, 20px);
    }

    100% {
        opacity: 1;
        transform: translate(0, 0);
    }
}

.wcdp-overlay {
    display: none;
    position: fixed;
    z-index: 1001;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background: var(--wcdp-overlay-color);
    opacity: 1;
    padding: 0;
}

#wcdp-popup {
    margin: 10vh auto;
    width: 95vw;
    max-width: calc(42ch + 200px);
    background: var(--wcdp-background-color);
    position: relative;
    transition: opacity 1s;
    animation-name: wcdp-appear-animation;
    animation-duration: 1s;

}

.wcdp-close {
    position: absolute;
    top: 5px;
    right: 5px;
    stroke: var(--wcdp-controls);
    stroke-width: 2px;
    width: 36px;
    z-index: 3;
    padding: 3px;
    cursor: pointer;
    border-radius: 100%;
}

.wcdp-close svg {
    filter: drop-shadow(0 0 1px white);
}

.wcdp-close:hover {
    transform: scale(1.2);
}

#wcdp-cancel {
    position: absolute;
    width: 100%;
    height: 100%;
}

#wcdp-form {
    min-width: 100%;
    min-height: 100%;
    margin: 0;
}

.wcdp-header {
    height: calc(4em + 20px);
    overflow: hidden;
    padding-top: 20px;
}

#wcdp-spinner {
    top: 20px;
    float: right;
    width: 80px;
    height: 3em;
    display: none;
    position: relative;
}

.lds-ellipsis div {
    position: absolute;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--wcdp-main-2);
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
}

@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(0);
    }
}

@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }

    100% {
        transform: translate(24px, 0);
    }
}

.select2 {
    width: 100% !important;
}

body span.select2-container--open {
    z-index: 1002;
}

.wcdp-divider {
    height: 1em;
    clear: both;
}

/* START Step 1 grid */
ul.wcdp_options>li>input:hover:not(:disabled):not(:checked)+label {
    background-color: var(--wcdp-label-inactive-hover);
}

.wcdp_options>li>input:checked+label:after {
    content: url('data:image/svg+xml; utf8, <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1000 1000" width="15px" height="20px" xml:space="preserve"><g><path style="fill: white;" d="M990,210.8L924.3,145L345.1,724.2L75.7,454.8L10,520.6l325.5,325.5l9.2,8.9l9.8-8.9L990,210.8L990,210.8z"/></g></svg>');
    position: absolute;

    /*
    content: '\E017';
    font-family: 'Woocommerce';
    */
    padding-left: 5px;
}

.wcdp_options>li>label {
    text-align: center;
    display: block;
    background: var(--wcdp-label-inactive);
    color: var(--wcdp-label-text);
    padding: 6px;
    cursor: pointer;
}

.wcdp_value_other:checked+.wcdp_label_custom_amount {
    text-align: left;
}

.wcdp-row>.wcdp_options>li>input[type="radio"],
#wcdp_product>li>input[type="radio"] {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.wcdp_options {
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(21ch, 1fr));
    grid-gap: 8px;
    align-items: center;
    list-style: none;
}

.wcdp_amount {
    /* grid-template-columns: repeat(auto-fit, minmax(14ch, 1fr)); */
    grid-template-columns: 1fr 1fr 1fr;
}

.wcdp-choose-donation>.wcdp_options>li,
.wcdp-row>.wcdp_options>li {
    display: block;
    margin: 0;
    height: 100%;
    /*min-width: max-content;*/
}

ul.wcdp_options>li>input:checked+label,
ul.wcdp_options>li>input:checked+label span {
    background: var(--wcdp-main-2);
    color: var(--wcdp-label-text-checked);
}

ul.wcdp_options>li>input:focus+label {
    box-shadow: 0 0 0 2px white, 0 0 0 4px var(--wcdp-main-2);
}

input:disabled~label {
    opacity: 0.2;
    cursor: default;
}

.wcdp-button-label,
#wcdp-get-send {
    margin: 0;
}

/* END Step 1 grid */

.wcdp-divider-arrow {
    margin: 1em auto;
    width: 90%;
    max-width: 700px;
    display: block;
}

.wcdp-branding {
    font-size: 0.75em;
    margin: 12px 0 0;
    text-align: center;
}

.woocommerce-input-wrapper {
    position: relative;
}

form[name="checkout"] .wcdp-tab div:first-child {
    position: static;
}

.woocommerce-invalid .woocommerce-input-wrapper input {
    border-color: var(--wcdp-main-3);
}

.wc-donation-platform .wcdp-header .wcdp-header-step-1 {
    color: var(--wcdp-main-2);
}

.wc-donation-platform .wcdp-header-step-1:before {
    background-color: var(--wcdp-main-2);
}

.wc-donation-platform .wcdp-header .wcdp-header-step-2 {
    color: var(--wcdp-step-2);
}

.wc-donation-platform .wcdp-header-step-2:before {
    background-color: var(--wcdp-step-2);
}

.wc-donation-platform .wcdp-header .wcdp-header-step-3 {
    color: var(--wcdp-step-3);
}

.wc-donation-platform .wcdp-header-step-3:before {
    background-color: var(--wcdp-step-3);
}

#wcdp_other {
    /* display: inline; */
    text-align: center;
}

.wcdp_value_other:checked~.wcdp_label_custom_amount>.wcdp_other {
    display: none;
}

.wcdp_cu_field {
    display: inline;
}

.wcdp_value_other:not(:checked)~.wcdp_label_custom_amount>.wcdp_cu_field {
    display: none;
}

.wcdp-amount>input.wcdp-donation-amount {
    font-size: 200%;
    width: 10ch;
    min-width: 5ch;
}

.wcdp-row {
    margin: 0 0 1.5em;
}

.wcdp-variation-heading,
.wcdp-row>label {
    font-weight: bold;
}

.wcdp-header .wcdp-step:hover {
    transform: scale(1.05);
}

.wcdp-step {
    cursor: pointer;
}

.wcdp-loader {
    visibility: visible;
    position: relative;
    margin-top: 20%;
    left: calc(50% - 36px);
}

/* compatibility Twenty Twenty-One */
#wcdp form[name=checkout] {
    display: block;
}

/* Style 5 header */
.wcdp-steps-wrapper {
    display: flex;
    outline: 1px solid var(--wcdp-main-2);
    margin: 1px 1px 1em;
}

.wcdp-style5 {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: calc(100% / 3);
    height: 2em;
    color: var(--wcdp-main-2);
    background-color: inherit;
}

.wcdp-style5:first-child {
    z-index: 3;
}

.wcdp-style5:nth-child(2) {
    z-index: 2;
}

.wcdp-style5:nth-child(3) {
    z-index: 1;
}

.wcdp-style5:after {
    content: '';
    display: block;
    position: absolute;
    width: calc(1.414em + 0.5px);
    height: calc(1.414em + 0.5px);
    left: calc(100% - 0.707em);
    top: 50%;
    margin-top: -0.707em;
    background-color: var(--wcdp-label-text-checked);
    transform: rotate(45deg);
    border-top: 1px solid var(--wcdp-main-2);
    border-right: 1px solid var(--wcdp-main-2);
    z-index: -1;
}

.wcdp-style5:hover,
.wcdp-style5:hover:after {
    background-color: var(--wcdp-main-2);
    color: var(--wcdp-label-text-checked);
}

.wcdp-style5-active {
    color: var(--wcdp-label-text-checked);
    background-color: var(--wcdp-main-2);
}

.wcdp-style5-active:after {
    background-color: var(--wcdp-main-2);
}

#wcdp-style5-step-3:after,
.wcdp-express-heading {
    display: none;
}

#wcdp-popup .wcdp-steps-wrapper {
    margin: 0 20px 20px;
    top: 35px;
    position: inherit;
}

.wcdp-body #wc-stripe-payment-request-button-separator {
    display: none !important;
}

form.woocommerce-checkout #wc-stripe-payment-request-button-separator:first-of-type:not([style*="display:none"]) {
    display: block !important;
}

#wcdp #wc-stripe-payment-request-wrapper {
    padding-top: 0 !important;
}

.woocommerce div.product div.summary .first-payment-date,
#wcdp #wc-stripe-payment-request-button-separator {
    margin: 0;
}

input:focus+.wcdp-fee-recovery__body {
    box-shadow: 0 0 0 2px white, 0 0 0 4px var(--wcdp-main-2);
}

.wcdp-fee-recovery__input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}

.wcdp-fee-recovery__body {
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: center;
    min-height: 50px;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    border: 2px solid var(--wcdp-main-2);
    text-align: left;
}

.wcdp-fee-recovery__input:checked~.wcdp-fee-recovery__body .wcdp-fee-recovery__body-cover-checkbox--svg {
    --stroke-dashoffset: 0;
}

.wcdp-fee-recovery__body-cover-checkbox {
    border: 2px solid var(--wcdp-main-2);
    position: absolute;
    left: 10px;
    top: 10px;
    z-index: 1;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    transition: transform 0.15s, opacity calc(0.15s * 1.2) linear, -webkit-transform 0.15s ease;
    transform: scale(90%);
}

.wcdp-fee-recovery__body-cover-checkbox--svg {
    width: 13px;
    height: 11px;
    display: inline-block;
    vertical-align: top;
    fill: none;
    margin: 7px 0 0 5px;
    stroke: var(--wcdp-main-2);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 16px;
    stroke-dashoffset: var(--stroke-dashoffset, 16px);
    transition: stroke-dashoffset 0.4s ease 0.15s;
}

/* 2022 compatibility */
#wcdp-step-3 .col2-set {
    width: 100%;
}

.wcdp-form button,
.wcdp-button {
    background-color: var(--wcdp-main-2);
    color: var(--wcdp-label-text-checked);
    border: 0;
    text-align: center;
    padding: 6px 20px;
    cursor: pointer;
}

.wcdp-product-image {
    margin: 0 auto 12px;
    width: max-content;
    max-width: 100%;
}

#wcdp-get-send,
#wcdp-ajax-send,
#wcdp-step-1,
.woocommerce-invalid .wcdp-required-field-notice {
    display: block;
}