body {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 16px;
    padding-top: 70px;
}

p {
    text-align: justify;
}

#header {
    margin-top: 20px;
    margin-bottom: 20px;
}

h1 {
    font-size: 30px;
    font-weight: 300;
    text-align: center;
}

h2 {
    font-size: 25px;
    /* font-weight: 300; */
    font-weight: bold;
    color: #8c1515;
    text-align: center;
}

h3 {
    font-size: 20px;
    font-weight: bold;
}

.lhead {
    font-weight: normal;
    margin-top: 5px;
}

.litem {
    margin-top: 5px;
}

#footer {
    height: 100px;
    padding-top: 50px;
    text-align: center;
    position: relative;
}

a {
    display: inline-block;
    /* Default display */
}

a[href=""] {
    display: none;
    /* Hide link if href is empty */
}

.instructor div {
    text-align: center;
}

.instructor {
    display: inline-block;
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
    font-size: 17px;
    vertical-align: top;
    white-space: normal;
    /* Allow text to wrap */
}

.instructorphoto img {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    margin-bottom: 10px;
    object-fit: cover;
}

.row.d-flex {
    display: flex;
    justify-content: start;
    flex-wrap: wrap;
    /* Allow wrapping on smaller screens */
}

.course-assistant-row {
    margin-left: calc((100% / 28) * 1);
    /* Manually compensate for the extra width of the first instructor */
}

@media (max-width: 768px) {
    .instructor {
        width: 100%;
        /* Stack instructors vertically on mobile */
    }
}

.logo-left {
    height: 80px;
    float: left;
    margin-left: 50px;
    margin-bottom: 20px;
}

.logo-right {
    height: 80px;
    float: right;
    margin-right: 50px;
    margin-bottom: 20px;
}


.sec {
    margin-bottom: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.sechighlight {
    background-color: #f7f6f1;
}

.tt {
    color: #060;
    display: inline-block;
}

#inputlayer {
    width: 65px;
}

.layer {
    width: 35px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    margin-bottom: 5px;
}

.actmap {
    display: block;
    border: 2px solid #FFF;
}

#convnetvis {
    text-align: center;
}

.pp {
    color: white;
    text-align: left;
    padding: 5px;
    height: 32px;
    margin: 2px;
    background-color: rgb(85, 187, 85);
    overflow: visible !important;
}

#convask {
    position: absolute;
    top: 360px;
    right: 16px;
    color: white;
    font-size: 25px;
    cursor: pointer;
}

#explain {
    display: none;
    background-color: #FF9;
    border-radius: 10px;
    margin: 10px;
    padding: 10px;
}

.qq {
    color: #060;
}

.qa {
    font-style: italic;
}

.qqa {
    margin-bottom: 20px;
}

.spanh {
    font-weight: normal;
}

#coursedesc {
    text-align: justify;
}

#classicons {
    position: absolute;
    bottom: 20px;
    right: 20px;
}

.bold {
    font-weight: bold;
}

.red {
    color: #FF0000;
}


/* Navbar color / spacing */

.navbar-default {
    background-color: rgb(148, 6, 6);
    border-color: rgb(255, 255, 255);
    text-align: center;
}

.navbar-default .navbar-brand {
    color: #ecf0f1;
    font-weight: bold;
}

.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
    color: #223503;
}

.navbar-default .navbar-text {
    color: #ecf0f1;
}

.navbar-default .navbar-collapse>ul {
    width: 84%;
}

.navbar-default .navbar-collapse>ul>li {
    width: 12.5%;
}

.navbar-default .navbar-nav>li>a {
    color: #ffffff;
}

.navbar-default .navbar-nav>li>a:hover,
.navbar-default .navbar-nav>li>a:focus {
    color: #223503;
}

.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:hover,
.navbar-default .navbar-nav>.active>a:focus {
    color: #223503;
    background-color: #c0392b;
}

.navbar-default .navbar-nav>.open>a,
.navbar-default .navbar-nav>.open>a:hover,
.navbar-default .navbar-nav>.open>a:focus {
    color: #223503;
    background-color: #c0392b;
}

.navbar-default .navbar-toggle {
    border-color: #c0392b;
}

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
    background-color: #223503;
}

.navbar-default .navbar-toggle .icon-bar {
    background-color: #ecf0f1;
}

.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
    border-color: #ecf0f1;
}

.navbar-default .navbar-link {
    color: #ecf0f1;
}

.navbar-default .navbar-link:hover {
    color: #fbcbcc;
}


/* Handle formatting on mobile */

@media (max-width: 1024px) {
    /* Adjust to cover mobile view and zoomed-in desktop */

    .navbar-default .navbar-collapse>ul>li {
        width: 100%;
        text-align: left;
    }

    /* Force table to not behave like tables anymore */
    table,
    thead,
    tbody,
    th,
    td,
    tr {
        display: block;
    }

    /* Hide table headers (but not display: none;, for accessibility) */
    thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    /* Make each row look like a card */
    table tr {
        margin-bottom: 20px;
        border-bottom: 2px solid #ddd;
        box-shadow: 2px 2px 1px #dadada;
    }

    tr {
        border: 1px solid #ccc;
    }

    /* Behave like a "row" */
    td {
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 50%;
    }

    /* Position table header as data labels */
    td:before {
        top: 6px;
        left: 6px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
    }

    /* Hide the labels for .week-header rows */
    .week-header td:before {
        display: none;
        /* Completely hide labels */
    }

    /* Label the data for regular rows */
    #schedule td:nth-of-type(1):before {
        content: "Date:";
        font-weight: 300;
    }

    #schedule td:nth-of-type(2):before {
        content: "Description:";
        font-weight: 300;
    }

    #schedule td:nth-of-type(4):before {
        content: "Events:";
    }

    #schedule td:nth-of-type(5):before {
        content: "Deadlines:";
    }

    /* Specific styling for week-header rows */
    .week-header {
        background-color: #dddddd;
        text-align: center;
        padding-left: 0;
    }

    .week-header td {
        border: none;
        padding-left: 0;
    }
    
    .hide-on-mobile {
        display: none;
    }
}