
input.error-input {
    box-shadow: 0 0 0 0.1rem var(--danger);
}

span.error-input {
    color: var(--danger);
}

div.tos-accept, div.email-consent {
    display: flex;
    font-size: .875rem;
    font-weight: bold;
}

#checkbox, #marketing_opt_in {
    min-width: 1.568rem;
    height: 1.568rem;
    margin-top: 3px;
}

@media screen and (max-width: 768px) {
    #checkbox, #marketing_opt_in {
        min-width: 20px;
        height: 20px;
    }
}

@media screen and (max-width: 480px) {
    #checkbox, #marketing_opt_in {
        min-width: 20px;
        height: 20px;
    }
}

.modal {
    z-index: 10002;
}

.modal-backdrop {
    z-index: 10001;
}

.modal-footer {
    justify-content: center;
    flex-direction: column;
}

.spinner,
.spinner:before,
.spinner:after {
    border-radius: 50%;
}

.spinner {
    color: #ffffff;
    font-size: 22px;
    text-indent: -99999px;
    margin: 0px auto;
    position: relative;
    width: 20px;
    height: 20px;
    box-shadow: inset 0 0 0 2px;
    border-top: 4px solid var(--primary);
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}

.spinner:before,
.spinner:after {
    position: absolute;
    content: "";
}

.spinner:before {
    width: 10.4px;
    height: 20.4px;
    border-radius: 20.4px 0 0 20.4px;
    top: -0.2px;
    left: -0.2px;
    -webkit-transform-origin: 10.4px 10.2px;
    transform-origin: 10.4px 10.2px;
    -webkit-animation: loading 2s infinite ease 1.5s;
    animation: loading 2s infinite ease 1.5s;
}

.spinner:after {
    width: 10.4px;
    height: 10.2px;
    border-radius: 0 10.2px 10.2px 0;
    top: -0.1px;
    left: 10.2px;
    -webkit-transform-origin: 0px 10.2px;
    transform-origin: 0px 10.2px;
    -webkit-animation: loading 2s infinite ease;
    animation: loading 2s infinite ease;
}

@-webkit-keyframes loading {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes loading {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

.StripeElement {
    display: block !important;
}

/* Adyen */
.adyen-checkout__status,
.adyen-checkout__dropin {
    width: 100%;
}

@supports (-webkit-appearance:-apple-pay-button) {
    .apple-pay, .apple-pay-button {
        -webkit-appearance: -apple-pay-button !important;
    }
}
