*/:root{
    --dark-back: #091D34;
    --light-back: #F7F7F7;
    --light-txt: #ffffff;
    --dark-txt: #303030;
    --gray-border: #c7c7c7;
    --inactive-txt: #777777;
    --blue: #236AB9;
    --progress-blue: rgba(54, 162, 235, 1);
    --shadow: 0 1px 4px 2px rgba(216, 216, 216, 0.5);
    --shadow-small: inset 0 0 0.24em 0.12em rgba(207, 207, 207, 0.5);
    --chart-red:rgba(255, 99, 132, 0.9);
    --chart-yellow: rgba(255, 206, 86, 0.9);
    --chart-blue: rgba(54, 162, 235, 0.9);
    --chart-green: rgba(113, 194, 92, 0.9);
}
* {
    margin: 0;
    padding: 0;
    font-family: Helvetica, sans-serif;
}
html, body {
    color: var(--dark-txt);

}
body {
    margin: 0 auto;
    padding: 10px 1em;
}
h2, h3{
    font-size: 1.2rem;
    font-weight: bold;
    margin: 0.9em 0 0.2em;
}
.caption, caption {
    text-align: left;
    font-size: 1.2rem;
    font-weight: bold;
    padding: 0.3em 0.3em;
    margin-top: 1.2rem;
    border-radius: 4px;
    width: 100%;
    page-break-after: avoid;
    page-break-inside: avoid;
}
thead {
    page-break-after: avoid;
    page-break-inside: avoid;
}
h1 {
    font-size: 1.2rem;
    margin: 0.15em 0 0.4em;
    width: 100%;
    padding: 0.4em 0;
}
table{
    font-size: 0.75rem;
    border-collapse: separate;
    border-spacing: 0 0.35em;
    margin-left: 1px;
    margin-right: 1px;
    page-break-inside: avoid;
}
th{
    white-space: nowrap;
    padding: 0.5em 0.6em;
    page-break-after: avoid;
    page-break-inside: avoid;
}
td{padding: 0.3em 0.6em;}
.btm-border{border-bottom: solid 1px var(--gray-border);}
span{padding: 0 0.4em;}
.card{margin-top: 0.75em;}
.error{color: firebrick; font-weight: bold;}
@media print {
    body {overflow:visible;} 
    .card {page-break-before: auto }
    .break {page-break-before: always }
    .no-break{page-break-inside: avoid;}
    .no-break-after{page-break-after: avoid;}
    th{page-break-after: avoid; page-break-inside: avoid;}
    .caption{page-break-inside: avoid; page-break-after: avoid;}
}

.flex{display: flex;}
.grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 10%;
}
.outer-progress{
    min-width: 120px;
    width: 275px;
}
.inner-progress{
    width: 1px;
    height: 1.7em;
    background-color: var(--progress-blue);
    border-radius: 3px;
    box-shadow: var(--shadow-small);
}
.box-shadow{box-shadow: 0 1px 4px 2px rgba(190, 190, 190, 0.5);}
.tbl-border{border: solid 1px var(--gray-border); padding: 0.3em; border-radius: 4px;}
.border-top{border-top: solid 1px var(--gray-border);}
.chart{
    width: 115px;
    height: 115px;
    max-width: 115px;
    max-height: 115px;
    padding: 0.5em 1em;
    margin: auto;
}
.bar-chart{
    width: 300px;
    height: 260px;
    padding: 0.25em;
}
.horiz-chart {
    width: 500px;
    height: 100px;
    padding: 0.1em 0.25em 0.25em;
}
.chart-red{background-color: var(--chart-red); border-radius: 3px;}
.chart-yellow{background-color: var(--chart-yellow); border-radius: 3px;}
.chart-blue{background-color: var(--chart-blue); border-radius: 3px;}
.chart-green{background-color: var(--chart-green); border-radius: 3px;}
.hidden{display: none;}
.margin-top-5px{margin-top: 5px;}
.margin-top-10px{margin-top: 10px;}
.margin-top-20px{margin-top: 1em;}
.margin-hor{margin-left: 10px; margin-right: 10px;}
.no-wrap{white-space: nowrap;}
.pad-10px{padding: 8px;}
.text-center{text-align: center;}
.text-left{text-align: left;}
.text-right{text-align: right;}
.col-3em{width: 3em;}
.col-5em{width: 4em;}
.col-6-5em{width: 10.2em;}
.width-8em{width: 6.5em}
.width-10em{width: 8.5em;}
.width-max{width: 100%;}
select, button, input[type="submit"], input::file-selector-button{
    padding: 0.3em 0.5em;
}
input[type="file"] {
    min-width: 360px;
}
select {
    display: block;
    min-width: 360px;
}

@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}
@keyframes progress-bar-stripes{0%{background-position-x:1rem}}
.progress{
    --bs-progress-height:1rem;
    --bs-progress-font-size:0.75rem;
    --bs-progress-bg:#e9ecef;
    --bs-progress-border-radius:0.175rem;
    --bs-progress-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-progress-bar-color:#fff;
    --bs-progress-bar-bg:rgba(54, 162, 235, 1);
    --bs-progress-bar-transition:width 0.6s ease;
    display:flex;
    height:var(--bs-progress-height);
    overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}
.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}
@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}
.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}
.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}
@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}
.bg-info{background-color: rgb(0, 225, 255);}
