:root {
  /* Site */
  --font-size: 15px;
  --background-color: var(--bs-dark);
  --color: var(--bs-light);
  /* Components */
  --component-background-color: white;
  --component-color: var(--bs-dark);
  --component-padding: 0;
  --component-margin: 0;
  /* Modal */
  --modal-background-color: var(--bs-backdrop-bg);
  --modal-color: var(--bs-dark);
  /* Card */
  --card-background-color: var(--bs-body-bg);
  /* Chart */
  --chart-color-1: #2caffe;
  --chart-color-2: #544fc5;
  --chart-color-3: #00e272;
  --chart-color-4: #fe6a35;
  --chart-color-5: #6b8abc;
  --chart-color-6: #d568fb;
  --chart-color-7: #2ee0ca;
  --chart-color-8: #fa4b42;
  --chart-color-9: #feb56a;
  --chart-color-10: #91e8e1;
  /* Bootstrap */
  --bs-primary: #003559;
  --bs-primary-rgb: 0, 53, 89;
}
::-moz-selection {
  /* Code for Firefox */
  background: rgba(0, 0, 0, 0.8);
  color: white;
}
::selection {
  background: rgba(0, 0, 0, 0.8);
  color: white;
}
*:focus {
  outline: none !important;
}
.navbar {
  background: var(--background-color) !important;
}
#footer {
  background: var(--background-color) !important;
}
body {
  background: var(--background-color);
  color: var(--color);
  font-family: "Lato", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  font-size: var(--font-size);
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  font-weight: 300;
}
body {
  background: var(--background-color);
  color: var(--color);
}
body a,
body a:focus,
body a:visited,
body a:active {
  color: var(--color);
  text-decoration: none;
}
body a:hover {
  color: var(--color);
  text-decoration: none;
}
.component {
  background: var(--component-background-color);
  color: var(--component-color);
}
.component .col {
  padding: var(--component-padding) !important;
  margin: var(--component-margin) !important;
}
.component a,
.component a:focus,
.component a:visited,
.component a:active {
  color: var(--component-color);
  text-decoration: none;
}
.component a:hover {
  color: var(--component-color);
  text-decoration: none;
}
.modal {
  background: var(--modal-background-color);
  color: var(--modal-color);
}
.modal a,
.modal a:focus,
.modal a:visited,
.modal a:active {
  color: var(--modal-color);
  text-decoration: none;
}
.modal a:hover {
  color: var(--modal-color);
  text-decoration: none;
}
.card {
  background: var(--card-background-color);
}
/* Primary */
.btn-primary,
.btn-primary:active,
.btn-primary:visited {
  border: none !important;
  background-color: var(--bs-primary) !important;
}
.btn-primary.focus,
.btn-primary:focus {
  box-shadow: none !important;
}
.btn-primary:hover {
  border: none !important;
  background-color: var(--bs-primary) !important;
}
.btn-outline-primary {
  color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
}
.btn-outline-primary:hover {
  color: white !important;
  border-color: var(--bs-primary) !important;
  background-color: var(--bs-primary) !important;
}
/* Secondary */
.btn-secondary,
.btn-secondary:active,
.btn-secondary:visited {
  border: none !important;
  background-color: var(--bs-secondary) !important;
}
.btn-secondary.focus,
.btn-secondary:focus {
  box-shadow: none !important;
}
.btn-secondary:hover {
  border: none !important;
  background-color: var(--bs-secondary) !important;
}
.btn-outline-secondary {
  color: var(--bs-secondary) !important;
  border-color: var(--bs-secondary) !important;
}
.btn-outline-secondary:hover {
  color: white !important;
  border-color: var(--bs-secondary) !important;
  background-color: var(--bs-secondary) !important;
}
/* Danger */
.btn-danger,
.btn-danger:active,
.btn-danger:visited {
  border: none !important;
  background-color: var(--bs-danger) !important;
}
.btn-danger.focus,
.btn-danger:focus {
  box-shadow: none !important;
}
.btn-danger:hover {
  border: none !important;
  background-color: var(--bs-danger) !important;
}
.btn-outline-danger {
  color: var(--bs-danger) !important;
  border-color: var(--bs-danger) !important;
}
.btn-outline-danger:hover {
  color: white !important;
  border-color: var(--bs-danger) !important;
  background-color: var(--bs-danger) !important;
}
/* Success */
.btn-success,
.btn-success:active,
.btn-success:visited {
  border: none !important;
  background-color: var(--bs-success) !important;
}
.btn-success.focus,
.btn-success:focus {
  box-shadow: none !important;
}
.btn-success:hover {
  border: none !important;
  background-color: var(--bs-success) !important;
}
.btn-outline-success {
  color: var(--bs-success) !important;
  border-color: var(--bs-success) !important;
}
.btn-outline-success:hover {
  color: white !important;
  border-color: var(--bs-success) !important;
  background-color: var(--bs-success) !important;
}
/* Info */
.btn-info,
.btn-info:active,
.btn-info:visited {
  border: none !important;
  background-color: var(--bs-info) !important;
}
.btn-info.focus,
.btn-info:focus {
  box-shadow: none !important;
}
.btn-info:hover {
  border: none !important;
  background-color: var(--bs-info) !important;
}
.btn-outline-info {
  color: var(--bs-info) !important;
  border-color: var(--bs-info) !important;
}
.btn-outline-info:hover {
  color: white !important;
  border-color: var(--bs-info) !important;
  background-color: var(--bs-info) !important;
}
/* Warning */
.btn-warning,
.btn-warning:active,
.btn-warning:visited {
  border: none !important;
  background-color: var(--bs-warning) !important;
}
.btn-warning.focus,
.btn-warning:focus {
  box-shadow: none !important;
}
.btn-warning:hover {
  border: none !important;
  background-color: var(--bs-warning) !important;
}
.btn-outline-warning {
  color: var(--bs-warning) !important;
  border-color: var(--bs-warning) !important;
}
.btn-outline-warning:hover {
  color: white !important;
  border-color: var(--bs-warning) !important;
  background-color: var(--bs-warning) !important;
}
.btn:focus,
.btn:active {
  box-shadow: none;
}
.cursor-pointer {
  cursor: pointer !important;
}
.overflow-scroll {
  overflow: scroll;
}
.bg-background {
  background-color: var(--background-color) !important;
}
.tiny {
  font-size: 0.8em;
}
.tabulator.no-header .tabulator-header {
  height: 0 !important;
}
.tabulator.padding-0 .tabulator-header .tabulator-col .tabulator-col-content,
.tabulator.padding-0 .tabulator-row .tabulator-cell {
  padding: 0 !important;
}
.tabulator.padding-1 .tabulator-header .tabulator-col .tabulator-col-content,
.tabulator.padding-1 .tabulator-row .tabulator-cell {
  padding: 0.25rem !important;
}
.tabulator.padding-2 .tabulator-header .tabulator-col .tabulator-col-content,
.tabulator.padding-2 .tabulator-row .tabulator-cell {
  padding: 0.5rem !important;
}
.meter {
  box-sizing: content-box;
  height: 30px;
  /* Can be anything */
  position: relative;
  background: var(--background-color);
  box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.3);
}
.meter > span {
  display: block;
  height: 100%;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  background-color: #2bc253;
  background-image: linear-gradient(center bottom, #2bc253 37%, #54f054 69%);
  box-shadow: inset 0 2px 9px rgba(255, 255, 255, 0.3), inset 0 -2px 6px rgba(0, 0, 0, 0.4);
  position: relative;
  overflow: hidden;
}
.meter > span:after,
.animate > span > span {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
  z-index: 1;
  background-size: 50px 50px;
  animation: move 2s linear infinite;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  overflow: hidden;
}
.animate > span:after {
  display: none;
}
@keyframes move {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 50px 50px;
  }
}
.orange > span {
  background-image: linear-gradient(#f1a165, #f36d0a);
}
.red > span {
  background-image: linear-gradient(#f0a3a3, #f42323);
}
.nostripes > span > span,
.nostripes > span::after {
  background-image: none;
}
.vertical-timeline {
  width: 100%;
  position: relative;
  padding: 1.5rem 0 1rem;
}
.vertical-timeline::before {
  content: '';
  position: absolute;
  top: 0;
  left: 13px;
  height: 100%;
  width: 4px;
  background: #e9ecef;
  border-radius: 0.25rem;
}
.vertical-timeline-element {
  position: relative;
  margin: 0 0 1rem;
}
.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in {
  visibility: visible;
  animation: cd-bounce-1 0.8s;
}
.vertical-timeline-element-icon {
  position: absolute;
  top: 0;
  left: 0;
}
.vertical-timeline-element-icon .badge-dot-xl {
  box-shadow: 0 0 0 5px #fff;
}
.badge-dot-xl {
  width: 18px;
  height: 18px;
  position: relative;
}
.badge:empty {
  display: none;
}
.badge-dot-xl::before {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 0.25rem;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -5px 0 0 -5px;
  background: #fff;
}
.vertical-timeline-element-content {
  position: relative;
  margin-left: 35px;
  /*font-size: .8rem;*/
}
.vertical-timeline-element-content .timeline-title {
  /*font-size: .8rem;*/
  text-transform: uppercase;
  margin: 0 0 0.5rem;
  padding: 2px 0 0;
  font-weight: bold;
}
.vertical-timeline-element-content .vertical-timeline-element-date {
  display: block;
  position: absolute;
  left: -90px;
  top: 0;
  padding-right: 10px;
  text-align: right;
  color: #adb5bd;
  /*font-size: .7619rem;*/
  white-space: nowrap;
}
.vertical-timeline-element-content:after {
  content: "";
  display: table;
  clear: both;
}
