/* =========================================================
   UNILASALLISTA — CONSOLIDATED DSPACE 9 THEME
   Authoritative visual source: Legacy production
   No functional Angular code.
   ========================================================= */

/* ---------- Local Montserrat ---------- */

@font-face {
  font-family: "Montserrat";
  src: url("assets/custom/fonts/Montserrat/Montserrat-Regular.ttf")
       format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/custom/fonts/Montserrat/Montserrat-Medium.ttf")
       format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/custom/fonts/Montserrat/Montserrat-SemiBold.ttf")
       format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("assets/custom/fonts/Montserrat/Montserrat-Bold.ttf")
       format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

/* ---------- Exact Legacy variables ---------- */

:root {
  --font-family-sans-serif:
    "Montserrat",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    "Noto Sans",
    sans-serif;

  --ds-breadcrumb-bg: #e9ecef;
  --ds-content-spacing: 1rem;

  --ds-header-bg: #ffffff;
  --ds-header-logo-height: 100px;
  --ds-header-logo-height-xs: 50px;
  --ds-header-icon-color: #1B2C65;
  --ds-header-icon-color-hover: #0b1229;

  --ds-navbar-bg: var(--ds-header-bg);
  --ds-header-navbar-border-top-color: #ffffff;
  --ds-header-navbar-border-bottom-color: #ced4da;
  --ds-navbar-link-color: #1B2C65;
  --ds-navbar-link-color-hover: #0b1229;

  --ds-footer-bg: #1B2C65;
  --ds-footer-border: 1px solid #adb5bd;
  --ds-footer-padding: 0;
  --ds-footer-padding-bottom: 0;
  --ds-footer-logo-height: 50px;

  --ds-home-news-link-color: #1B2C65;
  --ds-home-news-link-hover-color: #0b1229;
  --ds-home-news-background-color: #e9ecef;

  --ds-breadcrumb-link-color: #1B2C65;
  --ds-breadcrumb-link-active-color: #000000;
  --ds-breadcrumb-max-length: 200px;

  --ds-slider-color: #94BA65;
  --ds-slider-handle-width: 18px;
  --ds-search-form-scope-max-width: 150px;

  --bs-primary: #1B2C65;
  --bs-primary-rgb: 27, 44, 101;

  --ul-primary: #1B2C65;
  --ul-primary-hover: #0b1229;
  --ul-light: #f8f9fa;
  --ul-border: #ced4da;
  --ul-breadcrumb: #e9ecef;
}

/* ---------- Global ---------- */

html,
body,
button,
input,
select,
textarea {
  font-family: "Montserrat", sans-serif !important;
}

body {
  color: #212529;
  background: #ffffff;
}

a {
  color: var(--ul-primary);
}

a:hover,
a:focus {
  color: var(--ul-primary-hover);
}

/* ---------- Header: Legacy contract ---------- */

#main-site-header,
header#main-site-header {
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
}

#main-site-header-container {
  min-height: 110px;
}

#header-left > a:first-child {
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}

#header-logo,
#ul-header-logo-secondary {
  display: block;
  width: auto;
  object-fit: contain;
}

#header-logo {
  max-height: var(--ds-header-logo-height);
  max-width: 310px;
}

#ul-header-logo-secondary {
  max-height: 82px;
  max-width: 170px;
}

/* ---------- DSpace 9 navbar mapped to Legacy ---------- */

#desktop-navbar,
#main-site-navigation,
.navbar,
.navbar-nav {
  background-color: var(--ds-navbar-bg) !important;
}

#desktop-navbar {
  margin-left: 1.25rem;
}

#main-site-navigation {
  align-items: stretch !important;
}

#main-site-navigation .ds-menu-item,
#main-site-navigation .ds-menu-toggler-wrapper,
#main-site-navigation a {
  color: var(--ds-navbar-link-color) !important;
  font-weight: 500;
  text-decoration: none;
}

#main-site-navigation .ds-menu-item:hover,
#main-site-navigation .ds-menu-item:focus,
#main-site-navigation .ds-menu-toggler-wrapper:hover,
#main-site-navigation .ds-menu-toggler-wrapper:focus,
#main-site-navigation a:hover,
#main-site-navigation a:focus {
  color: var(--ds-navbar-link-color-hover) !important;
}

#header-navbar-wrapper,
ds-navbar,
ds-themed-navbar {
  border-bottom-color:
    var(--ds-header-navbar-border-bottom-color) !important;
}

#header-right .btn-link,
#header-right button,
#header-right .fas {
  color: var(--ds-header-icon-color) !important;
}

#header-right .btn-link:hover,
#header-right .btn-link:focus,
#header-right button:hover,
#header-right button:focus {
  color: var(--ds-header-icon-color-hover) !important;
}

/* ---------- Buttons / Forms ---------- */

.btn-primary {
  color: #ffffff !important;
  background-color: #1B2C65 !important;
  border-color: #1B2C65 !important;
}

.btn-primary:hover,
.btn-primary:focus {
  color: #ffffff !important;
  background-color: #131f47 !important;
  border-color: #101a3d !important;
}

.form-control {
  color: #495057;
  background-color: #ffffff;
  border-color: #ced4da;
}

.form-control:focus {
  color: #495057;
  background-color: #ffffff;
  border-color: #3658c9;
  box-shadow: 0 0 0 .2rem rgba(27,44,101,.25);
}

/* ---------- Breadcrumb ---------- */

.breadcrumb,
nav[aria-label*="breadcrumb" i],
ds-breadcrumbs nav {
  background-color: var(--ds-breadcrumb-bg) !important;
}

.breadcrumb {
  padding: .75rem 1rem;
  border-radius: .25rem;
}

.breadcrumb a,
.breadcrumb-item a {
  color: var(--ds-breadcrumb-link-color) !important;
}

.breadcrumb-item.active {
  color: var(--ds-breadcrumb-link-active-color) !important;
}

/* ---------- Home native search ---------- */

ds-home-page form[action="/search"],
ds-base-home-page form[action="/search"],
#ul-legacy-home-search {
  display: flex;
  width: 100%;
  border-radius: .25rem;
  margin-bottom: 1.5rem;
}

ds-home-page form[action="/search"] .form-control,
ds-base-home-page form[action="/search"] .form-control {
  min-height: 46px;
}

/* ---------- Exact Legacy Home sections adapted to DSpace 9 ---------- */

#ul-legacy-home {
  width: 100%;
}

#ul-legacy-help {
  margin: 1.25rem 0 2rem;
}

#ul-legacy-help .ul-help-card {
  height: 100%;
  min-height: 145px;
  padding: 1.25rem;
  border: 1px solid #e9ecef;
  border-radius: .25rem;
  background: #ffffff;
  text-align: center;
}

#ul-legacy-help .ul-help-icon {
  display: block;
  margin-bottom: .75rem;
  font-size: 1.8rem;
  color: #1B2C65;
}

#ul-legacy-help .ul-help-title {
  margin: 0;
  color: #1B2C65;
  font-size: 1rem;
  font-weight: 600;
}

#ul-legacy-communities {
  margin: 1rem 0 2rem;
}

#ul-legacy-communities > h2 {
  margin-bottom: 1.25rem;
  color: #212529;
  font-weight: 500;
}

.ul-community-card {
  display: block;
  height: 100%;
  overflow: hidden;
  border: 1px solid #dee2e6;
  border-radius: .25rem;
  background: #ffffff;
  color: #1B2C65 !important;
  text-decoration: none !important;
}

.ul-community-card:hover,
.ul-community-card:focus {
  border-color: #1B2C65;
  color: #0b1229 !important;
}

.ul-community-card img {
  display: block;
  width: 100%;
  height: 155px;
  object-fit: cover;
  background: #f8f9fa;
}

.ul-community-card .ul-community-name {
  display: block;
  padding: .85rem 1rem;
  font-weight: 600;
}

/* ---------- Search / facets ---------- */

.sidebar-content,
#search-page-sidebar-content {
  font-family: "Montserrat", sans-serif;
}

.facet-filter,
[class*="facet-filter"] {
  border-color: #dee2e6 !important;
  background: #f8f9fa;
}

.facet-filter a,
.search-filter-wrapper a {
  color: #1B2C65;
}

/* ---------- Collection / Browse / Items ---------- */

.comcol-header,
[class*="comcol-header"] {
  color: #212529;
}

.item-list-title a,
.dont-break-out {
  color: #1B2C65;
}

.thumbnail-content {
  border-radius: .25rem;
}

.page-item.active .page-link {
  color: #ffffff !important;
  background-color: #1B2C65 !important;
  border-color: #1B2C65 !important;
}

.page-link {
  color: #1B2C65;
}

/* ---------- Footer: Legacy contract ---------- */

footer,
ds-footer footer {
  background: var(--ds-footer-bg) !important;
  border-top: var(--ds-footer-border);
  color: #ffffff !important;
}

footer .bottom-footer {
  background: #1B2C65 !important;
}

footer a,
footer .btn,
footer .btn-link {
  color: #ffffff !important;
}

#ul-footer-brand {
  padding: 1rem 0 .35rem;
  background: #1B2C65;
}

#ul-footer-brand .container {
  display: flex;
  align-items: center;
}

#ul-footer-brand img {
  display: block;
  width: auto;
  max-height: var(--ds-footer-logo-height);
}

/* ---------- Responsive contract ---------- */

@media (max-width: 767.98px) {
  #main-site-header-container {
    min-height: auto;
  }

  #header-left > a:first-child {
    gap: 12px;
  }

  #header-logo {
    max-height: var(--ds-header-logo-height-xs);
    max-width: 190px;
  }

  #ul-header-logo-secondary {
    max-height: var(--ds-header-logo-height-xs);
    max-width: 95px;
  }

  #desktop-navbar {
    margin-left: 0;
  }

  .ul-community-card img {
    height: 130px;
  }
}

@media (max-width: 575.98px) {
  #ul-legacy-help .ul-help-card {
    min-height: auto;
  }
}

/* ===== Extracted Legacy institutional rule subset ===== */
@import"https://fonts.googleapis.com/css?family=Montserrat:500,700";@charset "UTF-8";.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}
/*!
 * Bootstrap v4.6.2 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--blue: #1B2C65;--indigo: #6610f2;--purple: #6f42c1;--pink: #e83e8c;--red: #CF4444;--orange: #fd7e14;--yellow: #ec9433;--green: #94BA65;--teal: #20c997;--cyan: #1B2C65;--white: #fff;--gray: #6c757d;--gray-dark: #343a40;--primary: #1B2C65;--secondary: #495057;--success: #94BA65;--info: #1B2C65;--warning: #ec9433;--danger: #CF4444;--light: #f8f9fa;--dark: #090e21;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}
body{margin:0;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}
.blockquote-footer{display:block;font-size:.875em;color:#6c757d}
.blockquote-footer:before{content:"\2014\a0"}
.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;box-shadow:0 1px 2px #00000013;max-width:100%;height:auto}
.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}
.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}
.navbar-light .navbar-brand{color:#000000e6}
.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#000000e6}
.navbar-dark .navbar-brand{color:#fff}
.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}
.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}
.card-footer{padding:.75rem 1.25rem;background-color:#00000008;border-top:1px solid rgba(0,0,0,.125)}
.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}
.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}
.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}
.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}
.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}
.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}
.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline}
.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:none}
.breadcrumb-item.active{color:#6c757d}
.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}
.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}
.modal-footer>*{margin:.25rem}
.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}
.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;box-shadow:0 .25rem .5rem #0003}
:root{--ds-breadcrumb-bg: #e9ecef !important}
:root{--ds-content-spacing: 1rem;--ds-button-height: 2.375rem;--ds-card-height-percentage:98%;--ds-card-thumbnail-height:240px;--ds-dropdown-menu-max-height: 200px;--ds-drop-zone-area-height: 44px;--ds-drop-zone-area-z-index: 1025;--ds-drop-zone-area-inner-z-index: 1021;--ds-login-logo-height:72px;--ds-login-logo-width:72px;--ds-submission-header-z-index: 1001;--ds-submission-footer-z-index: 999;--ds-main-z-index: 1;--ds-nav-z-index: 10;--ds-footer-z-index: 0;--ds-sidebar-z-index: 20;--ds-header-bg: #fff;--ds-header-logo-height: 100px;--ds-header-logo-height-xs: 50px;--ds-header-icon-color: #1B2C65;--ds-header-icon-color-hover: #0b1229;--ds-navbar-bg: var(--ds-header-bg);--ds-header-navbar-border-top-color: #fff;--ds-header-navbar-border-bottom-color: #ced4da;--ds-navbar-link-color: #1B2C65;--ds-navbar-link-color-hover: #0b1229;--ds-expandable-navbar-bg: var(--ds-navbar-bg);--ds-expandable-navbar-link-color: var(--ds-navbar-link-color);--ds-expandable-navbar-link-color-hover: var(--ds-navbar-link-color-hover);--ds-admin-sidebar-bg: #132333;--ds-admin-sidebar-active-bg: #0f1b28;--ds-admin-sidebar-header-bg: #091119;--ds-dark-scrollbar-bg: #0f1b28;--ds-dark-scrollbar-alt-bg: #12202f;--ds-dark-scrollbar-fg: #47495d;--ds-submission-sections-margin-bottom: .5rem;--ds-edit-item-button-min-width: 100px;--ds-edit-item-metadata-field-width: 190px;--ds-edit-item-language-field-width: 43px;--ds-thumbnail-max-width: 125px;--ds-thumbnail-placeholder-background: #f8f9fa;--ds-thumbnail-placeholder-border: 1px solid #dee2e6;--ds-thumbnail-placeholder-color: #444c54;--ds-dso-selector-list-max-height: 475px;--ds-dso-selector-current-background-color: #eeeeee;--ds-dso-selector-current-background-hover-color: #d5d5d5;--ds-notification-bg-success: #8aa349;--ds-notification-bg-danger: #b22e44;--ds-notification-bg-info: #10223d;--ds-notification-bg-warning: #d85a14;--ds-fa-fixed-width: 1.25rem;--ds-icon-padding: 1rem;--ds-collapsed-sidebar-width: 52px;--ds-sidebar-items-width: 250px;--ds-total-sidebar-width: 302px;--ds-top-footer-bg: #e9ecef;--ds-footer-bg: #1B2C65;--ds-footer-border: 1px solid var(--bs-gray-400);--ds-footer-padding: 0;--ds-footer-padding-bottom: 0;--ds-footer-logo-height: 50px;--ds-home-news-link-color: #1B2C65;--ds-home-news-link-hover-color: #0b1229;--ds-home-news-background-color: #e9ecef;--ds-breadcrumb-link-color: #1B2C65;--ds-breadcrumb-link-active-color: black;--ds-breadcrumb-max-length: 200px;--ds-slider-color: #94BA65;--ds-slider-handle-width: 18px;--ds-search-form-scope-max-width: 150px;--ds-context-x-offset: -16px;--ds-context-help-icon-size: 16px;--ds-context-help-tooltip-width: 300px;--ds-context-help-tooltip-link-color: $white;--ds-gap: .25rem;--ds-dso-edit-field-width: 210px;--ds-dso-edit-lang-width: 90px;--ds-dso-edit-actions-width: 173px;--ds-dso-edit-virtual-tooltip-min-width: 300px}
:root{--bs-white: #fff;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-black: #000;--bs-blue: #1B2C65;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #e83e8c;--bs-red: #CF4444;--bs-orange: #fd7e14;--bs-yellow: #ec9433;--bs-green: #94BA65;--bs-teal: #20c997;--bs-cyan: #1B2C65;--bs-primary: #1B2C65;--bs-primary-bg: #4a69cf;--bs-secondary: #6c757d;--bs-secondary-bg: #949da5;--bs-success: #94BA65;--bs-success-bg: #dde9cf;--bs-info: #1B2C65;--bs-info-bg: #4a69cf;--bs-warning: #ec9433;--bs-warning-bg: #f9ddbf;--bs-danger: #CF4444;--bs-danger-bg: #eebebe;--bs-light: #f8f9fa;--bs-dark: #090e21;--bs-theme-color-interval: 8%;--bs-yiq-contrasted-threshold: 165;--bs-yiq-text-dark: #212529;--bs-yiq-text-light: #fff;--bs-enable-caret: true;--bs-enable-rounded: true;--bs-enable-shadows: true;--bs-enable-gradients: false;--bs-enable-transitions: true;--bs-enable-prefers-reduced-motion-media-query: true;--bs-enable-grid-classes: true;--bs-enable-pointer-cursor-for-buttons: true;--bs-enable-print-styles: true;--bs-enable-responsive-font-sizes: true;--bs-enable-validation-icons: true;--bs-enable-deprecation-messages: true;--bs-spacer: 1rem;--bs-spacer-0: 0;--bs-spacer-1: .25rem;--bs-spacer-2: .5rem;--bs-spacer-3: 1rem;--bs-spacer-4: 1.5rem;--bs-spacer-5: 3rem;--bs-sizes-25: 25%;--bs-sizes-50: 50%;--bs-sizes-75: 75%;--bs-sizes-100: 100%;--bs-sizes-auto: auto;--bsbody-bg: #fff;--bs-body-color: #212529;--bs-link-color: #1B2C65;--bs-link-decoration: none;--bs-link-hover-color: #0b1229;--bs-link-hover-decoration: underline;--bs-emphasized-link-hover-darken-percentage: 15%;--bs-paragraph-margin-bottom: 1rem;--bs-xs-min: 0;--bs-sm-min: 576px;--bs-md-min: 768px;--bs-lg-min: 992px;--bs-xl-min: 1200px;--bs-xs-max: ;--bs-sm-max: 540px;--bs-md-max: 720px;--bs-lg-max: 960px;--bs-xl-max: 1140px;--bs-grid-columns: 12;--bs-grid-gutter-width: 30px;--bs-line-height-lg: 1.5;--bs-line-height-sm: 1.5;--bs-border-width: 1px;--bs-border-color: #dee2e6;--bs-border-radius: .25rem;--bs-border-radius-lg: .3rem;--bs-border-radius-sm: .2rem;--bs-rounded-pill: 50rem;--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-component-active-color: #fff;--bs-component-active-bg: #1B2C65;--bs-caret-width: .3em;--bs-caret-vertical-align: .255em;--bs-caret-spacing: .255em;--bs-transition-base: all .2s ease-in-out;--bs-transition-fade: opacity .15s linear;--bs-transition-collapse: height .35s ease;--bs-font-family-sans-serif: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;--bs-font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--bs-font-family-base: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;--bs-font-size-base: 1rem;--bs-font-size-lg: 1.25rem;--bs-font-size-sm: .875rem;--bs-font-weight-lighter: lighter;--bs-font-weight-light: 300;--bs-font-weight-normal: 400;--bs-font-weight-bold: 700;--bs-font-weight-bolder: bolder;--bs-font-weight-base: 400;--bs-line-height-base: 1.5;--bs-h1-font-size: 2.5rem;--bs-h2-font-size: 2rem;--bs-h3-font-size: 1.75rem;--bs-h4-font-size: 1.5rem;--bs-h5-font-size: 1.25rem;--bs-h6-font-size: 1rem;--bs-headings-margin-bottom: .5rem;--bs-headings-font-family: ;--bs-headings-font-weight: 500;--bs-headings-line-height: 1.2;--bs-headings-color: ;--bs-display1-size: 6rem;--bs-display2-size: 5.5rem;--bs-display3-size: 4.5rem;--bs-display4-size: 3.5rem;--bs-display1-weight: 300;--bs-display2-weight: 300;--bs-display3-weight: 300;--bs-display4-weight: 300;--bs-display-line-height: 1.2;--bs-lead-font-size: 1.25rem;--bs-lead-font-weight: 300;--bs-small-font-size: .875em;--bs-text-muted: #6c757d;--bs-blockquote-small-color: #6c757d;--bs-blockquote-small-font-size: .875em;--bs-blockquote-font-size: 1.25rem;--bs-hr-border-color: rgba(0, 0, 0, .1);--bs-hr-border-width: 1px;--bs-mark-padding: .2em;--bs-dt-font-weight: 700;--bs-kbd-box-shadow: inset 0 -.1rem 0 rgba(0, 0, 0, .25);--bs-nested-kbd-font-weight: 700;--bs-list-inline-padding: .5rem;--bs-mark-bg: #fcf8e3;--bs-hr-margin-y: 1rem;--bs-table-cell-padding: .75rem;--bs-table-cell-padding-sm: .3rem;--bs-table-color: #212529;--bs-table-bg: ;--bs-table-accent-bg: rgba(0, 0, 0, .05);--bs-table-hover-color: #212529;--bs-table-hover-bg: rgba(0, 0, 0, .075);--bs-table-active-bg: rgba(0, 0, 0, .075);--bs-table-border-width: 1px;--bs-table-border-color: #dee2e6;--bs-table-head-bg: #e9ecef;--bs-table-head-color: #495057;--bs-table-dark-bg: #343a40;--bs-table-dark-accent-bg: rgba(255, 255, 255, .05);--bs-table-dark-hover-color: #fff;--bs-table-dark-hover-bg: rgba(255, 255, 255, .075);--bs-table-dark-border-color: #454d55;--bs-table-dark-color: #fff;--bs-table-striped-order: odd;--bs-table-caption-color: #6c757d;--bs-table-bg-level: -9;--bs-table-border-level: -6;--bs-input-btn-padding-y: .375rem;--bs-input-btn-padding-x: .75rem;--bs-input-btn-font-family: ;--bs-input-btn-font-size: 1rem;--bs-input-btn-line-height: 1.5;--bs-input-btn-focus-width: .2rem;--bs-input-btn-focus-color: rgba(27, 44, 101, .25);--bs-input-btn-focus-box-shadow: 0 0 0 .2rem rgba(27, 44, 101, .25);--bs-input-btn-padding-y-sm: .25rem;--bs-input-btn-padding-x-sm: .5rem;--bs-input-btn-font-size-sm: .875rem;--bs-input-btn-line-height-sm: 1.5;--bs-input-btn-padding-y-lg: .5rem;--bs-input-btn-padding-x-lg: 1rem;--bs-input-btn-font-size-lg: 1.25rem;--bs-input-btn-line-height-lg: 1.5;--bs-input-btn-border-width: 1px;--bs-btn-padding-y: .375rem;--bs-btn-padding-x: .75rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-line-height: 1.5;--bs-btn-padding-y-sm: .25rem;--bs-btn-padding-x-sm: .5rem;--bs-btn-font-size-sm: .875rem;--bs-btn-line-height-sm: 1.5;--bs-btn-padding-y-lg: .5rem;--bs-btn-padding-x-lg: 1rem;--bs-btn-font-size-lg: 1.25rem;--bs-btn-line-height-lg: 1.5;--bs-btn-border-width: 1px;--bs-btn-font-weight: 400;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-focus-width: .2rem;--bs-btn-focus-box-shadow: 0 0 0 .2rem rgba(27, 44, 101, .25);--bs-btn-disabled-opacity: .65;--bs-btn-active-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-link-disabled-color: #6c757d;--bs-btn-block-spacing-y: .5rem;--bs-btn-border-radius: .25rem;--bs-btn-border-radius-lg: .3rem;--bs-btn-border-radius-sm: .2rem;--bs-btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;--bs-label-margin-bottom: .5rem;--bs-input-padding-y: .375rem;--bs-input-padding-x: .75rem;--bs-input-font-family: ;--bs-input-font-size: 1rem;--bs-input-font-weight: 400;--bs-input-line-height: 1.5;--bs-input-padding-y-sm: .25rem;--bs-input-padding-x-sm: .5rem;--bs-input-font-size-sm: .875rem;--bs-input-line-height-sm: 1.5;--bs-input-padding-y-lg: .5rem;--bs-input-padding-x-lg: 1rem;--bs-input-font-size-lg: 1.25rem;--bs-input-line-height-lg: 1.5;--bs-input-bg: #fff;--bs-input-disabled-bg: #e9ecef;--bs-input-color: #495057;--bs-input-border-color: #ced4da;--bs-input-border-width: 1px;--bs-input-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);--bs-input-border-radius: .25rem;--bs-input-border-radius-lg: .3rem;--bs-input-border-radius-sm: .2rem;--bs-input-focus-bg: #fff;--bs-input-focus-border-color: #3658c9;--bs-input-focus-color: #495057;--bs-input-focus-width: .2rem;--bs-input-focus-box-shadow: 0 0 0 .2rem rgba(27, 44, 101, .25);--bs-input-placeholder-color: #6c757d;--bs-input-plaintext-color: #212529;--bs-input-height-border: 2px;--bs-input-height-inner:calc(1.5em + .75rem);--bs-input-height-inner-half:calc(.75em + .375rem);--bs-input-height-inner-quarter:calc(.375em + .1875rem);--bs-input-height:calc(1.5em + .75rem + 2px);--bs-input-height-sm:calc(1.5em + .5rem + 2px);--bs-input-height-lg:calc(1.5em + 1rem + 2px);--bs-input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;--bs-form-text-margin-top: .25rem;--bs-form-check-input-gutter: 1.25rem;--bs-form-check-input-margin-y: .3rem;--bs-form-check-input-margin-x: .25rem;--bs-form-check-inline-margin-x: .75rem;--bs-form-check-inline-input-margin-x: .3125rem;--bs-form-grid-gutter-width: 10px;--bs-form-group-margin-bottom: 1rem;--bs-input-group-addon-color: #495057;--bs-input-group-addon-bg: #e9ecef;--bs-input-group-addon-border-color: #ced4da;--bs-custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;--bs-custom-control-gutter: .5rem;--bs-custom-control-spacer-x: 1rem;--bs-custom-control-indicator-size: 1rem;--bs-custom-control-indicator-bg: #fff;--bs-custom-control-indicator-bg-size: 50% 50%;--bs-custom-control-indicator-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);--bs-custom-control-indicator-border-color: #adb5bd;--bs-custom-control-indicator-border-width: 1px;--bs-custom-control-indicator-disabled-bg: #e9ecef;--bs-custom-control-label-disabled-color: #6c757d;--bs-custom-control-indicator-checked-color: #fff;--bs-custom-control-indicator-checked-bg: #1B2C65;--bs-custom-control-indicator-checked-disabled-bg: rgba(27, 44, 101, .5);--bs-custom-control-indicator-checked-box-shadow: ;--bs-custom-control-indicator-checked-border-color: #1B2C65;--bs-custom-control-indicator-focus-box-shadow: 0 0 0 .2rem rgba(27, 44, 101, .25);--bs-custom-control-indicator-focus-border-color: #3658c9;--bs-custom-control-indicator-active-color: #fff;--bs-custom-control-indicator-active-bg: #5e79d4;--bs-custom-control-indicator-active-box-shadow: ;--bs-custom-control-indicator-active-border-color: #5e79d4;--bs-custom-checkbox-indicator-border-radius: .25rem;--bs-custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>");--bs-custom-checkbox-indicator-indeterminate-bg: #1B2C65;--bs-custom-checkbox-indicator-indeterminate-color: #fff;--bs-custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#fff' d='M0 2h4'/></svg>");--bs-custom-checkbox-indicator-indeterminate-box-shadow: ;--bs-custom-checkbox-indicator-indeterminate-border-color: #1B2C65;--bs-custom-radio-indicator-border-radius: 50%;--bs-custom-radio-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#fff'/></svg>");--bs-custom-switch-width: 1.75rem;--bs-custom-switch-indicator-border-radius: .5rem;--bs-custom-switch-indicator-size:calc(1rem - 4px);--bs-custom-select-padding-y: .375rem;--bs-custom-select-padding-x: .75rem;--bs-custom-select-font-family: ;--bs-custom-select-font-size: 1rem;--bs-custom-select-height:calc(1.5em + .75rem + 2px);--bs-custom-select-indicator-padding: 1rem;--bs-custom-select-font-weight: 400;--bs-custom-select-line-height: 1.5;--bs-custom-select-color: #495057;--bs-custom-select-disabled-color: #6c757d;--bs-custom-select-bg: #fff;--bs-custom-select-disabled-bg: #e9ecef;--bs-custom-select-bg-size: 8px 10px;--bs-custom-select-indicator-color: #343a40;--bs-custom-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>");--bs-custom-select-background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;--bs-custom-select-feedback-icon-padding-right:calc(.75em + 2.3125rem);--bs-custom-select-feedback-icon-position: center right 1.75rem;--bs-custom-select-feedback-icon-size:calc(.75em + .375rem) calc(.75em + .375rem);--bs-custom-select-border-width: 1px;--bs-custom-select-border-color: #ced4da;--bs-custom-select-border-radius: .25rem;--bs-custom-select-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-custom-select-focus-border-color: #3658c9;--bs-custom-select-focus-width: .2rem;--bs-custom-select-focus-box-shadow: 0 0 0 .2rem rgba(27, 44, 101, .25);--bs-custom-select-padding-y-sm: .25rem;--bs-custom-select-padding-x-sm: .5rem;--bs-custom-select-font-size-sm: .875rem;--bs-custom-select-height-sm:calc(1.5em + .5rem + 2px);--bs-custom-select-padding-y-lg: .5rem;--bs-custom-select-padding-x-lg: 1rem;--bs-custom-select-font-size-lg: 1.25rem;--bs-custom-select-height-lg:calc(1.5em + 1rem + 2px);--bs-custom-range-track-width: 100%;--bs-custom-range-track-height: .5rem;--bs-custom-range-track-cursor: pointer;--bs-custom-range-track-bg: #dee2e6;--bs-custom-range-track-border-radius: 1rem;--bs-custom-range-track-box-shadow: inset 0 .25rem .25rem rgba(0, 0, 0, .1);--bs-custom-range-thumb-width: 1rem;--bs-custom-range-thumb-height: 1rem;--bs-custom-range-thumb-bg: #1B2C65;--bs-custom-range-thumb-border: 0;--bs-custom-range-thumb-border-radius: 1rem;--bs-custom-range-thumb-box-shadow: 0 .1rem .25rem rgba(0, 0, 0, .1);--bs-custom-range-thumb-focus-box-shadow: 0 0 0 1px #fff, 0 0 0 .2rem rgba(27, 44, 101, .25);--bs-custom-range-thumb-focus-box-shadow-width: .2rem;--bs-custom-range-thumb-active-bg: #5e79d4;--bs-custom-range-thumb-disabled-bg: #adb5bd;--bs-custom-file-height:calc(1.5em + .75rem + 2px);--bs-custom-file-height-inner:calc(1.5em + .75rem);--bs-custom-file-focus-border-color: #3658c9;--bs-custom-file-focus-box-shadow: 0 0 0 .2rem rgba(27, 44, 101, .25);--bs-custom-file-disabled-bg: #e9ecef;--bs-custom-file-padding-y: .375rem;--bs-custom-file-padding-x: .75rem;--bs-custom-file-line-height: 1.5;--bs-custom-file-font-family: ;--bs-custom-file-font-weight: 400;--bs-custom-file-color: #495057;--bs-custom-file-bg: #fff;--bs-custom-file-border-width: 1px;--bs-custom-file-border-color: #ced4da;--bs-custom-file-border-radius: .25rem;--bs-custom-file-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);--bs-custom-file-button-color: #495057;--bs-custom-file-button-bg: #e9ecef;--bs-form-feedback-margin-top: .25rem;--bs-form-feedback-font-size: .875em;--bs-form-feedback-valid-color: #94BA65;--bs-form-feedback-invalid-color: #CF4444;--bs-form-feedback-icon-valid-color: #94BA65;--bs-form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#94BA65' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>");--bs-form-feedback-icon-invalid-color: #CF4444;--bs-form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#CF4444' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#CF4444' stroke='none'/></svg>");--bs-zindex-dropdown: 1000;--bs-zindex-sticky: 1020;--bs-zindex-fixed: 1030;--bs-zindex-modal-backdrop: 1040;--bs-zindex-modal: 1050;--bs-zindex-popover: 1060;--bs-zindex-tooltip: 1070;--bs-nav-link-padding-y: .5rem;--bs-nav-link-padding-x: 1rem;--bs-nav-link-disabled-color: #6c757d;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-radius: .25rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;--bs-nav-pills-border-radius: .25rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #1B2C65;--bs-nav-divider-color: #e9ecef;--bs-nav-divider-margin-y: .5rem;--bs-navbar-padding-y: .5rem;--bs-navbar-padding-x: 1rem;--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-brand-font-size: 1.25rem;--bs-nav-link-height: 2.5rem;--bs-navbar-brand-height: 1.875rem;--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-border-radius: .25rem;--bs-navbar-dark-color: rgba(255, 255, 255, .5);--bs-navbar-dark-hover-color: rgba(255, 255, 255, .75);--bs-navbar-dark-active-color: #fff;--bs-navbar-dark-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-dark-toggler-icon-bg: url("data:image/svg+xml;charset=utf8,<svg+viewBox='0+0+30+30'+xmlns='http://www.w3.org/2000/svg'><path+stroke='rgba(255, 255, 255, 0.5)'+stroke-width='2'+stroke-linecap='round'+stroke-miterlimit='10'+d='M4+7h22M4+15h22M4+23h22'/></svg>");--bs-navbar-dark-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-light-color: rgba(0, 0, 0, .5);--bs-navbar-light-hover-color: rgba(0, 0, 0, .7);--bs-navbar-light-active-color: rgba(0, 0, 0, .9);--bs-navbar-light-disabled-color: rgba(0, 0, 0, .3);--bs-navbar-light-toggler-icon-bg: url("data:image/svg+xml;charset=utf8,<svg+viewBox='0+0+30+30'+xmlns='http://www.w3.org/2000/svg'><path+stroke='rgba(0, 0, 0, 0.5)'+stroke-width='2'+stroke-linecap='round'+stroke-miterlimit='10'+d='M4+7h22M4+15h22M4+23h22'/></svg>");--bs-navbar-light-toggler-border-color: rgba(0, 0, 0, .1);--bs-navbar-light-brand-color: rgba(0, 0, 0, .9);--bs-navbar-light-brand-hover-color: rgba(0, 0, 0, .9);--bs-navbar-dark-brand-color: #fff;--bs-navbar-dark-brand-hover-color: #fff;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: #212529;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: rgba(0, 0, 0, .15);--bs-dropdown-border-radius: .25rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius:calc(.25rem - 1px);--bs-dropdown-divider-bg: #e9ecef;--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #16181b;--bs-dropdown-link-hover-bg: #e9ecef;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #1B2C65;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-item-padding-x: 1.5rem;--bs-dropdown-header-color: #6c757d;--bs-pagination-padding-y: .5rem;--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y-sm: .25rem;--bs-pagination-padding-x-sm: .5rem;--bs-pagination-padding-y-lg: .75rem;--bs-pagination-padding-x-lg: 1.5rem;--bs-pagination-line-height: 1.25;--bs-pagination-color: #1B2C65;--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-focus-box-shadow: 0 0 0 .2rem rgba(27, 44, 101, .25);--bs-pagination-focus-outline: 0;--bs-pagination-hover-color: #0b1229;--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #1B2C65;--bs-pagination-active-border-color: #1B2C65;--bs-pagination-disabled-color: #6c757d;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #dee2e6;--bs-jumbotron-padding: 2rem;--bs-jumbotron-color: ;--bs-jumbotron-bg: #e9ecef;--bs-card-spacer-y: .75rem;--bs-card-spacer-x: 1.25rem;--bs-card-border-width: 1px;--bs-card-border-radius: .25rem;--bs-card-border-color: rgba(0, 0, 0, .125);--bs-card-inner-border-radius:calc(.25rem - 1px);--bs-card-cap-bg: rgba(0, 0, 0, .03);--bs-card-cap-color: ;--bs-card-color: ;--bs-card-bg: #fff;--bs-card-img-overlay-padding: 1.25rem;--bs-card-group-margin: 15px;--bs-card-deck-margin: 15px;--bs-card-columns-count: 3;--bs-card-columns-gap: 1.25rem;--bs-card-columns-margin: .75rem;--bs-tooltip-font-size: .875rem;--bs-tooltip-max-width: 200px;--bs-tooltip-color: #fff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: .25rem;--bs-tooltip-opacity: .9;--bs-tooltip-padding-y: .25rem;--bs-tooltip-padding-x: .5rem;--bs-tooltip-margin: 0;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;--bs-tooltip-arrow-color: #000;--bs-form-feedback-tooltip-padding-y: .25rem;--bs-form-feedback-tooltip-padding-x: .5rem;--bs-form-feedback-tooltip-font-size: .875rem;--bs-form-feedback-tooltip-line-height: 1.5;--bs-form-feedback-tooltip-opacity: .9;--bs-form-feedback-tooltip-border-radius: .25rem;--bs-popover-font-size: .875rem;--bs-popover-bg: #fff;--bs-popover-max-width: 276px;--bs-popover-border-width: 1px;--bs-popover-border-color: rgba(0, 0, 0, .2);--bs-popover-border-radius: .3rem;--bs-popover-box-shadow: 0 .25rem .5rem rgba(0, 0, 0, .2);--bs-popover-header-bg: #f7f7f7;--bs-popover-header-color: ;--bs-popover-header-padding-y: .5rem;--bs-popover-header-padding-x: .75rem;--bs-popover-body-color: #212529;--bs-popover-body-padding-y: .5rem;--bs-popover-body-padding-x: .75rem;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-color: #fff;--bs-popover-arrow-outer-color: rgba(0, 0, 0, .25);--bs-toast-max-width: 350px;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .25rem;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-background-color: rgba(255, 255, 255, .85);--bs-toast-border-width: 1px;--bs-toast-border-color: rgba(0, 0, 0, .1);--bs-toast-border-radius: .25rem;--bs-toast-box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .1);--bs-toast-header-color: #6c757d;--bs-toast-header-background-color: rgba(255, 255, 255, .85);--bs-toast-header-border-color: rgba(0, 0, 0, .05);--bs-badge-font-size: 75%;--bs-badge-font-weight: 700;--bs-badge-padding-y: .25em;--bs-badge-padding-x: .4em;--bs-badge-border-radius: .25rem;--bs-badge-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;--bs-badge-focus-width: .2rem;--bs-badge-pill-padding-x: .6em;--bs-badge-pill-border-radius: 10rem;--bs-modal-inner-padding: 1rem;--bs-modal-dialog-margin: .5rem;--bs-modal-dialog-margin-y-sm-up: 1.75rem;--bs-modal-title-line-height: 1.5;--bs-modal-content-color: ;--bs-modal-content-bg: #fff;--bs-modal-content-border-color: rgba(0, 0, 0, .2);--bs-modal-content-border-width: 1px;--bs-modal-content-border-radius: .3rem;--bs-modal-content-box-shadow-xs: 0 .25rem .5rem rgba(0, 0, 0, .5);--bs-modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba(0, 0, 0, .5);--bs-modal-backdrop-bg: #000;--bs-modal-backdrop-opacity: .5;--bs-modal-header-border-color: #dee2e6;--bs-modal-footer-border-color: #dee2e6;--bs-modal-header-border-width: 1px;--bs-modal-footer-border-width: 1px;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-xl: 1140px;--bs-modal-lg: 800px;--bs-modal-md: 500px;--bs-modal-sm: 300px;--bs-modal-fade-transform: translate(0, -50px);--bs-modal-show-transform: none;--bs-modal-transition: transform .3s ease-out;--bs-alert-padding-y: .75rem;--bs-alert-padding-x: 1.25rem;--bs-alert-margin-bottom: 1rem;--bs-alert-border-radius: .25rem;--bs-alert-link-font-weight: 700;--bs-alert-border-width: 1px;--bs-alert-bg-level: -10;--bs-alert-border-level: -9;--bs-alert-color-level: 6;--bs-progress-height: 1rem;--bs-progress-font-size: .75rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: .25rem;--bs-progress-box-shadow: inset 0 .1rem .1rem rgba(0, 0, 0, .1);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #1B2C65;--bs-progress-bar-animation-timing: 1s linear infinite;--bs-progress-bar-transition: width .6s ease;--bs-list-group-color: ;--bs-list-group-bg: #fff;--bs-list-group-border-color: rgba(0, 0, 0, .125);--bs-list-group-border-width: 1px;--bs-list-group-border-radius: .25rem;--bs-list-group-item-padding-y: .75rem;--bs-list-group-item-padding-x: 1.25rem;--bs-list-group-hover-bg: #f8f9fa;--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #1B2C65;--bs-list-group-active-border-color: #1B2C65;--bs-list-group-disabled-color: #6c757d;--bs-list-group-disabled-bg: #fff;--bs-list-group-action-color: #495057;--bs-list-group-action-hover-color: #495057;--bs-list-group-action-active-color: #212529;--bs-list-group-action-active-bg: #e9ecef;--bs-thumbnail-padding: .25rem;--bs-thumbnail-bg: #fff;--bs-thumbnail-border-width: 1px;--bs-thumbnail-border-color: #dee2e6;--bs-thumbnail-border-radius: .25rem;--bs-thumbnail-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);--bs-figure-caption-font-size: 90%;--bs-figure-caption-color: #6c757d;--bs-breadcrumb-padding-y: .75rem;--bs-breadcrumb-padding-x: 1rem;--bs-breadcrumb-item-padding: .5rem;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: #e9ecef;--bs-breadcrumb-divider-color: #6c757d;--bs-breadcrumb-active-color: #6c757d;--bs-breadcrumb-divider: /;--bs-breadcrumb-border-radius: .25rem;--bs-carousel-control-color: #fff;--bs-carousel-control-width: 15%;--bs-carousel-control-opacity: .5;--bs-carousel-control-hover-opacity: .9;--bs-carousel-control-transition: opacity .15s ease;--bs-carousel-indicator-width: 30px;--bs-carousel-indicator-height: 3px;--bs-carousel-indicator-hit-area-height: 10px;--bs-carousel-indicator-spacer: 3px;--bs-carousel-indicator-active-bg: #fff;--bs-carousel-indicator-transition: opacity .6s ease;--bs-carousel-caption-width: 70%;--bs-carousel-caption-color: #fff;--bs-carousel-control-icon-width: 20px;--bs-carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#fff' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>");--bs-carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#fff' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>");--bs-carousel-transition-duration: .6s;--bs-carousel-transition: transform .6s ease-in-out;--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-border-width: .25em;--bs-spinner-width-sm: 1rem;--bs-spinner-height-sm: 1rem;--bs-spinner-border-width-sm: .2em;--bs-close-font-size: 1.5rem;--bs-close-font-weight: 700;--bs-close-color: #000;--bs-close-text-shadow: 0 1px 0 #fff;--bs-code-font-size: 87.5%;--bs-code-color: #e83e8c;--bs-kbd-padding-y: .2rem;--bs-kbd-padding-x: .4rem;--bs-kbd-font-size: 87.5%;--bs-kbd-color: #fff;--bs-kbd-bg: #212529;--bs-pre-color: #212529;--bs-pre-scrollable-max-height: 340px;--bs-displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex;--bs-overflows: auto, hidden;--bs-positions: static, relative, absolute, fixed, sticky;--bs-print-page-size: a3;--bs-print-body-min-width: 992px}
.hide-placeholder-text .thumbnail-placeholder{color:#0000!important}
.hide-modal-thumbnail-column .modal-body ds-listable-object-component-loader div.row>div:first-child{display:none}
.hide-modal-thumbnail-column .modal-body ds-listable-object-component-loader div.row>div:nth-child(2){flex:0 0 100%;max-width:100%}
.thumb-font-0 .thumbnail-placeholder{font-size:.4rem;padding:.1rem}
.thumb-font-0 .thumbnail-placeholder{font-size:.7rem;padding:.2rem}
.thumb-font-0 .thumbnail-placeholder{font-size:.6rem;padding:.1rem}
.thumb-font-1 .thumbnail-placeholder{font-size:.5rem;padding:.125rem}
.thumb-font-1 .thumbnail-placeholder{font-size:.9rem;padding:.1rem}
.thumb-font-1 .thumbnail-placeholder{font-size:.4rem;padding:.1rem}
.thumb-font-2 .thumbnail-placeholder{font-size:.9rem;padding:.125rem}
.thumb-font-3 .thumbnail-placeholder{font-size:1.25rem;padding:.5rem}
.my-cs{margin-top:var(--ds-content-spacing);margin-bottom:var(--ds-content-spacing)}

/* =========================================================
   FINAL HOME DELTA
   Legacy visual contract only
   ========================================================= */

/* Home native search must remain visible */
ds-home-page ds-search-form,
ds-home-page ds-base-search-form,
ds-base-home-page ds-search-form,
ds-base-home-page ds-base-search-form {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
}

ds-home-page form[action="/search"],
ds-base-home-page form[action="/search"],
#ul-legacy-home-search {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  width: 100% !important;
  min-height: 46px;
  margin: 1rem 0 1.5rem !important;
  background: #ffffff;
}

ds-home-page form[action="/search"] .form-control,
ds-base-home-page form[action="/search"] .form-control,
#ul-legacy-home-search .form-control {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 46px;
  flex: 1 1 auto;
}

/* Legacy institutional community artwork must be fully visible */
#ul-legacy-communities .ul-community-card img {
  width: 100%;
  height: 180px;
  object-fit: contain !important;
  object-position: center;
  padding: 12px;
  background: #ffffff;
}

/* Keep branded cards balanced */
#ul-legacy-communities .ul-community-card {
  min-height: 235px;
}

#ul-legacy-communities .ul-community-name {
  border-top: 1px solid #e9ecef;
}

/* Five authoritative Legacy institutional cards */
@media (min-width: 992px) {
  #ul-legacy-communities .ul-community-entry {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
}

@media (max-width: 991.98px) {
  #ul-legacy-communities .ul-community-card img {
    height: 165px;
  }
}

@media (max-width: 575.98px) {
  #ul-legacy-communities .ul-community-card {
    min-height: auto;
  }

  #ul-legacy-communities .ul-community-card img {
    height: 150px;
  }
}

/* =========================================================
   UNILASALLISTA FINAL LEGACY PARITY
   Visual reference: production Legacy
   ========================================================= */

:root {
  --ul-navy: #1B2C65;
  --ul-navy-hover: #0b1229;
  --ul-yellow: #ffcb05;
  --ul-purple: #8067f7;
  --ul-footer: #222222;
  --ul-border: #dee2e6;
}

/* =========================================================
   GLOBAL WIDTH / TYPOGRAPHY
   ========================================================= */

ds-home-page,
ds-base-home-page {
  font-family: "Montserrat", sans-serif !important;
}

ds-home-page > ds-base-home-page > .container,
ds-base-home-page > .container {
  max-width: 1040px !important;
}

/* =========================================================
   HEADER — TWO LEGACY LEVELS
   ========================================================= */

#main-site-header {
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
}

#main-site-header-container {
  display: grid !important;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 24px;
  row-gap: 0;
  min-height: 0 !important;
  max-width: 1040px !important;
  padding-top: 12px;
  padding-bottom: 0;
}

#header-left {
  display: contents !important;
}

#header-left > a:first-child {
  grid-column: 1;
  grid-row: 1;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-self: start;
  gap: 22px !important;
  padding: 0 0 12px !important;
  margin: 0 !important;
}

#header-right {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  padding-bottom: 12px;
}

#header-logo {
  display: block !important;
  width: auto !important;
  max-width: 210px !important;
  max-height: 64px !important;
  object-fit: contain !important;
}

#ul-header-logo-secondary {
  display: block !important;
  width: auto !important;
  max-width: 84px !important;
  max-height: 68px !important;
  object-fit: contain !important;
}

#desktop-navbar {
  grid-column: 1 / -1;
  grid-row: 2;
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: 10px 0 8px !important;
  min-height: 42px;
  border: 0 !important;
}

#desktop-navbar::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 100vw;
  transform: translateX(-50%);
  border-top: 6px solid var(--ul-navy);
  pointer-events: none;
}

#main-site-navigation {
  background: #ffffff !important;
  justify-content: flex-start !important;
  gap: 0 !important;
}

#main-site-navigation .ds-menu-item-wrapper {
  margin-right: 18px;
}

#main-site-navigation .ds-menu-item,
#main-site-navigation .ds-menu-toggler-wrapper,
#main-site-navigation a {
  color: var(--ul-navy) !important;
  font-weight: 500 !important;
}

#header-right .btn-link,
#header-right .fas,
#header-right button:not(.dropdownLogin) {
  color: var(--ul-navy) !important;
}

#header-right .dropdownLogin {
  background: var(--ul-yellow) !important;
  border: 1px solid var(--ul-yellow) !important;
  border-radius: 4px !important;
  color: #111111 !important;
  padding: .45rem .7rem !important;
  text-decoration: none !important;
}

#header-right .dropdownLogin:hover,
#header-right .dropdownLogin:focus {
  background: #e8b900 !important;
  border-color: #e8b900 !important;
  color: #111111 !important;
}

/* =========================================================
   LEGACY HOME SEARCH PANEL
   ========================================================= */

.ul-home-search-panel {
  display: block !important;
  max-width: 1040px !important;
  margin: 14px auto 44px !important;
  padding: 25px 30px !important;
  background: var(--ul-navy) !important;
  border-radius: 3px !important;
}

.ul-home-search-panel form,
#ul-legacy-home-search {
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
  min-height: 38px !important;
}

.ul-home-search-panel .form-control,
#ul-legacy-home-search .form-control {
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 3px 0 0 3px !important;
  box-shadow: none !important;
}

.ul-home-search-panel .search-button,
#ul-legacy-home-search .search-button {
  min-width: 46px !important;
  background: var(--ul-yellow) !important;
  border-color: var(--ul-yellow) !important;
  border-radius: 0 3px 3px 0 !important;
  color: #ffffff !important;
}

.ul-home-search-panel .search-button:hover,
.ul-home-search-panel .search-button:focus {
  background: #e8b900 !important;
  border-color: #e8b900 !important;
}

/* =========================================================
   LEGACY HELP CARDS
   ========================================================= */

#ul-legacy-help {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  max-width: 870px;
  margin: 0 auto 46px !important;
}

#ul-legacy-help .ul-help-card {
  display: flex;
  flex-direction: column;
  min-height: 260px;
  padding: 0 !important;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #d6d6d6 !important;
  border-radius: 3px !important;
  text-align: left !important;
}

#ul-legacy-help .ul-help-card-head {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 68px;
  flex: 0 0 68px;
  background: var(--ul-purple);
}

#ul-legacy-help .ul-help-card-head i {
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 2rem !important;
  line-height: 1;
}

#ul-legacy-help .ul-help-card-body {
  padding: 17px 18px 18px;
}

#ul-legacy-help .ul-help-title {
  margin: 0 0 12px !important;
  color: #202020 !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  line-height: 1.25;
}

#ul-legacy-help .ul-help-description {
  margin: 0;
  color: #333333;
  font-size: .9rem;
  line-height: 1.45;
}

/* =========================================================
   COMMUNITIES — LEGACY CIRCULAR ICON CONTRACT
   ========================================================= */

#ul-legacy-communities {
  max-width: 870px !important;
  margin: 0 auto 8px !important;
}

#ul-legacy-communities > h2 {
  margin: 0 0 34px !important;
  text-align: center;
  color: #202020 !important;
  font-size: 1.9rem !important;
  font-weight: 400 !important;
}

#ul-legacy-community-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 50px;
  align-items: start;
}

#ul-legacy-community-grid .ul-community-entry {
  display: flex;
  justify-content: center;
  min-width: 0;
}

#ul-legacy-community-grid .ul-community-card {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #111111 !important;
  text-decoration: none !important;
}

#ul-legacy-community-grid .ul-community-card:hover,
#ul-legacy-community-grid .ul-community-card:focus {
  border: 0 !important;
  box-shadow: none !important;
  color: var(--ul-navy) !important;
  text-decoration: none !important;
}

#ul-legacy-community-grid .ul-community-card img {
  display: block !important;
  width: 66px !important;
  height: 66px !important;
  max-width: 66px !important;
  padding: 0 !important;
  margin: 0 auto 12px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

#ul-legacy-community-grid .ul-community-name {
  display: block;
  padding: 0 !important;
  border: 0 !important;
  color: #111111 !important;
  text-align: center;
  font-size: .88rem;
  font-weight: 700 !important;
  line-height: 1.25;
}

/* =========================================================
   NATIVE COMMUNITY LIST MUST NOT DUPLICATE LEGACY HOME GRID
   ========================================================= */

ds-home-page ds-top-level-community-list,
ds-home-page ds-themed-top-level-community-list,
ds-base-home-page ds-top-level-community-list,
ds-base-home-page ds-themed-top-level-community-list {
  display: none !important;
}

/* =========================================================
   RECENT SUBMISSIONS
   ========================================================= */

.ul-recent-section {
  max-width: 870px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-top: 1px solid #d9d9d9;
  padding-top: 17px;
}

.ul-recent-section h2,
.ul-recent-section h3 {
  text-align: center !important;
  color: #202020 !important;
  font-weight: 400 !important;
}

.ul-recent-section a {
  color: var(--ul-navy) !important;
  font-weight: 600;
}

.ul-recent-section button.btn-primary,
.ul-recent-section .btn-primary {
  min-width: 150px;
  background: var(--ul-yellow) !important;
  border-color: var(--ul-yellow) !important;
  color: #ffffff !important;
}

/* =========================================================
   FOOTER — LEGACY DARK CONTRACT
   ========================================================= */

footer,
ds-footer footer {
  background: var(--ul-footer) !important;
  border-top: 7px solid var(--ul-purple) !important;
  color: #ffffff !important;
}

#ul-footer-brand {
  padding: 8px 0 !important;
  background: var(--ul-footer) !important;
}

#ul-footer-brand .container {
  max-width: 1040px !important;
}

#ul-footer-brand img {
  max-height: 58px !important;
  width: auto !important;
}

footer .bottom-footer {
  background: var(--ul-footer) !important;
}

footer a,
footer .btn,
footer .btn-link {
  color: #ffffff !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991.98px) {
  #ul-legacy-help {
    gap: 18px;
  }

  #ul-legacy-community-grid {
    gap: 26px 28px;
  }
}

@media (max-width: 767.98px) {
  #main-site-header-container {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
  }

  #header-left {
    display: flex !important;
    flex-direction: column;
  }

  #header-left > a:first-child {
    align-self: center;
  }

  #header-right {
    align-self: center;
    padding-bottom: 10px;
  }

  #desktop-navbar {
    width: 100%;
  }

  #header-logo {
    max-height: 50px !important;
    max-width: 175px !important;
  }

  #ul-header-logo-secondary {
    max-height: 50px !important;
    max-width: 70px !important;
  }

  #ul-legacy-help {
    grid-template-columns: 1fr;
    max-width: 520px;
  }

  #ul-legacy-community-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ul-home-search-panel {
    padding: 18px !important;
  }
}

@media (max-width: 575.98px) {
  #ul-legacy-community-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   G2-16S — FINAL HOME CLEANUP
   ========================================================= */

/* Native DSpace promotional / demo hero must never appear */
.ul-native-dspace-hero-hidden {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Explicit institutional home flow */
#ul-home-final-flow {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
}

/* Search comes first */
#ul-home-final-flow .ul-home-search-panel {
  order: 10;
}

/* Then three guidance cards */
#ul-home-final-flow #ul-legacy-help {
  order: 20;
}

/* Then communities */
#ul-home-final-flow #ul-legacy-communities {
  order: 30;
}

/* Then recent submissions */
#ul-home-final-flow .ul-recent-section {
  order: 40;
}

/* Remove non-Legacy decorative yellow rules only.
   Do NOT affect yellow buttons/login/search actions. */
ds-home-page hr,
ds-base-home-page hr {
  border-color: #d9d9d9 !important;
  opacity: 1 !important;
}

/* Kill accidental yellow top/bottom rules from inherited themes */
ds-home-page [style*="border-top-color: rgb(255, 203, 5)"],
ds-home-page [style*="border-bottom-color: rgb(255, 203, 5)"],
ds-base-home-page [style*="border-top-color: rgb(255, 203, 5)"],
ds-base-home-page [style*="border-bottom-color: rgb(255, 203, 5)"] {
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
}

/* No yellow separators/pseudo-lines on the Home content */
#ul-home-final-flow::before,
#ul-home-final-flow::after,
#ul-legacy-help::before,
#ul-legacy-help::after,
#ul-legacy-communities::before,
#ul-legacy-communities::after {
  content: none !important;
  display: none !important;
}

/* Keep spacing equivalent to Legacy after native hero removal */
#ul-legacy-help {
  margin-top: 0 !important;
}

#ul-legacy-communities {
  margin-top: 0 !important;
}

.ul-recent-section {
  margin-top: 18px !important;
}

/* Prevent native DSpace Home blocks from reopening visual gaps */
ds-home-page .jumbotron,
ds-base-home-page .jumbotron,
ds-home-page [class*="jumbotron"],
ds-base-home-page [class*="jumbotron"] {
  display: none !important;
}

/* Preserve yellow only where Legacy really uses it */
#header-right .dropdownLogin,
.ul-home-search-panel .search-button,
#ul-legacy-home-search .search-button,
.ul-recent-section .btn-primary {
  background: #ffcb05 !important;
  border-color: #ffcb05 !important;
}

/* ==============================================================
   DSPACE-UNILASALLISTA G2-16T
   AUTHORITATIVE LEGACY HOME CONTRACT

   IMPORTANT:
   - Scoped ONLY to body.ul-legacy-home-rebuild
   - Native DSpace Home content is not used visually.
   - Search/Collection/Item/Browse retain existing consolidated theme.
   ============================================================== */

body.ul-legacy-home-rebuild {
  --ul-blue: #1B2C65;
  --ul-blue-hover: #0B1229;
  --ul-purple: #8067F7;
  --ul-yellow: #FFCB05;
  --ul-gray: #D8D8D8;
  --ul-footer: #252525;
}

/* --------------------------------------------------------------
   HOME HOST
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild ds-home-page,
body.ul-legacy-home-rebuild ds-base-home-page {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}

/*
 * All native DSpace Home children are removed from presentation.
 * Our single controlled composition is re-enabled below.
 */
body.ul-legacy-home-rebuild ds-home-page > *,
body.ul-legacy-home-rebuild ds-base-home-page > * {
  display: none !important;
}

body.ul-legacy-home-rebuild #ul-legacy-home-root {
  display: block !important;
}

/* No native hero / promo / yellow separators / inherited home rules. */
body.ul-legacy-home-rebuild main,
body.ul-legacy-home-rebuild ds-home-page,
body.ul-legacy-home-rebuild ds-base-home-page,
body.ul-legacy-home-rebuild #ul-legacy-home-root {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body.ul-legacy-home-rebuild main::before,
body.ul-legacy-home-rebuild main::after,
body.ul-legacy-home-rebuild ds-home-page::before,
body.ul-legacy-home-rebuild ds-home-page::after,
body.ul-legacy-home-rebuild ds-base-home-page::before,
body.ul-legacy-home-rebuild ds-base-home-page::after,
body.ul-legacy-home-rebuild #ul-legacy-home-root::before,
body.ul-legacy-home-rebuild #ul-legacy-home-root::after {
  content: none !important;
  display: none !important;
}

body.ul-legacy-home-rebuild #ul-legacy-home-root hr {
  border: 0 !important;
  border-top: 1px solid #D8D8D8 !important;
  background: transparent !important;
}

/* --------------------------------------------------------------
   MASTER WIDTH
   -------------------------------------------------------------- */

#ul-legacy-home-root {
  width: 100%;
  margin: 0;
  padding: 0 0 26px;
  background: #fff;
  font-family: "Montserrat", sans-serif;
}

#ul-legacy-home-root .ul-home-wide {
  width: calc(100% - 40px);
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}

#ul-legacy-home-root .ul-home-content {
  width: calc(100% - 40px);
  max-width: 870px;
  margin-left: auto;
  margin-right: auto;
}

/* --------------------------------------------------------------
   1. SEARCH — IMMEDIATELY AFTER NAVBAR
   -------------------------------------------------------------- */

#ul-home-search {
  margin-top: 14px;
  margin-bottom: 43px;
  padding: 25px 30px;
  background: #1B2C65;
  border: 0;
  border-radius: 3px;
}

#ul-home-search form {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
}

#ul-home-search input {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  height: 38px;
  margin: 0;
  padding: 0 13px;
  border: 0;
  border-radius: 3px 0 0 3px;
  outline: 0;
  background: #fff;
  color: #333;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
}

#ul-home-search button {
  display: flex;
  flex: 0 0 46px;
  width: 46px;
  height: 38px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0 3px 3px 0;
  background: #FFCB05;
  color: #fff;
  cursor: pointer;
}

#ul-home-search button:hover,
#ul-home-search button:focus {
  background: #E7B900;
}

/* --------------------------------------------------------------
   2. THREE LEGACY HELP CARDS
   -------------------------------------------------------------- */

#ul-home-help {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-bottom: 44px;
}

.ul-home-help-card {
  overflow: hidden;
  min-height: 250px;
  border: 1px solid #D5D5D5;
  border-radius: 3px;
  background: #fff;
}

.ul-home-help-icon {
  display: flex;
  height: 68px;
  align-items: center;
  justify-content: center;
  background: #8067F7;
  color: #fff;
}

.ul-home-help-icon i {
  color: #fff !important;
  font-size: 31px;
}

.ul-home-help-body {
  padding: 17px 18px 20px;
}

.ul-home-help-body h3 {
  margin: 0 0 12px;
  color: #222;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
}

.ul-home-help-body p {
  margin: 0;
  color: #333;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.52;
}

/* --------------------------------------------------------------
   3. COMMUNITIES — LEGACY 3 + 2
   -------------------------------------------------------------- */

#ul-home-communities {
  margin-bottom: 14px;
}

#ul-home-communities h2 {
  margin: 0 0 34px;
  color: #222;
  text-align: center;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.25;
}

#ul-home-community-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  row-gap: 28px;
  align-items: start;
}

.ul-home-community {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  color: #111 !important;
  text-decoration: none !important;
}

/* First row: 3 */
.ul-home-community:nth-child(1) {
  grid-column: 1 / span 2;
}

.ul-home-community:nth-child(2) {
  grid-column: 3 / span 2;
}

.ul-home-community:nth-child(3) {
  grid-column: 5 / span 2;
}

/* Second row: 2 centered */
.ul-home-community:nth-child(4) {
  grid-column: 2 / span 2;
}

.ul-home-community:nth-child(5) {
  grid-column: 4 / span 2;
}

.ul-home-community img {
  display: block;
  width: 66px;
  height: 66px;
  margin: 0 0 11px;
  padding: 0;
  object-fit: contain;
  background: transparent;
  border: 0;
}

.ul-home-community span {
  display: block;
  width: 100%;
  max-width: 185px;
  color: #111;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

/* --------------------------------------------------------------
   LEGACY GRAY SEPARATOR — NEVER YELLOW
   -------------------------------------------------------------- */

#ul-home-separator {
  height: 1px;
  margin-top: 15px;
  margin-bottom: 17px;
  background: #D8D8D8;
}

/* --------------------------------------------------------------
   4. RECENT SUBMISSIONS — EXACTLY THREE COLUMNS
   -------------------------------------------------------------- */

#ul-home-recent h2 {
  margin: 0 0 34px;
  color: #222;
  text-align: center;
  font-size: 27px;
  font-weight: 400;
  line-height: 1.25;
}

#ul-home-recent-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 48px !important;
  row-gap: 0 !important;
  align-items: start !important;
}

.ul-home-recent-item {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.ul-home-recent-title {
  display: block;
  margin: 0 0 5px;
  color: #1B2C65 !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none !important;
}

.ul-home-recent-meta {
  display: block;
  margin: 0 0 3px;
  color: #1B2C65;
  font-size: 11px;
  line-height: 1.4;
}

.ul-home-recent-desc {
  display: block;
  margin: 0;
  color: #1B2C65;
  font-size: 11px;
  line-height: 1.42;
}

.ul-home-recent-more {
  display: inline-block;
  margin-top: 2px;
  color: #777 !important;
  font-size: 11px;
  text-decoration: none !important;
}

#ul-home-load-more {
  margin: 38px 0 17px;
  text-align: center;
}

#ul-home-load-more a {
  display: inline-block;
  min-width: 150px;
  padding: 8px 18px;
  border: 0;
  border-radius: 3px;
  background: #FFCB05;
  color: #fff !important;
  font-size: 12px;
  text-decoration: none !important;
}

/* --------------------------------------------------------------
   FOOTER — KEEP INSTITUTIONAL CONTRACT
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild footer,
body.ul-legacy-home-rebuild ds-footer footer {
  margin-top: 0 !important;
  background: #252525 !important;
}

/* No yellow line above footer. */
body.ul-legacy-home-rebuild footer,
body.ul-legacy-home-rebuild ds-footer footer,
body.ul-legacy-home-rebuild .bottom-footer {
  border-top-color: #8067F7 !important;
}

/* --------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------- */

@media (max-width: 767.98px) {

  #ul-home-search {
    margin-bottom: 28px;
    padding: 18px;
  }

  #ul-home-help {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  #ul-home-community-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 25px;
  }

  .ul-home-community:nth-child(n) {
    grid-column: auto;
  }

  #ul-home-recent-grid {
    grid-template-columns: 1fr !important;
    row-gap: 26px !important;
  }

}

/* ==============================================================
   G2-16U-R1
   FINAL LEGACY GEOMETRY
   Reference: authoritative Legacy production screenshots
   ============================================================== */

/* --------------------------------------------------------------
   HEADER
   Legacy does NOT contain the extra green horizontal rule.
   Preserve the navy institutional rule and navbar.
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild #main-site-header,
body.ul-legacy-home-rebuild #main-site-header-container,
body.ul-legacy-home-rebuild header#main-site-header,
body.ul-legacy-home-rebuild header .container,
body.ul-legacy-home-rebuild header .container-fluid {
  border-bottom-color: transparent !important;
}

body.ul-legacy-home-rebuild #main-site-header {
  border-bottom: 0 !important;
}

body.ul-legacy-home-rebuild #main-site-header::before,
body.ul-legacy-home-rebuild #main-site-header::after,
body.ul-legacy-home-rebuild #main-site-header-container::before,
body.ul-legacy-home-rebuild #main-site-header-container::after {
  border: 0 !important;
  background: transparent !important;
}

/*
 * Remove only green decorative rules from inherited Unilasallista
 * theme declarations. The navy navbar rule remains untouched.
 */
body.ul-legacy-home-rebuild header [style*="#94BA65"],
body.ul-legacy-home-rebuild header [style*="#94ba65"],
body.ul-legacy-home-rebuild header [style*="rgb(148, 186, 101)"] {
  border-color: transparent !important;
  background-color: transparent !important;
}

/* --------------------------------------------------------------
   NAVBAR
   Give it its own vertical space so the Home never overlaps it.
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild #desktop-navbar {
  position: relative !important;
  z-index: 2 !important;
  margin-bottom: 0 !important;
}

body.ul-legacy-home-rebuild #main-site-navigation {
  position: relative !important;
  z-index: 2 !important;
}

/* --------------------------------------------------------------
   SEARCH
   Legacy geometry:
   same content width used by help/communities/recent = 870px.
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild #ul-home-search {
  display: block !important;

  width: calc(100% - 40px) !important;
  max-width: 870px !important;

  margin:
    14px
    auto
    43px
    auto !important;

  padding:
    25px
    26px !important;

  background: #1B2C65 !important;

  border: 0 !important;
  border-radius: 3px !important;
  box-shadow: none !important;

  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;

  clear: both !important;
  z-index: 1 !important;
}

body.ul-legacy-home-rebuild #ul-home-search form {
  display: flex !important;
  width: 100% !important;
  height: 38px !important;

  margin: 0 !important;
  padding: 0 !important;
}

body.ul-legacy-home-rebuild #ul-home-search input {
  display: block !important;
  flex: 1 1 auto !important;

  width: auto !important;
  min-width: 0 !important;
  height: 38px !important;
  min-height: 38px !important;

  margin: 0 !important;
  padding: 0 13px !important;

  border: 0 !important;
  border-radius: 3px 0 0 3px !important;

  box-shadow: none !important;

  font-family: "Montserrat", sans-serif !important;
  font-size: 13px !important;
}

body.ul-legacy-home-rebuild #ul-home-search button {
  display: flex !important;
  flex: 0 0 40px !important;

  width: 40px !important;
  height: 38px !important;
  min-height: 38px !important;

  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 3px 3px 0 !important;

  background: #FFCB05 !important;
  color: #fff !important;

  box-shadow: none !important;
}

/* --------------------------------------------------------------
   HELP / COMMUNITIES / RECENT
   Explicitly keep all four Home areas on same Legacy width axis.
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild #ul-home-help,
body.ul-legacy-home-rebuild #ul-home-communities,
body.ul-legacy-home-rebuild #ul-home-separator,
body.ul-legacy-home-rebuild #ul-home-recent {
  width: calc(100% - 40px) !important;
  max-width: 870px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Preserve the exact 3-column Recent Submissions layout. */
body.ul-legacy-home-rebuild #ul-home-recent-grid {
  display: grid !important;
  grid-template-columns:
    repeat(3, minmax(0, 1fr)) !important;
  column-gap: 48px !important;
}

/* Footer purple line only. Never green/yellow. */
body.ul-legacy-home-rebuild footer,
body.ul-legacy-home-rebuild ds-footer footer {
  border-top:
    7px solid #8067F7 !important;
}

/* --------------------------------------------------------------
   TABLET / MOBILE
   -------------------------------------------------------------- */

@media (max-width: 767.98px) {

  body.ul-legacy-home-rebuild #ul-home-search {
    width: calc(100% - 28px) !important;
    margin-top: 12px !important;
    margin-bottom: 28px !important;
    padding: 18px !important;
  }

}

/* ==============================================================
   G2-16V-R1
   FINAL LEGACY COLORS + LOGOS + GREEN LINE REMOVAL
   ============================================================== */

:root {
  --ul-legacy-navy: #1B2C65;
  --ul-legacy-navy-hover: #0B1229;
  --ul-legacy-purple: #8067F7;
  --ul-legacy-yellow: #FFCB05;
}

/* --------------------------------------------------------------
   1. REMOVE GREEN RULE COMPLETELY
   -------------------------------------------------------------- */

/*
 * Legacy reference has navy divider, not the green rule currently
 * visible in UAT. Kill green borders/backgrounds/pseudo-rules in header.
 */

body.ul-legacy-home-rebuild #main-site-header,
body.ul-legacy-home-rebuild #main-site-header-container,
body.ul-legacy-home-rebuild header,
body.ul-legacy-home-rebuild header .container,
body.ul-legacy-home-rebuild header .container-fluid,
body.ul-legacy-home-rebuild #desktop-navbar,
body.ul-legacy-home-rebuild #main-site-navigation {
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

body.ul-legacy-home-rebuild #main-site-header::before,
body.ul-legacy-home-rebuild #main-site-header::after,
body.ul-legacy-home-rebuild #main-site-header-container::before,
body.ul-legacy-home-rebuild #main-site-header-container::after,
body.ul-legacy-home-rebuild #desktop-navbar::before,
body.ul-legacy-home-rebuild #desktop-navbar::after,
body.ul-legacy-home-rebuild #main-site-navigation::before,
body.ul-legacy-home-rebuild #main-site-navigation::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  border: 0 !important;
}

/* explicit green color neutralization */
body.ul-legacy-home-rebuild header [style*="#94BA65"],
body.ul-legacy-home-rebuild header [style*="#94ba65"],
body.ul-legacy-home-rebuild header [style*="#8BC34A"],
body.ul-legacy-home-rebuild header [style*="#8bc34a"],
body.ul-legacy-home-rebuild header [style*="rgb(148, 186, 101)"],
body.ul-legacy-home-rebuild header [style*="rgb(139, 195, 74)"] {
  background-color: transparent !important;
  border-color: transparent !important;
}

/* restore ONLY the navy legacy divider */
body.ul-legacy-home-rebuild #desktop-navbar {
  border-top: 6px solid var(--ul-legacy-navy) !important;
  background: #fff !important;
}

/* --------------------------------------------------------------
   2. LEGACY NAV/TEXT BLUE
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild #main-site-navigation,
body.ul-legacy-home-rebuild #main-site-navigation a,
body.ul-legacy-home-rebuild #main-site-navigation button,
body.ul-legacy-home-rebuild #desktop-navbar a,
body.ul-legacy-home-rebuild #desktop-navbar button,
body.ul-legacy-home-rebuild .navbar-nav .nav-link {
  color: var(--ul-legacy-navy) !important;
  font-weight: 500 !important;
}

body.ul-legacy-home-rebuild #main-site-navigation a:hover,
body.ul-legacy-home-rebuild #main-site-navigation a:focus,
body.ul-legacy-home-rebuild #desktop-navbar a:hover,
body.ul-legacy-home-rebuild #desktop-navbar a:focus {
  color: var(--ul-legacy-navy-hover) !important;
}

/* Home links/titles */
body.ul-legacy-home-rebuild #ul-legacy-home-root a,
body.ul-legacy-home-rebuild #ul-home-recent a,
body.ul-legacy-home-rebuild #ul-home-community-grid a {
  color: var(--ul-legacy-navy) !important;
}

body.ul-legacy-home-rebuild #ul-home-recent a:hover,
body.ul-legacy-home-rebuild #ul-home-community-grid a:hover {
  color: var(--ul-legacy-navy-hover) !important;
}

/* --------------------------------------------------------------
   3. HEADER LOGOS — LEGACY PROPORTIONS
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild #main-site-header-container {
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

body.ul-legacy-home-rebuild #header-left > a:first-child {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.ul-legacy-home-rebuild #header-logo {
  display: block !important;
  width: auto !important;
  height: 64px !important;
  max-width: 225px !important;
  max-height: 64px !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ul-legacy-home-rebuild #ul-header-logo-secondary {
  display: block !important;
  width: auto !important;
  height: 68px !important;
  max-width: 92px !important;
  max-height: 68px !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* right controls aligned to legacy */
body.ul-legacy-home-rebuild #header-right {
  align-self: center !important;
}

body.ul-legacy-home-rebuild #header-right .dropdownLogin {
  background: var(--ul-legacy-yellow) !important;
  border-color: var(--ul-legacy-yellow) !important;
  color: #111 !important;
}

/* --------------------------------------------------------------
   4. SEARCH BAND — PRESERVE 16U GEOMETRY
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild #ul-home-search {
  max-width: 870px !important;
  width: calc(100% - 40px) !important;
  margin: 14px auto 43px auto !important;
  background: var(--ul-legacy-navy) !important;
}

body.ul-legacy-home-rebuild #ul-home-search button {
  background: var(--ul-legacy-yellow) !important;
  color: #fff !important;
}

/* --------------------------------------------------------------
   5. PRESERVE ESTABLISHED HOME LAYOUT
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild #ul-home-help,
body.ul-legacy-home-rebuild #ul-home-communities,
body.ul-legacy-home-rebuild #ul-home-separator,
body.ul-legacy-home-rebuild #ul-home-recent {
  max-width: 870px !important;
}

body.ul-legacy-home-rebuild #ul-home-recent-grid {
  display: grid !important;
  grid-template-columns:
    repeat(3, minmax(0, 1fr)) !important;
  column-gap: 48px !important;
}

/* footer stays purple-top legacy contract */
body.ul-legacy-home-rebuild footer,
body.ul-legacy-home-rebuild ds-footer footer {
  border-top:
    7px solid var(--ul-legacy-purple) !important;
}

/* --------------------------------------------------------------
   6. RESPONSIVE
   -------------------------------------------------------------- */

@media (max-width: 767.98px) {

  body.ul-legacy-home-rebuild #header-logo {
    height: 50px !important;
    max-height: 50px !important;
    max-width: 175px !important;
  }

  body.ul-legacy-home-rebuild #ul-header-logo-secondary {
    height: 50px !important;
    max-height: 50px !important;
    max-width: 70px !important;
  }

  body.ul-legacy-home-rebuild #header-left > a:first-child {
    gap: 16px !important;
  }

}

/* ==============================================================
   UAT-FINAL-01
   AUTHORITATIVE LEGACY VISUAL CONTRACT
   ============================================================== */

:root,
body {
  --font-family-sans-serif:
    "Montserrat",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  --ds-header-bg: #fff !important;

  --ds-header-logo-height: 100px !important;
  --ds-header-logo-height-xs: 50px !important;

  --ds-header-icon-color: #1B2C65 !important;
  --ds-header-icon-color-hover: #0B1229 !important;

  --ds-navbar-bg: #fff !important;

  --ds-header-navbar-border-top-color: #fff !important;
  --ds-header-navbar-border-bottom-color: #ced4da !important;

  --ds-navbar-link-color: #1B2C65 !important;
  --ds-navbar-link-color-hover: #0B1229 !important;

  --ds-home-news-link-color: #1B2C65 !important;
  --ds-home-news-link-hover-color: #0B1229 !important;

  --ds-breadcrumb-link-color: #1B2C65 !important;
  --ds-breadcrumb-link-active-color: #000 !important;

  --bs-primary: #1B2C65 !important;
  --bs-primary-rgb: 27,44,101 !important;

  --ds-footer-bg: #1B2C65 !important;

  --ds-slider-color: #94BA65 !important;
}

/* --------------------------------------------------------------
   HEADER / NAVBAR
   Remove the UAT green divider completely.
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild ds-header,
body.ul-legacy-home-rebuild header,
body.ul-legacy-home-rebuild #main-site-header,
body.ul-legacy-home-rebuild #main-site-header-container,
body.ul-legacy-home-rebuild ds-navbar,
body.ul-legacy-home-rebuild nav,
body.ul-legacy-home-rebuild #desktop-navbar,
body.ul-legacy-home-rebuild #main-site-navigation {
  background-color: #fff !important;
  box-shadow: none !important;
}

/* legacy navbar top is white; kill any inherited green top rule */
body.ul-legacy-home-rebuild ds-navbar,
body.ul-legacy-home-rebuild nav,
body.ul-legacy-home-rebuild #desktop-navbar,
body.ul-legacy-home-rebuild #main-site-navigation {
  border-top-color: #fff !important;
}

/* legacy lower navigation separator */
body.ul-legacy-home-rebuild #desktop-navbar,
body.ul-legacy-home-rebuild #main-site-navigation {
  border-bottom: 1px solid #ced4da !important;
}

/* eliminate pseudo decorative rules */
body.ul-legacy-home-rebuild ds-header::before,
body.ul-legacy-home-rebuild ds-header::after,
body.ul-legacy-home-rebuild header::before,
body.ul-legacy-home-rebuild header::after,
body.ul-legacy-home-rebuild ds-navbar::before,
body.ul-legacy-home-rebuild ds-navbar::after,
body.ul-legacy-home-rebuild nav::before,
body.ul-legacy-home-rebuild nav::after,
body.ul-legacy-home-rebuild #desktop-navbar::before,
body.ul-legacy-home-rebuild #desktop-navbar::after,
body.ul-legacy-home-rebuild #main-site-navigation::before,
body.ul-legacy-home-rebuild #main-site-navigation::after {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* --------------------------------------------------------------
   LEGACY BLUE
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild,
body.ul-legacy-home-rebuild a,
body.ul-legacy-home-rebuild button,
body.ul-legacy-home-rebuild .nav-link,
body.ul-legacy-home-rebuild .navbar-nav .nav-link {
  font-family: "Montserrat", sans-serif !important;
}

body.ul-legacy-home-rebuild .navbar-nav .nav-link,
body.ul-legacy-home-rebuild #desktop-navbar a,
body.ul-legacy-home-rebuild #main-site-navigation a,
body.ul-legacy-home-rebuild #ul-home-recent a,
body.ul-legacy-home-rebuild #ul-home-community-grid a {
  color: #1B2C65 !important;
}

body.ul-legacy-home-rebuild .navbar-nav .nav-link:hover,
body.ul-legacy-home-rebuild #desktop-navbar a:hover,
body.ul-legacy-home-rebuild #main-site-navigation a:hover,
body.ul-legacy-home-rebuild #ul-home-recent a:hover,
body.ul-legacy-home-rebuild #ul-home-community-grid a:hover {
  color: #0B1229 !important;
}

/* --------------------------------------------------------------
   HEADER LOGOS
   Match Legacy presence/proportions.
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild #main-site-header-container {
  max-width: 1040px !important;
  min-height: 118px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 14px 0 12px 0 !important;
}

body.ul-legacy-home-rebuild #header-left {
  display: flex !important;
  align-items: center !important;
}

body.ul-legacy-home-rebuild #header-left > a:first-child {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ul-legacy-home-rebuild #header-logo {
  width: auto !important;
  height: 78px !important;
  max-width: 245px !important;
  max-height: 78px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

body.ul-legacy-home-rebuild #ul-header-logo-secondary {
  width: auto !important;
  height: 76px !important;
  max-width: 105px !important;
  max-height: 76px !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* --------------------------------------------------------------
   HOME SEARCH
   Preserve working geometry.
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild #ul-home-search {
  width: calc(100% - 40px) !important;
  max-width: 870px !important;
  margin: 14px auto 43px auto !important;
  background: #1B2C65 !important;
}

/* --------------------------------------------------------------
   HOME STRUCTURE
   Preserve current PASS layout.
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild #ul-home-help,
body.ul-legacy-home-rebuild #ul-home-communities,
body.ul-legacy-home-rebuild #ul-home-separator,
body.ul-legacy-home-rebuild #ul-home-recent {
  width: calc(100% - 40px) !important;
  max-width: 870px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.ul-legacy-home-rebuild #ul-home-recent-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 48px !important;
}

/* --------------------------------------------------------------
   FOOTER
   Preserve current institutional footer.
   -------------------------------------------------------------- */

body.ul-legacy-home-rebuild footer,
body.ul-legacy-home-rebuild ds-footer footer {
  background: #252525 !important;
  border-top: 7px solid #8067F7 !important;
}

/* --------------------------------------------------------------
   MOBILE
   -------------------------------------------------------------- */

@media (max-width: 767.98px) {
  body.ul-legacy-home-rebuild #main-site-header-container {
    min-height: auto !important;
    padding: 10px 14px !important;
  }

  body.ul-legacy-home-rebuild #header-logo {
    height: 50px !important;
    max-height: 50px !important;
    max-width: 175px !important;
  }

  body.ul-legacy-home-rebuild #ul-header-logo-secondary {
    height: 48px !important;
    max-height: 48px !important;
    max-width: 70px !important;
  }
}

/* ============================================================
   G2-16V-R2
   FINAL TOP SEPARATOR PARITY
   Goal:
   - remove grey separator
   - place dark blue separator before home search box
   - keep current working home layout
   ============================================================ */

/* Kill any inherited grey rule around the navbar band */
body.ul-legacy-home-rebuild #main-site-header-container,
body.ul-legacy-home-rebuild #main-site-navigation,
body.ul-legacy-home-rebuild #desktop-navbar,
body.ul-legacy-home-rebuild ds-navbar,
body.ul-legacy-home-rebuild nav.navbar,
body.ul-legacy-home-rebuild .navbar,
body.ul-legacy-home-rebuild .header-navbar-wrapper,
body.ul-legacy-home-rebuild .container-navbar {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* Remove pseudo-lines if present */
body.ul-legacy-home-rebuild #main-site-navigation::before,
body.ul-legacy-home-rebuild #main-site-navigation::after,
body.ul-legacy-home-rebuild #desktop-navbar::before,
body.ul-legacy-home-rebuild #desktop-navbar::after,
body.ul-legacy-home-rebuild ds-navbar::before,
body.ul-legacy-home-rebuild ds-navbar::after,
body.ul-legacy-home-rebuild nav.navbar::before,
body.ul-legacy-home-rebuild nav.navbar::after {
  border: 0 !important;
  box-shadow: none !important;
}

/* Authoritative legacy separator:
   dark blue line below menu and above search */
body.ul-legacy-home-rebuild #ul-home-search {
  position: relative !important;
  width: calc(100% - 40px) !important;
  max-width: 870px !important;
  margin: 28px auto 43px auto !important;
}

body.ul-legacy-home-rebuild #ul-home-search::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -18px !important;
  height: 5px !important;
  background: #1B2C65 !important;
}

/* Ensure no light rule remains just above the search block */
body.ul-legacy-home-rebuild #ul-home-search,
body.ul-legacy-home-rebuild #ul-home-search > div,
body.ul-legacy-home-rebuild #ul-home-search .input-group,
body.ul-legacy-home-rebuild #ul-home-search .form-control {
  border-top-color: transparent !important;
}

/* Keep legacy blue link tone */
body.ul-legacy-home-rebuild a,
body.ul-legacy-home-rebuild .nav-link,
body.ul-legacy-home-rebuild .navbar-nav .nav-link {
  color: #1B2C65 !important;
}

/* Keep home section rule neutral; only communities/recent separator stays subtle */
body.ul-legacy-home-rebuild #ul-home-separator {
  border-top: 1px solid #d7d7d7 !important;
}

/* =========================================================
   G2-16W FINAL HEADER / FOOTER PARITY DELTA
   - Remove grey separator in header
   - Keep only blue footer band + Unilasallista logo
   ========================================================= */

/* Header: kill grey separator / divider artifacts */
header hr,
header .mat-divider,
header .divider,
header .separator,
header .border-top,
header .border-bottom,
header [class*="divider"],
header [class*="separator"],
header [class*="border"],
app-header hr,
app-header .mat-divider,
app-header .divider,
app-header .separator,
app-header [class*="divider"],
app-header [class*="separator"],
ds-themed-header hr,
ds-themed-header .mat-divider,
ds-themed-header .divider,
ds-themed-header .separator,
ds-themed-header [class*="divider"],
ds-themed-header [class*="separator"] {
  display: none !important;
  border: 0 !important;
  background: transparent !important;
  height: 0 !important;
  box-shadow: none !important;
}

header::before,
header::after,
app-header::before,
app-header::after,
ds-themed-header::before,
ds-themed-header::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Neutralize any thin grey line around top containers */
header,
app-header,
ds-themed-header,
header .container,
header .container-fluid,
header .navbar,
header .navbar-nav,
header .top-header,
header .main-header,
header .header-wrapper,
header .header-container {
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

/* Footer: only blue band + logo */
footer,
app-footer footer,
ds-themed-footer footer,
.footer,
#footer {
  background: #1f2f7a !important;
  border-top: 0 !important;
  box-shadow: none !important;
  min-height: 84px !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

footer::before,
footer::after,
app-footer footer::before,
app-footer footer::after,
ds-themed-footer footer::before,
ds-themed-footer footer::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

footer .ul-footer-logo-only {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 56px !important;
}

footer .ul-footer-logo-only img {
  display: block !important;
  width: auto !important;
  max-height: 52px !important;
  object-fit: contain !important;
}

/* Hide residual footer text structures if any survive */
footer nav,
footer ul,
footer ol,
footer li,
footer p,
footer small,
footer .copyright,
footer .footer-links,
footer .footer-menu,
footer .nav,
footer .navbar,
footer .list-inline,
footer .menu,
footer .powered-by,
footer .footer-text,
footer .footer-bottom,
footer .copyright-text,
footer .disclaimer,
footer .license,
footer .attribution {
  display: none !important;
}

/* ==========================================================
   G2-16X-R1
   FINAL UAT HEADER / FOOTER CONTRACT
   ========================================================== */

/*
 * HEADER
 * No grey rule.
 * Blue rule must span full viewport immediately before search.
 */

body.ul-legacy-home-rebuild header,
body.ul-legacy-home-rebuild #main-site-header,
body.ul-legacy-home-rebuild #main-site-header-container,
body.ul-legacy-home-rebuild nav,
body.ul-legacy-home-rebuild .navbar,
body.ul-legacy-home-rebuild #desktop-navbar,
body.ul-legacy-home-rebuild #main-site-navigation {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body.ul-legacy-home-rebuild header::before,
body.ul-legacy-home-rebuild header::after,
body.ul-legacy-home-rebuild #main-site-header::before,
body.ul-legacy-home-rebuild #main-site-header::after,
body.ul-legacy-home-rebuild #main-site-header-container::before,
body.ul-legacy-home-rebuild #main-site-header-container::after,
body.ul-legacy-home-rebuild nav::before,
body.ul-legacy-home-rebuild nav::after,
body.ul-legacy-home-rebuild .navbar::before,
body.ul-legacy-home-rebuild .navbar::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#unila-full-width-blue-rule {
  display: block !important;

  width: 100vw !important;
  max-width: none !important;

  height: 5px !important;
  min-height: 5px !important;

  margin:
    0
    0
    16px
    0 !important;

  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;

  background: #1B2C65 !important;

  border: 0 !important;
  box-shadow: none !important;

  box-sizing: border-box !important;
}

/*
 * Prevent the search block itself from generating another top rule.
 */

body.ul-legacy-home-rebuild #ul-home-search {
  border-top: 0 !important;
  box-shadow: none !important;
}

body.ul-legacy-home-rebuild #ul-home-search::before {
  content: none !important;
  display: none !important;
}

/*
 * FOOTER
 * One blue band.
 * Unilasallista logo only.
 */

footer,
.footer,
ds-themed-footer footer,
body.ul-legacy-home-rebuild footer {
  background: #1B2C65 !important;

  border: 0 !important;
  border-top: 0 !important;

  box-shadow: none !important;

  min-height: 90px !important;

  padding: 0 !important;
  margin: 0 !important;
}

footer::before,
footer::after,
.footer::before,
.footer::after {
  content: none !important;
  display: none !important;
}

#unila-footer-logo-only {
  width: 100% !important;
  min-height: 90px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  box-sizing: border-box !important;

  padding: 14px 24px !important;

  background: #1B2C65 !important;
}

#unila-footer-logo-only img {
  display: block !important;

  width: auto !important;
  max-width: 220px !important;

  height: auto !important;
  max-height: 58px !important;

  margin: 0 !important;

  object-fit: contain !important;
}

/*
 * Nothing else is allowed in footer.
 */

footer > :not(#unila-footer-logo-only),
.footer > :not(#unila-footer-logo-only) {
  display: none !important;
}


/* ==========================================================
   G2-16X-R2
   REMOVE RESIDUAL GREY HEADER RULE ONLY
   ========================================================== */

[data-unila-grey-rule="1"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Defensive cleanup for remaining light-grey header separators */
body > header,
body > ds-themed-header,
body > app-header,
#main-site-header,
#main-site-header-container {
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}


/* ==========================================================
   G2-16X-R4
   REMOVE ONLY RESIDUAL GREY HEADER SEPARATOR
   Preserve R2 blue rule + footer logo-only contract
   ========================================================== */

/*
 * Legacy variable that creates the light-grey navbar separator.
 * Override it globally for this theme.
 */
:root,
body {
  --ds-header-navbar-border-bottom-color: transparent !important;
}

/*
 * Neutralize border on known DSpace header/navbar wrappers.
 * Do NOT touch the custom blue rule.
 */
ds-themed-header,
ds-header,
header,
header#main-site-header,
#main-site-header,
#main-site-header-container,
ds-navbar,
nav.navbar,
.navbar,
#desktop-navbar,
#main-site-navigation {
  border-bottom: 0 !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

/*
 * Remove only light separator pseudo-elements.
 */
ds-themed-header::before,
ds-themed-header::after,
ds-header::before,
ds-header::after,
header::before,
header::after,
#main-site-header::before,
#main-site-header::after,
#main-site-header-container::before,
#main-site-header-container::after,
ds-navbar::before,
ds-navbar::after,
nav.navbar::before,
nav.navbar::after,
.navbar::before,
.navbar::after,
#desktop-navbar::before,
#desktop-navbar::after,
#main-site-navigation::before,
#main-site-navigation::after {
  border-bottom: 0 !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

/*
 * Preserve our already-correct blue separator explicitly.
 */
#unila-full-width-blue-rule {
  display: block !important;
  width: 100vw !important;
  max-width: none !important;
  height: 5px !important;
  min-height: 5px !important;
  background: #1B2C65 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/*
 * Preserve footer from R2 exactly as logo-only.
 */
#unila-footer-logo-only {
  display: flex !important;
}


/* ==============================================================
   G2-17B
   FUNCTIONAL UI RESCUE
   Derived from captured Legacy dropdown/navbar contract.
   ============================================================== */

:root {
  --ul-blue: #1B2C65;
  --ul-blue-hover: #0B1229;
  --ul-yellow: #FFCB05;
}

/* --------------------------------------------------------------
   A. REMOVE BROAD COLOR DAMAGE
   Do not let institutional "a" styling contaminate DSpace controls.
   -------------------------------------------------------------- */

.dropdown-menu,
.dropdown-menu a,
.dropdown-item {
  color: #212529 !important;
}

.dropdown-item {
  display: block !important;
  width: 100% !important;

  padding: .25rem 1.5rem !important;

  clear: both !important;

  font-weight: 400 !important;

  text-align: inherit !important;

  white-space: nowrap !important;

  background-color: transparent !important;

  border: 0 !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  color: #16181b !important;
  text-decoration: none !important;
  background-color: #e9ecef !important;
}

.dropdown-item.active,
.dropdown-item:active {
  color: #fff !important;
  background-color: #1B2C65 !important;
}

/* --------------------------------------------------------------
   B. TODO DSPACE — EXACT LEGACY/BOOTSTRAP DISPLAY CONTRACT
   -------------------------------------------------------------- */

.dropup,
.dropright,
.dropdown,
.dropleft,
.nav-item.dropdown,
.expandable-navbar-section {
  position: relative !important;
}

/*
 * Important:
 * hidden by default exactly like Legacy.
 * Angular/ng-bootstrap toggles .show.
 */
.dropdown-menu {
  position: absolute !important;

  top: 100% !important;
  left: 0 !important;

  z-index: 3000 !important;

  display: none !important;

  float: left !important;

  min-width: 10rem !important;

  padding: .5rem 0 !important;

  margin: .125rem 0 0 !important;

  font-size: 1rem !important;

  text-align: left !important;

  list-style: none !important;

  background-color: #fff !important;
  background-clip: padding-box !important;

  border: 1px solid rgba(0,0,0,.15) !important;
  border-radius: .25rem !important;

  box-shadow:
    0 .5rem 1rem rgba(0,0,0,.175) !important;

  overflow: visible !important;
}

/* THIS is the missing functional Legacy state */
.dropdown-menu.show,
.show > .dropdown-menu {
  display: block !important;
}

/*
 * Desktop navbar — exact Legacy behavior.
 */
@media (min-width: 768px) {
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute !important;
  }

  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible !important;
  }

  .navbar-expand-md .navbar-collapse {
    display: flex !important;
  }
}

/*
 * Do not force our own display model on Angular navbar internals.
 */
#main-site-navigation,
#desktop-navbar,
#main-site-navigation .navbar-nav,
#main-site-navigation .nav-item,
#main-site-navigation .dropdown {
  overflow: visible !important;
}

#main-site-navigation .dropdown-menu {
  z-index: 3000 !important;
}

/*
 * Restore clickability.
 */
#main-site-navigation a,
#main-site-navigation button,
#main-site-navigation .nav-link,
#main-site-navigation .dropdown-toggle,
#main-site-navigation .ds-menu-item,
#main-site-navigation .ds-menu-toggler-wrapper {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* --------------------------------------------------------------
   C. HEADER SEARCH — STOP CROPPING NATIVE COMPONENT
   -------------------------------------------------------------- */

#main-site-header,
#main-site-header-container,
#header-left,
#header-right {
  overflow: visible !important;
}

#header-right {
  position: relative !important;

  z-index: 2200 !important;

  display: flex !important;

  align-items: center !important;

  flex-wrap: nowrap !important;

  gap: 6px !important;
}

#header-right ds-search-navbar,
#header-right ds-base-search-navbar,
#header-right form {
  overflow: visible !important;
}

/*
 * Remove earlier geometry constraints.
 * Allow DSpace's own animation/classes to determine visibility.
 */
#header-right input[name="query"],
#header-right input.form-control {
  max-width: none !important;

  box-sizing: border-box !important;
}

/*
 * Native absolute search field should have enough room.
 */
#header-right input.position-absolute,
#header-right .position-absolute.form-control {
  width: 260px !important;
  min-width: 260px !important;

  right: 100% !important;
  left: auto !important;

  z-index: 2300 !important;

  background: #fff !important;

  color: #212529 !important;

  border: 1px solid #ced4da !important;
}

/* Search icon itself */
#header-right .btn-link,
#header-right .fas,
#header-right button:not(.dropdownLogin) {
  color: #1B2C65 !important;
}

/* --------------------------------------------------------------
   D. LOGIN — LEGACY YELLOW + READABLE DARK TEXT
   -------------------------------------------------------------- */

#header-right .dropdownLogin,
#header-right .dropdownLogin.btn,
#header-right button.dropdownLogin,
#header-right a.dropdownLogin {
  background-color: #FFCB05 !important;

  border: 1px solid #FFCB05 !important;

  color: #111 !important;

  opacity: 1 !important;

  text-shadow: none !important;

  text-decoration: none !important;

  border-radius: 4px !important;

  padding: .45rem .70rem !important;
}

#header-right .dropdownLogin *,
#header-right .dropdownLogin span {
  color: #111 !important;
  opacity: 1 !important;
}

#header-right .dropdownLogin:hover,
#header-right .dropdownLogin:focus {
  background-color: #e8b900 !important;
  border-color: #e8b900 !important;
  color: #111 !important;
}

/* --------------------------------------------------------------
   E. ADMIN SIDEBAR — RESTORE CONTRAST
   -------------------------------------------------------------- */

/*
 * The current global link rule made these navy-on-navy.
 * Administrative navigation must be light on dark.
 */

ds-sidebar,
ds-admin-sidebar,
.sidebar,
[class*="admin-sidebar"] {
  --ul-admin-text: #fff;
  --ul-admin-muted: #e9ecef;
}

ds-sidebar a,
ds-sidebar button,
ds-sidebar .nav-link,
ds-sidebar .list-group-item,
ds-admin-sidebar a,
ds-admin-sidebar button,
ds-admin-sidebar .nav-link,
ds-admin-sidebar .list-group-item,
.sidebar a,
.sidebar button,
.sidebar .nav-link,
[class*="admin-sidebar"] a,
[class*="admin-sidebar"] button {
  color: #fff !important;
  opacity: 1 !important;
}

ds-sidebar a *,
ds-sidebar button *,
ds-admin-sidebar a *,
ds-admin-sidebar button *,
.sidebar a *,
.sidebar button *,
[class*="admin-sidebar"] a *,
[class*="admin-sidebar"] button * {
  color: inherit !important;
}

ds-sidebar a:hover,
ds-sidebar a:focus,
ds-sidebar button:hover,
ds-sidebar button:focus,
ds-admin-sidebar a:hover,
ds-admin-sidebar button:hover,
.sidebar a:hover,
.sidebar button:hover {
  color: #fff !important;
  background-color: rgba(255,255,255,.08) !important;
}

/* Expanded admin subsections */
ds-sidebar .show a,
ds-sidebar .collapse.show a,
ds-sidebar .collapsing a,
ds-admin-sidebar .show a,
.sidebar .show a {
  color: #fff !important;
}

/* --------------------------------------------------------------
   F. INTERNAL PAGES — PREVENT NAV/BREADCRUMB OVERLAP
   -------------------------------------------------------------- */

.breadcrumb,
ds-breadcrumbs,
ds-breadcrumb {
  position: relative !important;
  z-index: 1 !important;
}

/*
 * Navbar sits above content, but remains part of normal document flow.
 */
#desktop-navbar {
  position: relative !important;

  z-index: 1200 !important;

  overflow: visible !important;
}

#main-site-navigation {
  position: relative !important;

  z-index: 1250 !important;

  overflow: visible !important;
}

/* --------------------------------------------------------------
   G. PRESERVE THE ALREADY-APPROVED HOME/FOOTER
   -------------------------------------------------------------- */

#ul-legacy-home-root,
#ul-home-search,
#ul-home-help,
#ul-home-communities,
#ul-home-recent {
  z-index: auto !important;
}

#unila-footer-logo-only {
  display: flex !important;
}


/* =============================================================
   G2-17C
   NATIVE COMPONENT ISOLATION
   Keep Home/footer visuals. Repair native DSpace UI only.
   ============================================================= */

:root {
  --ul-navy: #1B2C65;
  --ul-dark: #0B1229;
  --ul-yellow: #FFCB05;
}

/* =============================================================
   1. TODO DSPACE DROPDOWN
   ============================================================= */

#main-site-navigation .nav-item.dropdown,
#main-site-navigation .expandable-navbar-section,
#main-site-navigation ds-expandable-navbar-section,
#main-site-navigation ds-base-expandable-navbar-section {
  position: relative !important;
  overflow: visible !important;
}

/* hidden until Angular/Bootstrap applies .show */
#main-site-navigation .dropdown-menu {
  display: none !important;

  position: absolute !important;
  top: 100% !important;
  left: 0 !important;

  width: auto !important;
  min-width: 230px !important;
  max-width: 320px !important;

  margin: 0.125rem 0 0 !important;
  padding: 0.45rem 0 !important;

  background: #ffffff !important;

  border: 1px solid rgba(0,0,0,.15) !important;
  border-radius: 4px !important;

  box-shadow: 0 8px 18px rgba(0,0,0,.18) !important;

  overflow: visible !important;

  z-index: 5000 !important;

  pointer-events: auto !important;
}

/* exact Legacy/Bootstrap open state */
#main-site-navigation .dropdown-menu.show,
#main-site-navigation .show > .dropdown-menu {
  display: block !important;
}

/* submenu items */
#main-site-navigation .dropdown-menu .dropdown-item,
#main-site-navigation .dropdown-menu a {
  display: block !important;

  width: 100% !important;

  padding: .45rem 1rem !important;

  color: #212529 !important;

  background: transparent !important;

  font-weight: 400 !important;

  white-space: nowrap !important;

  text-decoration: none !important;

  pointer-events: auto !important;

  cursor: pointer !important;
}

#main-site-navigation .dropdown-menu .dropdown-item:hover,
#main-site-navigation .dropdown-menu .dropdown-item:focus,
#main-site-navigation .dropdown-menu a:hover,
#main-site-navigation .dropdown-menu a:focus {
  color: #16181b !important;
  background: #e9ecef !important;
}

/* the Todo DSpace toggle is a toggle, not a direct navigation link */
#main-site-navigation .dropdown-toggle,
#main-site-navigation .ds-menu-toggler-wrapper {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* =============================================================
   2. HEADER RIGHT TOOLS
   ============================================================= */

#header-right {
  overflow: visible !important;
  z-index: 5200 !important;
}

/* native search expansion must never be clipped */
#header-right ds-search-navbar,
#header-right ds-base-search-navbar,
#header-right form,
#header-right .dropdown,
#header-right .dropdown-menu {
  overflow: visible !important;
}

#header-right input.position-absolute,
#header-right .position-absolute.form-control {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;

  right: 100% !important;
  left: auto !important;

  color: #212529 !important;

  background: #fff !important;

  border: 1px solid #ced4da !important;

  z-index: 5300 !important;
}

/* login trigger */
#header-right .dropdownLogin {
  background: var(--ul-yellow) !important;
  border-color: var(--ul-yellow) !important;

  color: #111 !important;

  opacity: 1 !important;
}

#header-right .dropdownLogin *,
#header-right .dropdownLogin span {
  color: #111 !important;
}

/* login dropdown itself */
#header-right .loginDropdownMenu,
#header-right .dropdown-menu.loginDropdownMenu {
  min-width: 320px !important;
  width: 320px !important;

  padding: 1rem !important;

  background: #fff !important;

  color: #212529 !important;

  overflow: visible !important;

  z-index: 5400 !important;
}

#header-right .loginDropdownMenu input {
  width: 100% !important;

  color: #212529 !important;

  background: #fff !important;
}

#header-right .loginDropdownMenu .btn-primary {
  color: #fff !important;
  background: var(--ul-navy) !important;
  border-color: var(--ul-navy) !important;
}

/* =============================================================
   3. INTERNAL PAGE NAVBAR / BREADCRUMB
   Home stays untouched.
   ============================================================= */

body:not(.ul-legacy-home-rebuild) #desktop-navbar {
  position: relative !important;

  width: 100% !important;

  height: auto !important;
  min-height: 44px !important;

  margin: 0 0 14px 0 !important;

  padding: 0 !important;

  background: #fff !important;

  overflow: visible !important;

  z-index: 2000 !important;
}

body:not(.ul-legacy-home-rebuild) #main-site-navigation {
  position: relative !important;

  min-height: 44px !important;

  display: flex !important;

  align-items: center !important;

  overflow: visible !important;

  z-index: 2100 !important;
}

/* navbar no longer sits on top of breadcrumb */
body:not(.ul-legacy-home-rebuild) ds-breadcrumbs,
body:not(.ul-legacy-home-rebuild) .breadcrumb,
body:not(.ul-legacy-home-rebuild) [class*="breadcrumb"] {
  position: relative !important;

  clear: both !important;

  z-index: 1 !important;
}

/* =============================================================
   4. ADMIN SIDEBAR
   ============================================================= */

/*
 * Force native dark sidebar contract and readable controls.
 * Scope only to left-side administrative navigation.
 */

ds-sidebar,
ds-admin-sidebar,
.sidebar,
[class*="admin-sidebar"] {
  color: #fff !important;
}

/* dark surfaces */
ds-sidebar nav,
ds-sidebar .sidebar-section,
ds-sidebar .list-group,
ds-admin-sidebar nav,
ds-admin-sidebar .sidebar-section,
.sidebar nav,
.sidebar .sidebar-section,
[class*="admin-sidebar"] nav {
  color: #fff !important;
}

/* all links/buttons in admin rail */
ds-sidebar a,
ds-sidebar button,
ds-sidebar .nav-link,
ds-sidebar .list-group-item,
ds-sidebar [role="button"],
ds-admin-sidebar a,
ds-admin-sidebar button,
ds-admin-sidebar .nav-link,
.sidebar a,
.sidebar button,
.sidebar .nav-link,
[class*="admin-sidebar"] a,
[class*="admin-sidebar"] button {
  color: #fff !important;

  opacity: 1 !important;

  text-decoration: none !important;

  pointer-events: auto !important;

  cursor: pointer !important;
}

ds-sidebar a *,
ds-sidebar button *,
ds-admin-sidebar a *,
ds-admin-sidebar button *,
.sidebar a *,
.sidebar button *,
[class*="admin-sidebar"] a *,
[class*="admin-sidebar"] button * {
  color: inherit !important;
  opacity: 1 !important;
}

/* nested items */
ds-sidebar .collapse a,
ds-sidebar .collapse button,
ds-sidebar .show a,
ds-sidebar .show button,
ds-sidebar .collapsing a,
ds-admin-sidebar .collapse a,
ds-admin-sidebar .show a,
.sidebar .collapse a,
.sidebar .show a {
  color: #fff !important;

  opacity: 1 !important;
}

/* hover/active */
ds-sidebar a:hover,
ds-sidebar a:focus,
ds-sidebar button:hover,
ds-sidebar button:focus,
ds-admin-sidebar a:hover,
ds-admin-sidebar button:hover,
.sidebar a:hover,
.sidebar button:hover,
[class*="admin-sidebar"] a:hover,
[class*="admin-sidebar"] button:hover {
  color: #fff !important;

  background: rgba(255,255,255,.10) !important;
}

/* selected admin section */
ds-sidebar .active,
ds-admin-sidebar .active,
.sidebar .active,
[class*="admin-sidebar"] .active {
  color: #fff !important;

  background: rgba(255,255,255,.14) !important;
}

/* =============================================================
   5. DO NOT TOUCH APPROVED HOME / FOOTER
   ============================================================= */

body.ul-legacy-home-rebuild #ul-legacy-home-root,
body.ul-legacy-home-rebuild #ul-home-search,
body.ul-legacy-home-rebuild #ul-home-help,
body.ul-legacy-home-rebuild #ul-home-communities,
body.ul-legacy-home-rebuild #ul-home-recent {
  position: relative !important;
}

#unila-footer-logo-only {
  display: flex !important;
}


/* ============================================================
   G2-17D
   PUBLIC NAV FINALIZATION
   ============================================================ */

/* ------------------------------------------------------------
   TODO DSPACE
   Panel identified dynamically through aria-controls.
   ------------------------------------------------------------ */

#main-site-navigation .ul-todo-wrapper {
  position: relative !important;
  overflow: visible !important;
  z-index: 6100 !important;
}

#main-site-navigation .ul-todo-dspace-panel {
  position: absolute !important;

  top: calc(100% + 4px) !important;
  left: 0 !important;
  right: auto !important;

  width: auto !important;
  min-width: 245px !important;
  max-width: 320px !important;

  margin: 0 !important;
  padding: 6px 0 !important;

  background: #fff !important;

  border: 1px solid #ced4da !important;
  border-radius: 4px !important;

  box-shadow: 0 8px 20px rgba(0,0,0,.18) !important;

  overflow: visible !important;

  text-align: left !important;

  z-index: 6200 !important;
}

#main-site-navigation .ul-todo-dspace-panel > * {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;

  position: relative !important;
}

#main-site-navigation .ul-todo-dspace-panel a,
#main-site-navigation .ul-todo-dspace-panel .ds-menu-item,
#main-site-navigation .ul-todo-dspace-panel [role="menuitem"] {
  display: block !important;

  width: 100% !important;

  padding: 8px 16px !important;

  margin: 0 !important;

  color: #1B2C65 !important;

  background: #fff !important;

  font-family: "Montserrat", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;

  line-height: 1.35 !important;

  text-align: left !important;

  white-space: nowrap !important;

  text-decoration: none !important;

  cursor: pointer !important;

  pointer-events: auto !important;
}

#main-site-navigation .ul-todo-dspace-panel a:hover,
#main-site-navigation .ul-todo-dspace-panel a:focus,
#main-site-navigation .ul-todo-dspace-panel .ds-menu-item:hover,
#main-site-navigation .ul-todo-dspace-panel [role="menuitem"]:hover {
  color: #0B1229 !important;
  background: #e9ecef !important;
}

/* ------------------------------------------------------------
   MAIN PUBLIC NAV LINKS
   ------------------------------------------------------------ */

#main-site-navigation > ds-navbar-section a,
#main-site-navigation .ul-statistics-link {
  position: relative !important;

  color: #1B2C65 !important;

  pointer-events: auto !important;

  cursor: pointer !important;

  text-decoration: none !important;

  z-index: 2 !important;
}

/* ------------------------------------------------------------
   INTERNAL PAGES:
   Header/navbar must reserve room before breadcrumb/content.
   HOME deliberately excluded.
   ------------------------------------------------------------ */

body:not(.ul-legacy-home-rebuild) #main-site-header {
  position: relative !important;

  margin-bottom: 42px !important;

  overflow: visible !important;

  z-index: 1500 !important;
}

body:not(.ul-legacy-home-rebuild) #desktop-navbar {
  overflow: visible !important;

  z-index: 1600 !important;
}

body:not(.ul-legacy-home-rebuild) #main-site-navigation {
  overflow: visible !important;

  z-index: 1700 !important;
}

/* Breadcrumb remains the Legacy gray contract, but below navbar */
body:not(.ul-legacy-home-rebuild) ds-breadcrumbs,
body:not(.ul-legacy-home-rebuild) .breadcrumb {
  position: relative !important;

  clear: both !important;

  margin-top: 0 !important;

  z-index: 1 !important;
}

/* ------------------------------------------------------------
   APPROVED HOME / FOOTER — DO NOT ALTER
   ------------------------------------------------------------ */

#ul-legacy-home-root,
#ul-home-search,
#ul-home-help,
#ul-home-communities,
#ul-home-recent,
#unila-footer-logo-only {
  position: relative !important;
}


/* ============================================================
   G2-17E
   INTERNAL PUBLIC PAGE NAV FLOW
   Home deliberately excluded.
   ============================================================ */

/*
 * Internal page header must participate in normal document flow.
 * Earlier theme layers left navbar geometry partially absolute.
 */

body:not(.ul-legacy-home-rebuild) #main-site-header {
  position: relative !important;

  display: block !important;

  width: 100% !important;

  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  z-index: 1500 !important;
}

body:not(.ul-legacy-home-rebuild) #main-site-header-container {
  position: relative !important;

  height: auto !important;
  min-height: 0 !important;

  overflow: visible !important;
}

/*
 * Top logo/tools row remains first.
 */
body:not(.ul-legacy-home-rebuild) #header-left,
body:not(.ul-legacy-home-rebuild) #header-right {
  position: relative !important;

  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;

  transform: none !important;
}

/*
 * Navbar row:
 * force it back into normal vertical flow.
 */
body:not(.ul-legacy-home-rebuild) #desktop-navbar {
  position: relative !important;

  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;

  transform: none !important;

  display: block !important;

  width: 100% !important;

  height: auto !important;
  min-height: 44px !important;

  margin:
    10px
    0
    0
    0 !important;

  padding: 0 !important;

  overflow: visible !important;

  clear: both !important;

  z-index: 1600 !important;
}

body:not(.ul-legacy-home-rebuild) #desktop-navbar > *,
body:not(.ul-legacy-home-rebuild) #desktop-navbar ds-navbar,
body:not(.ul-legacy-home-rebuild) #desktop-navbar ds-themed-navbar {
  position: relative !important;

  width: 100% !important;

  height: auto !important;
  min-height: 44px !important;

  overflow: visible !important;
}

/*
 * Actual links row.
 */
body:not(.ul-legacy-home-rebuild) #main-site-navigation {
  position: relative !important;

  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;

  transform: none !important;

  display: flex !important;

  flex-flow: row nowrap !important;

  align-items: center !important;

  min-height: 44px !important;

  margin: 0 auto !important;

  overflow: visible !important;

  z-index: 1700 !important;
}

/*
 * Breadcrumb is a separate row BELOW navbar.
 */
body:not(.ul-legacy-home-rebuild) ds-breadcrumbs,
body:not(.ul-legacy-home-rebuild) .breadcrumb,
body:not(.ul-legacy-home-rebuild) [class*="breadcrumb"] {
  position: relative !important;

  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;

  transform: none !important;

  clear: both !important;

  margin-top: 0 !important;

  z-index: 1 !important;
}

/*
 * Remove artificial spacing introduced by previous rescue layers.
 */
body:not(.ul-legacy-home-rebuild) #main-site-header + * {
  margin-top: 0 !important;
}

/*
 * Keep Todo DSpace dropdown from changing page flow.
 */
body:not(.ul-legacy-home-rebuild)
#main-site-navigation .ul-todo-dspace-panel {
  position: absolute !important;

  top: 100% !important;

  z-index: 6200 !important;
}

/*
 * Approved Home and footer remain untouched.
 */
body.ul-legacy-home-rebuild #main-site-header,
body.ul-legacy-home-rebuild #desktop-navbar,
body.ul-legacy-home-rebuild #main-site-navigation,
#unila-footer-logo-only {
  /* intentionally no geometry changes here */
}


/* ==========================================================
   UNILASALLISTA HOME NAV HIT-TEST FIX
   Keep the existing navbar above Home content.
   No geometry / visual change.
   ========================================================== */

#header-navbar-wrapper,
#desktop-navbar {
  position: relative !important;
  z-index: var(--ds-nav-z-index, 10) !important;
  pointer-events: auto !important;
}

#main-site-navigation,
#main-site-navigation .ds-menu-item-wrapper,
#main-site-navigation .ds-menu-item,
#main-site-navigation .ds-menu-toggler-wrapper,
#main-site-navigation a,
#main-site-navigation button {
  pointer-events: auto !important;
}


/* ============================================================
   UNILASALLISTA FINAL LEGACY HEADER ALIGNMENT

   Keep existing desktop-navbar divider.
   Move it from the top edge to just below the menu.
   No second divider. No layout/padding/z-index mutation.
   ============================================================ */

#desktop-navbar::before {
  display: block !important;
  top: auto !important;
  bottom: -6px !important;
  border-top: 6px solid var(--ul-navy) !important;
  pointer-events: none !important;
}


/* ============================================================
   UNILASALLISTA HOME FINAL PARITY

   Internal pages are already correct.
   Apply ONLY on / and /home via html.ul-home-route.
   ============================================================ */

/* HOME: remove the pseudo divider that is visually split */
html.ul-home-route #desktop-navbar::before {
  display: none !important;
}

/*
   HOME: use the complete header wrapper itself for the divider.
   This reproduces the continuous divider already seen correctly
   on internal pages without moving navbar/menu geometry.
*/
html.ul-home-route #header-navbar-wrapper {
  border-bottom: 6px solid var(--ul-navy) !important;
}

/*
   HOME Todo DSpace:
   native DSpace 9 dropdown behavior is preserved.
   Only restore an opaque Legacy-style white panel.
*/
html.ul-home-route #main-site-navigation .dropdown-menu,
html.ul-home-route #main-site-navigation [id$="-dropdown"],
html.ul-home-route [id$="-dropdown"].dropdown-menu {
  background-color: #ffffff !important;
  opacity: 1 !important;
}

/* Keep dropdown links visually opaque as in Legacy */
html.ul-home-route #main-site-navigation .dropdown-menu a,
html.ul-home-route #main-site-navigation [id$="-dropdown"] a {
  background-color: #ffffff !important;
}


/* ============================================================
   UNILASALLISTA HOME DIVIDER FINAL

   HOME ONLY.
   Remove native/upper divider sources.
   Preserve the lower desktop-navbar divider already certified.
   Internal pages remain untouched.
   ============================================================ */

/* Remove only the upper/native header borders on HOME */
html.ul-home-route #header-navbar-wrapper,
html.ul-home-route ds-navbar,
html.ul-home-route ds-themed-navbar {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Restore ONLY the desired lower navy divider on HOME */
html.ul-home-route #desktop-navbar::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: auto !important;
  bottom: -6px !important;
  width: 100vw !important;
  transform: translateX(-50%) !important;
  border: 0 !important;
  border-top: 6px solid var(--ul-navy) !important;
  pointer-events: none !important;
}


/* UNILASALLISTA FINAL LOGIN DROPDOWN */
#loginDropdownMenu {
  min-width: 360px !important;
  width: 360px !important;
  max-width: calc(100vw - 32px) !important;
  padding: 0 !important;
}

#loginDropdownMenu .login-container {
  width: 100% !important;
  min-width: 0 !important;
  padding: 1rem 1.25rem !important;
}

#loginDropdownMenu .form-login {
  width: 100% !important;
}

#loginDropdownMenu .form-login input,
#loginDropdownMenu .form-login button {
  width: 100% !important;
  min-width: 0 !important;
}

#loginDropdownMenu .form-login input {
  margin-bottom: .75rem !important;
}

