:root {
  --primary-color: #1b6ec2;
  --border-color: #ced4da;
  --focus-color: rgba(49,132,253,.5);
  --shadow-color: rgba(100, 100, 111, 0.2);
  --link-color: var(--primary-color);

  --menu-hover-color: rgb(255, 255, 155, 0.1);

  --success-color: #198754;
  --danger-color: #dc3545;

  /* Messages */
  --error-message-color: #842029;
  --error-message-background-color: #f8d7da;
  --error-message-border-color: #f5c2c7;
  --success-message-color: white;
  --success-message-background-color: #04aa6dc4;
  --success-message-border-color: #6ec05f;
  --info-message-color: white;
  --info-message-background-color: #2196f3b5;
  --info-message-border-color: #1271ec;
  --warning-message-color: #574206;
   --warning-message-background-color: #fff3cd;
   --warning-message-border-color: #ffeeba;

  /* Tables */
  --table-border: #EEEEEE;
  --table-header-background-color: rgba(0,0,0,.05);
  --table-header-color: black;

	/* Tabs */
   --tab-focused-background-color: var(--primary-color);
   --tab-blurred-background-color: #eee;
	--tab-border-color: var(--border-color);
	--tab-content-background-color: white;
}

/* Resets */
html,body,div,p,
h1,h2,h3,h4,h5,h6,
ul,ol,li,
dl,dt,dd,
form,fieldset,caption,
table,tr,td,th,
address,blockquote,img {
  margin:0;
  padding:0;
}
img, fieldset {
  border:none;
}
*, *:after, *:before {
  box-sizing:border-box;
}
*:focus {
  outline:none;
}

/*
 * Base
 */
html, body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-size: 16px;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  height: 100vh;
  width: 100vw;
  position: relative;
}

p, code {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  line-height: 1.35rem;
}

code {
  background-color: var(--table-header-background-color);
}

h1 { font-weight: bold; font-size: 2.2rem; margin: 1rem 0; }
h2 { font-weight: bold; font-size: 1.8rem; margin: 1.5rem 0; }
h3 { font-size: 1.4rem; margin: 1rem 0; }
h4 { margin: 1rem 0; }
h5 { margin: 1rem 0; }

ul {
  list-style: disc;
  margin: 0.5rem 2rem;
}

ol { margin: 0.5rem 2rem; }
ol li, ul li { line-height: 1.5em; }

blockquote {
   background-color: #f9f9f9;
   border-left: 10px solid #ccc;
   padding: 1em;
   margin: 1.5em 0;
}

blockquote p {
   margin-bottom: 0.5rem;
}

a { color: var(--link-color); }
small { font-size: 0.9rem; }

button {
  font-size: 1.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  padding: 0.5rem;
  cursor: pointer;
  border-radius: 0.25rem;
  border: 1px solid var(--border-color);
  transition: all 0.2s ease-in-out;
}

.outer {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.docs-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.docs-inner p img {
   max-width: 100%;
}

/* Actions */
.action-bar {
  display: flex;
  gap: 0.6rem;
  width: 100%;
  margin-bottom: 1.3rem;
  align-items: center;
}

.right { margin-left: auto; }

.table-actions {
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 0.5rem;
}

.table-actions input {
  width: 30%;
}

/* Sidebar */
.sidebar {
  background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
  width: 255px;
  height: 100vh;
  position: sticky;
  top: 0;
}

.docs-sidebar {
  background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
  width: 315px;
  height: 100vh;
  position: sticky;
  top: 0;
}

.sidebar nav ul, .docs-sidebar nav ul {
  list-style: none;
  display: flex;
  flex-direction: column;
}

.sidebar nav ul li a, .docs-sidebar nav ul li a {
  color: white;
  text-decoration: none;
  display: flex;
  gap: 0.5rem;
  font-size: 1.1rem;
  align-items: center;
  height: 3rem;
  padding: 0.8rem;
  border-radius: 0.2rem;
}

.sidebar nav ul li a:hover, .docs-sidebar nav ul li a:hover {
  text-decoration: underline;
  background-color: var(--menu-hover-color);
}

header {
  position: sticky;
  top: 0;
  z-index: 1;
  background-color: #f7f7f7;
  border-bottom: 1px solid #d6d5d5;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 3.5rem;
  padding-right: 1.5rem;
  gap: 1rem;
}

header ul:first-child {
  display: flex;
  list-style: none;
  gap: 1rem;
  align-items: center;
}

main {
  padding: 0 1.5rem 0 2rem;
}

/* Forms */
label {
	display: block;
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

form input, form textarea, form select {
	margin-bottom: 0.5rem;
}

input, textarea, select {
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--border-color);
	border-radius: 0.25rem;
  font-size: 1rem;
  width: 90%;
  line-height: 1.5;
}

input[type="checkbox"] {
	width: auto;
}

input:focus, textarea:focus, select:focus, button:focus {
	border-color: var(--primary-color);
	outline: 0;
	box-shadow: 0 0 0 .20rem var(--focus-color);
}

input:invalid {
   border-color: var(--danger-color);
}

button:disabled {
	opacity: 0.5;
	cursor: default
}

input:read-only, textarea:read-only { opacity: 0.5; }
input[type="file"] { opacity: 1; }

.input-with-image {
  display: flex;
  position: relative;
  left: -1.5rem;
}

.input-with-image input {
  padding-left: 2.5rem;
}

.input-with-image i {
  width: 24px;
  height: 24px;
  transform: translate(130%, 30%);
}

form small {
  display: block;
  position: relative;
  top: -10px;
  opacity: 0.8;
}

form footer {
  display: flex;
  gap: 0.5rem;
  width: 100%;
  background-color: transparent;
  padding: 0;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  justify-content: flex-start;
}

form fieldset {
   background-color: #efefef;
   padding: 1em;
   border: 1px solid #d3d3d3;
   margin-bottom: 1.5em;
}

form fieldset legend {
   padding: 0.2em 0.5em;
   margin-bottom: 0;
   font-size: large;
   background-color: #d3d3d3;
}

/* Buttons */
.primary-button {
  background-color: var(--primary-color);
  color: #fff;
}

.success-button {
  background-color: var(--success-color);
  color: #fff;
}

.danger-button {
  background-color: var(--danger-color);
  color: #fff;
}

/* Messages */
.error {
  color: var(--error-message-color);
  background-color: var(--error-message-background-color);
  border: 1px solid var(--error-message-border-color);
  border-radius: 0.25rem;
  margin: 1.5rem 0;
  padding: 1.5rem;
}

.success {
  color: var(--success-message-color);
  background-color: var(--success-message-background-color);
  border: 1px solid var(--success-message-border-color);
  border-radius: 0.25rem;
  margin: 1.5rem 0;
  padding: 1.5rem;
}

.instructions {
   color: var(--info-message-color);
   background-color: var(--info-message-background-color);
   border: 1px solid var(--info-message-border-color);
   border-radius: 0.25rem;
   margin: 1.5rem 0;
   padding: 1.5rem;
}

.validation-errors {
  margin: 1.5rem 2rem;
}

.validation-errors li {
  color: var(--error-message-color);
}

/* CS Toast */
.cs-toast {
    display: none;
    padding: 1.5rem;
    color: #0a3622;
    z-index: 999;
    position: absolute;
    width: 25rem;
    top: 2rem;
    border-radius: 1rem;
    right: 2rem;
}

.cs-toast-icon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 1rem;
    font-size: 2.5rem;
}

.cs-toast-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding-left: 1rem;
}

.cs-toast-body p {
    margin-bottom: 0;
}

.cs-toast-visible {
    display: flex;
    flex-direction: row;
    animation: fadein 1.5s;
}

.cs-toast-body h5 {
  margin: 0;
}

@keyframes fadein {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.toast-success { background-color: #d1e7dd; }
.toast-info { background-color: #cff4fc; }
.toast-danger { background-color: #f8d7da; }
.toast-warning { background-color: #fff3cd; }

/* Cards */
.cards {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  max-width: 89.999rem;
  gap: 1rem;
  margin-bottom: 2rem;
}

.cards > article {
  display: flex;
  flex-direction: column;
  flex: 1 0 20rem;
  max-width: 30rem;
  min-width: 30rem;
  padding: 1.2rem;
  box-shadow: var(--shadow-color) 0px 7px 29px 0px;
}

.cards > article > h2,
.cards > article > h3,
.cards > article > h4
{
  margin: 0;
  font-size: 1.4rem;
}

.cards > article > footer {
  margin-top: auto;
  padding: 0.5rem;
  display: flex;
  gap: 0.4rem;
}

.cards > article > a.primary-button {
  text-align: center;
}

@media (max-width: 30em) {
  .cards {
    display: block;
  }
}

/*
 * Tables
 */
table {
	width: 100%;
	border: 1px solid var(--border-color);
	border-spacing: 0px;
  margin: 1rem 0 1.5rem 0;
}

table caption {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

thead {
	background-color: var(--table-header-background-color);
	color: var(--table-header-color);
}

th, td {
	padding: 0.5rem;
  text-align: left;
}

tr:nth-child(even) {
	background-color: var(--table-border);
}

.translated-documents-table {
   width: 96%;
   margin-left: 2em;
}

.selected-translator-row {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.selected-language-row {
  display: flex;
  align-items: center;
  gap: 1rem;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#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."
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

a.icon-button i { width: 24px; height: 24px; }
a.button {
  background-color: #eee;
  text-decoration: none;
  color: black;
  font-size: 1.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  padding: 0.5rem;
  cursor: pointer;
  border-radius: 0.25rem;
  border: 1px solid var(--border-color);
  transition: all 0.2s ease-in-out;
}

.hidden {
	visibility: hidden !important;
}

.gone { display: none !important; }

td.late { background-color: red; color: white; }

/*
 * Batch Status Styles
 */
.batch-document-complete {
   color: var(--success-message-color);
   background-color: var(--success-message-background-color);
}

.batch-document-coming-soon {
   color: var(--warning-message-color);
   background-color: var(--warning-message-background-color);
}

.batch-document-overdue {
   color: var(--error-message-color);
   background-color: var(--error-message-background-color);
}

/* Tabs */
.tabset > input {
  display:block; /* "enable" hidden elements in IE/edge */
  position:absolute; /* then hide them off-screen */
  left:-110%;
}

.tabset > ul {
  position:relative;
  z-index:98;
  list-style:none;
  display:flex;
  margin:0 0 -1px 0;
}

.tabset > ul label,
.tabset > div {
	border: 1px solid var(--tab-border-color);
}

.tabset > ul label {
  display:inline-block;
  padding:0.5em 1em;
  background: var(--tab-blurred-background-color);
  border-right-width:0;
}

.tabset > ul li:first-child label {
  border-radius:0.5em 0 0 0;
}

.tabset > ul li:last-child label {
  border-right-width:1px;
  border-radius:0 0.5em 0 0;
}

.tabset > div {
  position:relative;
  /* background:hsl(220, 100%, 98%); */
  border-radius:0 0.5em 0.5em 0.5em;
  top: -0.5em;
}

.tabset > input:nth-child(1):focus ~ ul li:nth-child(1) label,
.tabset > input:nth-child(2):focus ~ ul li:nth-child(2) label,
.tabset > input:nth-child(3):focus ~ ul li:nth-child(3) label,
.tabset > input:nth-child(4):focus ~ ul li:nth-child(4) label,
.tabset > input:nth-child(5):focus ~ ul li:nth-child(5) label,
.tabset > input:nth-child(6):focus ~ ul li:nth-child(6) label,
.tabset > input:nth-child(7):focus ~ ul li:nth-child(7) label,
.tabset > input:nth-child(8):focus ~ ul li:nth-child(8) label,
.tabset > input:nth-child(9):focus ~ ul li:nth-child(9) label {
	text-decoration:underline;
}

.tabset > input:nth-child(1):checked ~ ul li:nth-child(1) label,
.tabset > input:nth-child(2):checked ~ ul li:nth-child(2) label,
.tabset > input:nth-child(3):checked ~ ul li:nth-child(3) label,
.tabset > input:nth-child(4):checked ~ ul li:nth-child(4) label,
.tabset > input:nth-child(5):checked ~ ul li:nth-child(5) label,
.tabset > input:nth-child(6):checked ~ ul li:nth-child(6) label,
.tabset > input:nth-child(7):checked ~ ul li:nth-child(7) label,
.tabset > input:nth-child(8):checked ~ ul li:nth-child(8) label,
.tabset > input:nth-child(9):checked ~ ul li:nth-child(9) label {
   background: var(--tab-focused-background-color);
   border-bottom-color:hsl(220, 100%, 98%);
   color: white;
}

.tabset > div > section,
.tabset > div > section h2,
.tabset > div > section h3,
.tabset > div > section h4,
.tabset > div > section h5
{
  position:absolute;
  top:-999em;
  left:-999em;
}
.tabset > div > section {
  padding:1em 1em 0;
}

.tabset > input:nth-child(1):checked ~ div > section:nth-child(1),
.tabset > input:nth-child(2):checked ~ div > section:nth-child(2),
.tabset > input:nth-child(3):checked ~ div > section:nth-child(3),
.tabset > input:nth-child(4):checked ~ div > section:nth-child(4),
.tabset > input:nth-child(5):checked ~ div > section:nth-child(5),
.tabset > input:nth-child(6):checked ~ div > section:nth-child(6),
.tabset > input:nth-child(7):checked ~ div > section:nth-child(7),
.tabset > input:nth-child(8):checked ~ div > section:nth-child(8),
.tabset > input:nth-child(9):checked ~ div > section:nth-child(9) {
  position:static;
}

.tabset > ul label {
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  -khtml-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
  user-select:none;
}

