.billing {
    width: 100%;
    height: 100%;
    padding: 50px;
    background: white;

    @media screen and (max-width: 800px) {
        padding: 24px;
    }
}

.billing > div {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
}

.billing > div > div, .billing > div > table {
    border: 1px solid #CBD5E1;
    padding: 40px;
    border-radius: 10px;
    margin-top: 10px;
    height: auto;
}

.billing > div > * {
    grid-column: 1 / 13;
}

.billing > div > .pmpro_checkout {
    grid-column: 1 / 10;
    border-spacing: 0 5px;
    padding: 10px;
}

@media screen and (max-width: 800px) {
    .billing > div > div {
        padding: 20px;
    }
}

.billing > div > .pmpro_checkout thead {
    border-bottom: 1px solid #000000;
    border-collapse: separate;
}

.billing > div > .pmpro_checkout td {
    text-align: left;
}

#modal-popup {
    position: fixed;
    z-index: 1;
    left: 0;
    top: 10%;
    width: 100%;
    overflow: auto;
    height: 85%;
}

#modal-popup .modal-popup-wrapper {
    background-color: #fefefe;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    width: 535px;
    height: auto;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    animation-name: animatetop;
    animation-duration: 0.4s;
}

#modal-popup .modal-popup-wrapper .modal-content {
    padding: 10px 20px;
}

@keyframes animatetop {
    from {
        top: -300px;
        opacity: 0
    }
    to {
        top: 0;
        opacity: 1
    }
}

.close-btn {
    width: 100%;
    text-align: right;
}

.close-btn > img:hover,
.close-btn > img:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.modal-content .list-of-instruction {
    margin-top: 40px;
}

.list-of-instruction .list-item {
    display: flex;
    align-items: start;
    margin-top: 30px
}

.list-item .item-image {
    padding: 15px;
}

.list-item .item-description {
    padding: 0 15px 15px 15px;
}

.list-item .item-description .title {
    font-size: 20px;
    font-weight: 700;
}

.list-item .item-description .description {
    margin-top: 10px;
    font-size: 16px;
    font-weight: 500;
}

.first_name, .last_name {
    width: 49%;
    display: inline-block;
}

.pmpro_submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pmpro_member_profile_edit-field {
    margin-bottom: 30px !important;
}

.pmpro_member_profile_edit-field label {
    margin-bottom: 5px !important;
}

input[type=submit] {
    width: auto;
}

input[type=text],
input[type=email] {
    border: solid 1px #E2E8F0;
    border-radius: 8px;
    color: #94A3B8;
}

.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields .StripeElement {
    border: solid 1px #E2E8F0 !important;
    border-radius: 8px !important;
    color: #94A3B8 !important;
}

input[type=password] {
    border: solid 1px #E2E8F0;
    border-radius: 8px;
    color: #94A3B8;
    background-color: #fafeff;
}

hr {
    display: none;
}

.pmpro_checkout .active {
    background: #24A67033 !important;
    padding: 10px;
}

.pmpro_checkout .active a {
    background-color: #24A670;
    color: #FAFEFF;
}

.billing ul {
    margin: 0;
}

.billing ul li {
    display: block;
}

.billing ul li:first-child {
    margin-bottom: 20px;
}

.billing ul li:nth-child(2) {
    margin-bottom: 10px;
}

.billing * {
    color: #475569;
}

.billing h2 {
    color: #1E293B;
    font-size: 20px;
}

.pmpro_actions_nav {
    margin-top: 50px;
    font-size: 11px;
    text-wrap: nowrap;
    gap: 20px;
}

.pmpro_actions_nav a,
.billing .pmpro_checkout h2:first-child span.pmpro_checkout-h2-msg a,
.pmpro_a-right > a {
    border: 1px solid #CBD5E1;
    padding: 5px 7px;
    border-radius: 3px;
    color: #1E293B;
}

.pmpro_actions_nav-right a::after {
    content: "";
    background: url('data:image/svg+xml,<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.08301 4.00004H6.91634M6.91634 4.00004L3.99967 1.08337M6.91634 4.00004L3.99967 6.91671" stroke="%231E293B" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    width: 8px;
    height: 8px;
    display: inline-block;
    margin-left: 5px;
}

.pmpro_actions_nav-left a::before {
    content: "";
    background: url('data:image/svg+xml,<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.91634 4.00004H1.08301M1.08301 4.00004L3.99967 6.91671M1.08301 4.00004L3.99967 1.08337" stroke="%231E293B" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    width: 8px;
    height: 8px;
    display: inline-block;
    margin-right: 5px;
}

.billing .pmpro_btn {
    font-weight: 500 !important;
}

.pmpro_btn.pmpro_btn-submit {
    font-size: 16px;
}

.pmpro_actions_nav a:hover,
.pmpro_actionlinks a:hover,
a.pmpro_a-print:hover,
.billing a.pmpro_btn:hover,
.billing .pmpro_checkout h2:first-child span.pmpro_checkout-h2-msg a:hover,
.pmpro_affiliates-orders-container .pmpro_a-right a:hover {
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
    transition: box-shadow 0.5s ease;
}

.pmpro_actions_nav a:focus,
.pmpro_actionlinks a:focus,
a.pmpro_a-print:focus,
.billing a.pmpro_btn:focus,
.billing .pmpro_btn.pmpro_btn-cancel:focus,
.billing .pmpro_checkout h2:first-child span.pmpro_checkout-h2-msg a:focus,
.pmpro_affiliates-orders-container .pmpro_a-right a:focus {
    outline: solid 3px rgba(12, 40, 52, 0.1);
    transition: none;
}

@media (max-width: 800px) {
    .billing .pmpro_actions_nav-left,
    .billing .pmpro_actions_nav-right {
        flex-basis: auto;
        text-align: start;
    }

    .billing .pmpro_actions_nav-right {
        flex: 0;
    }
}

.billing .pmpro_btn.pmpro_btn-cancel,
.billing .pmpro_btn.pmpro_btn-cancel:link {
    text-decoration: none;
    color: #94A3B8;
}

.billing .pmpro_btn.pmpro_btn-cancel:link {
    display: inline-block;
    border: 1px solid #0C28341A;
    padding: 5px 7px;
}

.billing .pmpro_btn.pmpro_btn-cancel:hover {
    border: 1px solid #0C28341A;
    transition: box-shadow 0.5s ease;
    color: #94A3B8;
    text-decoration: none;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
}

.mobile-only {
    @media screen and (min-width: 801px) {
        display: none;
    }
}

/*Membership Invoice*/
.pmpro_invoice-billing-address,
.pmpro_invoice-payment-method,
.pmpro_price_part_label,
.pmpro_member_profile_edit-field.display_name {
    display: none;
}

.billing .pmpro_invoice_wrap {
    grid-column: 1 / 13;
    max-width: 650px;
}

.pmpro_invoice_wrap ul {
    margin-top: 50px;
    width: 80%;
}


.billing .pmpro_price_part-total {
    border-top: none;
}

.billing .pmpro_a-print,
.billing .pmpro_btn-select {
    background: #F1F5F9;
    font-size: 16px;
    color: #1E293B;
    padding: 5px;
    border: 1px solid #E2E8F0;
    border-radius: 5px;
    margin-top: 50px;
}

.billing .pmpro_a-print:before {
    content: '';
    background: url("../assets/fi_printer.svg") center no-repeat;
    display: inline-block;
    margin-right: 5px;
    width: 18px;
    height: 18px;
    position: relative;
    top: 3px;
}

.pmpro_invoice-total {
    margin-top: 50px;
    padding-top: 20px;
    border-top: 1px solid #94a3b8;
    border-bottom: 1px solid #94a3b8;
}

/*Membership Levels*/
.billing > div > .pmpro_checkout.pmpro_levels_table {
    padding: 20px;
}

.billing .pmpro_levels_table th,
.billing .pmpro_levels_table td {
    border: solid #CBD5E1;
    border-width: 0 0 1px 0;
}

@media (min-width: 769px) {
    .billing .pmpro_levels_table tbody tr:last-child th,
    .billing .pmpro_levels_table tbody tr:last-child td {
        border: none;
    }
}

.billing .pmpro_levels_table tbody th,
.billing .pmpro_levels_table tbody th strong {
    font-weight: 500;
}

.billing > div > .pmpro_levels_table {
    border-spacing: 0;
    grid-column: 1 / 13;
    max-width: 850px;
}

@media screen and (max-width: 800px) {
    .billing > div > .pmpro_checkout.pmpro_levels_table {
        padding: 12px;
    }

    .billing > div > .pmpro_levels_table {
        display: flex;
        grid-column: 1 / 13;
        max-width: 500px;
    }

    .billing > div > .pmpro_levels_table tbody {
        flex: 1;
    }

    .pmpro_levels_table thead th {
        display: none;
    }

    .pmpro_levels_table tbody tr {
        display: flex;
        flex-direction: column;
    }

    .billing .pmpro_levels_table tr td:last-child {
        border: none;
    }

    .billing .pmpro_levels_table th, .billing .pmpro_levels_table td {
        /*border-width: 0;*/
    }

    .billing .pmpro_levels_table tr.active {
        border: 1px solid rgba(36, 166, 112, 0.4);
        border-radius: 5px;
    }

    .billing .pmpro_checkout .active {
        padding: 0;
    }

    .billing .pmpro_levels_table {
        font-size: 16px;
    }

    .billing .pmpro_levels_table thead th {
        font-size: 20px;
    }

    .billing .pmpro_levels_table thead {
        border-bottom: none;
    }

    .pmpro_levels_table th.mobile-only {
        font-size: 20px;
    }
}

.billing > div > .pmpro_member_profile_edit_wrap {
    grid-column: 1 / 13;
    max-width: 620px;
}

@media (max-width: 768px) {
    .billing form.pmpro_form .pmpro_btn, .pmpro_login_wrap #loginform input[type=submit] {
        width: fit-content;
    }
}

/*Membership Account*/
.billing > div > #pmpro_account {
    border: none;
    grid-column: 1 / 13;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: flex-start;
}

.billing #pmpro_account .pmpro_box {
    border: 1px solid #CBD5E1;
    padding: 20px 10px;
    border-radius: 10px;
    margin: 0;

    @media (max-width: 800px) {
        width: 100%;
    }
}

.billing #pmpro_account .pmpro_box > * {
    padding: 0 10px;
}

.billing #pmpro_account #pmpro_account-membership {
    order: 2;
    @media (min-width: 801px) {
        max-width: 410px;
    }
}

.billing #pmpro_account #pmpro_account-profile {
    order: 1;

    @media screen and (min-width: 801px) {
        min-width: 410px;
    }
}

.billing #pmpro_account #pmpro_account-invoices {
    order: 3;
}

.billing #pmpro_account h2 {
    font-size: 18px;
}

.billing #pmpro_account h2:before {
    content: "";
    background: url('../assets/fi_user.svg');
    width: 24px;
    height: 24px;
    display: inline-block;
    margin-right: 10px;
    position: relative;
    top: 4px;
}

.billing #pmpro_account-membership h2:before {
    background: url('../assets/fi_users.svg');
}

.billing #pmpro_account-invoices h2:before {
    background: url('../assets/fi_file-text.svg');
}

.billing #pmpro_account #pmpro_account-profile p {
    margin-top: 30px;
    padding-bottom: 16px;
    border-bottom: 1px solid #CBD5E1;
}

.billing #pmpro_account-profile ul li {
    margin: 0;
    padding-top: 16px;
}

.billing #pmpro_account-profile ul li:first-child {
    display: none;
}

.billing #pmpro_account-profile ul li strong {
    font-size: 12px;
    font-weight: 600;
}

.billing #pmpro_account-profile ul li strong::after {
    content: "\A";
    white-space: pre;
}

.billing #pmpro_account #pmpro_account-profile .pmpro_actionlinks {
    margin-top: 100px;
    padding: 10px;
    display: flex;
    gap: 10px;
}

.billing #pmpro_account #pmpro_account-membership .pmpro_actionlinks {
    padding: 10px;
    display: flex;
    gap: 10px;
}

.billing #pmpro_account .pmpro_actionlinks a {
    border: 1px solid #CBD5E1;
    padding: 3px 8px;
    border-radius: 3px;
    color: #1E293B;
    font-size: 11px;
    font-weight: 500;
    line-height: 13px;
    text-wrap: nowrap;
}

.billing #pmpro_account .pmpro_actionlinks a:last-child {
    margin-left: auto;
}

#pmpro_account-membership .pmpro_table {
    border-width: 0;
}

#pmpro_account-membership .pmpro_table td,
#pmpro_account-membership .pmpro_table th {
    border-width: 0;
}

#pmpro_account-membership .pmpro_table {
    table-layout: fixed;
    padding: 0 !important;
    margin-top: 20px;
}

#pmpro_account-membership .pmpro_table th,
#pmpro_account-membership .pmpro_table td {
    padding: 0 10px;
    text-align: left;
}

#pmpro_account-membership .pmpro_table th {
    border-bottom: 1px solid #CBD5E1;
}

#pmpro_account #pmpro_account-membership .pmpro_table p {
    margin: 0;
}

.billing #pmpro_account-invoices .pmpro_table {
    margin-top: 20px;
    border: 0;
}

.billing #pmpro_account-invoices .pmpro_table td,
.billing #pmpro_account-invoices .pmpro_table th {
    border: solid #CBD5E1;
    border-width: 0 1px 0 0;
    padding: 10px 15px;
}

.billing #pmpro_account-invoices .pmpro_table th {
    border-width: 0 1px 1px 0;
}

.billing #pmpro_account-invoices .pmpro_table th:last-child {
    border-width: 0 0 1px 0;
}

.billing #pmpro_account-invoices .pmpro_table td:last-child {
    border-width: 0;
}

/*Change Password*/
@media (min-width: 801px) {
    .billing .pmpro_change_password_wrap {
        max-width: 620px;
    }
}

.billing .pmpro_change_password_wrap form {
    margin-top: 30px;
}

.billing .pmpro_change_password_wrap form label {
    color: #1E293B;
    font-weight: 500;
}

.billing .pmpro_change_password_wrap form label:after {
    content: ' *';
    color: #E44141;
}

.pmpro_change_password_wrap #pass-strength-result {
    margin-top: 20px;
}

.billing .pmpro_asterisk {
    display: none;
}

.billing form.pmpro_form label {
    font-weight: 500;
    font-size: 16px;
    color: #1E293B;
}

.billing form.pmpro_form .lite {
    font-size: 10px;
    color: #64748B;
    line-height: 12px;
    font-style: italic;
}

.billing form.pmpro_form .pmpro_change_password-fields #pass-strength-result {
    display: none;
}

.billing .pmpro_change_password_wrap form.pmpro_form input[type=password],
.billing .pmpro_member_profile_edit_wrap form.pmpro_form input[type=text] {
    max-width: 100%;
    width: 100%;

    @media (max-width: 768px) {
        max-width: 100%;
        width: 100%;
    }
}

.billing > div > .pmpro_message {
    padding: 20px;
    font-size: 20px;
    color: #FAFEFF;
    border-radius: 5px;
    @media (min-width: 801px) {
        max-width: 620px;
    }

}

.billing .pmpro_message.pmpro_success,
.billing .pmpro_message.pmpro_success p {
    background-color: #29BD7F;
    box-shadow: 0 10px 20px 0 rgba(36, 166, 112, 0.2);
}

.billing .pmpro_message.pmpro_error,
.billing .pmpro_message.pmpro_error p {
    background-color: #E44141;
    box-shadow: 0 10px 20px 0 rgba(228, 65, 65, 0.2);
}

.billing .pmpro_message p {
    display: inline-block;
}

.pmpro_message.pmpro_error::before,
.pmpro_message.pmpro_success::before {
    content: "";
    width: 24px;
    height: 24px;
    display: inline-block;
    margin-right: 5px;
    position: relative;
    top: 4px;
}

.pmpro_message.pmpro_error::before {
    background: url('data:image/svg+xml,<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 22.5C17.5228 22.5 22 18.0228 22 12.5C22 6.97715 17.5228 2.5 12 2.5C6.47715 2.5 2 6.97715 2 12.5C2 18.0228 6.47715 22.5 12 22.5Z" stroke="%23FAFEFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 16.5V12.5" stroke="%23FAFEFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 8.5H12.01" stroke="%23FAFEFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

.pmpro_message.pmpro_success::before {
    background: url('data:image/svg+xml,<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20 6.5L9 17.5L4 12.5" stroke="%23FAFEFF" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

.billing input[type=submit] {
    box-shadow: 0 10px 20px 0 rgba(36, 166, 112, 0.2);
}

/*Membership Billing*/
@media (min-width: 801px) {
    [id^="pmpro_level-"] {
        max-width: 620px;
    }
}

.billing #pmpro_pricing_fields h2 span.pmpro_checkout-h2-msg {
    float: right;
}

.billing .pmpro_checkout h2:first-child span.pmpro_checkout-h2-msg a {
    font-style: normal;
    font-size: 11px;
}

.billing #pmpro_payment_information_fields h2 span.pmpro_checkout-h2-name {
    display: block;
    margin-bottom: 15px;
}

.billing .pmpro_checkout h2:nth-child(2) span.pmpro_checkout-h2-msg {
    font-size: 16px;
    font-style: normal;
}

.pmpro_checkout-fields {
    margin-top: 30px;
}

form.pmpro_form #pmpro_payment_information_fields .pmpro_checkout-fields label {
    color: #1E293B;
    font-weight: 500;
}

/*Membership Cancel*/
#pmpro_cancel .pmpro_yeslink {
    margin-right: 10px;
}

/*Affiliate Report*/
#pmpro_account-links {
    display: none;
}

.pmpro_a-right {
    text-decoration: none;
}

.pmpro_affiliates-table-container {
    margin: 0;
}

.pmpro_affiliates-table-container.pmpro_affiliates-orders h2 {
    font-size: 18px;
    margin-bottom: 30px;
}

.pmpro_affiliates-orders-container .pmpro_a-right a {
    font-weight: 400;
}

.pmpro_affiliates-orders-container .pmpro_a-right a:before {
    content: '';
    background: url(../assets/fi_download-cloud.svg) center no-repeat;
    display: inline-block;
    margin-right: 5px;
    width: 10px;
    height: 10px;
    position: relative;
    top: 1px;
}

.pmpro_affiliates-table-container.pmpro_affiliates-orders {
    display: table;
    border: 0;
    margin-top: 30px;
}

.pmpro_affiliates-table-container.pmpro_affiliates-commissions {
    display: table;
}

.billing > div > div.pmpro_affiliates-orders-container {
    margin-top: 40px;
}

.billing .pmpro_affiliates-table-container.pmpro_affiliates-orders .table-row,
.pmpro_affiliates-table-container .table-row {
    display: table-row;
}

.pmpro_affiliates-table-container.pmpro_affiliates-orders .row-item,
.pmpro_affiliates-table-container.pmpro_affiliates-commissions .row-item {
    display: table-cell;
    overflow: unset;
}

.pmpro_affiliates-table-container.pmpro_affiliates-orders .row-item,
.pmpro_affiliates-table-container.pmpro_affiliates-commissions .row-item {
    overflow: unset;
    background: white;
    border-right: 1px solid #94A3B8;
    text-align: center;
    font-weight: 400;
    word-break: break-word;
    padding: 12px;
}

.pmpro_affiliates-table-container.pmpro_affiliates-orders .row-item:after {
    content: '';
}

.pmpro_affiliates-table-container.pmpro_affiliates-orders .row-item:first-child {
    font-weight: 400;
}

.pmpro_affiliates-table-container.pmpro_affiliates-orders .row-item:last-child,
.pmpro_affiliates-table-container.pmpro_affiliates-commissions .row-item:last-child {
    border-right: 0;
}

.pmpro_affiliates-table-container.pmpro_affiliates-orders .table-row-heading .row-item,
.pmpro_affiliates-table-container.pmpro_affiliates-commissions .table-row-heading .row-item {
    font-weight: 700 !important;
    border-bottom: 1px solid #94A3B8;
}

.billing .pmpro_affiliates-links {
    margin: 40px 0 0;
}

.pmpro_affiliates-links h2 {
    font-size: 18px;
}

.pmpro_affiliates-links p:not(:first-child) {
    position: relative;
}

.pmpro_affiliates-links code span.green {
    color: #2FC737;
}

.pmpro_affiliates-links p strong {
    font-size: 12px;
    color: #94A3B8;
    font-weight: 500;
}

.pmpro_affiliates-links .code-sample {
    margin-top: 5px;
}
