body {
  font-family: "Inter", sans-serif;
  font-weight: 300;
}

@media (min-width: 992px) {
  .container, .container-sm, .container-md, .container-lg {
    max-width: 960px;
  }
}

@media (min-width: 576px) {
  .container-wide {
    max-width: 90%;
  }
}

@media (min-width: 1200px) {
  .container-wide {
    max-width: 1140px;
  }
}

a {
  color: mediumblue;
  text-decoration: none;
}

a:hover, a:focus {
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}

b, strong {
  font-weight: 600;
}

.navbar {
  font-weight: 400;
  --bs-navbar-brand-font-size: 1rem;
}

.navbar a {
  text-decoration: none;
}

#course-jumbotron {
  background-image:
    linear-gradient(45deg, rgba(255,255,255,0.1), rgba(255,255,255,0.1)),
    url('../images/network-bg.jpg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 200px;
}

#course-title {
  font-size: min(calc(1.5rem + 1.5vw), 2.5rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 1px;
  color: #FF5F05;
  text-shadow: black 1px 1px 2px;
  margin: 0.5rem 0rem;
}

#course-subtitle {
  font-size: min(calc(1rem + 0.4vw), 1.2rem);
  font-weight: 400;
  color: #13294B;
  background-color: aliceblue;
  border: 1px solid #13294B;
  border-radius: 0.375rem;
  padding: 0.1rem 0.75rem;
}

#course-logo {
  width: 180px;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem;
  margin: 0.25rem 0rem 0.5rem 1.5rem;
}

h1, h2, h3, h4, h5 {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

.sparse-lists > li {
  margin-bottom: 1rem;
}

.quote {
  border-left: 0.25rem solid var(--quote-border-left);
  padding: 0.25rem 1rem;
}

.quote > :last-child {
  margin-bottom: 0;
}

.quote-primary {
  --quote-border-left: var(--bs-primary-border-subtle);
}

.quote-secondary {
  --quote-border-left: var(--bs-secondary-border-subtle);
}

.quote-success {
  --quote-border-left: var(--bs-success-border-subtle);
}

.quote-info {
  --quote-border-left: var(--bs-info-border-subtle);
}

.quote-warning {
  --quote-border-left: var(--bs-warning-border-subtle);
}

.quote-danger {
  --quote-border-left: var(--bs-danger-border-subtle);
}

.callout {
  border-left: 0.25rem solid var(--bs-warning);
  padding: 0.75rem 1rem;
  background-color: var(--bs-highlight-bg);
}

.children-p-1 > div {
  padding: 0.25rem;
}

.ms-2-5 {
  margin-left: 0.75rem !important;
}

.text-bg-danger-subtle {
  background-color: rgba(248, 215, 216, 0.6);
}

.text-bg-success-subtle {
  background-color: rgba(209, 231, 221, 0.6);
}

.illini-orange {
  color: #FF5F05;
}

.illini-blue {
  color: #13294B;
}

.darkblue {
  color: darkblue;
}

.bell-yellow {
  color: #f1b102;
}

.bg-illini-orange {
  background-color: #FF5F05;
}

.bg-illini-blue {
  background-color: #13294B;
}

.border-warning-subtle {
  border-color: #d3be7f !important;
}

#schedule-table thead {
  --bs-table-color: white;
  --bs-table-bg: darkslateblue;
}

#schedule-table .badge {
  --bs-badge-padding-y: 0.2em;
  --bs-badge-font-weight: 600;
}

.badge-class {
  border: 1px solid var(--bs-secondary-border-subtle);
  background-color: var(--bs-secondary-bg-subtle);
  color: var(--bs-secondary-text-emphasis);
}

.badge-required {
  border: 1px solid #d3be7f;
  background-color: var(--bs-warning-bg-subtle);
  color: var(--bs-warning-text-emphasis);
  width: 4.5rem;
}

.badge-optional {
  border: 1px solid var(--bs-success-border-subtle);
  background-color: var(--bs-success-bg-subtle);
  color: var(--bs-success-text-emphasis);
  width: 4.5rem;
}

.badge-deadline {
  border: 1px solid var(--bs-danger-border-subtle);
  background-color: var(--bs-danger-bg-subtle);
  color: var(--bs-danger-text-emphasis);
  width: 4.5rem;
}
