body {
    background-color: #fff;
}

.container, #content {
    padding-right: 15px;
    padding-left: 15px;
}

form#nextCheckoutStepForm {
    margin-top: 25px;
    margin-bottom: 0px;
}

form#nextCheckoutStepForm input[type="password"], form#nextCheckoutStepForm input[type="text"], form#nextCheckoutStepForm textarea {
    background-color: transparent;
}

form#nextCheckoutStepForm input[type="password"]:focus, form#nextCheckoutStepForm input[type="text"]:focus, form#nextCheckoutStepForm textarea:focus {
    outline: none;
}

.error-alert, .error-alert h3 {
    font-size: 12px;
}

.error-alert h3 {
    margin-bottom: 5px;
}

.error-alert p {
    margin-bottom: 0px;
}

div.gift_frequency_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 200px;
    margin: 0 auto 20px;
    text-align: center;
    font-size: 14px;
}

label.gift-type-label {
    font-weight: 400;
    border: solid 1px var(--primary-action-color);
    color: var(--primary-action-color);
    transition: all .3s ease;
    padding: 5px;
    margin: 0;
}

label.gift-type-label:first-child {
    border-radius: 5px 0px 0px 5px;
}

label.gift-type-label:last-child {
    border-radius: 0px 5px 5px 0px;
}

.gift_option_wrap {
    border: none;
    padding: 0px;
}

div.gift-option-grid {
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 10px;
}

label.giftOptionLabel {
    border: solid 1px var(--primary-grey);
    text-align: center;
    font-weight: 400;
    margin: 0;
    padding: 10px;
    transition: all .3s ease;
}

label.giftOptionLabel:hover, label.gift-type-label:hover {
    cursor: pointer;
}

.gift_values_wrap label:has(input[type="radio"]:checked),
.payment_type label:has(input[type="radio"]:checked) {
    background-color: var(--primary-action-color);
    color: var(--text-is-white);
}

.gift_option_wrap div.min_campaign_gift {
    grid-template-columns: unset;
    margin-bottom: 10px;
}

.gift_values_wrap input[type="radio"], .payment_type input[type="radio"] {
    /*display: none;*/
    width: 0px;
    height: 0px;
    border: none;
    opacity: 0;
}

.gift_custom_wrap input[type="radio"] {
    display: none;
}

.gift_option_wrap > div.gift_custom_wrap {
    position: relative;
    display: block;
    margin-top: 10px;
    border: solid 1px var(--primary-grey);
    padding-left: 10px;
    transition: all .3s ease;
}

.gift_option_wrap > div.gift_custom_wrap:has(input[type="radio"]:checked) {
    background-color: var(--primary-action-color);
    color: var(--text-is-white);
}
.gift_option_wrap > div.gift_custom_wrap:has(input[type="radio"]:checked) input {
    color: var(--text-is-white) !important;
}


.gift_option_wrap > div.gift_custom_wrap:before {
    content: "$";
    display: block;
    position: absolute;
    left: 10px;
    top: 7px;
}

.gift_option_wrap > div.gift_custom_wrap input[name="otherAmt"] {
    background-color: transparent;
    border: none;
}

.form_section_wrap {
    grid-template-columns: 1fr;
    grid-gap: 10px;
    margin-bottom: 10px;
}

.form_input_label_wrap {
    position: relative;
    border: solid 1px var(--primary-grey);
}

.form_input_label_wrap label {
    text-align: center;
    align-self: center;
    margin: 0px;
    position: absolute;
    top: 10px;
    left: 5px;
}

.form_input_label_wrap.data-error label {
    color: var(--input-error);
}

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

.form_input_label_wrap input[type="text"] {
    background-color: transparent;
    padding-left: 20px;
}

.account_type h5 {
    text-align: center;
}

.expiration-date-wrapper {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-gap: 5px;
    align-items: center;
}

.inputs-side-by-side .form_input_label_wrap input[type="text"] {
    padding: 3px 0px;
}

.inputs-side-by-side .form_input_label_wrap input[type="text"][name="cid_number"] {
    padding: 3px 15px;
}

.form_input_label_wrap.expiration-date-wrapper input[name="expiration_month"] {
    text-align: right;
}

.inputs-side-by-side {
    display: grid;
    grid-template-columns: 1.6fr 1.4fr;
    margin-top: 5px;
}

.inputs-side-by-side label {
    padding-left: 5px;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 0px;
}

.collect-billing-wrap {

}

.collect-billing-wrap h3 {
    margin-top: 0px;
    border-top: solid 1px var(--light-blue);
    padding-top: 10px;
    font-size: 16px;
    font-weight: bold;
}

.email-receipt-notice, .privacy_wrap {
    font-size: 12px;
}

.privacy_wrap {
    text-align: center;
    padding: 5px 5px 2px;
}

.required-notice {
    margin-top: -10px;
    font-size: 12px;
}

.submit_wrap {
    display: grid;
    grid-gap: 5px;
    margin-bottom: 5px;
}

.wrap_CP_CONTRIBUTE_FRAME.step_CS_TWO .submit-button-wrapper {
    /*grid-template-columns: 1fr 1fr;*/
    /*grid-gap: 5px;*/
    /*margin-bottom: 5px;*/
}

.submit-button-wrapper {
    display: grid;
}

.submit-button-wrapper .back-btn {

}

.submit-button-wrapper .btn {
    background-color: var(--text-is-white);
    color: var(--primary-action-color);
}

.submit-button-wrapper .btn-primary {
    color: var(--text-is-white);
    background-color: var(--primary-action-color);
    font-weight: 600;
    font-size: 18px;
}

#coverCreditCardFees {
    margin-right: 5px;
}

.payment_type .gift_frequency_wrap {
    margin-bottom: 15px;
}

.cc-type-image {
    text-align: center;
    margin-bottom: 10px;
}

.cc-type-image img {
    width: auto;
    height: 25px;
}

.exp-date-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 10px;
}

.tab-pane.active {
    display: block;
}


.your-gift-wrapper, .your-information-wrapper {
    font-size: 14px;
}

.your-gift-wrapper {
    padding-bottom: 20px;
}

.confirm-gift-row, .confirm-info-row {
    display: grid;
    grid-gap: 5px;
    grid-template-columns: auto 1fr;
    border-bottom: solid 1px var(--confirm-section-border);
    padding: 2px 3px;
}

.confirm-gift-row strong, .confirm-info-row strong {
    text-align: right;
}

.your-information-wrapper {

}

.confirm-info-row {

}

.your-gift-wrapper h5, .your-information-wrapper h5 {
    text-align: center;
    border-bottom: solid 2px var(--confirm-section-border);
    padding-bottom: 3px;
}