/* RCAST legal pages: Terms, Refunds and Privacy */
body.rcast-public {
    background: #f4f8f5;
}

body.rcast-public > .row {
    margin: 0;
    overflow: hidden;
    padding: 70px 15px 105px;
    position: relative;
}

body.rcast-public > .row::before {
    background: linear-gradient(135deg, #14232c 0%, #1d333c 58%, #246f27 100%);
    content: "";
    height: 250px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

body.rcast-public > .row::after {
    background: radial-gradient(circle, rgba(255,255,255,.1) 0 2px, transparent 3px);
    background-size: 24px 24px;
    content: "";
    height: 250px;
    left: 0;
    opacity: .38;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
}

body.rcast-public > .row > .col-lg-12 {
    float: none;
    margin: 0 auto;
    max-width: 1170px;
    position: relative;
    z-index: 1;
}

body.rcast-public .about-heading {
    color: #fff;
    font-size: 42px;
    letter-spacing: -.035em;
    margin: 0;
    padding: 17px 0 48px;
    position: relative;
    text-align: center;
}

body.rcast-public .about-heading::before {
    color: #73c477;
    content: "RCAST.NET \00B7  LEGAL";
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    margin-bottom: 12px;
}

body.rcast-public .general-page-sec {
    background: #fff;
    border: 1px solid #dfe8e2;
    border-radius: 14px;
    box-shadow: 0 20px 54px rgba(20,35,44,.13);
    margin: 0 auto;
    max-width: none;
    overflow: hidden;
    position: relative;
}

body.rcast-public .general-page-sec::before {
    background: linear-gradient(90deg, #328e32, #73c477);
    content: "";
    display: block;
    height: 4px;
}

body.rcast-public .page-content {
    color: #465760;
    font-size: 15px;
    line-height: 1.78;
    padding: 48px 60px 55px;
}

body.rcast-public .page-content > p:first-child {
    border-bottom: 1px solid #e5ece7;
    color: #53656e;
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 38px;
    padding: 0 0 32px;
}

body.rcast-public .page-content h2 {
    color: #14232c;
    font-size: 21px;
    letter-spacing: -.015em;
    margin: 38px 0 14px;
    padding-left: 17px;
    position: relative;
}

body.rcast-public .page-content h2::before {
    background: #328e32;
    border-radius: 3px;
    content: "";
    height: 22px;
    left: 0;
    position: absolute;
    top: 1px;
    width: 4px;
}

body.rcast-public .page-content p {
    margin: 0 0 18px;
}

body.rcast-public .page-content ol,
body.rcast-public .page-content ul {
    margin: 0 0 24px;
    padding-left: 24px;
}

body.rcast-public .page-content li {
    margin: 0 0 10px;
    padding-left: 5px;
}

body.rcast-public .page-content li::marker {
    color: #328e32;
    font-weight: 700;
}

body.rcast-public .page-content a {
    color: #287b2c;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(40,123,44,.3);
    text-underline-offset: 3px;
}

body.rcast-public .page-content a:hover,
body.rcast-public .page-content a:focus {
    color: #1d6121;
    text-decoration-color: currentColor;
}

body.rcast-public .page-content pre {
    background: #f4f8f5;
    border: 1px solid #dfe8e2;
    border-left: 4px solid #328e32;
    border-radius: 8px;
    color: #33464f;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    line-height: 1.75;
    margin: 22px 0;
    padding: 20px 22px;
    white-space: pre-wrap;
}

body.rcast-public .page-content small {
    color: #66777f;
    font-size: 13px;
}

body.rcast-public .site-footer {
    margin-top: 0;
}

@media (max-width: 767px) {
    body.rcast-public > .row {
        padding: 43px 8px 72px;
    }

    body.rcast-public > .row::before,
    body.rcast-public > .row::after {
        height: 205px;
    }

    body.rcast-public .about-heading {
        font-size: 31px;
        padding: 12px 0 34px;
    }

    body.rcast-public .general-page-sec {
        border-radius: 11px;
    }

    body.rcast-public .page-content {
        font-size: 14px;
        line-height: 1.72;
        padding: 31px 23px 38px;
    }

    body.rcast-public .page-content > p:first-child {
        font-size: 15px;
        margin-bottom: 29px;
        padding-bottom: 25px;
    }

    body.rcast-public .page-content h2 {
        font-size: 18px;
        margin-top: 31px;
    }

    body.rcast-public .page-content pre {
        font-size: 12px;
        overflow-x: auto;
        padding: 16px;
    }
}

/* Legal pages use the same content shell and rhythm as the Knowledgebase. */
body.rcast-public .nova-client-content {
    background: #f4f7fb;
    padding: 42px 0 70px;
}

body.rcast-public .nova-page-card > .row {
    margin: 0;
    overflow: visible;
    padding: 0;
}

body.rcast-public .nova-page-card > .row::before,
body.rcast-public .nova-page-card > .row::after {
    display: none;
}

body.rcast-public .nova-page-card > .row > .col-lg-12 {
    float: none;
    margin: 0;
    max-width: none;
    padding: 0;
}

body.rcast-public .nova-page-card > .row > .col-lg-12 > .row {
    margin-right: 0;
    margin-left: 0;
}

body.rcast-public .nova-page-card > .row > .col-lg-12 > .row > .col-sm-12 {
    padding-right: 0;
    padding-left: 0;
}

body.rcast-public .nova-page-card .about-heading {
    background: linear-gradient(125deg, #252e3f 0%, #354b64 70%, #328e32 170%);
    border-radius: 14px;
    box-shadow: 0 15px 40px rgba(37,46,63,.16);
    color: #fff;
    font-size: 29px;
    margin: 0 0 18px;
    padding: 29px 30px;
    text-align: left;
}

body.rcast-public .nova-page-card .about-heading::before {
    color: #73c477;
    font-size: 9px;
    letter-spacing: .13em;
    margin-bottom: 7px;
}

body.rcast-public .nova-page-card .general-page-sec {
    border-color: #e2e7ed;
    border-radius: 11px;
    box-shadow: 0 7px 24px rgba(32,49,67,.05);
    max-width: none;
}

@media (max-width: 767px) {
    body.rcast-public .nova-client-content {
        padding: 20px 0 45px;
    }

    body.rcast-public .nova-page-card .about-heading {
        border-radius: 11px;
        font-size: 23px;
        padding: 22px 19px;
    }
}
