﻿div.scheduleContent {
}

    div.scheduleContent h3 {
        margin-bottom: .75em;
    }

div.courseListing {
    margin: 1em 0;
}

div.courseSection p {
    margin: .2em 0;
}

div.courseSection .courseTitle {
    font-size: 120%;
    font-weight: bold;
    color: #222;
    width: 94%; /* temp? */
}

div.courseListing .courseCode {
}


/*
    Todo: add media query for mobile
*/

div.courseSelectionsInfo {
    max-width: 640px;
}

div.courseSection,
div.noCourses,
div.noCourseResults,
div.noBookmarks {
    border: 1px solid #ccc;
    background: #eee;
    border-radius: 3px;
    padding: .5em;
    margin: .5em 0;
    position: relative;
}

div.noCourses,
div.noCourseResults,
div.noBookmarks {
    max-width: 640px;
    text-align: center;
    font-weight: bold;
}

div.courseSection {
    max-width: 640px;
}

div.courseListing div.courseSection,
.selectionCourse.sortable div.courseSection {
    max-width: 600px;
}

.courseSection div.preRegisteredNote p {
    background: #333;
    background: rgba(0,0,0,.75);
    padding: 0 .5em;
    font-size: 95%;
    margin: 0 0 .5em 0;
    text-align: center;
    font-style: italic;
    color: #eee;
    border-radius: 3px;
}

.courseSection div.utility {
    text-align: right;
}

    .courseSection div.utility div.weightingUtility {
    }

        .courseSection div.utility div.weightingUtility.active {
        }

    .courseSection div.utility p {
        font-weight: bold;
        font-size: 1.1em;
        color: steelblue;
    }

        .courseSection div.utility p.studentWeight i {
        }

        .courseSection div.utility p.studentWeight span {
        }

    .courseSection div.utility div.weightedSelectionControl {
        /*    display: none;
*/ position: absolute;
        background: #eee;
        /*    border: 1px solid #333;
*/ border-radius: 4px;
        padding: .5em;
        right: .5em;
        top: 2.5em;
        box-shadow: 0 0 4px 1px #000;
    }

    .courseSection div.utility div.weightingUtility.active div.weightedSelectionControl {
        display: block;
    }


.courseSection div.scheduleConflictNote p {
    padding: 0;
    color: #e07731;
    /*    margin-top: 1em;
*/ margin-bottom: -.2em;
}

    .courseSection div.scheduleConflictNote p span {
        display: none;
    }

    .courseSection div.scheduleConflictNote p i {
        font-size: 1.75em;
        margin-left: .2em;
    }

.courseSection div.rulesetValidationNote p {
    padding: .1em .5em;
    font-size: 95%;
    margin: 0 0 .5em 0;
    text-align: center;
    color: #000;
}

.courseSection div.sectionScheduleConflictNote p {
    padding: .1em .5em;
    font-size: 95%;
    font-style: italic;
    color: #e07731;
}

    .courseSection div.sectionScheduleConflictNote p i {
        margin-right: .25em;
    }

    .courseSection div.sectionScheduleConflictNote p span {
        font-weight: bold;
        font-style: normal;
        margin-left: .4em;
    }

.courseSection p.courseCode {
    font-weight: bold;
    color: seagreen;
    padding-left: .1em;
}

.courseSection p.courseAdditional {
    padding-left: .1em;
    color: #263f79;
    font-size: .82rem;
    text-transform: uppercase;
}

    .courseSection p.courseAdditional .creditHours {
        font-weight: bold;
    }

    .courseSection p.courseAdditional span.courseTerm {
        margin-right: .5em;
    }

.courseSection p.courseDate .courseDateRange {
    font-size: .9em;
    font-weight: bold;
}

.courseSection p.sectionNote {
    font-style: italic;
    font-size: .9em;
}

.courseSection p.actions {
    font-size: 1.4em;
    position: absolute;
    margin-top: -.25em;
    right: 0.3em;
}

    .courseSection p.actions span.shareCourse {
        color: #63a56f;
        color: #84bc8d;
        cursor: not-allowed;
        display: none; /* for future sharing */
    }

    .courseSection p.actions span.bookmarkedCourse {
        color: lightgrey;
        cursor: pointer;
    }

        .courseSection p.actions span.bookmarkedCourse:hover {
            color: lightyellow;
            text-shadow: 0px 0px 8px darkorange;
        }

        .courseSection p.actions span.bookmarkedCourse.myBookmark {
            color: darkorange;
        }

            .courseSection p.actions span.bookmarkedCourse.myBookmark:hover {
                text-shadow: none;
            }

    .courseSection p.actions span.selectCourse {
        border-left: 1px solid #ccc;
        padding-left: 0.5em;
        color: #58589e;
        cursor: pointer;
    }

        .courseSection p.actions span.selectCourse:hover {
            color: #eef;
            text-shadow: 0px 0px 8px #00f;
        }

    .courseSection p.actions span.selectionsCompleted {
        border-left: 1px solid #ccc;
        padding-left: 0.5em;
        color: lightgrey;
        cursor: not-allowed;
    }

        .courseSection p.actions span.selectCourse i.mySelection,
        .courseSection p.actions span.selectionsCompleted i.mySelection {
            margin-left: -0.9em;
            font-size: 80%;
            color: forestgreen;
            text-shadow: 0px 0px 5px white;
            vertical-align: text-top;
            background: #fff;
            border-radius: 50%;
        }

    .courseSection p.actions span.deleteSelection {
        color: firebrick;
        cursor: pointer;
    }

.courseSection div.crosslistings,
.courseSection div.seatsAvailable {
    display: inline-block;
    vertical-align: top;
}

.courseSection div.crosslistings {
    width: 68%;
}

.courseSection div.seatsAvailable {
    width: 30%;
}

    .courseSection div.seatsAvailable p {
        font-size: 90%;
        margin-top: 0;
        margin-bottom: 0;
        padding-right: .25em;
        text-align: right;
        color: seagreen;
    }

        .courseSection div.seatsAvailable p span {
            font-weight: bold;
        }

.courseSection div.instructor {
    background: rgba(255,255,255,.3);
    margin-top: .5em;
}

    .courseSection div.instructor div.personInfoMini {
        padding-left: .5em;
    }

    .courseSection div.instructor p.additionalInstructors {
        padding: 0 .95em .25em .95em;
        color: #555;
        margin-top: -.2em;
        font-size: .9em;
    }

        .courseSection div.instructor p.additionalInstructors span.additionalInstructor {
            margin-right: 1em;
        }


div.scheduleContent ul.courseScheduleItems {
    list-style-type: none;
    min-width: 300px;
    font-size: .94rem;
    margin: 0;
    padding-left: 0;
}

    div.scheduleContent ul.courseScheduleItems li {
        padding: .2em .5em;
        background: rgba(255,255,255,.3);
        margin: .2em 0;
    }

    div.scheduleContent ul.courseScheduleItems p {
        display: inline-block;
        margin: 0 .5em 0 0;
    }

.courseScheduleItems p.daysAndTimes {
}

.courseScheduleItems span.formattedDays {
    white-space: pre;
    font-family: Courier New, Courier, monospace;
    font-size: 1.1em;
    font-weight: bold;
}

.courseScheduleItems span.formattedDates {
    text-align: right;
    font-weight: bold;
    margin-right: .5rem;
}

.courseScheduleItems span.formattedTimes {
    text-align: right;
    margin-right: .3rem;
}

.courseScheduleItems span.location {
    margin-left: 1em;
}

    .courseScheduleItems span.location i {
        font-size: 80%;
        color: seagreen;
    }

    .courseScheduleItems span.location span {
        font-size: 80%;
        margin-left: .2em;
        margin-right: .2em;
        white-space: nowrap;
        border-radius: 3px;
        padding: 0 .2em;
        background: seagreen;
        vertical-align: middle;
        color: #FFF;
    }

.courseScheduleItems p.commentText {
    min-width: 10em;
}

.courseSection div.crosslistings {
    font-size: .75rem;
    color: #999;
    font-weight: bold;
}

    .courseSection div.crosslistings p > span {
        border: 1px solid;
        display: inline-block;
        padding: .1em .25em;
        border-radius: 4px;
        margin-inline: .25em;
    }

.UGCourseSchedule .ugcspLegend {
    margin: 1em 0;
    margin-top: 2em;
    padding-top: 1.5em;
    border-top: 1px solid #ddd;
    font-size: 85%;
    width: 85%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

    .UGCourseSchedule .ugcspLegend h3 {
        margin: .4em 0 .3em 0;
        font-size: 1.55em;
    }

    .UGCourseSchedule .ugcspLegend table {
        margin-left: 1em;
        margin-bottom: 1em;
        width: auto;
        background: transparent;
    }

.UGCourseSchedule .keySection {
    width: 32%;
    min-width: 200px;
    margin-left: 1%;
    margin-bottom: 1em;
    float: left;
    background: rgb(250,235,215);
    background: rgba(250,235,215, .6);
    border-radius: 3px;
    padding: .1em .5em;
    color: #263f79;
}

    .UGCourseSchedule .keySection:first-child {
        margin-left: 0;
    }

    .UGCourseSchedule .keySection td.single {
        text-align: center;
    }

@media (max-width: 880px) {
    .UGCourseSchedule .ugcspLegend {
        width: 100%;
        max-width: 640px;
    }
    /*    .UGCourseSchedule .keySection {
        width: 90%;
    }
*/
}

@media (max-width: 520px) {
}

.UGCourseSchedule .keySection strong {
    margin-right: .5em;
}

.UGCourseSchedule .clear {
    clear: both;
}


.UGCourseSchedule div.discipline,
.UGCourseSchedule div.courseType {
    margin: .5em 0;
}

.UGCourseSchedule div.resultsCount {
    margin: 1em .2em;
}

    .UGCourseSchedule div.resultsCount p {
    }

        .UGCourseSchedule div.resultsCount p span {
            font-weight: bold;
        }


/* Institutional Division Codes*/
p.instDivCode span {
    text-transform: uppercase;
    font-size: 80%;
    color: #eee;
    background: rgb(109, 73, 109);
    display: inline-block;
    padding: 0 .5em;
    border-radius: 4px;
    vertical-align: middle;
}

    p.instDivCode span.CA {
        background: #6e6493;
    }

    p.instDivCode span.HS {
        background: #ce7663;
        background: #ba974e;
    }

    p.instDivCode span.HU {
        background: #7c847d;
        background: #86916e;
    }

    p.instDivCode span.MN {
        background: #58789e;
    }

div.personInfoMini {
    padding: .2em .5em;
}

    div.personInfoMini p {
        display: inline-block;
        margin: .1em;
        vertical-align: middle;
    }

        div.personInfoMini p.name {
            margin-right: .25em;
            font-size: 1em;
            font-weight: bold;
        }

        div.personInfoMini p.photo {
            font-size: 22px;
        }

    div.personInfoMini div.currentCredits {
        font-size: 90%;
    }

        div.personInfoMini div.currentCredits span {
            font-weight: bold;
        }

p.noCourses {
    font-weight: bold;
}

div.termSelection {
    display: inline-block;
}

.filterReset {
    margin-bottom: -.25em;
    margin-left: .2em;
    display: inline-block
}

    .filterReset p {
        cursor: pointer;
        border: 1px solid #333;
        display: inline-block;
        margin: 0 0 .25em 1em;
        padding: .2em .5em;
        border-radius: 4px;
        font-size: 80%;
        text-transform: uppercase;
        background-color: #c9dbdb;
        background-color: rgba(201, 219, 219, 1);
    }

    .filterReset i {
        margin-right: .5em;
    }

div.scheduleContent div.additional {
    margin-bottom: 1em;
    /*width: clamp(300px, auto, 600px);*/
    max-width: 640px;
    padding: .5em 1em;
    /*background: #182a53;*/
    background: #3d4f78;
    color: #eee;
    border-radius: 3px;
}

div.scheduleContent .preliminary {
    margin-bottom: 1em;
    min-width: 400px;
    max-width: 640px;
    background: rgb(250,235,215);
    background: rgba(250,235,215, .6);
    border-radius: 3px;
    padding: .5em .5em .35em .5em;
    color: #3d4f78;
    position: relative;
}

    div.scheduleContent .preliminary::after {
        content: "";
        clear: both;
        display: table;
    }

    div.scheduleContent .preliminary i {
        display: block;
        position: absolute;
        font-size: 2.25em;
        top: 15px;
    }

    div.scheduleContent .preliminary .messageWrapper {
        margin-left: 42px;
    }

    div.scheduleContent .preliminary p {
        margin-bottom: .2em;
    }

div.scheduleContent a[href='#top'] {
    position: fixed;
    bottom: 50px;
    margin-left: 540px;
    background: rgba(250,250,250, .9);
    width: 115px;
    color: #263f79;
    padding: .75em .25em;
    text-align: center;
    display: block;
    text-decoration: none;
    border-radius: 3px;
    display: none;
    border: 1px solid #333;
    z-index: 999;
    text-transform: uppercase;
    font-size: 80%;
}

    div.scheduleContent a[href='#top']:hover {
        background: rgb(255, 255, 255);
        background: #333;
        color: #eee;
        outline: 2px solid rgba(255,255,255,.8);
    }

@media (max-width: 690px) {
    div.scheduleContent a[href='#top'] {
        margin-left: 0;
        right: 2px;
    }
}

div.scheduleContent .loader2 {
    margin: 1em 0;
    font-weight: bold;
}
div.loader2 p {
    display: flex;
    margin: 0;
    align-items: center;
}

div.loader2 span.spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: .3rem;
    border: 3.5px solid rgba(50,50,50,.2);
    border-top-color: seagreen;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    100% {
        transform: rotate(360deg);
    }
}


div.scheduleContent .loader {
    border: 16px solid #f3f3f3; /* Light grey */
    border-top: 16px solid #3498db; /* Blue */
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
