#page-container {
    font-family: system-ui, monospace, sans-serif;
    font-size: 18px;
    line-height: 1.5rem;
    margin: 0;
}

section {
    margin: 1rem -2px;
    border: solid #c0c8cd 2px;
    border-radius: 10px;
}

.section-title {
    background: #0A3D53;
    border: solid #c0c8cd 2px;
    color: white;
    margin: -2px;
    border-radius: 10px 10px 0px 0px;
    text-align: center;
    padding: .5rem;
}

.section-description {
    padding: .5rem 1rem;
    margin: 0;
    border-bottom: solid #c0c8cd 1px;
}

/* General title styles */
.title {
    font-size: 1.25rem;
    padding: .5rem;
    margin: 0;
}

.resource-icon {
    height: 1.25em;
    vertical-align: middle;
}

.content-title {
    border-bottom: solid #c0c8cd 1px;
    background-color: #f5f5f5;
    line-height: 1.25em;
}

.assignment-title {
    padding: 0;
}

/* General container styles */
.flex-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    padding: .75rem;
    gap: .75rem;
}

.content-item {
    flex: 1 1 30ch;
    border: solid #c0c8cd 1px;
    border-radius: 10px;
    overflow: hidden;
    background-color: #fafafa;
}

.resource-section {
    flex: 1 1 20ch;
    padding: 1rem;
    border-radius: 10px;
    border: solid #c0c8cd 1px;
    background-color: white;
    margin: .5rem;
}

.resource-section h4 {
    margin: 0;
}

.resource-content {
    flex: 1 1 30ch;
    display: flex;
    flex-wrap: wrap;
    border-top: solid #c0c8cd 1px;
}

.assignment-item {
    flex: 1 1 50ch;
}

/* List styles */

.assignment-item ol,
.assignment-item a {
    margin: 0;
    padding: 0;
    padding-left: .5rem;
    list-style-type: none;
}

.content-list {
    padding: 1rem 0 0 2rem;
    margin: 0;
}

.content-list li {
    margin-bottom: .5rem;
    list-style-type: disc;
}

.content-list>li>p {
    margin: 0;
    margin-top: .25rem;
}

.content-list>li>p+ul {
    margin-top: 0;
}

.content-list>li>p+ul>li {
    list-style-type: circle;
}

.resource-section>p,
.content-item>p {
    margin: 0;
    padding: .5rem .5rem 0 .5rem;
}


.project-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
    margin-bottom: -2px;
}

.project-list>li {
    border-top: solid #c0c8cd 1px;
    margin-top: -1px;
    padding: 1em;
    padding-left: .5em;
}


/* Icon styles */
h3>a {
    text-decoration: none;
    color: #0A3D53;
}

.icon {
    color: #0076a8;
    margin-right: 1ch;
}

/* not needed / not ready */
.suspend {
    display: none !important;
}

a.pending {
    color: gray;
    cursor: not-allowed;
    text-decoration: none;
}

/* multi part assignment */
.multiParter {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: space-evenly;
    padding: 1rem;
}

.multiParter>div {
    flex: 1 1 auto;
    border: solid #c0c8cd 2px;
    border-radius: 10px;
}

.partTitle {
    background: #0A3D53;
    border: solid #c0c8cd 2px;
    color: white;
    margin: -2px;
    border-radius: 10px 10px 0px 0px;
    text-align: center;
    padding: .5rem;
}

/* headings */

h2, h3, h4 {
    letter-spacing: 1px;
}