:root {
  --brand-color: #6e45af;
}

.text-brand {
  color: var(--brand-color) !important;
}

.text-bg-brand {
  background-color: var(--brand-color) !important;
  color: #FFF !important;
}

.sidebar .nav-link.active {
  background-color: var(--brand-color) !important;
}

.btn-brand {
  background-color: var(--brand-color) !important;
  color: #FFF !important;
}

.welcome-page .logo {
  width: 64px;
}

.dashboard a i.bi {
  --bs-btn-color: var(--brand-color);
  color: var(--brand-color) !important;
}

textarea.disco-doc,
code.language-csharp {
  /* cross-platform monospace stack */
  font-family: Consolas, "Liberation Mono", Menlo, "Courier New", Courier, monospace; /* ultimate fallback */
  font-size: 0.9rem;
  line-height: 1.4;
  padding: 0.5rem;
  overflow-x: auto;
  white-space: pre;
  word-wrap: normal;
  font-size: small;
}

code.language-csharp {
  font-size: smaller;
}

@media (max-width: 576px) {
  .sidebar {
    max-width: 80px !important;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .sidebar .nav-link {
    justify-content: center;
  }
}
@media (min-width: 577px) {
  .sidebar {
    max-width: 280px !important;
  }
}
.icon-banner {
  width: 32px;
}

.body-container {
  margin-top: 60px;
  padding-bottom: 40px;
}

.welcome-page li {
  list-style: none;
  padding: 4px;
}

/* Logged Out Page Styles - Match Legacy Design */
.page-header {
  padding: 10px 0;
}

.page-header h1 {
  font-weight: bold;
  margin: 0 0 10px 0;
}

.page-header h3 {
  font-weight: 500;
  font-size: 18px;
  color: #555;
  margin-bottom: 10px;
}

.page-header a {
  color: #309ddc;
  text-decoration: none;
}

.page-header a:hover,
.page-header a:focus {
  color: #1c72a4;
  text-decoration: underline;
}

iframe.signout {
  display: none;
  width: 0;
  height: 0;
}

.grants-page .card {
  margin-top: 20px;
  border-bottom: 1px solid lightgray;
}
.grants-page .card .card-title {
  font-size: 120%;
  font-weight: bold;
}
.grants-page .card .card-title img {
  width: 100px;
  height: 100px;
}
.grants-page .card label {
  font-weight: bold;
}

.page-consent div.client-logo > img {
  max-height: 48px;
}

.discovery-document {
  height: 700px;
}
.discovery-document pre {
  max-height: fit-content;
}
.discovery-document pre code {
  font-size: 0.9em;
  padding: 0;
  margin: 0;
}

/* Login Page Styles - Match Legacy Design */
html, body {
  height: 100%;
}

body {
  font-family: Roboto, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  color: #3c474b;
  letter-spacing: 0;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
}

.center {
  position: relative;
  top: 10%;
  transform: translateY(-10%);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 400px;
}

#logo {
  text-align: center;
}

#logo img {
  margin-top: 10px;
  margin-bottom: 10px;
  width: 80%;
}

.primary-container {
  padding: 20px 20px 20px 20px;
  margin-top: 0;
  margin-bottom: 0;
  background-color: #efefef;
  border: 1px solid #8a97ad;
  border-radius: 5px;
}

.secondary-container {
  padding: 20px 20px 0 20px;
  margin-top: 0;
  margin-bottom: 0;
}

.row {
  margin-left: -15px;
  margin-right: -15px;
}

.row:after,
.row:before {
  content: " ";
  display: table;
}

.row:after {
  clear: both;
}

.error-row-container {
  margin-bottom: 10px;
}

.error-row {
  font-size: 14px;
  text-align: center;
  color: red;
  font-weight: 700;
}

.error-row span::before {
  content: '\26A0';
  margin-left: 3px;
  margin-right: 3px;
}

.form-group {
  margin-bottom: 15px;
}

.form-group > label {
  color: #3c464a;
  font-weight: 400;
  width: 100%;
  padding-left: 5px;
}

.login-page .form-control {
  display: block;
  width: 100%;
  height: 36px;
  margin-top: 5px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.2;
  color: #3c474b;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.login-page .form-control:focus {
  border-color: #364b94;
  outline: 0;
  box-shadow: none;
  -webkit-box-shadow: none;
}

.mobile-username {
  margin-bottom: 15px;
}

.bottom-action-buttons {
  margin-top: 25px;
  text-align: center;
}

.btn-block {
  width: 100%;
}

.submit {
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 20px;
  text-shadow: none;
  color: #fff;
  background-color: #364b94;
  border-color: #364b94;
}

.submit:hover {
  background-color: #147eb9;
  border-color: #147eb9;
}

.submit:active {
  background-color: #1d528c;
  border-color: #1d528c;
}

.margin-top-10 {
  margin-top: 10px;
}

.col-xs-12 {
  width: 100%;
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  float: left;
}

.footer {
  position: fixed;
  bottom: 10px;
  width: 100%;
  padding-left: 10px;
  font-size: 12px;
}

.copyright {
  text-align: left;
  color: #8a97ad;
}

/* Mobile responsiveness */
@media only screen and (max-width: 490px) {
  .mobile-username {
    margin-top: 20px;
  }

  .primary-container {
    padding: 20px 20px 20px 20px;
    margin-top: 0;
    margin-bottom: 0;
    background-color: #fff;
    border: 0 solid #fff;
    border-radius: 0;
  }

  .copyright {
    display: none;
  }
}

@media only screen and (max-width: 490px), screen and (max-height: 530px) {
  .footer {
    position: static;
    margin-top: 35px;
  }
}

@media only screen and (max-width: 490px), only screen and (max-width: 800px) and (max-height: 530px) {
  body {
    background-color: #fff;
  }

  .copyright {
    display: none;
  }
}

/*# sourceMappingURL=site.css.map */
