.cybersource-payment-form .form-group select {
    padding: 16px 18px;
    padding: 1rem 1.125rem;
    -webkit-appearance: none;
    appearance: none;
    color: #495057;
    background-color: #efefef;
    background-size: 20px !important;
    background-position: calc(100% - 14px) center;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
    border: 0;
}

.cybersource-payment-form table.invoice-calc {
    border: solid 1px #000;
    width: 100%;
    margin-bottom: 2rem;
}

.cybersource-payment-form table.invoice-calc tr {
    border: solid 1px #000;
}

.cybersource-payment-form table.invoice-calc td {
    padding: 1rem;
    color: #000;
    border: solid 1px #000;
}

.cybersource-payment-form table.invoice-calc tr.payment-total td {
    border-top: solid 3px #000;
    font-weight: 700;
}

.cybersource-payment-form #g-recaptcha-response-error {
    color: #dc3545;
}

.cybersource-payment-form #btn-payment {
    position: relative;
}

.cybersource-payment-form #btn-payment .spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    margin-left: -10px;
    border-radius: 50%;
    border: 2px solid #fff;
    border-top-color: rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease-in-out;
    animation: spinner 1s ease-in-out infinite;
    opacity: 0;
    visibility: hidden;
}

.cybersource-payment-form #btn-payment.loading span:not(.spinner) {
    opacity: 0;
}

.cybersource-payment-form #btn-payment.loading .spinner {
    opacity: 1;
    visibility: visible;
}

@keyframes spinner {
    to {
        transform: rotate(360deg);
    }
}