﻿.hide-scrollbar {
  overflow: auto;
  /* hide scrollbar but allow scrolling */
  -ms-overflow-style: none;
  /* for Internet Explorer, Edge */
  scrollbar-width: none;
  /* for Firefox */
}
.hide-scrollbar::-webkit-scrollbar {
  display: none;
  /* for Chrome, Safari, and Opera */
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes MessageCloseFadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    display: none;
  }
}
h1:focus {
  outline: none;
}
#blazor-error-ui {
  background: lightyellow;
  box-shadow: 0 0 0.3rem black;
  display: none;
  padding: 0.6rem 1.25rem 0.7rem 1.25rem;
  position: fixed;
  z-index: 1000;
  bottom: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding-right: 2rem;
}
#blazor-error-ui .dismiss {
  cursor: pointer;
  position: absolute;
  right: 0.75rem;
  top: 0.5rem;
}
.blazor-error-boundary {
  background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
  padding: 1rem 1rem 1rem 3.7rem;
  color: white;
}
.blazor-error-boundary::after {
  content: "An error has occurred.";
}
.error-helper-message {
  position: fixed;
  z-index: 1100;
  top: 4rem;
  right: 1rem;
  padding: 0 0.5rem 0.5rem 0.5rem;
  cursor: pointer;
}
/* latin */
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(fonts/titillium-web-200.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/titillium-web-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'Titillium Web';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/titillium-web-600.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --bs-blue: #1c84c6;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #e83e8c;
  --bs-red: #ED5565;
  --bs-orange: #f8ac59;
  --bs-yellow: #f8ac59;
  --bs-green: #1ab394;
  --bs-teal: #23c6c8;
  --bs-cyan: #17a2b8;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-primary: #1c84c6;
  --bs-secondary: #6c757d;
  --bs-success: #1ab394;
  --bs-info: #1c84c6;
  --bs-warning: #f8ac59;
  --bs-danger: #ED5565;
  --bs-light: #f8f9fa;
  --bs-dark: #343a40;
}
.modal {
  --bs-modal-zindex: 9;
}
.modal-backdrop {
  --bs-backdrop-zindex: 8;
}
.card .card-header,
.modal .modal-header {
  background: #011e41;
  color: white;
}
.card .card-header a,
.modal .modal-header a {
  color: white;
}
.card .card-header .btn-close,
.modal .modal-header .btn-close {
  background: none;
  color: white;
}
.card .card-footer,
.modal .modal-footer {
  background-color: whitesmoke;
}
.modal-header {
  padding: 0.75rem 1rem;
}
.form-group {
  position: relative;
}
.form-group .invalid {
  outline: 1px solid var(--bs-danger);
  box-shadow: 0 0 0.3rem #ED5565;
}
.form-group .validation-message {
  position: absolute;
  bottom: 100%;
  right: 0.5rem;
  display: block;
  background: var(--bs-danger);
  color: white;
  font-size: 0.8em;
  padding: 0.2em 0.25rem;
  line-height: 1.3em;
  border-radius: 0.25rem 0.25rem 0 0;
}
.form-control {
  position: relative;
  font-size: 1em;
  cursor: pointer;
  background-clip: border-box;
  border-color: #aaa;
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -ms-transition: 0.25s;
  -o-transition: 0.25s;
}
.form-control.textarea {
  line-height: 1.2em;
}
.form-control:focus {
  border-color: #1ab394;
  box-shadow: 0 0 0.3rem #1ab394;
}
.form-control.wrong {
  color: darkred;
}
.form-control[disabled] {
  color: #aaa;
}
.select2-container:focus {
  border-color: #1ab394;
  box-shadow: 0 0 0.3rem #1ab394;
}
tr:focus,
tr:active {
  border: 1px solid #1ab394;
  box-shadow: 0 0 0.3rem #1ab394;
}
.input-group-text {
  border-color: #aaa;
  background: whitesmoke;
}
.input-group .btn {
  border: 1px solid #aaa;
}
select.form-control {
  appearance: listbox;
}
.btn {
  font-size: 1em;
  line-height: 1.5em;
  text-align: center;
  background: #011e41;
  color: wheat;
  border: 1px solid #011e41 !important;
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -ms-transition: 0.25s;
  -o-transition: 0.25s;
}
.btn.active {
  color: #011e41 !important;
  border-color: #011e41 !important;
  background: wheat !important;
}
.btn:focus,
.btn.focus {
  background-color: #011e41;
  color: white;
  border-color: #1ab394;
  box-shadow: 0 0 0.3rem #1ab394;
}
.btn:hover,
.btn:active {
  filter: brightness(1.5);
  background-color: #011e41 !important;
  color: white !important;
}
.btn:disabled,
.btn[disabled] {
  background: lightgray;
  cursor: not-allowed;
}
.btn.active {
  background-color: #011e41;
  color: wheat;
}
.btn.btn-info {
  border-color: steelblue !important;
  background-color: steelblue;
  color: white;
}
.btn.btn-info:hover,
.btn.btn-info:active,
.btn.btn-info.active {
  filter: brightness(1.2);
  background-color: steelblue !important;
  color: white !important;
}
.btn.btn-danger {
  border-color: darkred !important;
  background-color: darkred;
  color: white;
}
.btn.btn-danger:hover,
.btn.btn-danger:active,
.btn.btn-danger.active {
  filter: brightness(1.2);
  background-color: darkred !important;
  color: white !important;
}
.btn.btn-warning {
  border-color: darkorange !important;
  background-color: darkorange;
  color: white;
}
.btn.btn-warning:hover,
.btn.btn-warning:active,
.btn.btn-warning.active {
  filter: brightness(1.2);
  background-color: darkorange !important;
  color: white !important;
}
.btn.btn-success {
  border-color: darkgreen;
  background-color: darkgreen;
  color: wheat;
}
.btn.btn-success:hover,
.btn.btn-success:active,
.btn.btn-success.active {
  filter: brightness(1.2);
  background-color: darkgreen !important;
  color: white !important;
}
label {
  color: #011e41;
  font-weight: 600;
}
.dropdown .dropdown-menu-end {
  font-size: 1em;
  right: 0 !important;
  left: auto !important;
}
.dropdown .dropdown-menu a {
  color: #011e41;
}
.alert {
  border-radius: 0.25rem;
  border: 1px solid;
}
input[type=checkbox] {
  appearance: none;
  display: inline-block;
  vertical-align: middle;
  width: 2.5em;
  position: relative;
}
input[type=checkbox]::before {
  content: "check";
  color: transparent;
}
input[type=checkbox]::after {
  content: " ";
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  bottom: 0.5rem;
  left: 0.5rem;
  background: black;
  border-radius: 0.25rem;
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -ms-transition: 0.25s;
  -o-transition: 0.25s;
  opacity: 0;
}
input[type=checkbox]:checked::after {
  opacity: 1;
}
.badge {
  background-color: whitesmoke;
  border: 1px solid;
  color: #011e41;
  font-weight: bold;
}
.app-top-bar {
  -webkit-user-select: none;
  /* Safari */
  -ms-user-select: none;
  /* IE 10 and IE 11 */
  user-select: none;
  /* Standard syntax */
  background: #011e41;
  color: white;
  border-bottom: 1px solid white;
  position: fixed;
  z-index: 5;
  top: 0;
  left: 0;
  right: 0;
}
.app-top-bar .backbone {
  height: 3rem;
}
.app-top-bar .app-name {
  text-transform: uppercase;
  font-weight: bold;
}
.app-top-bar .app-logo {
  height: 2rem;
  filter: brightness(100);
}
.app-top-bar .user-name {
  display: inline-block;
  vertical-align: middle;
  font-size: 0.8em;
  max-width: 50%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.app-top-bar a:not(.btn) {
  color: white;
}
.app-top-bar .menu-toggler {
  cursor: pointer;
}
.app-top-bar .bar-icon {
  font-size: 1.2em;
}
.app-navigation-menu {
  position: fixed;
  z-index: 10;
  top: 3rem;
  height: calc(100vh - 3rem);
  left: -17rem;
  width: 17rem;
  background: white;
  border-right: 1px solid #011e41;
  opacity: 0;
  overflow: auto;
  /* hide scrollbar but allow scrolling */
  -ms-overflow-style: none;
  /* for Internet Explorer, Edge */
  scrollbar-width: none;
  /* for Firefox */
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -ms-transition: 0.25s;
  -o-transition: 0.25s;
}
.app-navigation-menu::-webkit-scrollbar {
  display: none;
  /* for Chrome, Safari, and Opera */
}
.app-navigation-menu.opened {
  left: 0;
  opacity: 1;
}
.app-navigation-menu .item {
  border-bottom: 1px solid #011e41;
  background: white;
  color: #011e41;
  display: block;
  padding: 0.75rem;
  cursor: pointer;
}
.app-navigation-menu .item:hover,
.app-navigation-menu .item:active {
  background: #011e41;
  color: whitesmoke;
}
.app-navigation-menu .item .sub-items {
  background: #011e41;
  overflow: hidden;
  position: relative;
  top: 0.5rem;
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -ms-transition: 0.25s;
  -o-transition: 0.25s;
}
.app-navigation-menu .item .sub-item {
  display: block;
  margin: 0.75rem;
  color: wheat;
  font-size: 0.9em;
  line-height: 1.2em;
  font-weight: normal;
  padding-left: 1rem;
  font-weight: lighter;
}
.app-navigation-menu .item .sub-item:hover,
.app-navigation-menu .item .sub-item:active {
  color: white;
}
.Hub {
  position: relative;
}
.Hub .hub-item {
  display: inline-block;
  vertical-align: top;
  background: #011e41;
  color: wheat;
  height: 100%;
  width: 12rem;
  cursor: pointer;
  padding: 1rem;
  margin: 1rem;
  border-radius: 0.25rem;
  text-align: center;
}
.Hub .hub-item .icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}
.Hub .hub-item:hover,
.Hub .hub-item:active {
  color: white;
}
.grid {
  font-size: 0.9em;
  line-height: 1.3em;
  border: 1px solid lightgrey;
  background: white;
  border-radius: 0.25rem;
}
.grid .header {
  padding: 0.25rem 0.5rem;
  background: lightgrey;
}
.grid .record {
  padding: 0.25rem 0.5rem;
  border-top: 1px solid lightgrey;
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -ms-transition: 0.25s;
  -o-transition: 0.25s;
}
.grid .record.record-danger {
  background-color: pink;
}
.grid .record.record-danger:hover,
.grid .record.record-danger:active {
  background-color: lightpink;
}
.grid .record:hover,
.grid .record:active {
  background: whitesmoke;
}
.grid-pagination {
  padding: 0.5rem 0;
  text-align: right;
}
.grid-pagination .btn {
  border-color: #011e41;
  text-align: center;
  width: 2.5rem;
  padding: 0.25rem;
}
.btn.btn-checkin {
  background-color: palegreen;
  color: darkgreen;
}
.btn.btn-checkin:hover,
.btn.btn-checkin:active {
  background-color: palegreen !important;
  color: darkgreen !important;
}
.btn.btn-checkout {
  background-color: lightsalmon;
  color: darkred;
}
.btn.btn-checkout:hover,
.btn.btn-checkout:active {
  background-color: lightsalmon !important;
  color: darkred !important;
}
.special-need {
  display: inline-block;
  vertical-align: middle;
  min-width: 1.5em;
  min-height: 1.5em;
  border-radius: 0.25rem;
  color: white;
  background-color: indianred;
  padding: 0.2em 0.4em;
  border: none !important;
  position: relative;
}
.special-need.lite {
  max-width: 8em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.special-need.lite:hover,
.special-need.lite:active {
  max-width: none;
  white-space: normal;
  overflow: visible;
}
.special-need.CincoSentidos {
  background-color: darkgoldenrod;
}
.special-need.CincoSentidos:hover,
.special-need.CincoSentidos:active {
  background-color: darkgoldenrod !important;
}
.special-need.Comida {
  background-color: steelblue;
}
.special-need.Comida:hover,
.special-need.Comida:active {
  background-color: steelblue !important;
}
.special-need.AlergiaNoComida {
  background-color: darkolivegreen;
}
.special-need.AlergiaNoComida:hover,
.special-need.AlergiaNoComida:active {
  background-color: darkolivegreen !important;
}
.special-need.Discapacidad {
  background-color: darkmagenta;
}
.special-need.Discapacidad:hover,
.special-need.Discapacidad:active {
  background-color: darkmagenta !important;
}
.linked-record {
  padding-left: 0.5rem;
  border: 1px solid gray;
  border-radius: 0.25rem;
  background: whitesmoke;
}
.record-link-results {
  border: 1px solid gray;
  max-height: 10rem;
  overflow: auto;
  border-radius: 0.25rem;
}
.record-link-result {
  padding: 0 0.5rem;
  border-bottom: 1px solid gray;
  border-right: 1px solid gray;
  cursor: pointer;
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -ms-transition: 0.25s;
  -o-transition: 0.25s;
}
.record-link-result:hover,
.record-link-result:active {
  background-color: lightblue;
}
.sign-square {
  border: 1px dashed black;
  width: 8rem;
  height: 4rem;
  display: inline-block;
  border-radius: 0.25rem;
}
.sign-square.small {
  width: 4rem;
  height: 2rem;
}
.canvas-container {
  width: 100%;
  position: relative;
}
.canvas-container canvas {
  border: 1px solid black;
  touch-action: none;
}
.canvas-image {
  border: 1px solid gray;
}
.esignature .js-canvas-container {
  width: 25rem;
  max-width: 100%;
  position: relative;
}
.esignature .js-canvas-container canvas {
  border: 1px solid gray;
  border-radius: 0.25rem;
  touch-action: none;
  background: white;
}
.esignature .js-canvas-image {
  width: 25rem;
  max-width: 100%;
  border: 1px solid lightgray;
  border-radius: 0.25rem;
  margin-bottom: 0.5rem;
  background: white;
}
@view-transition {
  navigation: auto;
}
body {
  font-family: 'Titillium Web', sans-serif;
  font-size: 1.1rem;
  line-height: 1.2em;
  user-select: none;
  background-color: whitesmoke;
  color: #011e41;
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -ms-transition: 0.25s;
  -o-transition: 0.25s;
}
h1 {
  position: relative;
  text-align: center;
  padding-bottom: 0.75rem;
  margin-bottom: 2rem;
  font-weight: bold;
  text-transform: uppercase;
}
h2 {
  text-align: center;
}
hr {
  margin: 0;
}
section {
  padding: 4rem 0 1rem 0;
  min-height: 100vh;
}
a:not(.btn) {
  text-decoration: none;
  color: #011e41;
}
a:not(.btn):hover,
a:not(.btn):active {
  filter: brightness(1.2);
}
input::-webkit-inner-spin-button,
input::-webkit-calendar-picker-indicator {
  opacity: 0;
  cursor: pointer;
}
.loading {
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.5);
}
.loading .spinner-container {
  position: absolute;
  font-size: 5rem;
  top: 50%;
  left: 50%;
  color: #011e41;
  transform: translate(-50%, -50%);
}
.progress-bar {
  height: 0.75rem;
  position: relative;
  border-radius: 0.25rem;
  overflow: hidden;
  background: burlywood;
}
.progress-bar .full {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  height: 100%;
  border-radius: 0.25rem;
  background: seagreen;
}
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}
.language-button {
  margin: 0.25rem;
  text-transform: uppercase;
  font-family: monospace;
  font-size: 0.8em;
}
.language-button .language-icon {
  border: 1px solid;
  height: 1.5em;
  width: 1.5em;
  border-radius: 1.25em;
  display: inline-block;
  vertical-align: middle;
  margin-top: -0.2em;
}
.special-needs-legend .legend-entry {
  display: inline-block;
  margin: 0.25rem;
  min-width: 11rem;
}
.hidden {
  opacity: 0;
  height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  position: absolute;
}