/* Article typography shared by the desktop and mobile templates. */
.article-content {
    font-size: 16px;
    line-height: 1.8;
    word-break: normal;
    overflow-wrap: break-word;
}

.article-content h1,
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
    margin: 1.4em 0 .6em;
    font-weight: bold;
    line-height: 1.4;
}

.article-content h1 { font-size: 2em; }
.article-content h2 { font-size: 1.65em; }
.article-content h3 { font-size: 1.35em; }
.article-content h4 { font-size: 1.15em; }
.article-content h5 { font-size: 1em; }
.article-content h6 { font-size: .9em; }

.article-content p,
.article-content ul,
.article-content ol,
.article-content dl,
.article-content blockquote,
.article-content pre,
.article-content table {
    margin: 0 0 1em;
}

.article-content > :first-child {
    margin-top: 0;
}

.article-content ul,
.article-content ol {
    padding-left: 2em;
    list-style-position: outside;
}

.article-content ul { list-style-type: disc; }
.article-content ol { list-style-type: decimal; }
.article-content ul ul { list-style-type: circle; }
.article-content ul ul ul { list-style-type: square; }

.article-content li {
    display: list-item;
    list-style-type: inherit;
    margin: .25em 0;
}

.article-content li > ul,
.article-content li > ol,
.article-content li > p:last-child {
    margin-bottom: 0;
}

.article-content dt { font-weight: bold; }
.article-content dd { margin-left: 2em; }
.article-content strong,
.article-content b { font-weight: bold; }
.article-content em,
.article-content i { font-style: italic; }

.article-content a {
    text-decoration: underline;
    text-underline-offset: .15em;
}

.article-content blockquote {
    padding: .6em 1em;
    border-left: 4px solid #d9c9b8;
    background: rgba(127, 127, 127, .06);
    color: #666;
}

.article-content blockquote > :last-child {
    margin-bottom: 0;
}

.article-content pre,
.article-content code,
.article-content kbd,
.article-content samp {
    font-family: Consolas, Monaco, "Courier New", monospace;
}

.article-content code {
    padding: .15em .35em;
    border-radius: 3px;
    background: rgba(127, 127, 127, .1);
    font-size: .9em;
}

.article-content pre {
    box-sizing: border-box;
    max-width: 100%;
    padding: 1em;
    overflow-x: auto;
    border: 1px solid #e2ded7;
    border-radius: 4px;
    background: #f5f3ef;
    color: #333;
    line-height: 1.6;
    white-space: pre;
    word-break: normal;
    word-wrap: normal;
    overflow-wrap: normal;
    tab-size: 4;
}

.article-content pre code {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: inherit;
    white-space: inherit;
}

.article-content table {
    display: block;
    width: fit-content;
    max-width: 100%;
    overflow-x: auto;
    border: 0;
    border-collapse: collapse;
    border-spacing: 0;
    line-height: 1.6;
}

.article-content th,
.article-content td {
    padding: .5em .8em;
    border: 1px solid #d9d9d9;
    vertical-align: top;
}

.article-content th {
    background: rgba(127, 127, 127, .08);
    font-weight: bold;
}

.article-content img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

.article-content hr {
    height: 0;
    margin: 1.5em 0;
    border: 0;
    border-top: 1px solid #d9d9d9;
}

.article-content input[type="checkbox"] {
    margin: 0 .4em 0 0;
    vertical-align: middle;
}
