/* Narrower container than Bootstrap's default at lg and above. */
@media (min-width: 992px) {
    .container {
        max-width: 840px;
    }
}

.text-large {
    font-size: 112%;
    font-weight: 500;
}

.sub-heading {
    font-weight: 600;
    font-size: 130%;
    padding-top: 10px;
}

.nav-link {
    padding-bottom: 0;
}

.headshot {
    max-width: 120px;
}

.name-line {
    margin-bottom: 5px;
}

.pub-list {
    padding-top: 10px;
}

.pub-list > li + li {
    margin-top: 1.5rem;
}

.contact {
    padding-top: 10px;
}

.responsive-iframe-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.responsive-iframe-container iframe,
.responsive-iframe-container object,
.responsive-iframe-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 10px;
}

/* Course pages */
.course-subtitle {
    font-size: 112%;
}

.schedule-table {
    font-size: 95%;
    table-layout: fixed;
    /* Below this the date column gets narrower than "Sep 22" and, being
       nowrap, would spill over the cell border. .table-responsive scrolls
       horizontally instead. */
    min-width: 560px;
}

/* Give the topic column the bulk of the width; readings are short handles. */
.schedule-table th:nth-child(1),
.schedule-table td:nth-child(1) {
    width: 12%;
}

.schedule-table th:nth-child(2),
.schedule-table td:nth-child(2) {
    width: 48%;
}

.schedule-table th:nth-child(3),
.schedule-table td:nth-child(3) {
    width: 40%;
}

.schedule-table th,
.schedule-table td {
    padding: .5rem;
    vertical-align: top;
}

.schedule-table td.date {
    white-space: nowrap;
}

.schedule-section td {
    background-color: #fff2cc;
    font-weight: 600;
}

.reading-group + .reading-group {
    margin-top: .3rem;
}

.reading-tag {
    display: inline-block;
    font-size: 72%;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: .05rem .35rem;
    margin-right: .3rem;
    border-radius: .2rem;
    white-space: nowrap;
    vertical-align: 1px;
    text-align: center;
}

/* Zero-height sizer carrying the longest label. It contributes its width to
   the tag's shrink-to-fit box but paints nothing, so every tag ends up exactly
   as wide as "Suggested" needs -- no hardcoded width to tune per font. */
.reading-tag::before {
    content: "Suggested";
    display: block;
    height: 0;
    overflow: hidden;
    visibility: hidden;
}

.reading-tag.required {
    background-color: #e9ecef;
    color: #495057;
    border: 1px solid #e9ecef;
}

.reading-tag.suggested {
    background-color: transparent;
    color: #6c757d;
    border: 1px solid #ced4da;
}

.grading-list dt {
    font-weight: 500;
}
