.Article {
    margin-block: var(--articlePadding);
}

.Article.--hasBackground {
    padding-block: var(--articlePadding);
}

:is(.main, .main__fullwidth, .bannerContainer) > .Article.--hasBackground:not(.at-intro) + .Article.--hasBackground {
    margin-top: calc(-1 * var(--articlePadding));
}

.main .Article.--hasBackground:first-of-type,
.bannerContainer .Article.--hasBackground:first-of-type {
    margin-top: 0;
}

.Article:first-of-type.--noMarginTop {
    margin-top: calc(0.5 * var(--articlePadding));;
}

.Article + .Article.--noMarginTop {
    margin-top: calc(-0.5 * var(--articlePadding));
}

:is(.main, .main__fullwidth, .bannerContainer) > .Article.--hasBackground + .Article.--hasBackground.--noMarginTop {
    margin-top: calc(-1.5 * var(--articlePadding));
    padding-top: 0;
}

.Article.--hasBackground + .Article.--noMarginTop,
.Article + .Article.--hasBackground.--noMarginTop {
    margin-top: calc(-1 * var(--articlePadding));
}

.Article.--hasBackground:last-of-type {
    margin-bottom: 0;
}

body:not(.variantDashboard) .aside .Article,
body:not(.variantDashboard) .aside .Article.--hasBackground {
    margin-block: calc(var(--articlePadding) / 2);
}
