@font-face {
  font-family: Larken;
  src: url('/assets/fonts/Larken-Regular.otf') format('opentype');
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: Larken;
  src: url('/assets/fonts/Larken-Medium.otf') format('opentype');
  font-weight: 500;
  font-display: swap;
}

.wm-marketing-page .wm-dock-nav,
.wm-marketing-page .wm-reference-footer {
  box-sizing: border-box;
  font-family: Montserrat, sans-serif;
}

.wm-marketing-page .wm-dock-nav *,
.wm-marketing-page .wm-reference-footer * {
  box-sizing: border-box;
}

.wm-marketing-page .wm-dock-nav :is(.wm-dock-nav__brand, .wm-dock-nav__links a, .wm-dock-nav__login) {
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  font-weight: 500;
  text-decoration: none;
}

.wm-marketing-page .wm-reference-footer {
  width: 100%;
  margin: 0;
  background: #07101d;
  color: #fff;
}

.wm-marketing-page .wm-reference-footer a {
  background: none;
  color: #fff;
  text-decoration: none;
}

.wm-marketing-page .wm-reference-footer__links a {
  border: 0;
  border-radius: 0;
  padding: 0;
}

.wm-marketing-page .wm-reference-footer__brand {
  padding: 0;
  border: 0;
  border-radius: 0;
  font-family: Larken, serif;
}

.wm-marketing-page .wm-reference-footer__top p {
  margin: 0;
  color: rgba(255, 255, 255, 0.58);
  line-height: 1.5;
}

.wm-marketing-page .wm-reference-footer__cta a {
  background: none;
  font-family: Larken, serif;
}

.wm-marketing-page .wm-reference-footer :is(a, button):focus-visible {
  outline: 2px solid var(--wm-color-accent);
  outline-offset: 5px;
}

.wm-marketing-page .wm-public-tools .wmpt-main {
  padding-top: 100px;
}

.wm-marketing-university .wm-page {
  padding-top: 96px;
}

.wm-marketing-utility {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  padding: 0 28px;
}

.wm-marketing-utility--university {
  max-width: 1440px;
  margin: 0 auto;
}

.wm-marketing-utility--university > a {
  margin-right: auto;
  font-weight: 600;
}

.wm-marketing-utility--answers {
  position: absolute;
  top: 94px;
  right: max(0px, calc((100% - 1160px) / 2));
  z-index: 2;
}

.wm-marketing-utility--answers .wm-theme-toggle {
  margin: 0;
}

.wm-marketing-page .wm-site-feedback-scrim {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
}

.wm-marketing-page .wm-site-feedback-scrim.active {
  opacity: 1;
  pointer-events: auto;
}

.wm-marketing-page .wm-site-feedback {
  position: relative;
}

@media (max-width: 680px) {
  .wm-marketing-page .wm-reference-footer__links a {
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .wm-marketing-utility {
    gap: 12px;
    padding-inline: 20px;
  }

  .wm-marketing-utility--university .wm-search-btn {
    min-width: 0;
  }

  .wm-marketing-utility--university .wm-kbd {
    display: none;
  }
}

/* Blur in as each block reaches the viewport. Opacity and filter only, so layout transforms stay put. */
html.wm-reveal body .wm-blur-in:not(.wm-in) {
  opacity: 0;
  filter: blur(16px);
}

html.wm-reveal body .wm-blur-in.wm-in {
  opacity: 1;
  filter: none;
  animation: wm-unblur 0.9s cubic-bezier(0.16, 1, 0.3, 1) backwards;
}

@keyframes wm-unblur {
  from {
    opacity: 0;
    filter: blur(16px);
  }
  to {
    opacity: 1;
    filter: blur(0px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.wm-reveal body .wm-blur-in,
  html.wm-reveal body .wm-blur-in.wm-in {
    opacity: 1;
    filter: none;
    animation: none;
  }
}
