
:root {
  --font-family-serif: "Source Serif 4", serif;
  --bs-font-sans-serif: 'Source Sans 3 Local', 'SUL Override', 'Arial Unicode MS', Helvetica, sans-serif;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  font-size: var(--sul-header-font-size);
  line-height: 1.15;
  font-weight: 600;
}

h1,
.h1 {
  --sul-header-font-size: 1.75rem;
}

h2,
.h2 {
  --sul-header-font-size: 1.5rem;
}

h3,
.h3 {
  --sul-header-font-size: 1.25rem;
}

h4,
.h4 {
  --sul-header-font-size: 1rem;
}

h5,
.h5 {
  --sul-header-font-size: 0.9rem;
}

dt {
  font-weight: 600;
}

aside,
.sidebar {
  h2,
  .h2 {
    --sul-header-font-size: 1.25rem;
  }

  h3,
  .h3 {
    --sul-header-font-size: 1rem;
  }

  h4,
  .h4 {
    --sul-header-font-size: 0.9375rem;
  }
}

.index_title {
  --sul-header-font-size: 1.125rem;
  --sul-link-font-weight: 500;
}

.fs-15 {
  --bs-body-font-size: 15px;
  font-size: var(--bs-body-font-size);

  .small {
    font-size: 0.93333rem;
  }
}

.fs-14 {
  --bs-body-font-size: 14px;
  font-size: var(--bs-body-font-size);
}

.text-poppy {
  color: var(--stanford-poppy-dark);
}

.btn-link {
  --bs-link-color: rgb(var(--bs-link-color-rgb));
  --bs-link-hover-color: rgb(var(--bs-link-hover-color-rgb));
}

.disabled {
  color: var(--stanford-50-black);
}

.text-digital-green {
  color: var(--stanford-digital-green);
}

.badge {
  /* Override bootstrap to give a little more space */
  --bs-badge-padding-x: 0.625rem;

  /* Override bootstrap to make the default badge text legible */
  --bs-badge-font-size: 0.875rem;
  --bs-badge-font-weight: 500;

  &.small {
    --bs-badge-font-size: 0.75rem;
  }
}

.truncate-1 {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.truncate-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}

.truncate-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}

.truncate-4 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}

.truncate-5 {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}

@media (min-width: 768px) {
  .truncate-md-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
  }
}

@media (min-width: 992px) {
  .truncate-lg-none {
    display: inherit;
    -webkit-line-clamp: initial;
    overflow: visible;
  }
}

.icon-link .bi::before, .navbar .icon-link .bi::before {
  vertical-align: 0;
}

.navbar .icon-link .bi-envelope::before {
  vertical-align: 0.0625em;
}

.btn {
  .icon-link > .bi-chevron-down::before {
    line-height: 0.995em;
    vertical-align: -0.2em;
  }

  .icon-link > .bi-chevron-up::before {
    vertical-align: -0.125em;
  }
}
