.pathway-detail-table {
    --pathway-detail-code-width: 235px;
    --pathway-detail-credits-width: 110px;
    width: 100%;
    margin: 0;
    margin-bottom: 1rem;
    border-collapse: collapse;
    caption-side: top;
}

.pathway-detail-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.pathway-detail-code-column {
    width: var(--pathway-detail-code-width);
}

.pathway-detail-credits-column {
    width: var(--pathway-detail-credits-width);
}

.pathway-detail-table caption {
    caption-side: top;
    font-weight: 700;
    color: #1a2844;
    margin-top: 0.5rem;
    padding-left: 1.5rem;
}

.pathway-detail-table th,
.pathway-detail-table td {
    padding: 0.2rem 1.5rem;
    vertical-align: top;
    border-bottom: 1px solid #edf1f4;
}

.pathway-detail-table th[scope="row"] {
    font-weight: 700;
    color: #1a2844;
    white-space: nowrap;
}

.pathway-detail-table td:last-child:not(.pathway-detail-group-cell) {
    white-space: nowrap;
    color: #1a2844;
}

.pathway-detail-table .notes {
    display: block;
    margin-top: 0.2rem;
    color: #6c757d;
    font-size: 0.875rem;
}

.pathway-detail-group-cell {
    padding: 0;
    color: inherit;
    white-space: normal;
}

.pathway-detail-group-item {
    display: grid;
    grid-template-columns: var(--pathway-detail-code-width) minmax(0, 1fr) var(--pathway-detail-credits-width);
    align-items: start;
}

.pathway-detail-group-code {
    font-weight: 700;
    color: var(--primary-color, #1a2844);
    white-space: nowrap;
}

.pathway-detail-group-title {
    min-width: 0;
    color: #1a2844;
}

.pathway-detail-group-credits {
    white-space: nowrap;
    color: #1a2844;
}

.pathway-detail-group-item + .pathway-detail-group-item > div {
    padding-top: 0.6rem;
}

.pathway-detail-table .pathway-detail-total-row td {
    border-bottom: 0;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
    background: #f4f8fb;
}

@media (max-width: 990px) {
    .pathway-detail-table {
        --pathway-detail-code-width: 120px;
        --pathway-detail-credits-width: 40px;
    }
}


@media (max-width: 767.98px) {
    .pathway-detail-table th,
    .pathway-detail-table td {
        padding: 0.7rem 0;
    }

    .pathway-detail-table th[scope="row"] {
        white-space: normal;
    }

    .pathway-detail-table .notes {
        display: block;
        margin-top: 0.2rem;
    }

    .pathway-detail-table caption {
        padding-left: 0;
    }

    .pathway-detail-group-item > div {
        padding: 0.7rem 0;
    }

    .pathway-detail-group-code {
        white-space: normal;
    }
}

@media (max-width: 465px) {
    .pathway-detail-table {
        --pathway-detail-code-width: 100px;
        --pathway-detail-credits-width: 40px;
    }
}

