.container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
    grid-template-areas: "a a b b d"
                         "a a b b d"
                         "a a b b d"
                         "a a b b d"
                         "a a c c d";
    min-height: 100vh;
    max-height: 100vh;
    padding: 20px;
    grid-row-gap: 20px;
    grid-column-gap: 20px;
}

section {
    align-items: center;
    display: flex;
    justify-content: center;
}

.filters {
    grid-area: a;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%
}

#courseListingsPage {
    grid-area: a;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
}

.courseListings {
    overflow-y: scroll;
    max-height: 90%;
}

.sidebar {
    grid-area: d;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
}

.schedule {
    grid-area: b;
    display:flex;
    flex-direction: column;
}

#profilePage {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    height: 100vh;
    width: 100vw;
    padding-left: 10%;
    padding-right: 10%;
}

#profileBack {
    height: 10%;
    width: 100%;
}

#profileBackButton {
    height: 100%;
    width: 100%; 
}

#profilePageInfo {
    display: flex;
    padding-top: 5%;
    padding-left: 20%;
    height: 90%;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    background-color: #C8C8C8;
    overflow-y: scroll;
    padding-bottom: 20px;
}

.profilePageInfoLabels {
    padding-top: 10px;
}

.reqListItem {
    background-color: #C8C8C8;
}

/* start of shopping cart */
.shoppingCart {
    grid-area: c;
    display: flex;
    flex-direction: column;
}

.cartButton {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

.notSelectedCart {
}

.selectedCart {
    color: rgb(21,127,250);
    background: white;
}

#shoppingCartBackground {
    z-index: 6;
    font-family: Arial;
    font-size: 48px;
    color: rgba(40, 40, 40, 0.5);
    overflow: hidden;
    position: absolute;
}

/* end of add shopping card */

/* start of schedule */
.classSession {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    font-size: 75%;
}

.notSelected {
    background-color: white;
    color: #1579f6;
    margin-right: 5%
}

.upperDiv {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 10%;
    padding: 5%;
}

.mainDiv {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: 90%;
    padding: 5%;
}

.majorDropdown {
    background-color: white;
    color: black
}

#pageTitle {
    height: 30%;
}

.filtersDiv {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: 100%;
}

.innerFilters {
    margin: 2%;
    width: 80%;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.innerFilterElement {
    margin-left: 2%;
    border: solid .5px black
}

#noresults {
    display: flex;
    justify-content: center;
    margin: 20px;
}

#submitButton {
    text-align: center;
    display: inline-block;
    width: 100%;
}

#backButton {
    height: 10%;
    width: 90%;
}

#addButton {
    height: 50%;
    width: 50%;

}

.scheduleCell {
    width: 14vh;
    height: 7vh;
    border: solid .5px black;
    border-radius: 0;
    display: flex;
    overflow: visible;
}

.scheduleCellWhole {
    width: 14vh;
    height: 3.5vh;
    border: solid .5px black;
    border-radius: 0;
    border-bottom: none;
    display: flex;
    overflow: visible;
}

.scheduleCellHalf {
    width: 14vh;
    height: 3.5vh;
    border: solid .5px black;
    border-radius: 0;
    border-top: none;
    display: flex;
    overflow: visible;
}

.scheduleRow {
    display: flex;
    flex-direction: row;
}

.scheduleDays {
    width: 14vh;
    height: 3vh;
    text-align: center;
}

.scheduleHours {
    width: 3vh;
    height: 7vh;
    text-align: center;
}
.scheduleWHours {
    display: flex;
    flex-direction: row;
}

#notAccessed {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100%;
}

.loginPageCard {
    width: 60vh;
    height: 60vh;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-right: 5vh;
    border-radius: 5%;
    background-color: white;
    padding-left: 1%;
    padding-top: 10vh
}

.loginPage {
    width: 700vh;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

.loginPageCardInner {
    margin-left: 2vh;
    width: 40vh;
    padding-top: 2vh;
}

#netID {
    margin-top: 1vh;
}


@media (max-width: 1024px) {
    /* tablet layout here */
    .container {
        display: flex;
        flex-direction: column;
        overflow: scroll;
        padding: 20px;
    }
    .filters {
        height: 100vh;
        margin: 5px;
    }
    .schedule {
        height: 100vh;
        margin: 5px;
    }
    .shoppingCart {
        height: 20vh;
        margin: 5px;
    }
}
