:root {
  --dropdown-open-dur: 250ms;
  --dropdown-close-dur: 150ms;
  --dropdown-pre-scale: 0.97;
  --dropdown-closing-scale: 0.99;
  --dropdown-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
.t-dropdown {
  transform-origin: top left;
  transform: scale(var(--dropdown-pre-scale));
  opacity: 0;
  pointer-events: none;
  transition:
    transform var(--dropdown-open-dur) var(--dropdown-ease),
    opacity   var(--dropdown-open-dur) var(--dropdown-ease);
  will-change: transform, opacity;
}
.t-dropdown[data-origin="top-right"]     { transform-origin: top right; }
.t-dropdown[data-origin="top-center"]    { transform-origin: top center; }
.t-dropdown[data-origin="bottom-left"]   { transform-origin: bottom left; }
.t-dropdown[data-origin="bottom-center"] { transform-origin: bottom center; }
.t-dropdown[data-origin="bottom-right"]  { transform-origin: bottom right; }
.t-dropdown.is-open { transform: scale(1); opacity: 1; pointer-events: auto; }
.t-dropdown.is-closing {
  transform: scale(var(--dropdown-closing-scale));
  opacity: 0;
  pointer-events: none;
  transition:
    transform var(--dropdown-close-dur) var(--dropdown-ease),
    opacity   var(--dropdown-close-dur) var(--dropdown-ease);
}
.teaching-menu-trigger { border: 0; background: transparent; font-family: inherit; }
.teaching-menu-trigger:hover, .teaching-menu-trigger:focus-visible { color: #fff; }
.teaching-menu-trigger:focus-visible, .teaching-menu a:focus-visible { outline: 2px solid #195a9b; outline-offset: 2px; }
.teaching-menu-trigger:focus-visible { outline-color: #fff; }
.teaching-menu > .teaching-submenu { margin-bottom: 0; }
.teaching-menu:hover > .teaching-submenu, .teaching-menu:focus-within > .teaching-submenu { display: block; }
.teaching-menu.is-enhanced > .teaching-submenu { display: block; visibility: hidden; }
.teaching-menu.is-enhanced > .teaching-submenu.is-open,
.teaching-menu.is-enhanced > .teaching-submenu.is-closing { visibility: visible; }
.teaching-submenu a { overflow-wrap: anywhere; white-space: normal; color: #a32028; }
.teaching-submenu a:focus-visible { background: #c62730; color: #fff; }
@media (max-width: 991px) {
  .teaching-menu-trigger { width: 100%; }
  .teaching-menu.is-enhanced > .teaching-submenu:not(.is-open):not(.is-closing) { display: none; }
}
@media (prefers-reduced-motion: reduce) { .t-dropdown { transition: none !important; } }
