html body {
    box-sizing: border-box;
    min-height: 100vh;
    min-height: 100dvh;
    height: auto;
    margin: 0;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
}

/* Keep content at its natural height when it exceeds the viewport. */
body > * {
    flex-shrink: 0;
}

body > :where(main, section, article, .container, .content, .tags-container, .docs-wrap) {
    min-width: 0;
    max-width: 100%;
}

:where(h1, h2, h3, p, a, li, summary) {
    overflow-wrap: anywhere;
}

html {
    scroll-padding-top: 84px;
}

body > .footer,
body > #footer-placeholder {
    margin-top: auto;
    flex-shrink: 0;
}
