﻿/**
 * SCOPE: Publication Detail Pages
 * Only include styles specific to the this page.
 */
p,
h1, h2, h3, h4, h5, h6,
table, tbody, thead, tr, td, th {
    font-family: var(--apexus-font-family);
    font-size: var(--apexus-font-size);
    line-height: var(--apexus-line-height);
    font-weight: var(--apexus-font-weight);
    padding: 0;
    margin: 0;
    margin-block: 0;
}
h1, h2, h3, h4, h5, h6 {
    line-height: var(--apexus-line-height-thin);
    margin-bottom: var(--apexus-content-gap-related);
}
h1 {
    font-size: var(--apexus-font-size-title-1);
}
h2 {
    font-size: var(--apexus-font-size-title-2);
}
h3 {
    font-size: var(--apexus-font-size-title-3);
}
h4 {
    font-size: var(--apexus-font-size-title-4);
}
h5 {
    font-size: var(--apexus-font-size-title-5);
}
p:has(+ *) {
    margin-bottom: var(--apexus-content-gap);
}
a {
    color: var(--apexus-color-blue);
}

.headers {
    margin-bottom: var(--apexus-content-gap-divergent);
    padding-top: var(--apexus-banner-padding-thick);
    padding-bottom: var(--apexus-banner-padding-thick);
    color: var(--apexus-color-white);
}
.headers:has(+ .container .breadcrumb) {
    margin-bottom: var(--apexus-content-gap-related);
}
.headers > .container > .row {
    flex-wrap: nowrap;
    gap: var(--apexus-content-gap);
    justify-content: space-between
}
.headers > .container > .row > div:first-child {
    width: 100%;
    max-width: var(--apexus-content-copy-width);
}

.breadcrumb {
    margin-bottom: var(--apexus-content-gap-divergent);
}

.container {
    width: 100%;
    max-width: var(--apexus-page-width);
    padding-right: var(--apexus-page-padding);
    padding-left: var(--apexus-page-padding);
    margin-right: auto;
    margin-left: auto;
}
.container.publication-container > div {
    width: 100%;
    max-width: var(--apexus-content-copy-width);
}
.container.top-content {
    margin-top: var(--apexus-content-gap-divergent);
    margin-bottom: var(--apexus-content-gap-divergent);
}


.row {
    margin: 0;
}
.container.links .row {
    display: flex;
    gap: var(--apexus-content-gap);
}
.container.links .row.links-body:has(+ *) {
    margin-bottom: var(--apexus-content-gap);
}

.links-body .card {
    border: var(--apexus-card-border-width) solid var(--apexus-card-border-color);
}

.card-title {
    font-size: var(--apexus-font-size-title-3);
    font-weight: var(--apexus-font-weight-light);
    line-height: var(--apexus-line-height);
    margin-bottom: var(--apexus-content-gap-related);
}

.card-body {
    padding: var(--apexus-card-padding);
}

.card-text {
    font-size: var(--apexus-font-size);
    line-height: var(--apexus-line-height);
}

.education-banner > div:has(> img),
.headers > .container > .row > div:has(> img) {
    display: none;
}
.headers > .container > .row > div > img {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    max-width: 100%;
    max-height: var(--apexus-banner-header-image-height);
}
.education-banner > div > img {
    width: 100%;
    float: right;
    min-height: var(--apexus-banner-header-height);
    max-height: var(--apexus-banner-header-height);
    object-fit: cover;
}

.headers,
.education-banner {
    margin-bottom: var(--apexus-content-gap-divergent);
}
.headers:has(+ .container .breadcrumb),
.education-banner:has(+ .container .breadcrumb) {
    margin-bottom: var(--apexus-content-gap-related);
}

div:has(> .apexus-answers-caption) {
    overflow: hidden;
    text-overflow: ellipsis;
}
.apexus-answers-caption {
    top: var(--apexus-content-gap-divergent);
    left: calc(((100vw - var(--apexus-page-width, 100vw)) / 2) - (var(--apexus-page-padding) / 2));
    width: 100%;
    height: fit-content;
    max-width: var(--apexus-page-width);
    padding-right: var(--apexus-page-padding);
    padding-left: var(--apexus-page-padding);
}
.apexus-answers-caption > * {
    width: 100%;
    max-width: var(--apexus-content-copy-width);
}
.apexus-answers-caption > h1 {
    margin-bottom: 0;
}
.apexus-answers-caption > p {
    font-size: var(--apexus-font-size-title-5);
    font-weight: var(--apexus-font-weight);
    line-height: var(--apexus-line-height-thin);
    padding-top: var(--apexus-content-gap-related);
    color: var(--apexus-color-black);
    margin-bottom: 0;
}

.publication-container > .publication-body > div:has(+ h2),
.publication-container > .publication-body > div > div:has(+ h2),
.publication-container > .publication-body > div > div:has(+ h3) {
    margin-bottom: var(--apexus-content-gap);
}

/**
 * MEDIA QUERY: Breakpoint [769 - ...]px (Laptop)
 **/
@media (min-width: 769px) {
    .container.top-content {
        max-width: calc(var(--apexus-page-width) + (var(--apexus-card-padding) * 2) + (var(--apexus-card-border-width) * 2));
    }
    .apexus-answers-caption {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: calc(((100vw - var(--apexus-page-width, 100vw)) / 2) - (var(--apexus-page-padding) / 2));
        width: 100%;
        max-width: var(--apexus-page-width);
        margin-left: 0;
        padding-right: var(--apexus-page-padding);
        padding-left: var(--apexus-page-padding);
    }
    .container.links .row {
        width: calc(100% + (var(--apexus-card-padding) * 2) - (var(--apexus-card-border-width) * 2));
        margin-left: calc(-1 * (var(--apexus-card-padding) + var(--apexus-card-border-width)));
    }
    .education-banner > div:has(> img),
    .headers > .container > .row > div:has(> img) {
        display: block;
    }
}



/* vvvvv BOOTSTRAP OVERRIDE [START] vvvvv */
.col-md-6,
.col-md-8,
.col-md-12 {
    padding: 0;
}
.breadcrumb {
    margin: 0 0 var(--apexus-content-gap-divergent) 0;
    padding: 0;
}
@media (min-width: 768px) {
    .col-md-6,
    .col-lg-6 {
        -ms-flex: 0 0 calc(50% - (var(--apexus-content-gap) / 2));
        flex: 0 0 calc(50% - (var(--apexus-content-gap) / 2));
        max-width: calc(50% - (var(--apexus-content-gap) / 2));
    }
}
/* ^^^^^ BOOTSTRAP OVERRIDE [STOP] ^^^^^ */



/* vvvvv STYLESHEET CSS OVERRIDE [START] vvvvv */
.headers h1 {
    font-weight: var(--apexus-font-weight);
    margin: 0;
}
.header-title>h1 {
    font-size: var(--apexus-font-size-title-1);
    font-weight: var(--apexus-font-weight-light);
    padding: 0;
    margin: 0 0 var(--apexus-content-gap-related) 0;
}
.header-title>p {
    font-size: var(--apexus-font-size-title-5);
    font-weight: var(--apexus-font-weight);
    line-height: var(--apexus-line-height);
    padding: 0;
}
.apexus-answers-caption>h1 {
    font-size: var(--apexus-font-size-title-1);
    font-weight: var(--apexus-font-weight-light);
    line-height: var(--apexus-line-height-thin);
    color: var(--apexus-color-blue-dark);
}
.publication-container>div {
    max-width: var(--apexus-content-copy-width);
    padding: 0;
    font-size: var(--apexus-font-size);
    line-height: var(--apexus-line-height-thin);
}
@media (min-width: 769px) {
    .card-body {
        padding: var(--apexus-card-padding);
    }
}
@media (max-width: 992px) {
    .header-image>img {
        display: block;
    }
    .apexus-answers-caption {
        color: unset;
        right: unset;
        z-index: unset;
        padding-top: unset;
        padding-bottom: unset;
        text-align: unset;
    }
}
@media (min-width: 1024px) and (max-width: 1280px) {
    .apexus-answers-caption {
        color: unset;
        right: unset;
        z-index: unset;
        padding-top: unset;
        padding-bottom: unset;
        text-align: unset;
    }
    .apexus-answers-caption>p {
        margin-top: 0;
    }
}
@media (min-width: 1281px) {
    .container {
        max-width: var(--apexus-page-width) !important;
    }
    .container.top-content {
        max-width: calc(var(--apexus-page-width) + (var(--apexus-card-padding) * 2) + (var(--apexus-card-border-width) * 2)) !important;
    }
}
/* ^^^^^ STYLESHEET CSS OVERRIDE [STOP] ^^^^^ */