/* About page styles */

.about_page p {
    font-size: 16px;
}

/* Intro section */
.about_page .about_intro {
    padding-top: 70px;
    padding-bottom: 60px;
}
.about_page .about_intro .wprt-headings {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.about_page .about_intro .wprt-headings .sep {
    margin: 0 auto;
    background-color: #1c63b8;
}

/* Stats band */
.about_page .about_stats {
    background-color: #f7f7f7;
    border-top: solid 2px #ebebeb;
    border-bottom: solid 2px #ebebeb;
    padding: 45px 0 25px;
}
.about_page .about_stats .single_value {
    text-align: center;
    margin-bottom: 20px;
    padding: 0 12px;
}
.about_page .about_stats .single_value .value_icon {
    display: block;
    font-size: 26px;
    color: #1c63b8;
    margin-bottom: 14px;
}
.about_page .about_stats .single_value h3 {
    font-family: "Poppins", sans-serif;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #333;
    margin: 0 0 8px;
}
.about_page .about_stats .single_value p {
    font-size: 15px;
    line-height: 26px;
    color: #777;
    margin: 0;
}

/* Story section with press quote */
.about_page .about_story {
    padding-top: 70px;
    padding-bottom: 70px;
}
.about_page .about_story .wprt-headings {
    margin-bottom: 35px;
}
.about_page .about_story .wprt-headings .sep {
    background-color: #1c63b8;
}
/* Feature card: fills the column height beside the text, content
   vertically centred, so there is no dead space beneath it */
.about_page .about_story .press_quote {
    background-color: #f7f7f7;
    border: 1px solid #ebebeb;
    border-top: 3px solid #1c63b8;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(32, 37, 43, 0.06);
    padding: 40px 38px;
    margin: 35px 0 0;
    text-align: center;
}
@media (min-width: 992px) {
    .about_page .about_story .story_row {
        display: flex;
        align-items: stretch;
    }
    .about_page .about_story .story_row > div:last-child {
        display: flex;
    }
    .about_page .about_story .press_quote {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin: 0 0 0 30px;
    }
}
.about_page .about_story .press_quote .press_quote_mark {
    display: block;
    font-family: "Poppins", sans-serif;
    font-size: 72px;
    line-height: 0.6;
    color: rgba(28, 99, 184, 0.22);
    margin-bottom: 20px;
}
.about_page .about_story .press_quote .press_quote_text {
    font-style: italic;
    font-size: 17px;
    line-height: 32px;
    color: #555;
    margin: 0 0 25px;
}
.about_page .about_story .press_quote .press_quote_sep {
    width: 40px;
    height: 2px;
    background-color: #1c63b8;
    margin: 0 auto 15px;
}
.about_page .about_story .press_quote .press_quote_source {
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #333;
    line-height: 22px;
    margin: 0;
}
.about_page .about_story .press_quote .press_quote_source_sub {
    font-size: 11px;
    font-weight: 500;
    color: #999;
}

/* Founder section - image blends into the section background */
.about_page .about_founder {
    padding-top: 70px;
    padding-bottom: 0;
    background: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%);
    overflow: hidden;
}
.about_page .about_founder .wprt-headings .sep {
    background-color: #1c63b8;
}
.about_page .about_founder .wprt-headings {
    margin-bottom: 35px;
}
.about_page .about_founder .founder_role {
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #1c63b8;
    margin: 25px 0 5px;
}
.about_page .about_founder .founder_name {
    font-family: "Poppins", sans-serif;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 1px;
    color: #333;
    margin: 0 0 15px;
}
.about_page .about_founder .founder_text {
    padding-bottom: 70px;
}
.about_page .about_founder .founder_signature {
    margin-top: 28px;
}
.about_page .about_founder .founder_signature .founder_name {
    margin: 0;
}
.about_page .about_founder .founder_signature .founder_role {
    margin: 4px 0 0;
}
/* The photo is in normal flow; the section has no bottom padding, so
   the image's bottom edge sits exactly on the boundary with the next
   section. The -1px margin prevents a hairline seam from rounding. */
.about_page .about_founder .founder_img_wrap img {
    display: block;
    width: 100%;
    max-width: 640px;
    margin: 30px auto -1px;
}
/* Mobile: photo first, with its bottom edge dissolving into the
   background instead of a hard horizontal cut */
@media (max-width: 991.98px) {
    .about_page .about_founder {
        padding-top: 50px;
    }
    .about_page .about_founder .founder_row {
        display: flex;
        flex-direction: column;
    }
    .about_page .about_founder .founder_row > div:first-child {
        order: 2;
    }
    .about_page .about_founder .founder_text {
        padding-bottom: 60px;
        text-align: center;
    }
    .about_page .about_founder .founder_text .wprt-headings .sep {
        margin-left: auto;
        margin-right: auto;
    }
    .about_page .about_founder .founder_img_wrap img {
        margin: 0 auto 25px;
        border-bottom: 3px solid #1c63b8;
    }
}

@media (min-width: 992px) {
    /* Own flex context - doesn't rely on Bootstrap's row behaviour,
       which the legacy theme stylesheet interferes with. */
    .about_page .about_founder .founder_row {
        display: flex;
        align-items: flex-end;
    }
    /* Text layers slightly over the enlarged photo */
    .about_page .about_founder .founder_text {
        padding-right: 0;
        padding-top: 20px;
        position: relative;
        z-index: 2;
    }
    .about_page .about_founder .founder_img_wrap {
        position: relative;
        z-index: 1;
    }
    /* Photo grows past its column, pushed toward the right: a slight
       64px overlap under the text, 100px out past the container edge */
    .about_page .about_founder .founder_img_wrap img {
        width: calc(100% + 217px);
        max-width: none;
        margin: 0 -100px -1px -64px;
    }
}

/* CTA band uses the homepage promotion-band classes (row-promotion,
   bg-accent, wprt-action-box) from the global theme stylesheets. */
.about_page .about_cta {
    padding: 30px 0;
}
.about_page .about_cta .text-wrap .sub_text {
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
    margin: 6px 0 0;
}
