﻿@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
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.";
}
.message-helper {
  position: fixed;
  z-index: 1100;
  top: 4rem;
  right: 1rem;
  pointer-events: none;
}
.message-helper .message {
  padding: 0 0.5rem 0.5rem 0.5rem;
  cursor: pointer;
  pointer-events: all;
}
.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%;
  transform: translate(-50%, -50%);
  color: var(--color-corp-1a);
}
/* LOCAL font files */
/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/open-sans-light.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, 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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/open-sans-regular.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, 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: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/open-sans-semi.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, 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: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/open-sans-bold.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, 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: 'Play';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/play-regular.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, 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: 'Play';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/play-bold.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, 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;
}
.card,
.modal-content {
  border-radius: 0;
}
.card .card-header,
.modal .modal-header {
  background: var(--color-corp-1);
  color: var(--color-corp-2);
  border-radius: 0;
}
.card .card-header a,
.modal .modal-header a {
  color: whitesmoke;
}
.card .card-header .btn-close,
.modal .modal-header .btn-close {
  background: none;
  color: whitesmoke;
  cursor: pointer;
}
.card .card-footer,
.modal .modal-footer {
  background: whitesmoke;
  border-radius: 0;
}
.modal-header {
  padding: 0.75rem 1rem;
}
.card-header {
  font-size: 1.25em;
  line-height: 1.3em;
  text-transform: capitalize;
}
.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;
}
.form-control {
  position: relative;
  font-size: 1em;
  min-height: 2.25rem;
  cursor: pointer;
  background-clip: border-box;
  border-color: #aaa;
  border-radius: 0;
  -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;
}
input[type=checkbox] {
  appearance: none;
  display: inline-block;
  vertical-align: middle;
  width: 2.25rem;
  height: 2.25rem;
  position: relative;
}
input[type=checkbox]::after {
  content: " ";
  position: absolute;
  top: 0.5rem;
  right: 0.25rem;
  bottom: 0.75rem;
  left: 0.25rem;
  background: transparent;
  border-left: 4px solid black;
  border-bottom: 4px solid black;
  transform: rotate(-45deg);
  -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;
}
.input-group-text {
  border-color: #aaa;
  background: whitesmoke;
}
select.form-control {
  appearance: listbox;
}
.btn {
  font-size: 1em;
  line-height: 1.5em;
  text-align: center;
  background-color: var(--color-corp-1);
  color: whitesmoke;
  border-radius: 0;
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -ms-transition: 0.25s;
  -o-transition: 0.25s;
}
.btn:focus,
.btn.focus {
  background-color: black;
  color: whitesmoke;
  border-color: #1ab394;
  box-shadow: 0 0 0.3rem #1ab394;
}
.btn:hover,
.btn:active,
.btn.active {
  background-color: var(--color-corp-2) !important;
  color: white !important;
}
.btn:disabled,
.btn[disabled] {
  cursor: not-allowed;
  opacity: 0.8;
}
.btn.btn-danger {
  border-color: darkred;
  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-success {
  border-color: darkgreen;
  background-color: darkgreen;
  color: white;
}
.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: black;
  font-weight: 600;
}
.dropdown .dropdown-menu-end {
  font-size: 1em;
  right: 0 !important;
  left: auto !important;
}
.dropdown .dropdown-menu a {
  color: black;
}
.app-top-bar {
  background: whitesmoke;
  color: var(--color-corp-2);
  border-bottom: 1px solid lightgray;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
}
.app-top-bar .backbone {
  height: 3rem;
}
.app-top-bar .app-logo {
  height: 2.75rem;
}
.app-top-bar .app-control {
  font-size: 1.75rem;
  cursor: pointer;
  color: var(--color-corp-1);
}
.app-top-bar a:not(.btn) {
  color: var(--color-corp-3);
}
.app-top-bar nav {
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -ms-transition: 0.25s;
  -o-transition: 0.25s;
  pointer-events: none;
  background: rgba(0, 0, 0, 0);
  position: fixed;
  top: 3rem;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
}
.app-top-bar nav .menu {
  border-top: 1px solid var(--color-corp-1);
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -ms-transition: 0.25s;
  -o-transition: 0.25s;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -18rem;
  width: 18rem;
  background: whitesmoke;
  border-right: 1px solid var(--color-corp-1);
}
.app-top-bar nav .menu-item {
  background: whitesmoke;
  color: var(--color-corp-1);
  border-bottom: 1px solid var(--color-corp-1);
  padding: 0.5rem;
  display: block;
  cursor: pointer;
}
.app-top-bar nav .menu-item:hover,
.app-top-bar nav .menu-item:active {
  filter: none;
  background: var(--color-corp-2);
  color: white;
}
.app-top-bar nav .menu-item-header {
  background: var(--color-corp-2a);
  color: var(--color-corp-1);
}
.app-top-bar nav.opened {
  background: rgba(0, 0, 0, 0.5);
  pointer-events: all;
}
.app-top-bar nav.opened .menu {
  left: 0;
}
.esignature .js-canvas-container {
  width: 25rem;
  max-width: 100%;
  position: relative;
}
.esignature .js-canvas-container canvas {
  border: 1px solid gray;
  border-radius: 0.25rem;
  max-width: 100%;
  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;
}
.jornada-servicio {
  border: 1px solid lightgray;
  border-left: 3px solid var(--color-corp-2);
  background: whitesmoke;
  margin-top: 0.75rem;
}
.jornada-servicio .cell {
  border-top: 1px solid lightgray;
  border-right: 1px solid lightgray;
  margin-top: -1px;
  margin-right: -1px;
  padding: 0.5rem;
}
.servicio-detail .subtitle {
  font-size: 1.5em;
  line-height: 1.3em;
  margin-bottom: 1rem;
}
.servicio-detail .incidencia {
  padding: 0.4rem;
  margin-bottom: 0.5rem;
  border: 1px solid darkred;
  background: whitesmoke;
}
.servicio-detail .incidencia .btn {
  margin: -0.4rem -0.4rem -0.4rem 0.5rem;
}
.servicio-detail .objeto-perdido {
  padding: 0.4rem;
  margin-bottom: 0.5rem;
  border: 1px solid darkorange;
  background: whitesmoke;
}
.servicio-detail .objeto-perdido .btn {
  margin: -0.4rem -0.4rem -0.4rem 0.5rem;
}
.servicio-detail .new-record {
  padding: 0.25rem;
  background: whitesmoke;
  border: 1px solid lightgray;
}
.servicio-detail hr {
  margin: 1rem -1rem;
  color: gray;
}
.Login {
  height: calc(100vh - 4rem);
}
.Login .login-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: fadeIn 2s forwards;
}
.Jornada .checkin {
  border: 1px solid var(--color-corp-1);
  border-left: 3px solid var(--color-corp-1);
  background: whitesmoke;
  margin-bottom: 0.25rem;
}
.Jornada .checkin .cell {
  padding: 0.4rem;
}
.Jornada .checkin .cell .btn-danger {
  margin: calc(-0.4rem - 1px) 0.5rem -0.4rem -0.4rem;
}
.Jornada .hoja-reclamacion {
  border: 1px solid red;
  border-left: 3px solid red;
  color: darkred;
  background: whitesmoke;
  margin-bottom: 0.25rem;
}
.Jornada .hoja-reclamacion .cell {
  padding: 0.4rem;
}
.Jornada .hoja-reclamacion .cell .btn-danger {
  margin: calc(-0.4rem - 1px) 0.5rem -0.4rem -0.4rem;
}
.RegistroJornadas .filter-block {
  display: inline-block;
  margin: 0.1rem;
  vertical-align: middle;
}
:root {
  --color-corp-1: #054872;
  --color-corp-1a: rgba(5, 72, 114, 0.25);
  --color-corp-2: #fb9d23;
  --color-corp-2a: rgba(251, 157, 35, 0.25);
}
body {
  font-family: 'Play', sans-serif;
  font-size: 0.8rem;
  background-color: lightgray;
  background-image: -webkit-gradient(linear, left top, right top, from(lightgray), to(whitesmoke));
  background-image: -webkit-linear-gradient(left, lightgray, whitesmoke);
  background-image: -moz-linear-gradient(left, lightgray, whitesmoke);
  background-image: -ms-linear-gradient(left, lightgray, whitesmoke);
  background-image: -o-linear-gradient(left, lightgray, whitesmoke);
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -ms-transition: 0.25s;
  -o-transition: 0.25s;
  line-height: 1.2em;
}
@media (min-width: 576px) {
  body {
    font-size: 0.9rem;
  }
}
.title {
  text-align: center;
  font-size: 1.25em;
  line-height: 1.3em;
  font-weight: bold;
  text-transform: uppercase;
  padding: 0.25rem;
  background: var(--color-corp-1);
  color: var(--color-corp-2);
  margin-bottom: 0.5rem;
}
section {
  min-height: 100vh;
  padding: 4rem 0 1rem 0;
}
a:not(.btn) {
  text-decoration: none;
  color: var(--color-corp-1);
}
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;
}
.alert {
  border-radius: 0;
  border-color: var(---color-corp-1);
}
.hidden {
  opacity: 0;
  height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  position: absolute;
}
.green {
  color: darkgreen;
  text-transform: uppercase;
}
.red {
  color: red;
  text-transform: uppercase;
}
.orange {
  color: darkorange;
  text-transform: uppercase;
}
.footer {
  text-align: center;
  margin: 1rem;
  font-size: 0.95em;
  color: black;
}
.footer .logo-binary {
  height: 1.75em;
  margin-right: 0.5em;
}
.preview-picture {
  display: inline-block;
  vertical-align: middle;
  margin-top: 0.25rem;
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
  width: 7rem;
  border: 1px solid var(--color-corp-2);
}