/* course schedule schematic */

.schedule {
        display: flex;
        flex-direction: row;
        gap: 5px;
}

.vaxis {
        display: flex;
        flex-direction: column;
        padding-right: 2px;
}

.tick-wrapper {
        position: relative;
        min-width: 4ch;
        height: 850px;
}

.tick {
        position: absolute;
        right: 0;
        transform: translateY(-50%);
        font-size: .75em;
}

.day-header {
        align-self: center;
        padding: 2px 0;
        font-weight: bold; 
}

.day {
        display: flex;
        flex-direction: column;
        border: 1px solid #b3b5b6;
        border-radius: 4px;
        background-color: #f3f5f6;
        padding: 0 3px 1em 0;
}

.cols {
        display: flex;
        flex-direction: row;
        height: 850px;
}

.col {
        position: relative;
        height: 850px;
        width: 7ch;
}

.course {
        position: absolute;
        left: 3px;
        display: flex;
        flex-direction: column;
        flex-shrink: 0;
        justify-content: center;
        text-align: center;
        text-wrap: wrap;
        hyphens: auto;
        overflow-wrap: anywhere;
        inline-size: min-content; 
        border: 1px solid #b3b5b6;
        width: 8ch; 
        overflow: visible;
        padding: 3px 2px 2px 2px;
        font-size: .75em;
        border-radius: 4px;
        background-color: white;
}

.course::after {
        content: attr(data-title);
        position: absolute;
        display: block;
        width: 300%;
        bottom: 100%;
        left: 50%; 
        transform: translateX(-50%);
        z-index: 99;
        background-color: white;
        opacity: 0; 
        pointer-events: none;
        transition: opacity 0.2s ease-in-out; 
        border: 1px solid #828688;
        border-radius: 4px;
}

.course:hover {
        border: 1px solid #828688;
}

.course:hover::after {
        opacity: 1;
}

.ccode {
        font-weight: bold;
}

.instrs {
        font-size: .85em;
        line-height: 1.3em;
}

.time {
        font-size: .85em;
        line-height: 1.3em;
}
