@font-face {
  font-family: "Roboto";
  src: url("../fonts/Roboto-SemiBold.eot");
  src: url("../fonts/Roboto-SemiBold.eot?#iefix") format("embedded-opentype"), url("../fonts/Roboto-SemiBold.woff2") format("woff2"), url("../fonts/Roboto-SemiBold.woff") format("woff"), url("../fonts/Roboto-SemiBold.ttf") format("truetype"), url("../fonts/Roboto-SemiBold.svg#Roboto-SemiBold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../fonts/Roboto-Bold.eot");
  src: url("../fonts/Roboto-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Roboto-Bold.woff2") format("woff2"), url("../fonts/Roboto-Bold.woff") format("woff"), url("../fonts/Roboto-Bold.ttf") format("truetype"), url("../fonts/Roboto-Bold.svg#Roboto-Bold") format("svg");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../fonts/Roboto-Regular.eot");
  src: url("../fonts/Roboto-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Roboto-Regular.woff2") format("woff2"), url("../fonts/Roboto-Regular.woff") format("woff"), url("../fonts/Roboto-Regular.ttf") format("truetype"), url("../fonts/Roboto-Regular.svg#Roboto-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  src: url("../fonts/Roboto-Medium.eot");
  src: url("../fonts/Roboto-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/Roboto-Medium.woff2") format("woff2"), url("../fonts/Roboto-Medium.woff") format("woff"), url("../fonts/Roboto-Medium.ttf") format("truetype"), url("../fonts/Roboto-Medium.svg#Roboto-Medium") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
.navbar {
  border-bottom: 1px solid color-mix(in hsl, var(--color-text) 10%, var(--color-mixer) 10%);
}
.navbar .dropdown a {
  color: var(--color-text);
}
.navbar .dropdown a:hover {
  color: var(--color-text);
}

.btn {
  border-radius: var(--border-radius);
  font-size: var(--font-size-base);
  padding: 0.375rem 1rem;
}

.btn-primary {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.btn-primary:hover, .btn-primary:not(:disabled):active {
  background-color: color-mix(in hsl, var(--color-primary), black 10%) !important;
  border-color: color-mix(in hsl, var(--color-primary), black 10%) !important;
}

.card {
  background-color: var(--color-bg);
  border-color: color-mix(in hsl, var(--color-text) 10%, var(--color-mixer) 10%);
  border-radius: var(--border-radius);
}

.card-header {
  background-color: color-mix(in hsl, var(--color-bg) 3%, var(--color-mixer) 3%);
  border-bottom-color: color-mix(in hsl, var(--color-text) 10%, var(--color-mixer) 10%);
}

.form-group label {
  margin-bottom: 0.25rem;
}

.form-control {
  background: transparent;
  border-radius: var(--border-radius);
  border: none;
  border-bottom: 1px solid color-mix(in hsl, var(--color-text) 10%, var(--color-mixer) 10%);
  color: var(--color-text);
  font-size: var(--font-size-base);
  height: auto;
  padding: 0.25rem 0;
}
.form-control:focus {
  background: transparent;
  border-color: transparent;
  border-bottom-color: var(--color-primary);
  box-shadow: none;
  color: var(--color-text);
  outline: none;
}
.form-control::-moz-placeholder {
  color: transparent;
}
.form-control::placeholder {
  color: transparent;
}

.form-check {
  display: flex;
  gap: 0.5rem;
  padding-left: 1.5rem;
}

.form-check-input {
  width: 1rem;
  height: 1rem;
  margin-top: 0.125rem;
  margin-left: -1.5rem;
}

.dropdown .dropdown-item:hover {
  background-color: color-mix(in hsl, var(--color-bg) 3%, var(--color-mixer) 3%);
}

.dropdown-menu {
  background: var(--color-bg);
  border-color: color-mix(in hsl, var(--color-text) 10%, var(--color-mixer) 10%);
  left: auto;
  right: 0;
  font-size: var(--font-size-base);
}

.lead {
  font-size: 1rem;
}

.text-muted {
  color: var(--color-text-muted) !important;
}

.list-group-item {
  background-color: transparent;
  border-color: color-mix(in hsl, var(--color-text) 10%, var(--color-mixer) 10%);
}

hr {
  border-bottom: 1px solid color-mix(in hsl, var(--color-text) 10%, var(--color-mixer) 10%);
}

:root {
  --color-bg: light-dark(#FFFFFF, #212529);
  --color-primary: #2ab177;
  --color-text: light-dark(#212529, #FFFFFF);
  --color-text-muted: light-dark(#6c757d, #bdbdbd);
  --border-radius: .125rem;
  --font-size-base: .875rem;
  --color-mixer: light-dark(black, white);
  --transition-time: .3s;
}

html, body {
  display: flex;
  flex-direction: column;
}

html {
  color-scheme: light dark;
  min-height: 100%;
}
html[data-theme=dark] {
  color-scheme: dark;
}
html[data-theme=light] {
  color-scheme: light;
}

body {
  background: var(--color-bg);
  color: var(--color-text);
  flex: 1;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: var(--font-size-base);
  accent-color: color-mix(in hsl, var(--color-primary), black 12%);
}

.h1, h1 {
  font-size: 1.5rem;
}

.h2, h2 {
  font-size: 1.25rem;
}

.h1, h1, .h2, h2 {
  font-weight: 500;
  margin-bottom: 1rem;
}

a {
  color: var(--color-primary);
  font-weight: bold;
}
a:hover {
  color: color-mix(in hsl, var(--color-primary), black 10%);
}

body.is-login-page {
  position: relative;
}
body.is-login-page .body-container {
  margin-top: auto;
  margin-bottom: auto;
}
body.is-login-page .bg-login {
  background: url("/assets/images/background.jpg") no-repeat center;
  background-size: cover;
  position: absolute;
  inset: 0;
}
body.is-login-page .bg-login::before, body.is-login-page .bg-login::after {
  content: "";
  position: absolute;
  inset: 0;
}
body.is-login-page .bg-login::before {
  background: radial-gradient(at right center, color-mix(in hsl, var(--color-bg), transparent 50%), var(--color-bg) 65%);
  mix-blend-mode: multiply;
}
body.is-login-page .bg-login::after {
  background: url("/assets/images/background-element.png") no-repeat left bottom;
  background-size: 100% auto;
}
body.is-login-page > * {
  position: relative;
  z-index: 2;
}
body.is-login-page .navbar {
  border-bottom: none;
}

.login-page hr {
  margin: 1.5rem 0;
}
.login-page .card {
  margin: 0 auto;
  width: clamp(15rem, 30rem, 100%);
}
.login-page form > .form-group {
  position: relative;
}
.login-page form > .form-group label {
  color: var(--color-text-muted);
  margin-bottom: 0;
  transform: translateY(1.5rem);
  transition: var(--transition-time) ease-in-out;
}
.login-page form > .form-group .form-control {
  border-bottom: 0;
}
.login-page form > .form-group::after, .login-page form > .form-group::before {
  content: "";
  border-bottom: 2px solid color-mix(in hsl, var(--color-text) 10%, var(--color-mixer) 10%);
  position: absolute;
  inset: 100% 0 0;
  margin: 0 auto;
}
.login-page form > .form-group::before {
  border-bottom-width: 1px;
  width: 100%;
}
.login-page form > .form-group::after {
  border-bottom-color: var(--color-primary);
  width: 0;
  transition: var(--transition-time) ease-in-out;
}
.login-page form > .form-group:has(.form-control:not(:-moz-placeholder-shown)) label {
  color: var(--color-primary);
  font-size: 0.75rem;
  transform: translateY(0);
}
.login-page form > .form-group:has(.form-control:focus) label, .login-page form > .form-group:has(.form-control:not(:placeholder-shown)) label, .login-page form > .form-group:has(.form-control:-internal-autofill-selected) label {
  color: var(--color-primary);
  font-size: 0.75rem;
  transform: translateY(0);
}
.login-page form > .form-group:has(.form-control:focus)::after {
  width: 100%;
}
.login-page .form-check-label {
  margin-bottom: 0;
}
.login-page .form-footer {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1.5rem;
  margin-top: 3rem;
}
.login-page .form-footer .form-group {
  margin-bottom: 0;
}
.login-page .form-footer .buttons-container {
  display: flex;
  gap: 1rem;
}
.login-page .links-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.login-page .links-list a {
  display: flex;
  gap: 0.5rem;
  width: -moz-fit-content;
  width: fit-content;
}
.login-page .links-list a::before {
  content: "";
  background: currentColor;
  background-size: contain;
  width: 1em;
  height: 1em;
  -webkit-mask-image: url("/assets/icons/key-icon.svg");
          mask-image: url("/assets/icons/key-icon.svg");
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  margin-top: 0.25em;
}

.navbar {
  justify-content: space-between;
  gap: 1.5rem;
}
.navbar .right-content {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.navbar .right-content .toggle-switch {
  margin: 0;
}
.navbar .right-content .tenant-name {
  display: inline-flex;
  align-items: center;
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-text);
  white-space: nowrap;
}

.dark-mode-toggle {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
.dark-mode-toggle:focus, .dark-mode-toggle:active {
  outline: none;
}

.dark-mode-toggle__icon {
  width: 2rem;
  height: auto;
  color: #F2C94C;
  transition: color 0.2s linear;
}

.dark-mode-toggle__icon:hover {
  color: #F6C11F;
}

.dark-mode-toggle__icon--moon {
  color: white;
  opacity: 0.6;
  transition: opacity 0.2s linear, color 0.2s linear;
}

.dark-mode-toggle__icon--moon:hover {
  color: white;
  opacity: 0.8;
}

.dark-mode-toggle__rays {
  transition: opacity 0.2s linear 0.2s;
}

.dark-mode-toggle__icon--moon .dark-mode-toggle__rays {
  transition: opacity 0.2s linear;
  opacity: 0;
}

.dark-mode-toggle__cut-out {
  transition: transform 0.5s cubic-bezier(0.54, -0.42, 0.29, 1.3);
}

.dark-mode-toggle__icon--moon .dark-mode-toggle__cut-out {
  transform: translateX(-30%);
  transition: transform 0.5s cubic-bezier(0.21, 0.17, 0.43, 1.43);
}

html[data-theme=dark] .welcome-page .logo {
  filter: invert(1);
}

.welcome-page .logo {
  height: 3rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left center;
     object-position: left center;
  width: 3rem;
}
.welcome-page ul {
  margin-top: 1.5rem;
  padding-left: 54px;
}
.welcome-page ul li {
  padding: 0.25rem 0;
}

.icon-banner {
  height: 2rem;
}

html[data-theme=dark] .icon-banner path {
  fill: white;
}
html[data-theme=dark] .icon-banner circle {
  stroke: white;
}

.body-container {
  margin-top: 60px;
  /* margin-top: auto;
  margin-bottom: auto; */
  padding-bottom: 40px;
}

.welcome-page li {
  list-style: none;
  padding: 4px;
}

.logged-out-page iframe {
  display: none;
  width: 0;
  height: 0;
}

.grants-page .card {
  margin-top: 20px;
}
.grants-page .card .card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.grants-page .card .card-title {
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: bold;
}
.grants-page .card .card-title img {
  width: 100px;
  height: 100px;
}
.grants-page .card label {
  font-weight: bold;
}
.grants-page .card label:only-child {
  margin-bottom: 0;
}

h1:only-child, h2:only-child {
  margin-bottom: 0;
}

.diagnostics-page .lead {
  margin-bottom: 1rem;
}

.toggle-switch {
  display: grid;
}
.toggle-switch > * {
  grid-column: 1;
  grid-row: 1;
}
.toggle-switch input[type=checkbox] {
  height: 0;
  width: 0;
  visibility: hidden;
}
.toggle-switch label {
  cursor: pointer;
  width: 2.5rem;
  height: 1.5rem;
  background: var(--color-text-muted);
  display: block;
  border-radius: 100px;
  margin: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.toggle-switch label:after {
  content: "";
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  width: 1rem;
  height: 1rem;
  background: var(--color-bg);
  border-radius: 100px;
  transition: 0.3s;
}
.toggle-switch input:checked + label:after {
  left: calc(100% - 1.25rem);
}
.toggle-switch label:active:after {
  width: 1.5rem;
}/*# sourceMappingURL=site.css.map */