/* Rails interactions retain the source site's visual styles. */
/* The source CSS owns hero opacity, entrance visibility and navigation motion. */
[hidden] { display:none!important; }
.ui-e-tabs [role=tabpanel][hidden] { display:none!important; }
.elementor .migration-board-widget { width:100%;max-width:100%;align-self:stretch; }
.uicore-navbar:not(.uicore-mobile-menu-wrapper) .menu-item:focus-within > .sub-menu { display:block;opacity:1;visibility:visible;pointer-events:auto; }
.elementor-video{border:0}
/* Keep floating content widgets below the sticky header and its menus. */
#content.uicore-content{isolation:isolate}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{#wrapper-navbar,.uicore-top-bar,footer,.kboard-document-action,.kboard-control,.kboard-document-navi{display:none!important}.kboard-content{overflow:visible!important}}
.uicore-branding{display:flex;gap:14px;align-items:center}
.second-logo{display:flex;align-items:center;font-size:22px;font-weight:700;color:#004c86}
.site-language-switcher{position:relative;display:inline-flex;align-items:center;gap:6px;width:108px;max-width:100%;padding:0;background:transparent;border:0;border-radius:0;color:#222;line-height:1;flex:none;align-self:flex-start;z-index:30}
.site-language-switcher img{display:block;flex:none;width:18px!important;height:12px!important;margin:0!important}
.site-language-switcher select{display:block!important;width:auto!important;min-width:72px;max-width:100%;height:30px!important;min-height:30px!important;margin:0!important;padding:0 20px 0 0!important;border:0!important;border-radius:0!important;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4 3 3 3-3' fill='none' stroke='%23555' stroke-width='1.5'/%3E%3C/svg%3E") right center/12px no-repeat!important;color:#222!important;font-family:inherit;font-size:13px!important;line-height:30px!important;appearance:none;cursor:pointer}
.site-language-switcher:focus-within{outline:0;box-shadow:none}
.site-language-switcher select:focus{outline:0!important;box-shadow:none!important}
.site-language-switcher.is-enhanced select{display:none!important}
.site-language-switcher .language-trigger,.site-language-switcher .language-option{display:flex;align-items:center;gap:8px;width:100%;min-width:0;min-height:32px;margin:0!important;padding:0 6px;border:0!important;background:transparent;color:#222;font:inherit;font-size:13px;line-height:1.3;text-align:left;text-transform:none;letter-spacing:normal;box-shadow:none!important;outline:0!important;cursor:pointer}
.site-language-switcher .language-trigger{border-radius:0}
.language-trigger>span:not(.language-chevron){flex:1}
.language-chevron{width:10px;height:6px;margin-left:auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%23555' stroke-width='1.3'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform 160ms ease}
.is-open>.language-trigger .language-chevron{transform:rotate(180deg)}
.site-language-switcher .language-options{position:absolute;top:calc(100% + 6px);left:0;box-sizing:border-box;width:100%;padding:4px;background:#fff;border:0;border-radius:5px;box-shadow:0 6px 20px rgba(24,39,58,.14);opacity:0;visibility:hidden;transform:translateY(-5px);pointer-events:none;transition:opacity 160ms ease,transform 160ms ease,visibility 0s linear 160ms}
.site-language-switcher.is-open>.language-options{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition-delay:0s}
.site-language-switcher .language-option{min-height:34px;padding:0 5px;border-radius:3px}
.site-language-switcher .language-option:hover,.site-language-switcher .language-option:focus{background:#edf3f8}
.site-language-switcher .language-option[aria-selected=true]{color:#004c86;background:#f3f6f9}
.uicore-top-bar .ui-tb-col-2{display:flex;justify-content:flex-end;align-items:center}
.uicore-navigation-content>.site-language-switcher{margin:20px 24px 100px}
.logo-divider{width:1px;height:18px;background-color:#ebebeb}

#map{background:url("/legacy/campus-map.png") center center / cover no-repeat}
/* Until the API accepts this hostname, the captured map already includes its
   address panel. Keep the original link hit area without painting it twice. */
.elementor-element-6082de2:not(.map-interactive) .elementor-element-509f98e{background:transparent!important;box-shadow:none!important}
.elementor-element-6082de2:not(.map-interactive) .elementor-element-509f98e .elementor-widget{opacity:0}

.cms-static-page{max-width:1140px;margin:0 auto;padding:80px 20px}.kboard-comment{padding:20px;border-bottom:1px solid #eee}.kboard-comment time{margin-left:16px;font-size:12px;color:#777}

.cms-additional-content{max-width:1140px;margin:40px auto;padding:0 20px}

.cms-additional-link{padding:20px 0}.cms-additional-link a{display:inline-block;border:1px solid currentColor;padding:10px 20px}

/* The source uses both min-width and max-width:1025px. Resolve their overlap. */
@media(max-width:1025px){body .uicore-mobile-head-right{display:flex!important}.uicore-navigation-wrapper{display:block}.uicore-navigation-wrapper ul.sub-menu{transform:none}}
@media(max-width:1025px){.uicore-navigation-content>.uicore-menu-container{max-height:calc(100% - 170px);flex:none}.uicore-navigation-content{overflow-y:auto}}
@media(max-width:1025px){.uicore-navigation-wrapper li:has(>.sub-menu.uicore-active){transform:none!important}}
@media(max-width:1025px){
  #wrapper-navbar .uicore-header-wrapper>nav.elementor-container{flex-wrap:nowrap!important;align-items:center;gap:8px;min-height:58px}
  #wrapper-navbar .uicore-branding{flex:0 1 auto;min-width:0;max-width:calc(100% - 38px);gap:6px;padding-right:0!important;white-space:nowrap}
  #wrapper-navbar .uicore-branding>a[rel=home]{display:block;flex:0 1 auto;min-width:0;width:min(160px,42vw)}
  #wrapper-navbar .uicore-branding img.uicore-logo{width:100%!important;max-width:100%!important;height:auto!important}
  #wrapper-navbar .uicore-branding .logo-divider{flex:0 0 1px}
  #wrapper-navbar .uicore-branding .second-logo{flex:none;font-size:18px;line-height:1.2;white-space:nowrap}
  #wrapper-navbar .uicore-mobile-head-right{flex:0 0 30px;min-width:30px;margin-left:auto;align-self:center}
}
.uicore-top-bar:has([data-language-select]){padding-top:2px!important;padding-bottom:2px!important}
.curriculum-chart-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin:12px 0!important;font-size:14px;line-height:1.5}
.curriculum-chart-links a{color:#004c86!important;text-decoration:underline;text-underline-offset:3px}
html[lang=en] #kboard-default-document .content-view{word-break:normal;overflow-wrap:anywhere}
