.article {
    display: flex;
    flex-direction: column;

    margin-bottom: 2.5vh;
}

.article h2 {
    width: max-content;
}

.article h3 {
    font-size: 1em;
    font-weight: bold;

    margin: 0.5em 0;
}

.article .subsection:not(:first-of-type) {
    padding-top: 0.5em;
}

.article p {
    margin-bottom: 0.5em;
}

h1 {
    font-size: 1.5em;
    font-weight: bolder;
}

h2 {
    font-size: 1.25em;
    font-weight: bold;

    padding-bottom: 0.25em;
    margin-bottom: 1.5vh;
    border-bottom: 2px solid rgb(205, 16, 19);
}

a {
    color: var(--dsc-red);
    text-decoration: none;

    transition: color 0.25s ease-in;
}

a:hover {
    color: var(--dsc-red-darker);
}

a.disabled, a.disabled svg {
    color: rgb(121, 121, 121);
    text-decoration: line-through;
    pointer-events: none;
    cursor: default;
}

b {
    font-weight: bold;
}

ul {
    list-style-type: square;
    margin-bottom: 0.75em;
}

li {
	margin-left: 2em;
	margin-bottom: 0.25em;
}

.link-icon {
    height: 1.3em !important;
    width: auto !important;
    max-width: 1.3em !important;

    margin-right: 0.8em;
}

.link-icon.fa-file-pdf, .link-icon.fa-youtube {
	margin-right: 0.5em;
}

table {
    width: 100%;
    table-layout: fixed;
    font-size: 0.8em;
    overflow-wrap: break-word;

    margin: 2vh 0;
}

thead {
    text-align: left;
}

thead th {
    padding-right: 2vw;
}

thead p {
    font-weight: bold;
}

thead tr {
    border-bottom: 0.25em solid dimgray;
}

tbody tr:nth-child(odd) {
    background-color: rgb(226, 226, 226);
}

tbody td:nth-of-type(1) p {
    margin-left: 1vw;
}

tbody td {
    padding-top: 1vh;
    padding-bottom: 1vh;
    padding-right: 2vw;

    min-width: 15%;
}

@media only screen and (orientation: landscape) {
    body {
        font-size: 1vw;
    }

    h1 {
        font-size: 2.25em;
    }

    h2 {
        margin-bottom: 1em;
    }
}