/* ==========================================================
   NEOPEOPLE LEGAL PAGES
   ========================================================== */

/* Hide old Astra header/footer */
body.page-id-11425 .site-header,
body.page-id-11425 header.site-header,
body.page-id-11425 #masthead,
body.page-id-11425 .elementor-location-header,
body.page-id-11425 .site-footer,
body.page-id-11425 footer.site-footer,
body.page-id-11425 #colophon,
body.page-id-11425 .elementor-location-footer,
body.page-id-11425 .entry-header,
body.page-id-11425 .page-header,
body.page-id-11425 .entry-title,

body.page-id-11835 .site-header,
body.page-id-11835 header.site-header,
body.page-id-11835 #masthead,
body.page-id-11835 .elementor-location-header,
body.page-id-11835 .site-footer,
body.page-id-11835 footer.site-footer,
body.page-id-11835 #colophon,
body.page-id-11835 .elementor-location-footer,
body.page-id-11835 .entry-header,
body.page-id-11835 .page-header,
body.page-id-11835 .entry-title {
    display: none !important;
}

/* Remove old theme width restrictions */
body.page-id-11425 #page,
body.page-id-11425 #content,
body.page-id-11425 .site-content,
body.page-id-11425 .content-area,
body.page-id-11425 .site-main,

body.page-id-11835 #page,
body.page-id-11835 #content,
body.page-id-11835 .site-content,
body.page-id-11835 .content-area,
body.page-id-11835 .site-main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* PAGE BACKGROUND */
.np-legal {
    background: #f5f7fa;
    color: #334e68;
}

.np-legal-shell {
    width: calc(100% - 64px);
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}


/* HERO */
.np-legal-hero {
    padding: 64px 0 54px;
    background: linear-gradient(135deg, #f8f9ff 0%, #f3faf8 100%);
    border-bottom: 1px solid #e1e7ef;
}

.np-legal-kicker {
    display: inline-block;
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #4f46e5;
}

.np-legal-hero h1 {
    margin: 0 0 14px !important;
    padding: 0 !important;
    font-size: clamp(36px, 5vw, 54px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em;
    color: #172b4d;
}

.np-legal-hero p {
    max-width: 720px;
    margin: 0 !important;
    font-size: 18px;
    line-height: 1.7;
    color: #52667a;
}


/* DOCUMENT AREA */
.np-legal-content-section {
    padding: 64px 0 88px;
}


/*
 * White document card.
 * 64px left/right padding fixes the problem in the screenshot.
 */
.np-legal-document {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 960px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: 56px 64px 64px !important;

    background: #ffffff !important;

    border: 1px solid #dfe6ee !important;
    border-radius: 16px !important;

    box-shadow:
        0 1px 2px rgba(16,24,40,.03),
        0 12px 32px rgba(16,24,40,.06);

    color: #334e68;
    font-size: 16px;
    line-height: 1.8;
}


/* HEADINGS */
.np-legal-document h2 {
    margin: 52px 0 18px !important;
    padding: 0 !important;

    font-size: 27px !important;
    line-height: 1.3 !important;

    letter-spacing: -.02em;
    color: #172b4d;
}

.np-legal-document h2:first-child {
    margin-top: 0 !important;
    font-size: 34px !important;
}

.np-legal-document h3 {
    margin: 32px 0 12px !important;
    padding: 0 !important;

    font-size: 21px !important;
    line-height: 1.4 !important;

    color: #243b53;
}


/* PARAGRAPHS */
.np-legal-document p {
    margin: 0 0 20px !important;
    padding: 0 !important;
    line-height: 1.8 !important;
}

.np-legal-document strong {
    color: #172b4d;
    font-weight: 700;
}


/* LISTS */
.np-legal-document ul,
.np-legal-document ol {
    margin: 8px 0 26px !important;
    padding-left: 28px !important;
}

.np-legal-document li {
    margin-bottom: 10px !important;
    padding-left: 5px !important;
    line-height: 1.7 !important;
}


/* LINKS */
.np-legal-document a {
    color: #3157d5;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* TABLES */
.np-legal-document table {
    width: 100%;
    margin: 24px 0 32px;
    border-collapse: collapse;
}

.np-legal-document th,
.np-legal-document td {
    padding: 12px 14px;
    border: 1px solid #dfe6ee;
    text-align: left;
    vertical-align: top;
}

.np-legal-document th {
    background: #f7f9fc;
    color: #172b4d;
}


/* TABLET */
@media (max-width: 900px) {

    .np-legal-shell {
        width: calc(100% - 40px);
    }

    .np-legal-document {
        padding: 44px 40px 50px !important;
    }

    .np-legal-content-section {
        padding: 44px 0 64px;
    }
}


/* MOBILE */
@media (max-width: 600px) {

    .np-legal-shell {
        width: calc(100% - 28px);
    }

    .np-legal-hero {
        padding: 44px 0 38px;
    }

    .np-legal-content-section {
        padding: 28px 0 48px;
    }

    .np-legal-document {
        padding: 30px 24px 38px !important;
        border-radius: 12px !important;
        font-size: 15px;
    }

    .np-legal-document h2 {
        margin-top: 40px !important;
        font-size: 23px !important;
    }

    .np-legal-document h2:first-child {
        font-size: 29px !important;
    }

    .np-legal-document h3 {
        font-size: 19px !important;
    }
}
