
/* Font Specific */

.title-poppins h1,
.title-poppins h2,
.title-poppins h3,
.title-poppins h4,
.title-poppins h5,
.title-poppins h6 {
    font-family: 'Poppins', sans-serif;
}







/* Typography */

h1, h2, h3, h4, h5, h6 {
    font-weight: 400;
    line-height: 1.15;
    margin: 0;
}

.article.spread {
    h1, h2, h3, h4, h5, h6 {
        line-height: 1.25;
    }
}

h1 {
    font-size: var(--title-h1);
}

h2 {
    font-size: var(--title-h2);
}

h3 {
    font-size: var(--title-h3);
}

h4 {
    font-size: var(--title-h4);
}

h5 {
    font-size: var(--title-h5);
}

h6 {
    font-size: var(--title-h6);
}

p {
    margin: 0;
}




/* Article Wrap */

.article-wrap {
    position: relative;
}

.article-wrap:not(.no-max-width) {
    max-width: 100%;
}

.article-wrap.top {
    margin-top: var(--offset-article-wrap);
}

.article-wrap.bottom {
    margin-bottom: var(--offset-article-wrap);
}

.article-wrap.top-article {
    margin-top: var(--offset-article);
}

.article-wrap.bottom-article {
    margin-bottom: var(--offset-article);
}

.article-wrap:not(.expanded) div.p.after {
    display: none;
}

.article-wrap.is-flex {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    gap: 0 50px;
}

.article-wrap.is-flex.is-wrap {
    flex-wrap: wrap;
    justify-content: space-between;
}

.article-wrap.is-flex .article-flex {
    display: flex;
    align-items: center;
}

.article-wrap.is-flex:not(.flex-invert) .article-flex {
    flex: 1 1;
}

.article-wrap.is-flex .article-flex.is-center {
    justify-content: center;
}

.article-wrap.is-flex .article-flex.is-end {
    justify-content: end;
}




/* Article Actions */

.article-actions {

    &:not([class*="top"]):not([class*="bottom"]) {
        margin-top: var(--offset-article-actions);
    }

    &.has-actions {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 0 15px;

        & .action {
            display: inline-flex;
            align-items: center;

            &:not(:first-child) {
                justify-content: center;
            }

            &.flex-1 {
                flex: 1 1;
            }
        }

    }

}







/* Article */

.article {
    font-size: var(--15px);
    line-height: 1.5em;
    max-width: 100%;
}

.article.compact {
    font-size: var(--font-size-compact);
}

.article.medium {
    font-size: var(--font-size-medium);
}

.article.large {
    font-size: var(--font-size-large);
}

.article.larger {
    font-size: var(--font-size-larger);
}

.article.enhanced {
    font-size: var(--font-size-enhanced);
}

.article.thin {
    font-weight: 100;
}

.article.spread {
    line-height: 1.75em;
}

.article:not(.no-space) .p,
.article:not(.no-space) p:not(:last-child) {
    margin-bottom: 1rem;
}

.article p:first-child:not(:has(+ p)) {
    margin-bottom: 0;
}


.article:not(.no-inline) {
    & p,
    & ul,
    & ol,
    & pre,
    & table {
        a:not(.button):not(.button-label),
        a:not(.button):not(.button-label):hover {
            display: inline-block;
            text-decoration: underline;
        }
    }
}

.article.top {
    margin-top: var(--offset-article);
}

.article.bottom {
    margin-bottom: var(--offset-article);
}

.article.top-line {
    margin-top: var(--offset-article-line);
}

.article.bottom-line {
    margin-bottom: var(--offset-article-line);
}

.article.center,
.article.centered {
    margin-left: auto;
    margin-right: auto;
}

.article.center {
    text-align: center;
}

.article:not(.no-space) h1:not(:last-child),
.article:not(.no-space) h2:not(:last-child),
.article:not(.no-space) h3:not(:last-child),
.article:not(.no-space) h4:not(:last-child),
.article:not(.no-space) h5:not(:last-child),
.article:not(.no-space) h6:not(:last-child) {
    margin-bottom: 0.5em;
}

.article.min-space p:not(:last-child),
.article.min-space h1:not(:last-child),
.article.min-space h2:not(:last-child),
.article.min-space h3:not(:last-child),
.article.min-space h4:not(:last-child),
.article.min-space h5:not(:last-child),
.article.min-space h6:not(:last-child) {
    margin-bottom: 0.25em;
}

.article small {
    font-size: 0.85em;
}

.article.enhanced small {
    font-size: 1rem;
    line-height: 1.65em;
}






/* Article Sizes */

.article.article-xxs {
    width: 320px;
}

.article.article-xs {
    width: 525px;
}

.article.article-sm {
    width: 650px;
}

.article.article-md {
    width: 720px;
}

.article.article-lg {
    width: 992px;
}

.article.article-xl {
    width: 1100px;
}



/* Titles */

.uppercase-title h1,
.uppercase-title h2,
.uppercase-title h3,
.uppercase-title h4,
.uppercase-title h5,
.uppercase-title h6,
.uppercase-h1 h1,
.uppercase-h2 h2,
.uppercase-h3 h3,
.uppercase-h4 h4,
.uppercase-h5 h5,
.uppercase-h6 h6 {
    text-transform: uppercase;
}


.title-bottom h1,
.title-bottom h2,
.title-bottom h3,
.title-bottom h4,
.title-bottom h5,
.title-bottom h6,
.title-bottom .title {
    margin-bottom: 0.5em !important;
}

.title-h1 h1,
.title-h1 h2,
.title-h1 h3,
.title-h1 h4,
.title-h1 h5,
.title-h1 h6,
.title-h1 .title {
    font-size: var(--title-h1);
}

.title-h2 h1,
.title-h2 h2,
.title-h2 h3,
.title-h2 h4,
.title-h2 h5,
.title-h2 h6,
.title-h2 .title {
    font-size: var(--title-h2);
}

.title-h3 h1,
.title-h3 h2,
.title-h3 h3,
.title-h3 h4,
.title-h3 h5,
.title-h3 h6,
.title-h3 .title {
    font-size: var(--title-h3);
}

.title-h4 h1,
.title-h4 h2,
.title-h4 h3,
.title-h4 h4,
.title-h4 h5,
.title-h4 h6,
.title-h4 .title {
    font-size: var(--title-h4);
}

.title-h5 h1,
.title-h5 h2,
.title-h5 h3,
.title-h5 h4,
.title-h5 h5,
.title-h5 h6,
.title-h5 .title {
    font-size: var(--title-h5);
}

.title-h6 h1,
.title-h6 h2,
.title-h6 h3,
.title-h6 h4,
.title-h6 h5,
.title-h6 h6,
.title-h6 .title {
    font-size: var(--title-h6);
}









[data-text-ellipsis] {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
}

[data-text-ellipsis="4"] {
    -webkit-line-clamp: 4;
}







@media all and (max-width: 575px) {

    .article h1 br,
    .article h2 br,
    .article h3 br,
    .article h4 br,
    .article h5 br,
    .article h6 br {
        display: none;
    }

}

