/**
 * Convert pixels to REM.
 */
/**
 * Computes a CSS calc function that betweens a value from
 * A to B over viewport-width A to viewport-width B.
 * Requires a media query to cap the value at B.
 */
/**
 * Computes a CSS calc function that betweens a value from
 * A to B over viewport-width A to viewport-width B.
 * Requires a media query to cap the valu1qaze at B.
 * usage: font-size: fluid(1rem, 5rem, 320px, 1440px);
 */
/*!
 * Bootstrap Utilities v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
/**
 * Convert pixels to REM.
 */
/**
 * Computes a CSS calc function that betweens a value from
 * A to B over viewport-width A to viewport-width B.
 * Requires a media query to cap the value at B.
 */
/**
 * Computes a CSS calc function that betweens a value from
 * A to B over viewport-width A to viewport-width B.
 * Requires a media query to cap the valu1qaze at B.
 * usage: font-size: fluid(1rem, 5rem, 320px, 1440px);
 */
@import url("https://use.typekit.net/fpb0tcn.css");
/**
 * Convert pixels to REM.
 */
/**
 * Computes a CSS calc function that betweens a value from
 * A to B over viewport-width A to viewport-width B.
 * Requires a media query to cap the value at B.
 */
/**
 * Computes a CSS calc function that betweens a value from
 * A to B over viewport-width A to viewport-width B.
 * Requires a media query to cap the valu1qaze at B.
 * usage: font-size: fluid(1rem, 5rem, 320px, 1440px);
 */
@import url("https://use.typekit.net/fpb0tcn.css");
@import url("https://fonts.googleapis.com/css2?family=Besley:ital,wght@0,600;1,600&display=swap");
@import url("https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined");
.list-unstyled {
  list-style: none;
  margin: 0;
  padding: 0;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "proxima-nova", sans-serif;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit;
  font-family: inherit;
}

p {
  color: var(--bs-text-color);
  font-size: clamp(1rem, 0.1785714286vw + 0.9642857143rem, 1.125rem);
  font-weight: 400;
  line-height: 1.6;
  margin-block-end: 1em;
}
p:only-child, p:last-child {
  margin-block-end: 0;
}
p strong {
  font-weight: 700;
}
p small {
  font-size: 80% !important;
}
p a {
  color: #427693;
  font-weight: 500;
  text-decoration: underline;
  transition: color 0.25s ease-in-out;
}
p a:hover, p a:focus {
  color: #2e5367;
}
p.small-text {
  font-size: 0.875rem;
}
p.lead-text {
  font-size: clamp(1.25rem, 0.1785714286vw + 1.2142857143rem, 1.375rem);
  font-weight: 500;
  line-height: 1.3;
}
p.medium-text {
  font-size: clamp(1.325rem, 0.25vw + 1.275rem, 1.5rem);
  line-height: 1.3;
}
p.large-text {
  font-size: clamp(1.375rem, 0.3571428571vw + 1.3035714286rem, 1.625rem);
  font-weight: 500;
  line-height: 1.3;
}

.rich-text blockquote,
article blockquote {
  padding: 0.5rem 0 0.5rem 1.5rem;
  margin: 3rem 0;
  position: relative;
}
.rich-text blockquote::before,
article blockquote::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background-color: var(--bs-tertiary);
  border-radius: 0;
}
.rich-text blockquote p,
article blockquote p {
  font-size: clamp(1.375rem, 0.3571428571vw + 1.3035714286rem, 1.625rem);
  font-weight: 500;
  line-height: 1.3;
  margin: 0 0 0.25em;
}
.rich-text blockquote p strong,
article blockquote p strong {
  font-size: clamp(1rem, 0.1785714286vw + 0.9642857143rem, 1.125rem);
  font-weight: 700;
}
.rich-text blockquote p:last-of-type,
article blockquote p:last-of-type {
  margin: 0;
}
.rich-text ul li,
.rich-text ol li,
article ul li,
article ol li {
  color: var(--bs-text-color);
  font-size: clamp(1rem, 0.1785714286vw + 0.9642857143rem, 1.125rem);
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 0.375em;
}
.rich-text ul li a,
.rich-text ol li a,
article ul li a,
article ol li a {
  color: #427693;
  font-weight: 500;
  text-decoration: underline;
  transition: color 0.25s ease-in-out;
}
.rich-text ul li a:hover, .rich-text ul li a:focus,
.rich-text ol li a:hover,
.rich-text ol li a:focus,
article ul li a:hover,
article ul li a:focus,
article ol li a:hover,
article ol li a:focus {
  color: #2e5367;
}
.rich-text .without-markers ul,
article .without-markers ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.rich-text ul,
article ul {
  list-style-type: disc;
}
.rich-text ul ul,
article ul ul {
  list-style-type: circle;
}
.rich-text ol,
article ol {
  list-style-type: decimal;
}
.rich-text ol ol,
article ol ol {
  list-style-type: lower-alpha;
}
.rich-text ol li,
article ol li {
  color: var(--bs-text-color);
  font-size: clamp(1rem, 0.1785714286vw + 0.9642857143rem, 1.125rem);
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 0.375em;
}
.rich-text ol li a,
article ol li a {
  color: #427693;
  font-weight: 500;
  text-decoration: underline;
  transition: color 0.25s ease-in-out;
}
.rich-text ol li a:hover, .rich-text ol li a:focus,
article ol li a:hover,
article ol li a:focus {
  color: #2e5367;
}

/**
 * Convert pixels to REM.
 */
/**
 * Computes a CSS calc function that betweens a value from
 * A to B over viewport-width A to viewport-width B.
 * Requires a media query to cap the value at B.
 */
/**
 * Computes a CSS calc function that betweens a value from
 * A to B over viewport-width A to viewport-width B.
 * Requires a media query to cap the valu1qaze at B.
 * usage: font-size: fluid(1rem, 5rem, 320px, 1440px);
 */
.list-unstyled {
  list-style: none;
  margin: 0;
  padding: 0;
}

.block--hero,
.block-hero__text-after {
  position: relative;
}
.block--hero p,
.block-hero__text-after p {
  font-size: clamp(1.25rem, 0.3571428571vw + 1.1785714286rem, 1.5rem);
  line-height: 1.6;
}
.block--hero p.eyebrow,
.block-hero__text-after p.eyebrow {
  font-family: "Besley", Georgia, serif;
  font-size: clamp(1.25rem, 0.3571428571vw + 1.1785714286rem, 1.5rem);
  line-height: 1.2;
}

.hero__media {
  aspect-ratio: 3/2;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.hero__media img {
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
  object-fit: cover;
}
.hero__media.media-cover {
  aspect-ratio: 8/5;
  min-height: 300px;
}
@media (min-width: 992px) {
  .hero__media.media-cover {
    aspect-ratio: 6/1;
  }
}
.hero__media.media-cover::before {
  content: "";
  background-color: var(--bs-dark);
  opacity: 0.35;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.overlay {
  position: relative;
  z-index: 2;
  background-color: var(--bs-primary-dark);
  --bs-headings-color: var(--bs-white);
}
.overlay p.eyebrow {
  color: var(--bs-white);
}
@media (min-width: 992px) {
  .overlay {
    background-color: unset;
  }
  .article-full .overlay {
    --bs-headings-color: initial;
  }
  .block--hero .overlay {
    position: absolute;
    bottom: 0;
    left: 0;
  }
}

@media (max-width: 991.98px) {
  .hero__media,
  .hero__content-after,
  .hero__content.overlay {
    left: 50%;
    max-width: none;
    padding-inline: 0;
    position: relative;
    transform: translateX(-50%);
    width: 100vw;
  }
}
@media (max-width: 767.98px) {
  .node--type-program .block--hero, .node--type-degree .block--hero {
    --bs-gutter-x: 0;
  }
}