﻿

/*#region Media Queries*/

/* Mobile-only */
@media (max-width: 991px) {

    .border-none-mobile {
        --bs-navbar-toggler-focus-width: 0px !important;
        --bs-navbar-toggler-icon-bg: none !important;
        --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 0) !important;
        border: none !important;
    }

    .campus-colorful-text-mobile {
        opacity: 100% !important;
        color: var(--campus-colorful-text) !important;
    }

    .campus-unsubtle-border-right-mobile {
        border-right: 4px solid var(--campus-colorful-text);
    }

    .fc-timeGridWeek-button {
        display: none !important;
    }

    /* TODO: Fix with JS */
    .margin-top-58px {
        margin-top: 58px !important;
    }

    .rounded-mobile {
        border-radius: 0.75rem !important;
    }

    .semester-header {
        font-size: 15px !important;
    }

    .shrinktext-mobile {
        font-size: 90% !important;
    }

    .text-16px-mobile {
        font-size: 16px !important;
    }

    .text-15px-mobile {
        font-size: 15px !important;
    }

    .text-13px-mobile {
        font-size: 13px !important;
    }

    .text-12px-mobile {
        font-size: 12px !important;
    }

    .width-185px-mobile {
        width: 185px !important;
    }

    .fs-1-mobile {
        font-size: 2.5rem !important;
    }

    .fs-2-mobile {
        font-size: 2rem !important;
    }

    .fs-3-mobile {
        font-size: 1.75rem !important;
    }

    .fs-4-mobile {
        font-size: 1.5rem !important;
    }

    .fs-5-mobile {
        font-size: 1.25rem !important;
    }

    .fs-6-mobile {
        font-size: 1rem !important;
    }

    .icon-35px-mobile {
        font-size: 35px !important;
    }

    .w-100-mobile {
        width: 100% !important;
    }

    .lineHeight-normal-mobile {
        line-height: normal !important;
    }

    .bold-mobile {
        font-weight: bold !important;
    }

    .w-100-mobile {
        width: 100% !important;
    }

    .w-100-mobile {
        width: 100% !important;
    }

    .fs-5-mobile {
        font-size: 1.25rem !important;
    }

    .fs-6-mobile {
        font-size: 1rem !important;
    }
}

/* Desktop-only */
@media (min-width: 991px) {

    .align-content-end-lg {
        align-content: flex-end !important;
    }

    .align-self-end-lg {
        align-self: flex-end !important;
    }

    .border-lg-25-px {
        border-radius: 25px !important;
    }

    /* yes hello CSS I would like a small large with extra plain */
    /* also can it come with simultaneous media query and campus dependent logic? */
    .ecpi .ecpi-small-lg {
        font-size: 0.875em;
    }

    .fw-normal-lg {
        font-weight: 400 !important;
    }

    .fw-semibold-lg {
        font-weight: 600 !important;
    }

    .fw-bold-lg {
        font-weight: 700 !important;
    }

    .h1-lg {
        font-size: calc(1.375rem + 1.5vw);
    }

    .h5-lg {
        font-size: 1.25rem;
    }

    .h-100-lg {
        height: 100% !important;
    }

    .height-60px-lg {
        max-height: 60px !important;
    }

    .height-480px-lg {
        height: 480px;
    }

    .locked-height-100vh-lg {
        min-height: 100vh !important;
        height: 100vh !important;
        max-height: 100vh !important;
        overflow-y: hidden !important;
    }

    .locked-height-100pct-lg {
        height: 100% !important;
        max-height: 100% !important;
    }

    .max-height-100pct-lg {
        max-height: 100% !important;
    }

    .max-height-60vh-lg {
        max-height: 60vh;
    }

    .max-width-350-lg {
        max-width: 350px !important;
    }

    .overflow-hidden-lg {
        overflow: hidden !important;
    }

    .overflow-scroll-lg {
        overflow: scroll !important;
    }

    .overflow-y-scroll-lg {
        overflow-y: scroll !important;
    }

    .rounded-lg-reg {
        border-radius: var(--bs-border-radius) !important;
    }

    /* unlike every other -lg class, shaodw-lg means "large shadow", not "shadow but only with large vieport" - yaaaaaay */
    .shadow-when-lg {
        box-shadow: var(--bs-box-shadow) !important;
    }

    .subtle-border-right-lg {
        position: relative;
    }

    .subtle-border-right-lg::before {
        content: "";
        position: absolute;
        top: 25%;
        right: 0;
        bottom: 25%;
        border-right: 2px solid rgba(224, 224, 224, 0.2);
    }

    .text-24px-lg {
        font-size: 24px;
    }

    .text-muted-lg {
        --bs-text-opacity: 1;
        color: var(--bs-secondary-color) !important;
    }

    .width-17vw-lg {
        width: 17vw;
    }

    .width-30px-lg {
        width: 30px;
    }

    .width-400px-lg {
        width: 400px !important;
    }
}

/*#endregion Media Queries*/

/* #region Campus-Dependent Styles */

/* #region Campus-Dependent Overrides */

.ati .ati-montserrat-black {
    font-family: var(--campus-header-font) !important;
    font-weight: 900 !important;
}

.ati .ati-montserrat-bold {
    font-family: var(--campus-header-font) !important;
    font-weight: 700 !important;
}

.ati .ati-noborder {
    border: none !important;
}

.ati .ati-nopadding {
    padding: 0px !important;
}

.ecpi .ecpi-fst-italic {
    font-style: italic !important;
}

.ecpi .ecpi-opacity-70p {
    opacity: .7;
}

.ecpi .ati-only {
    display: none !important;
}

.ati .ecpi-only {
    display: none !important;
}

/* #endregion Campus-Dependent Overrides */

/* #region Campus-Dependent Colors */

.alert-grad {
    background-image: linear-gradient(var(--campus-color-summary), var(--campus-color-dark));
    color: var(--campus-color-summary-bg-text);
    text-align: center;
}

.bg-campus-dark {
    background-color: var(--campus-color-dark);
    color: var(--campus-color-dark-bg-text);
    fill: var(--campus-color-dark-bg-text);
    stroke: var(--campus-color-dark-bg-text);
}

.bg-campus-default-gradient {
    background-color: var(--campus-color-default);
    background-image: linear-gradient(var(--campus-color-default), var(--campus-color-darkened-default));
    color: var(--campus-color-default-bg-text);
    fill: var(--campus-color-default-bg-text);
    stroke: var(--campus-color-default-bg-text);
}

.bg-campus-default-nogradient {
    background-color: var(--campus-color-default) !important;
    color: var(--campus-color-default-bg-text);
}

.bg-campus-light {
    background-color: var(--campus-color-light);
    color: var(--campus-color-light-bg-text);
    fill: var(--campus-color-light-bg-text);
    stroke: var(--campus-color-light-bg-text);
}

.bg-campus-section-pale {
    background-color: var(--campus-color-section-pale);
    color: var(--campus-color-pale-bg-text);
    fill: var(--campus-color-pale-bg-text);
    stroke: var(--campus-color-pale-bg-text);
}

.bg-campus-summary-nogradient {
    background-color: var(--campus-color-summary);
    color: var(--campus-color-summary-bg-text);
    fill: var(--campus-color-summary-bg-text);
    stroke: var(--campus-color-summary-bg-text);
}

.bg-campus-summary-gradient {
    background-color: var(--campus-color-summary);
    background: linear-gradient(var(--campus-color-summary-gradient), var(--campus-color-summary));
    color: var(--campus-color-summary-bg-text);
    fill: var(--campus-color-summary-bg-text);
    stroke: var(--campus-color-summary-bg-text);
}

.bg-campus-ultralight {
    background-color: var(--campus-color-ultralight);
    color: var(--campus-color-ultralight-bg-text);
    fill: var(--campus-color-ultralight-bg-text);
    stroke: var(--campus-color-ultralight-bg-text);
}

.border-campus-dark {
    border-color: var(--campus-color-dark) !important;
}

.border-campus-light {
    border: 2px solid var(--campus-color-light);
}

.border-campus-summary {
    border-color: var(--campus-color-summary) !important;
}

.border-campus-ultralight {
    border: 2px solid var(--campus-color-ultralight);
}

.gradient-icon {
    background-color: var(--campus-color-default);
    background-image: linear-gradient(to right,var(--campus-color-default), var(--campus-color-darkened-default));
    color: var(--campus-color-default-bg-text);
    background-size: 100%;
    -webkit-background-clip: text;
    -moz-background-clip: text;
    -webkit-text-fill-color: transparent;
    -moz-text-fill-color: transparent;
}

.svg-campus-banner {
    color: var(--campus-banner-color);
    fill: var(--campus-banner-color);
    stroke: var(--campus-banner-color);
}

.svg-campus-dark {
    color: var(--campus-color-dark);
    fill: var(--campus-color-dark);
    stroke: var(--campus-color-dark);
}

/* "dark-bg" means "of a color appropriate to contrast with a background of --campus-color-dark" */
.svg-campus-dark-bg {
    color: var(--campus-color-dark-bg-text);
    fill: var(--campus-color-dark-bg-text);
    stroke: var(--campus-color-dark-bg-text);
}

.svg-campus-default {
    color: var(--campus-color-default);
    fill: var(--campus-color-default);
    stroke: var(--campus-color-default);
}

.svg-campus-light {
    color: var(--campus-color-light);
    fill: var(--campus-color-light);
    stroke: var(--campus-color-light);
}

.nav-campus-bg {
    height: 30px;
    background-color: var(--campus-color-background);
}

/* text color classes are usually not necessary because the bg classes set the text color,
    but this is actually setting the text itself to the color that bg-med uses for a background, so it's different */
.text-campus-med {
    color: var(--campus-color-med) !important;
}

/* #endregion Campus-Dependent Colors */

/* #region Campus-Dependent Styleful Button */

body .btn-campus {
    color: var(--campus-color-default-bg-text);
    background-color: var(--campus-color-default);
    border-color: var(--campus-color-light);
}

    body .btn-campus:hover {
        color: var(--campus-color-darkened-default-bg-text);
        background-color: var(--campus-color-darkened-default);
        border-color: var(--campus-color-default);
    }


    body .btn-campus:focus, .btn-campus.focus {
        box-shadow: 0 0 0 0.2rem var(--campus-color-light);
    }


    body
    .btn-campus.disabled, .btn-campus:disabled, .btn-campus:disabled:hover, .btn-campus:disabled:active, .btn-campus:disabled:hover:active {
        color: var(--campus-color-light-bg-text);
        background-color: var(--campus-color-light);
        border-color: var(--campus-color-light);
    }


    body .btn-campus:not(:disabled):not(.disabled):active,
    body .btn-campus:not(:disabled):not(.disabled).active,
    .show > .btn-campus.dropdown-toggle {
        color: var(--campus-color-light-bg-text);
        background-color: var(--campus-color-light);
        border-color: var(--campus-color-default);
    }


        body .btn-campus:not(:disabled):not(.disabled):active:focus,
        body .btn-campus:not(:disabled):not(.disabled).active:focus,
        .show > .btn-campus.dropdown-toggle:focus {
            box-shadow: 0 0 0 0.2rem var(--campus-color-light);
        }
/* #endregion Campus-Dependent Styleful Button */

/* #region Campus-specific behavior definitions */

.ecpi {
    --campus-color-background: #eceff1;
    --campus-color-background-contrast: black;
    --campus-color-dark: #001093;
    --campus-color-dark-bg-text: white;
    --campus-color-summary: #1a51e6;
    --campus-color-summary-gradient: #1a51e6;
    --campus-color-summary-bg-text: white;
    --campus-color-med: #0038ab;
    --campus-color-med-bg-text: white;
    --campus-color-light: #008fd5;
    --campus-color-light-bg-text: white;
    --campus-color-ultralight: #008fd5;
    --campus-color-ultralight-bg-text: white;
    --campus-color-default: #0d4ba0;
    --campus-color-default-bg-text: white;
    --campus-color-darkened-default: #021835;
    --campus-color-darkened-default-bg-text: white;
    --campus-color-thumbnail: #2cb3d9;
    --campus-colorful-text: #3DB5FF;
    --campus-color-text-for-light-bg: white;
    --campus-color-section-pale: #fffafa;
    --campus-color-pale-bg-text: var(--bs-body-color);
    --campus-banner-color: #ffc80b;
    --campus-header-font: 'Rubik', sans-serif;
    --campus-main-font: 'Rubik', sans-serif;
    background-position-x: 325px !important;
    background-color: var(--campus-color-background);
    font-family: var(--campus-main-font);
}

.ati {
    --campus-color-background: #eceff1;
    --campus-color-background-contrast: black;
    --campus-color-dark: #10182b;
    --campus-color-dark-bg-text: white;
    --campus-color-summary: #fd7a20;
    --campus-color-summary-gradient: #ff3400;
    --campus-color-summary-bg-text: white;
    --campus-color-med: #ff5b15;
    --campus-color-med-bg-text: white;
    --campus-color-light: #1a88b9;
    --campus-color-light-bg-text: white;
    --campus-color-ultralight: #bccbde;
    --campus-color-ultralight-bg-text: var(--bs-body-color);
    --campus-color-default: #f26122;
    --campus-color-default-bg-text: white;
    --campus-color-darkened-default: #561E05;
    --campus-color-darkened-default-bg-text: white;
    --campus-color-thumbnail: #ff9b71;
    --campus-colorful-text: #fffbf9;
    --campus-color-section-pale: #fffafa;
    --campus-color-pale-bg-text: var(--bs-body-color);
    --campus-banner-color: #f26122;
    --campus-header-font: Montserrat, "Open Sans", Helvetica, Arial, sans-serif;
    --campus-main-font: Roboto, sans-serif;
    background-position-x: 325px !important;
    background-color: var(--campus-color-background);
    font-family: var(--campus-main-font);
}

/* #endregion Campus-specific behavior definitions */

/* #endregion Campus-Dependent Styles */

/* #region Component-Specific Styles */

/* #region Calendar*/

/*calendar day style*/
#calendarCard .fc-daygrid-day-number {
    padding-right: 10px;
    color: #5A5A5A;
    text-decoration: none !important;
}

/*calendar week style*/
#calendarCard .fc-col-header-cell-cushion {
    color: black;
    text-decoration: none !important;
    text-align: right;
}

/*style for individual events in the calendar*/
#calendarCard .fc-daygrid-event-harness {
    margin-top: 0px !important;
}

#calendarCard .fc-event-title-container {
    color: black !important;
}

#calendarCard .fc-event-time {
    color: black !important;
}

#calendarCard .fc-event-title {
    color: black !important;
    font-size: 11px;
    white-space: normal !important;
}

#calendarCard .fc-button {
    font-size: 0.7em !important;
}

#calendarCard .fc-header-toolbar {
    margin-bottom: 10px !important;
}

#calendarCard .fc-toolbar-title {
    font-size: 25px !important;
    color: black;
}

#calendarCard .fc-toolbar-title {
    font-size: 35px !important;
}

#calendarCard .fc-prev-button {
    background-color: var(--campus-color-default);
}

#calendarCard .fc-next-button {
    background-color: var(--campus-color-default);
}

#calendarCard .fc-today-button {
    background-color: var(--campus-color-default);
}

#calendarCard .fc-prev-button {
    background-color: var(--campus-color-default) !important;
}

#calendarCard .fc-next-button {
    background-color: var(--campus-color-default) !important;
}

#calendarCard .fc-today-button {
    background-color: var(--campus-color-default) !important;
}

#calendarCard .fc-dayGridMonth-button {
    background-color: var(--campus-color-default) !important;
}

#calendarCard .fc-timeGridWeek-button {
    background-color: var(--campus-color-default) !important;
}

#calendarCard .fc-timeGridDay-button {
    background-color: var(--campus-color-default) !important;
}

#calendarCard .fc-day-today {
    background-color: #DCEBFF;
}

#calendarCard .fc-day-today {
    background-color: #DCEBFF !important;
}

#calendarCard .fc-event-title {
    font-size: 0.8em;
}

.fc-scrollgrid-section-body {
    max-height: 50% !important; /* Limit the all-day section to 50% of the total height */
    overflow-y: auto; /* Add scroll if content overflows */
}

/*Prevents all-day events from going out of parent div when there are a lot of events*/
.fc-view-harness {
    overflow-y: auto;
}

.fc-timeGridDay-view .fc-daygrid-body,
.fc-timeGridWeek-view .fc-daygrid-body {
    max-height: 40vh;
}

/*#region Calendar Legend Colors*/
.bg-dark-green {
    background-color: #6FCF78 !important;
}

.bg-orange {
    background-color: #FFDA9D !important;
}

.bg-purple {
    background-color: #E5D2FF !important;
}

.bg-dark-red {
    background-color: #e34242 !important
}
/*#endregion*/

/* #region Calendar Legend*/

.legend-termStartEnd {
    width: 1rem;
    height: 1rem;
    display: inline-block;
    background-color: #FFDA9D;
}

.legend-scheduledCourses {
    width: 1rem;
    height: 1rem;
    display: inline-block;
    background-color: #6FCF78;
}

.legend-canvasAssignments {
    width: 1rem;
    height: 1rem;
    display: inline-block;
    background-color: #FFBEBE;
}

.legend-holidays {
    width: 1rem;
    height: 1rem;
    display: inline-block;
    background-color: #E5D2FF;
}

.legend-small {
    font-size: 12px;
}

.legend-large {
    font-size: 50px;
}

.legendBox {
    text-align: left;
    font-size: 15px;
    border-radius: 13px;
    margin: auto;
    width: 60%;
    border: 0.5px solid gray;
    padding: 10px;
}
/* #endregion Calendar Legend */

/* #endregion Calendar */

/* #region Dropdowns */

.dropdown .dropdown-toggle {
    min-height: 60px !important;
    max-height: 60px !important;
}

.dropdown-menu li a:hover {
    background-color: rgba(125,125,125,0.5) !important;
}

.dropdown-menu li:not(:last-child)::after { /* styles */
    content: '';
    background-color: rgba(125,125,125,0.5);
    width: 90%;
    height: 1px;
    display: block;
    margin: auto;
}

/* #endregion Dropdowns */

/* #region Floating Forms */

floating > .bootstrap-select ~ label {
    color: rgba(var(--bs-body-color-rgb), 65%);
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

.form-floating > .form-control:placeholder-shown ~ label {
    color: rgba(var(--bs-body-color-rgb), 65%);
}

.form-floating > .bootstrap-select {
    margin: 0 !important;
    padding: 0 !important;
}

    .form-floating > .bootstrap-select > [role="combobox"] {
        background: none !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        height: 100%;
    }

        .form-floating > .bootstrap-select > [role="combobox"] .filter-option .filter-option-inner {
            position: absolute !important;
            bottom: 0 !important;
        }


.form-floating > .form-control.form-control-sm, .form-floating > .form-select.form-select-sm, .form-floating > .bootstrap-select {
    padding-bottom: 1px;
    padding-top: 15px;
    padding-left: 1.05rem;
    line-height: 1em;
}

.form-floating > .bootstrap-select {
    height: calc(3rem + calc(var(--bs-border-width) * 2)) !important;
    min-height: calc(3rem + calc(var(--bs-border-width) * 2));
}

    .form-floating > .form-control.form-control-sm ~ label, .form-floating > .form-select.form-select-sm ~ label, .form-floating > .bootstrap-select ~ label {
        padding: 0.5rem 1.4rem 0.15rem 0.75rem;
        height: fit-content;
        border-radius: 0.5rem;
    }

    .form-floating > :disabled ~ label::after, .form-floating > .form-control:disabled ~ label::after, .form-floating > .bootstrap-select:disabled ~ label::after {
        inset: 0.6rem 1.05rem;
        left: 0.5rem;
    }

.bootstrap-select:has(.form-floating), .form-floating > .bootstrap-select {
    width: 100% !important;
}

.form-floating > .bootstrap-select {
    border-radius: var(--bs-border-radius-sm);
    /* ReSharper disable once UnexpectedValue */
    --bs-form-select-bg-img: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e);
    display: block;
    width: 100%;
    padding: 0.375rem 2.25rem 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-body-bg);
    background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}


    .form-floating > .bootstrap-select:focus ~ label, .form-floating > .bootstrap-select:not(:placeholder-shown) ~ label, .form-floating > .bootstrap-select ~ label {
        color: rgba(var(--bs-body-color-rgb), 65%) !important;
        transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem) !important;
    }


    .form-floating > .bootstrap-select .dropdown-toggle .filter-option-inner-inner {
        margin-left: 5px !important;
        max-width: 300px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

/* #endregion Floating Forms */

/* #region Loading Overlay */
#overlay {
    position: fixed;
    top: 0;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: #000;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url('data:image/gif;base64,R0lGODlhFgAWAMQAAPv7+9LS0s7OzsrKysXFxcHBwbW1tbGxsa2trampqaWlpZycnJCQkIyMjIiIiICAgHd3d2dnZ////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFBwASACwAAAAAFgAWAAAFaaAkjiQEkWgKNWMUjYGQks4puqMgz+MqmqIYj/SwkQSBGYMxnOlEiyWrKYkhSVGq5KrtemeKxULhtQbC47Iu+W1/DQctVwQ/GLRm0SH+faYKBSlzQwUEQWxCTYA5O1uNM4WMMI9UAWw8IQAh+QQFBwASACwAAAAAEQAVAAAFSaAkjuTzkKjELCMEjU+EMkz7itFNrqLZy6lGDZUTLRKppAixWCiUSSZ0Sq2SDIeDwYrVWr9gJaFgHRfI1XOYFBCABYGvwC2PQ0MAIfkEBQcAEgAsAAAAABUAEQAABUmgJI5k05AouiAjw4wNlI7J0r4i5MzjKpo/GU+ksKEgj9ThMJxBIhLD0tDMRSJJkbQqwXK/YFRhXAiLyGWzet0MCNRuQUAteKtDACH5BAUHABIALAAAAAAWAAwAAAVEoCSOpKKQaHoY47K0TEoeR/uKTCyPq2iKC91OZKihGA1ZoTCUOSAiwpLZlDwgkORIWpVku+DwLiAQBMKQSARCNqPVkBAAIfkEBQcAEgAsAAAAABYAEQAABUqgJI6kYZBoWhDjcYzIkpJF0b7iksw0K5miGI9mQy0UM4FgOGMwRAFlgClqOGWjKFXCwG6/4PDwAYE8xCKyGc1uzyLnNiQCd88lIQAh+QQFBwASACwFAAAAEQAVAAAFSaAkikUxnqMQjOVoHKggsKZ4wPEqtdKLioEZ6mD4GY2JxRGlWCwQy9MzSq1aTw0Go2HNbq/gsATCvT4gZLADEo2wzZGwG/yIn0IAIfkEBQcAEgAsCgAAAAwAFgAABUXgEEhkaQpCSRSmhJYFawajtLZtjO/kcfAGn4F3GPKOyJ1isVDwls2klMdYIBuMKjLbgjxwEAipIW5FIiWIw4wel9PvXQgAIfkEBQcAEgAsBQABABEAFQAABUmgJI5kIJBoKpxpa7awEMD0WBS1fRO5WPC9oLBmOBwMweJxyBwuEEPF4jlMLESQSIrRaEUeogdYsmCksiMIZMQwk77ptahcE9dCACH5BAUHABIALAAABQAWABEAAAVJoCSOZEkKgqmWARqssCS8cW3fOFnsRT7yPZ/w9ojYDgZSMQKxGQ5IEdMHVT2apYXCBmmIGl4JYlFzYCUMxmiRiHVH6dE4B46FAAAh+QQJBwASACwAAAAAFgAWAAAFTKAkjmRpnmiqrmzrvnAsz7QKRRHkBoIQ3LldL1Arkhq6VYFwhEAerIKUKYE4YNJTg2E6GFiMhUihEBkOKwZXtBCLDuhUeNQenV9kVQgAIfkEBQcAEgAsAAAAABYAFgAABWmgJI7kEJBoKpyiIIzBm44uLUv1TLMBf+uSmIqFikCAs9wjYkSKYivS0okjUq9Y1AMCeWChgW3367Jmz9QFgxodqRkNKljEWGdzKMUiVSikESIGBiIEfkgJeyIHByN9SAuAioyEhleCSCEAIfkECQcAEgAsAAAAABYAFgAABU6gJI5kaZrRc64lFLGwmMasS4+Qc58NBKm7Ui9ILN4aDEbDiFQan9AVYmGcLhTGRSJKMhxMggDtYBAVCqKAIHb4mtEiwZpFHp1H6uCdFQIAOw==');
    opacity: 0.5;
    z-index: 10000;
}

.loading {
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url('data:image/gif;base64,R0lGODlhFgAWAMQAAPv7+9LS0s7OzsrKysXFxcHBwbW1tbGxsa2trampqaWlpZycnJCQkIyMjIiIiICAgHd3d2dnZ////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFBwASACwAAAAAFgAWAAAFaaAkjiQEkWgKNWMUjYGQks4puqMgz+MqmqIYj/SwkQSBGYMxnOlEiyWrKYkhSVGq5KrtemeKxULhtQbC47Iu+W1/DQctVwQ/GLRm0SH+faYKBSlzQwUEQWxCTYA5O1uNM4WMMI9UAWw8IQAh+QQFBwASACwAAAAAEQAVAAAFSaAkjuTzkKjELCMEjU+EMkz7itFNrqLZy6lGDZUTLRKppAixWCiUSSZ0Sq2SDIeDwYrVWr9gJaFgHRfI1XOYFBCABYGvwC2PQ0MAIfkEBQcAEgAsAAAAABUAEQAABUmgJI5k05AouiAjw4wNlI7J0r4i5MzjKpo/GU+ksKEgj9ThMJxBIhLD0tDMRSJJkbQqwXK/YFRhXAiLyGWzet0MCNRuQUAteKtDACH5BAUHABIALAAAAAAWAAwAAAVEoCSOpKKQaHoY47K0TEoeR/uKTCyPq2iKC91OZKihGA1ZoTCUOSAiwpLZlDwgkORIWpVku+DwLiAQBMKQSARCNqPVkBAAIfkEBQcAEgAsAAAAABYAEQAABUqgJI6kYZBoWhDjcYzIkpJF0b7iksw0K5miGI9mQy0UM4FgOGMwRAFlgClqOGWjKFXCwG6/4PDwAYE8xCKyGc1uzyLnNiQCd88lIQAh+QQFBwASACwFAAAAEQAVAAAFSaAkikUxnqMQjOVoHKggsKZ4wPEqtdKLioEZ6mD4GY2JxRGlWCwQy9MzSq1aTw0Go2HNbq/gsATCvT4gZLADEo2wzZGwG/yIn0IAIfkEBQcAEgAsCgAAAAwAFgAABUXgEEhkaQpCSRSmhJYFawajtLZtjO/kcfAGn4F3GPKOyJ1isVDwls2klMdYIBuMKjLbgjxwEAipIW5FIiWIw4wel9PvXQgAIfkEBQcAEgAsBQABABEAFQAABUmgJI5kIJBoKpxpa7awEMD0WBS1fRO5WPC9oLBmOBwMweJxyBwuEEPF4jlMLESQSIrRaEUeogdYsmCksiMIZMQwk77ptahcE9dCACH5BAUHABIALAAABQAWABEAAAVJoCSOZEkKgqmWARqssCS8cW3fOFnsRT7yPZ/w9ojYDgZSMQKxGQ5IEdMHVT2apYXCBmmIGl4JYlFzYCUMxmiRiHVH6dE4B46FAAAh+QQJBwASACwAAAAAFgAWAAAFTKAkjmRpnmiqrmzrvnAsz7QKRRHkBoIQ3LldL1Arkhq6VYFwhEAerIKUKYE4YNJTg2E6GFiMhUihEBkOKwZXtBCLDuhUeNQenV9kVQgAIfkEBQcAEgAsAAAAABYAFgAABWmgJI7kEJBoKpyiIIzBm44uLUv1TLMBf+uSmIqFikCAs9wjYkSKYivS0okjUq9Y1AMCeWChgW3367Jmz9QFgxodqRkNKljEWGdzKMUiVSikESIGBiIEfkgJeyIHByN9SAuAioyEhleCSCEAIfkECQcAEgAsAAAAABYAFgAABU6gJI5kaZrRc64lFLGwmMasS4+Qc58NBKm7Ui9ILN4aDEbDiFQan9AVYmGcLhTGRSJKMhxMggDtYBAVCqKAIHb4mtEiwZpFHp1H6uCdFQIAOw==');
}

/* #endregion Loading Overlay */

/* #region Navbar */

#NavLinks
{
    z-index: 1000;
}

#studentBanner
{
    z-index: 900;
}

/* #endregion Navbar */

/*#region ProfileDisabled*/
/*.form-floating > :disabled ~ label::after,*/

/*.form-floating > :disabled ~ label::after,*/ .form-floating > .profileDisabled ~ label::after {
    background-color: #F6F3E2 !important;
}

.profileDisabled {
    background-color: #F6F3E2 !important;
    border: 2px solid var(--campus-color-summary) !important;
}

.form-floating > .re-entryDisabled ~ label::after {
    /*background-color: #D4D8DA !important;*/
}

.re-entryDisabled {
    /*background-color: #D4D8DA !important;*/
    border: 2px solid var(--campus-color-default) !important;
}

.inactiveLink {
    pointer-events: none;
    cursor: default;
}

/*#endregion */

/* #region Scrollbar */

/* size */
::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}

/* Track */
::-webkit-scrollbar-track {
    border-radius: 10px;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background-color: #A1A1A1;
    border-radius: 10px;
}

    /* Handle on hover */
    ::-webkit-scrollbar-thumb:hover {
        background: #B4B4B4;
        border-radius: 10px;
    }

/* #endregion Scrollbar */

/* #region Selected Event */
.selectedEvent {
    background-color: #EBEBEB;
}

.expanded-nav-section {
    background-color: var(--campus-color-summary);
    color: var(--campus-color-summary-bg-text);
    border-radius: 10px;
}

.active-nav-section {
    background-color: var(--campus-color-background);
    border-radius: 25px 0px 0px 25px;
    color: var(--campus-color-background-contrast) !important;
}

    .active-nav-section a {
        color: var(--campus-color-background-contrast) !important;
    }

.section-header {
    color: var(--campus-color-dark-bg-text);
}
/* #endregion*/

/* #region When the container is hovered, change the display of toggle-div */
.nav-item-div:hover .arrow-div {
    display: block;
}

.nav-item-div:hover {
    padding-left: 35px !important;
}

.border-radius-50px {
    border-radius: 50px;
}

.negative-att {
    background-color: #ffc2b3 !important;
}
/* #endregion */

/* #endregion Component-Specific Styles */

/* #region General Styles */

/* #region Font Size */

.font-size-kinda-big {
    font-size: 1rem !important;
}

.font-size-pretty-big {
    font-size: 3rem !important;
}

.font-size-25px {
    font-size: 25px
}

/* #endregion Font Size */

/* #region Height */

.height-75px {
    height: 75px !important;
}

.height-50px {
    height: 50px;
}

.max-height-60px {
    max-height: 60px !important;
}

.max-height-100vh {
    max-height: 100vh !important;
}

/* #endregion*/

/* #region Width */

.max-width-100vh {
    max-width: 100vh !important;
}

.width-10px {
    width: 10px;
}

.width-12px {
    width: 12px;
}

.width-20px {
    width: 20px;
}

.width-25px {
    width: 25px;
}

.width-30px {
    width: 30px;
}

.width-200px {
    width: 200px;
}

.width-220px {
    min-width: 220px !important;
    width: 220px !important;
    max-width: 220px !important;
}

/* #endregion Width */

/* #region Padding and Margins */

.ml-15 {
    margin-left: 15px;
}

.ml-23 {
    margin-left: 23px;
}

.ml-55 {
    margin-left: 55px;
}

.mr-5 {
    margin-right: 5px;
}

.mt-15 {
    margin-top: 15px;
}

.pt-2-point-5 {
    padding-top: 0.75rem !important;
}

/* #endregion*/

/* #region Other */

/* Initially hide the toggle-div */
.arrow-div {
    display: none;
}

.bg-white-smoke {
    background-color: rgb(240,240,240) !important;
}

.card-title-cont {
    height: 50px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    margin-bottom: 0;
    padding-bottom: 0;
}

.cursor {
    cursor: pointer;
}

.file-box {
    box-shadow: rgba(0,0,0,50%) 5px 5px 4px 3px;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--campus-header-font);
}

.hiddenUnfocused {
    left: 50%;
    position: absolute;
    transform: translateY(-100%);
    z-index: 9999;
}

    .hiddenUnfocused:focus {
        transform: translateY(0%);
    }

.hoverFocus:hover {
    transform: scale(1.03); /*make font get a little bigger*/
    font-weight: 600; /*semibold*/
    transition: .1s; /*speed of transition*/
}

.img-thumbnail-custom {
    padding: 0.15rem;
    background-color: var(--campus-color-thumbnail);
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    width: 50px;
    min-width: 50px;
    max-width: 50px;
    height: 50px;
    min-height: 50px;
    max-height: 50px;
    object-fit: cover;
}

.multiselectdropdownmargins {
    margin-top: 0.44rem !important;
    margin-bottom: 0.44rem !important;
}

.mobile-dropdown-wrapper {
    top: -6px;
    right: -15.75px;
}

#offcanvasNavbar .expanded-nav-section {
    background-color: var(--campus-color-med) !important;
    color: var(--campus-color-med-bg-text);
}

.rounded-top-right {
    border-radius: 0px 25px 0px 0px;
}

.rounded-bottom-right {
    border-radius: 0px 0px 25px 0px;
}

.text-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* #endregion */

/* #endregion General Styles */
.cursor {
    cursor: pointer;
}