/* ---------------------------------------------------------
   Source Med Pharma Static Legal Pages
--------------------------------------------------------- */

.mc-static-page,
.mc-static-page * {
    box-sizing: border-box;
}

.mc-static-page {
    width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 38px 24px 70px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 85% 10%,
            rgba(196, 235, 240, 0.8) 0,
            rgba(196, 235, 240, 0) 36%
        ),
        linear-gradient(
            135deg,
            #f8fcff 0%,
            #eef8fa 55%,
            #e2f0f4 100%
        );
    color: #304a70;
    font-family: Arial, Helvetica, sans-serif;
}

/* ---------------------------------------------------------
   Break out of WordPress constrained layout
--------------------------------------------------------- */

.entry-content > .mc-static-page {
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: none !important;
    margin: 0 0 0 -50vw !important;
}

.entry-content:has(.mc-static-page),
.wp-block-post-content:has(.mc-static-page),
main:has(.mc-static-page),
article:has(.mc-static-page) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

article:has(.mc-static-page) .wp-block-post-title {
    display: none !important;
}

/* ---------------------------------------------------------
   Page container
--------------------------------------------------------- */

.mc-static-page-inner {
    width: min(100%, 1080px);
    margin: 0 auto;
}

/* ---------------------------------------------------------
   Header and logo
--------------------------------------------------------- */

.mc-static-page-header {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 90px;
    margin: 0 0 30px !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.mc-static-page-logo-link {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

.mc-static-page-logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: auto !important;
    max-width: min(100%, 430px) !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    box-shadow: none !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
}

/* ---------------------------------------------------------
   Content card
--------------------------------------------------------- */

.mc-static-page-content {
    width: 100%;
    margin: 0;
    padding: 48px 56px 54px;
    border: 1px solid #d7e6e8;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow:
        0 20px 55px rgba(18, 51, 82, 0.1),
        0 4px 14px rgba(18, 51, 82, 0.05);
}

/* ---------------------------------------------------------
   Main heading
--------------------------------------------------------- */

.mc-static-page .mc-static-page-content h1.mc-portal-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    overflow: visible !important;
    color: #082560 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -1.4px !important;
    text-align: left !important;
    text-indent: 0 !important;
    text-transform: none !important;
    clip: auto !important;
    clip-path: none !important;
}

.mc-static-page-introduction {
    max-width: 760px;
    margin: 0 0 38px !important;
    color: #657493 !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
}

/* ---------------------------------------------------------
   Content sections
--------------------------------------------------------- */

.mc-static-page-section {
    width: 100%;
    margin: 34px 0 0;
    padding: 0;
}

.mc-static-page-section:first-of-type {
    margin-top: 0;
}

.mc-static-page .mc-static-page-content h2.mc-card-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 14px !important;
    padding: 0 0 8px !important;
    overflow: visible !important;
    border-bottom: 1px solid #dce9eb;
    color: #082560 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-indent: 0 !important;
    text-transform: none !important;
    clip: auto !important;
    clip-path: none !important;
}

/* ---------------------------------------------------------
   Body text
--------------------------------------------------------- */

.mc-static-page-content p,
.mc-static-page-content li,
.mc-static-page-content address {
    color: #304a70 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.72 !important;
    text-align: left !important;
}

.mc-static-page-content p {
    margin: 0 0 15px !important;
    padding: 0 !important;
}

.mc-static-page-content ul,
.mc-static-page-content ol {
    margin: 8px 0 20px 26px !important;
    padding: 0 !important;
}

.mc-static-page-content li {
    display: list-item !important;
    margin: 0 0 8px !important;
    padding: 0 0 0 4px !important;
}

.mc-static-page-content ul li {
    list-style-type: disc !important;
}

.mc-static-page-content ol li {
    list-style-type: decimal !important;
}

/* ---------------------------------------------------------
   Links
--------------------------------------------------------- */

.mc-static-page-content a {
    color: #007564 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}

.mc-static-page-content a:hover,
.mc-static-page-content a:focus {
    color: #082560 !important;
}

/* ---------------------------------------------------------
   Contact address
--------------------------------------------------------- */

.mc-static-page-address {
    display: block;
    margin: 0;
    padding: 22px 24px;
    border-left: 4px solid #008f78;
    border-radius: 0 8px 8px 0;
    background: #f2faf8;
    font-style: normal;
}

.mc-static-page-address strong {
    color: #082560;
    font-weight: 700;
}

/* ---------------------------------------------------------
   Placeholder content
--------------------------------------------------------- */

.mc-static-page-placeholder {
    margin-top: 28px;
    padding: 24px;
    border: 1px dashed #a3c5c9;
    border-radius: 10px;
    background: #f7fbfb;
}

/* ---------------------------------------------------------
   Tablet
--------------------------------------------------------- */

@media (max-width: 900px) {
    .mc-static-page {
        padding: 30px 20px 55px;
    }

    .mc-static-page-header {
        min-height: 76px;
        margin-bottom: 24px !important;
    }

    .mc-static-page-logo {
        max-width: min(100%, 360px) !important;
        max-height: 76px !important;
    }

    .mc-static-page-content {
        padding: 40px 38px 44px;
    }

    .mc-static-page .mc-static-page-content h1.mc-portal-title {
        font-size: 38px !important;
    }
}

/* ---------------------------------------------------------
   Mobile
--------------------------------------------------------- */

@media (max-width: 640px) {
    .mc-static-page {
        padding: 22px 14px 42px;
    }

    .mc-static-page-header {
        min-height: 64px;
        margin-bottom: 20px !important;
    }

    .mc-static-page-logo {
        max-width: min(100%, 300px) !important;
        max-height: 64px !important;
    }

    .mc-static-page-content {
        padding: 30px 22px 34px;
        border-radius: 14px;
    }

    .mc-static-page .mc-static-page-content h1.mc-portal-title {
        margin-bottom: 10px !important;
        font-size: 33px !important;
        letter-spacing: -1px !important;
    }

    .mc-static-page-introduction {
        margin-bottom: 30px !important;
        font-size: 16px !important;
    }

    .mc-static-page-section {
        margin-top: 28px;
    }

    .mc-static-page .mc-static-page-content h2.mc-card-title {
        font-size: 21px !important;
    }

    .mc-static-page-content p,
    .mc-static-page-content li,
    .mc-static-page-content address {
        font-size: 15px !important;
        line-height: 1.65 !important;
    }

    .mc-static-page-address {
        padding: 18px;
    }
}

.mc-static-page .mc-static-page-header.mc-portal-header {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-bottom: 2px !important;
}

.mc-static-page .mc-static-page-header.mc-portal-header img.mc-static-page-logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
