﻿
.username_ok,
.email_ok,
.mc_number_ok,
.mc_type_ok {
    color: #359746;
}

.username_bad,
.email_bad,
.mc_number_bad,
.mc_type_bad {
    color: #cc3300;
}

.tb_username_addon,
.tb_email_addon,
.mc_number_addon,
.mc_type_addon {
    visibility: hidden;
}

/*---------------------------------------------------------------*/

#content .addresses .expandable_body {
    padding-top: 0px;
    padding-bottom: 0px;
}

#content .address {
    position: relative;
    padding: 15px;
    background: #EFEFEF;
}

a.remove_address {
    position: absolute;
    top: 10px;
    right: 10px;
    color: #666666 !important;
    z-index: 10;
}

/*---------------------------------------------------------------*/

.medical_student_show,
.trainee_show {
    display: none;
}

body.medical_student .medical_student_show,
body.trainee .trainee_show {
    display: initial;
}

body.medical_student .medical_student_hide,
body.trainee .trainee_hide {
    display: none;
}

.payment_method_descriptions,
.payment_frequency_descriptions {
    font-size: 0.9em;
    line-height: 1.4em;
}

/*---------------------------------------------------------------*/

.gift_aid {
    margin: 20px 0px 30px 0px;
    padding: 14px;
    background-color: #F5F5F7;
    border: 1px solid #CCCCCC;
}

.gift_aid img {
    float: right;
    margin-left: 30px;
    width: 200px;
}

@media screen and (max-width: 767px) {

    .gift_aid img {
        display: block;
        float: none;
        margin-left: 0px;
        margin-bottom: 14px;
    }
}

/*---------------------------------------------------------------*/


.certificate_btn {
    background-color: var(--blue-alt);
}

    .certificate_btn:hover {
        background-color: var(--blue);
    }

.alert_btn {
    background-color: #CE2029;
}

.alert_btn:hover {
    background-color: #AE0009;
}

@media screen and (max-width: 991px) {

    .certificate_btn,
    .alert_btn {
        margin-top: 20px;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {

    .certificate_btn,
    .alert_btn {
        display: inline-block;
    }
}

/*---------------------------------------------------------------*/

.membership_number {
    float: right;
    margin: 4px 0px 15px 15px;
    padding: 6px 15px;
    color: #FFFFFF;
    background-color: var(--purple);
    border-radius: 50px;
}

/*---------------------------------------------------------------*/

.page_subscription .payment_result,
.page_payment_history .payment_result {
    margin: 20px 0px;
    padding: 14px;
    background-color: #EEEEEE;
    border: 1px solid #CCCCCC;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
}

.page_subscription .payment_result p:last-child,
.page_payment_history .payment_result p:last-child {
    margin-bottom: 0px;
}

.page_subscription .membership_status {
    margin: 20px 0px;
    padding: 15px;
    color: #FFFFFF;
    font-size: 1.2em;
    line-height: 1.3em;
    border-radius: 15px;
}

.page_subscription .membership_status strong {
    white-space: nowrap;
}

.page_subscription .membership_active {
    background-color: var(--success);
}

.page_subscription .membership_pending_cancellation {
    background-color: #4E90AF;
}

.page_subscription .membership_expiring {
    background-color: #F0AD4E;
}

.page_subscription .membership_overdue {
    background-color: #D9534F;
}

.page_subscription .membership_suspended {
    background-color: #CA2824;
}

.page_subscription .membership_ended {
    background-color: #4E90AF;
}

.page_subscription .membership_terminated {
    background-color: #222222;
}

.page_subscription .gift_aid {
    margin-top: 40px;
}

/*---------------------------------------------------------------*/

.members_intro {
    margin-top: 10px;
    color: #000000;
    background-color: #E4F2FA;
}

.members_intro h2 {
    margin-bottom: 20px;
    color: #0C265D;
}

.members_intro .row {
    margin-left: 0px;
    margin-right: 0px;
}

.members_intro .row > div {
    padding: 20px;
    min-height: 240px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/*---------------------------------------------------------------*/

.member_profile {
    display: flex;
    gap: 1em;
    margin-bottom: 4em;
    align-items: center;
}


    .member_profile .profile_icon {
        --size: 205px;
        position: relative;
        height: fit-content;
    }

        .member_profile .profile_icon .progress_circle_container {
            width: var(--size);
            margin-bottom: 10px;
            transform: scaleX(-1);
        }

            .member_profile .profile_icon .progress_circle_container #progress-circle {
                width: var(--size);
                height: var(--size);
            }

        .member_profile .profile_icon .profile_icon_container {
            position: absolute;
            top: 0;
            width: var(--size);
            height: var(--size);
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .member_profile .profile_icon img {
            --icon-size: calc(var(--size) - 20px);
            width: var(--icon-size);
            height: var(--icon-size);
            object-fit: cover;
        }

        .member_profile .profile_icon p {
            margin: 0;
            font-size: .8em;
            text-align: center;
            z-index: 9;
        }

            .member_profile .profile_icon p span {
                font-size: 1.4em;
                font-weight: 800;
                background: -webkit-linear-gradient(309deg, #412a66, #a86594);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
            }

    .member_profile .profile_information {
        flex-grow: 1;
    }

    .member_profile .profile_info h3 {
        margin-bottom: 0;
    }

    .member_profile .profile_info h2 {
        margin-top: 0;
        margin-bottom: 10px;
        font-family: var(--body-font);
    }

        .member_profile .profile_info h2 span {
            font-size: 20px;
            font-weight: 500;
            margin-left: 6px;
            letter-spacing: -.5px;
            color: var(--purple);
        }

    .member_profile .profile_cards {
        display: flex;
        gap: 1em;
    }

        .member_profile .profile_cards .card {
            flex: 1 1 0px;
        }

            .member_profile .profile_cards .card p {
                margin-bottom: 5px;
            }

.progress_circle_container {
    position: relative;
    width: 120px;
    margin-left: auto;
}

    .progress_circle_container:hover {
        cursor: pointer;
    }

#progress-circle {
    border-radius: 50%;
    width: 100%;
    height: 120px;
}

.profileIcon {
    border-radius: 150px;
    overflow: hidden;
}

.members_intro {
    margin-top: 10px;
    color: #000000;
    background-color: #E4F2FA;
}

    .members_intro h2 {
        margin-bottom: 20px;
        color: #0C265D;
    }

    .members_intro .row {
        margin-left: 0px;
        margin-right: 0px;
    }

        .members_intro .row > div {
            padding: 20px;
            min-height: 240px;
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
        }

.profile_cards .card {
    --text-color: var(--blue);
    --large-text: 2.3em;
}

    .profile_cards .card.warning {
        --text-color: var(--warning)
    }

    .profile_cards .card.danger {
        --text-color: var(--danger)
    }

    .profile_cards .card p strong {
        color: var(--text-color);
    }

    .profile_cards .card i::before {
        color: var(--text-color);
    }

    .profile_cards .card .well {
        border: none;
        padding: 15px;
        margin-bottom: 10px;
    }

    .profile_cards .card.renewal_notice .well {
        font-size: var(--large-text);
        line-height: 1em;
    }

    .profile_cards .card.invoice_snippet .well {
        display: grid;
        gap: 0 15px;
        grid-template-columns: min-content 1fr;
    }

    .profile_cards .card.invoice_snippet .cost {
        grid-row: 1 / 3;
        font-size: var(--large-text);
        line-height: 1em;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .profile_cards .card.invoice_snippet .invoice_status {
        font-weight: 600;
        color: var(--text-color);
    }

    .profile_cards .card.invoice_snippet .invoice_status,
    .profile_cards .card.invoice_snippet .invoice_name {
        font-size: .9em;
        line-height: 1.2em;
    }

    .profile_cards .card span {
        text-align: right;
        margin-left: auto;
        font-size: .9em;
    }
/*---------------------------------------------------------------*/

.member_blocks section {
    height: 100px;
    background: var(--purple);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 10px;
    transition: background .3s ease;
}
    .member_blocks section:hover{
        background: var(--purple-grey);
    }
    .member_blocks section a {
        padding: 15px 25px;
    }

    .member_blocks section span {
        color: #fff;
        font-family: var(--heading-font);
        font-weight: 700;
        font-size: 1.2em;
    }

/*---------------------------------------------------------------*/