body{
    margin: 0;
    width: 100%;
    height: 100%;
}

.final-search-home {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
}

.searchHeader{
    width: 100%;
    height: 200px;
    background-color: #9F6F3F;
    display: flex;
    justify-content: center;
}

/* menu */
.final-search-home .menu {
    width: 50px;
    height: 171px;
    margin-right: 20px;
}

.final-search-home .friend {
    /* position: absolute; */
    width: 50px;
    height: 50px;
    /* top: 60px; */
    /* left: 0; */
}

.final-search-home .user-profile {
    /* position: absolute; */
    width: 50px;
    height: 50px;
    /* top: 121px; */
    /* left: 0; */
}

.final-search-home .home {
    /* position: absolute; */
    width: 50px;
    height: 50px;
    /* top: 0; */
    /* left: 0; */
}

.searchContainer{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 12px;
    /* width of menu = 50px - margin-right 20px */
    margin-left: 30px;  
}

/* search bar in searchHeader*/ 
.searchBarContainer{
    width: 100%;
    display: flex;
    justify-content: center;
}
.searchBar{
    width: 1375px;
    /* height: 82px; */
    /* Height of search bar is reduced */
    height: 60px;
    display: flex;
    flex-wrap: nowrap;
}
.searchBar input{
    width: 1300px;
    height: 100%;
    box-sizing: border-box;
    border: 0;
    margin: 0;
    border-radius: 32px 0 0 32px;
    padding: 16px 32px;
    font-size: 20px;
}
.searchBar button{
    width: 75px;
    height: 100%;
    box-sizing: border-box;
    border: 0;
    margin: 0;
    border-radius: 0 32px 32px 0;
    background-color: #ffffff;
}
.searchBar img{
    width: 85%;
    height: 85%;
}

/* filter */
.filter{
    display: flex;
    flex-wrap: nowrap;
}
.filter input{
    /* background-color: #fff8e8; */
}
.filter p{
    font-family: "IBM Plex Sans-Bold", Helvetica;
    font-weight: 700;
    color: #ffffff;
    font-size: 24px;
    margin: 0;
}

/* pillar filter */
.pillarFilter{
    margin-right: 16px;
}
.pillarFilterOptionsContainer{
    background-color: #fff8e8;
    width: 666px;
    height: 58px;
    border-radius: 10px;
    border: 1px solid #000000;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 4px;
}
.pillarFilterOptionsContainer input{
    width: 86px;
    height: 40px;
    font-family: "IBM Plex Sans-Bold", Helvetica;
    font-weight: 700;
    color: #000000;
    font-size: 20px;
    text-align: center;
    border-radius: 10px;
    border: 1.5px solid #000000;
    margin-right: 8px;
}
/* freshmore */
.pillarFilterOptionsContainer input:last-of-type{
    width: 186px;
    margin-right: 0;
}

/* term filter*/
.termFilterOptionsContainer{
    background-color: #fff8e8;
    width: 664px;
    height: 58px;
    border-radius: 10px;
    border: 1px solid #000000;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 8px;
}
.termFilterOptionsContainer input{
    width: 77px;
    height: 40px;
    margin-right: 8px;
    border-radius: 10px;
    border: 1.5px solid #000000;

    font-family: "IBM Plex Sans-Bold", Helvetica;
    font-weight: 700;
    color: #000000;
    font-size: 20px;
    text-align: center;
}
.termFilterOptionsContainer input:last-of-type{
    margin-right: 0;
}
.filter input:hover{
    background-color: #75d483;;
    cursor: pointer;
}

/* active state of filter */
.filterUnactiveState{
    background-color: #fff8e8;
}
.filterActiveState{
    background-color: #75d483;;
}

/* main container (below searchHeader) */
.mainContainer{
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
}

/* left window*/
.leftWindow{
    background-color: #ffffff;
    width: 508px;
    height: 772px;
    box-sizing: border-box;
    height: 100%;
    border-right: 1px solid #000000;
}

/* shopping cart */
.shoppingCartContainer{
    width: 478px;
    /* height: 326px; */
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 12px 16px;
}

/* shopping cart header*/
.shoppingCartHeader{
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.shoppingCartSelectAllContainer{
    display: flex;
    align-items: center;
}
#shoppingCartSelectAll{
    width: 28px;
    height: 28px;
    margin: 0;
    /* align with course block checkbox */
    margin-left: 24px;
}
.shoppingCartSelectAllContainer span{
    font-family: "Inter-Bold", Helvetica;
    font-weight: 700;
    color: #000000;
    font-size: 16px;
    text-align: center;
    margin-left: 12px;
}
.shoppingCartIconContainer{
    display: flex;
    align-items: center;
}
.shoppingCartIconContainer img{
    width: 32px;
    height: 32px;
}
.shoppingCartIconContainer span{
    font-family: "Instrument Sans-Bold", Helvetica;
    font-weight: 700;
    color: #1d1d1d;
    font-size: 20px;
    margin-left: 4px;
}

/* shopping cart window*/
.shoppingCartWindow{
    width: 100%;
    height: 230px;
    border: 1px solid #000000;
    overflow: scroll;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    padding: 12px;
    margin: 12px 0;
}
.shoppingCartCourseBlock{
    width: 100%;
    height: 60px;
    background-color: #eeeeee;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 12px;
    margin-bottom: 12px;
}
.shoppingCartCourseBlock:last-of-type{
    margin-bottom: 0;
}
.shoppingCartCourseBlockCheckbox{
    width: 28px;
    height: 28px;
    border: 1px solid #000000;
    /* set left margin to 0 for alignment for select all */
    margin: 0 12px 0 0;
}
.shoppingCartCourseBlockCourse{
    width: 356px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-family: "IBM Plex Sans-Bold", Helvetica;
    font-weight: bold;
    color: #000000;
    font-size: 16px;
    text-align: left;
}
.shoppingCartCourseBlockCourseCode{
    margin-right: 12px;
}
.shoppingCartCourseBlockCourseTitle{
    width: auto;
}
.shoppingCartCourseBlock button{
    width: 33px;
    height: 32px;
    border: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}

/* shopping cart action button*/
.shoppingCartActionButtonContainer{
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}
#shoppingCartEnrollButton{
    width: 304px;
    height: 36px;
    background-color: hsla(129, 53%, 59%, 1);
    border-radius: 5px;
    border: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
#shoppingCartEnrollButton:hover{
    background-color: hsla(129, 53%, 59%, 0.7);
    cursor: pointer;
}
#shoppingCartEnrollButton span{
    font-family: "Open Sans-SemiBold", Helvetica;
    font-weight: 600;
    color: #ffffff;
    font-size: 18px;
    text-align: center;
}
#shoppingCartClearAllButton{
    width: 126px;
    height: 36px;
    background-color: hsla(359, 57%, 56%, 1);
    border-radius: 5px;
    border: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
#shoppingCartClearAllButton:hover{
    background-color: hsla(359, 57%, 56%, 0.7);
    cursor: pointer;
}
#shoppingCartClearAllButton span{
    font-family: "Open Sans-SemiBold", Helvetica;
    font-weight: 600;
    color: #ffffff;
    font-size: 18px;
    text-align: center;
}

/* schedule */
.scheduleContainer{
    display: flex;
    justify-content: center;
    align-items: center;
}

/* right window */
.rightWindow{
    width: 100%;
    height: 772px;
    box-sizing: border-box;
    background-color: rgb(128, 128, 128, 0.3);
    display: flex;
    justify-content: center;
    align-content: flex-start;
    flex-wrap: wrap;
    padding: 32px 36px;
    overflow: scroll;
}

/* course full container */
.courseFullContainer{
    width: 100%;
    margin-bottom: 32px;
}
/* course block */
.courseBlock{
    /* width changed from 885px to 100% */
    width: 100%;
    height: 152px;
}
.courseBlock:last-of-type{
    margin-bottom: 0px;
}
.courseBlockButton{
    width: 100%;
    height: 100%;
    background-color: #FFFAF0;
    border: 0;
    padding: 12px 12px;
}
.courseBlockButton:hover{
    background-color: rgb(245, 236, 219, 0.7);
    cursor: pointer;
}
.courseBlock1row{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.courseBlock1row span{
    font-family: "Inter-Bold", Helvetica;
    font-size: 30px;
    text-align: center;
}
.courseBlockCourseCode{
    font-weight: bold;
}
.courseBlockCourseTitle{
    width: 100%;
    margin: 8px 0;
    font-family: "Inter-Bold", Helvetica;
    font-size: 32px;
    text-align: left;
    font-weight: bold;
}
.courseBlock2row{
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.courseBlockMessage{
    display: flex;
    align-items: center;
}
.courseBlockInstructor{
    margin: 0 0 8px 0;
    text-align: left;
}
.courseBlockMessage span{
    margin-left: 8px;
    color: #59A452;
    font-weight: bold;
}

/* course detail */
.courseDetail{
    /* don't know what setting width to 100% don't work*/
    display: flex;
    flex-wrap: wrap;
    background-color: #FFF8E8;
    
    /* display: none; */
}
.courseDetailSubContainer{
    width: 100%;
    height: 100%;
    padding: 12px 12px;
}
.courseDetailHeader{
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.courseDetailHeader button{
    border: 1px solid #000000;
    border-radius: 50%;
    background: none;
    width: 46px;
    height: 46px;
    margin-right: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.courseDetailHeader button:hover{
    background-color: rgb(241, 228, 201);
    cursor: pointer;
}
.courseDetailHeader img{
    width: 46px;
    height: 46px;
}
.courseDetailHeader span{
    font-family: "IBM Plex Sans-Bold", Helvetica;
    font-weight: 700;
    color: #503753;
    font-size: 40px;
}
.courseDetail hr{
    width: 100%;
    border: 0;
    height: 2px;
    background-color: hsl(0, 0%, 0%, 0.3);
}
.courseDetailCourseDescription{
    margin: 0 0 12px 0;
    font-family: "Inter-Regular", Helvetica;
    font-weight: 400;
    color: #000000;
    font-size: 16px;
}
.courseDetailPrerequisitesContainer{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    font-family: "Inter-Bold", Helvetica;
    font-weight: 400;
    color: #000000;
    font-size: 16px;
}
.courseDetailPrerequisitesCourse{
    margin: 0 12px;
}
.courseDetailRatingContainer_All{
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    font-family: "Inter-Bold", Helvetica;
    font-weight: 700;
    color: #000000;
    font-size: 20px;
    margin: 12px 0;
}
.courseDetailRatingContainer{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
.courseDetailRatingBoxContainer{
    width: 61px;
    height: 37px;
    background-color: #b4ff72;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.courseDetailRatingContainer img{
    position: relative;
    bottom: 12px;
    width: 16px;
}
.courseDetailMessage{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-family: "Inter-Italic", Helvetica;
    font-weight: 400;
    font-style: italic;
    color: #000000;
    font-size: 16px;
}
.courseDetailMessage span{
    margin-left: 8px;
}
.courseDetailTable{
    width: 100%;
    border-collapse: collapse;
    text-align: center;
    vertical-align: middle;
    font-family: "Inter-Regular", Helvetica;
    font-weight: 400;
    color: #000000;
    font-size: 20px;
    margin: 12px 0;
    background-color: white;
}
.courseDetailTable th, td{
    border: 1px solid #000000;
}
.courseDetailTableFriendIcon{
    height: 48px; 
}
.courseDetailTableButtonContainer{
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.courseDetailTableActionContainer{
    padding: 0;
}
.courseDetailTableAddCartButton{
    background-color: hsla(129, 53%, 59%, 1);
    border-radius: 5px;
    border: 0;
    width: 85%;
    height: 38px;
    font-family: "Open Sans-SemiBold", Helvetica;
    font-weight: 600;
    color: #ffffff;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}
.courseDetailTableAddCartButton:hover{
    background-color: hsla(129, 53%, 59%, 0.7);
    cursor: pointer;
}
.courseDetailTableEnrollButton{
    width: 85%;
    height: 38px;
    background-color: #fcfcfc;
    border-radius: 5px;
    border: 1px solid #000000;
    font-family: "Open Sans-SemiBold", Helvetica;
    font-weight: 600;
    color: #000000;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.courseDetailTableEnrollButton:hover{
    background-color: rgb(238, 238, 238);
    cursor: pointer;
}
.courseDetailStudentReviewButton{
    width: 100%;
    height: 60px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    border: 0;
    background-color: hsl(41, 100%, 82%);
    border-radius: 0px 0px 5px 5px;
    font-family: "Inter-Bold", Helvetica;
    font-weight: 700;
    color: #000000;
    font-size: 20px;
}
.courseDetailStudentReviewButton span{
    margin-right: 8px;
}
.courseDetailStudentReviewButton:hover{
    background-color: hsl(41, 100%, 82%, 0.7);
    cursor: pointer;
}

/* active state for course block */
.hiddenState{
    display: none;
}

/* student review */
.courseDetailStudentReviewContainer{
    padding-top: 12px;
}
.courseDetailStudentReview{
    padding: 12px;
    font-family: "Inter";
}
.courseDetailStudentReviewSubContainer{
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
}
.courseDetailStudentReviewHeader{
    width: 100%;
}
.courseDetailStudentReview table{
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.courseDetailStudentReview th{
    background-color: #fff0c9;
}
.courseDetailStudentReview th, .courseDetailStudentReview td{
    border: 1px solid #000000;
    width: 50%;
    padding: 4px 12px;
    font-size: 14px;
}
.courseDetailStudentReviewHeader{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    font-size: 20px; 
    font-weight: 700;
}
.courseDetailStudentReview p{
    margin: 12px 0;
}

/* pop up window */
.popup{
    position: relative;
    cursor: pointer;
}
.popuptext{
    visibility: hidden;
    width: 200px;
    background-color: #555;
    color: #fff;
    text-align: center;
    font-size: 12px;
    font-family: "Inter-Regular", Helvetica;
    font-weight: normal;
    border-radius: 6px;
    padding: 8px 4px;
    position: absolute;
    z-index: 1;
    bottom: 150%;
    left: 50%;
    margin-left: -100px;
}
.showPopup{
    visibility: visible;
}
/* Friends */
.popuptext_friend{
    bottom: 125%;
}
.popuptext_friend p{
    margin: 4px 0;
}
