#topline {
    padding: 10px;
    background-color: rgb(0, 51, 68);
    color: white;
    font-family: monospace;
    display: flex;
}

#topline > * {
    margin-left: 20px;
    margin-right: 20px;
}

#topline a {
    color: white;
}

#firstclass {
    margin-left: auto;
}

#schedule>tbody td:first-child {
    font-size: 0.7em;
    color: transparent;
    position: relative;
    padding-right: 20px;
}

td:first-child>span {
    position: absolute;
    top: -0.7em;
    left: 0px;
    background-color: white;
    width: auto;
    color: black;
}

thead td {
    font-weight: bold;
    text-align: center;
}

td:not(:first-child) {
    width: 20%;
}

table {
    border-collapse: collapse;
    width: auto;
}

tr {
    border-top: 1px solid rgb(167, 167, 167);
    position: relative;
    height: 1.1em;
}

.coursename {
    font-weight: bold;
    display: block;
    text-align: center;
    font-size: 1.1em;
}

.coursetype {
    font-weight: bold;
}

td:not(:first-child) {
    vertical-align: top;
    font-family: monospace;
    padding: 4px;
    position: relative;
}

td.Lecture {
    background-color: rgb(255, 207, 255);
}

td.Lab {
    background-color: lightblue;
}

td.Class {
    background-color: yellow;
}

td.Studio {
    background-color: lightgreen;
}

td.Test {
    background-color: red;
    box-shadow: 0px 0px 20px 10px rgb(88, 0, 0);
}

.youarehere {
    color: white;
    background-color: black;
    text-align: center;
}

.youarehere::after{
    font-weight: bold;
    content: 'you are HERE!';
}

@media (max-width:1000px) {
    td {
        font-size: 0.5em !important;
    }
    #topline {
        flex-direction: column;
    }
    #topline > * {
        margin: 20px !important;
    }
    tr {
        height: 0.7em;
    }
}