From 16f5ae995358287d326f2efde15ae5aa00fe2e26 Mon Sep 17 00:00:00 2001
From: milan <byteplow@posteo.de>
Date: Sat, 20 Jan 2024 12:48:07 +0100
Subject: [PATCH] Dark mode

Automatically enabled based on OS/browser settings (prefers-color-scheme
CSS media query)

Co-authored-by: Julian Rother <julian@cccv.de>
---
 .../bootstrap-prefers-dark-color-only.css     | 2371 +++++++++++++++++
 .../bootstrap-prefers-dark-color-only.min.css |    5 +
 uffd/static/style.css                         |   39 +
 uffd/template_helper.py                       |    9 +-
 uffd/templates/403.html                       |    2 +-
 uffd/templates/base.html                      |    1 +
 uffd/templates/base_narrow.html               |    2 +-
 7 files changed, 2425 insertions(+), 4 deletions(-)
 create mode 100644 uffd/static/bootstrap/bootstrap-prefers-dark-color-only.css
 create mode 100644 uffd/static/bootstrap/bootstrap-prefers-dark-color-only.min.css

diff --git a/uffd/static/bootstrap/bootstrap-prefers-dark-color-only.css b/uffd/static/bootstrap/bootstrap-prefers-dark-color-only.css
new file mode 100644
index 00000000..b6f67b5b
--- /dev/null
+++ b/uffd/static/bootstrap/bootstrap-prefers-dark-color-only.css
@@ -0,0 +1,2371 @@
+/*!
+ * Bootstrap-Dark v4.0.0 (https://github.com/ForEvolve/bootstrap-dark)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+@media (prefers-color-scheme:dark) {
+  body {
+    color: #d3d3d3;
+    background-color: #191d21
+  }
+  abbr[data-original-title],
+  abbr[title] {
+    border-bottom: 0
+  }
+  a {
+    color: #adadad;
+    background-color: transparent
+  }
+  a:hover {
+    color: #878787
+  }
+  a:not([href]):not([class]) {
+    color: inherit
+  }
+  a:not([href]):not([class]):hover {
+    color: inherit
+  }
+  caption {
+    color: #6c757d
+  }
+  fieldset {
+    border: 0
+  }
+  legend {
+    color: inherit
+  }
+  hr {
+    border: 0;
+    border-top: 1px solid rgba(255,255,255,.1)
+  }
+  .mark,
+  mark {
+    background-color: #fcf8e3
+  }
+  .blockquote-footer {
+    color: #6c757d
+  }
+  .img-thumbnail {
+    background-color: #fff;
+    border: 1px solid #dee2e6
+  }
+  .figure-caption {
+    color: #6c757d
+  }
+  code {
+    color: #e83e8c
+  }
+  a > code {
+    color: inherit
+  }
+  kbd {
+    color: #fff;
+    background-color: #212529
+  }
+  pre {
+    color: #f8f9fa
+  }
+  pre code {
+    color: inherit
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .table {
+    color: #d3d3d3
+  }
+  .table td,
+  .table th {
+    border-top: 1px solid #343a40
+  }
+  .table thead th {
+    border-bottom: 2px solid #343a40
+  }
+  .table tbody + tbody {
+    border-top: 2px solid #343a40
+  }
+  .table-bordered {
+    border: 1px solid #343a40
+  }
+  .table-bordered td,
+  .table-bordered th {
+    border: 1px solid #343a40
+  }
+  .table-borderless tbody + tbody,
+  .table-borderless td,
+  .table-borderless th,
+  .table-borderless thead th {
+    border: 0
+  }
+  .table-striped tbody tr:nth-of-type(odd) {
+    background-color: rgba(0,0,0,.05)
+  }
+  .table-hover tbody tr:hover {
+    color: #d3d3d3;
+    background-color: rgba(0,0,0,.075)
+  }
+  .table-primary,
+  .table-primary > td,
+  .table-primary > th {
+    background-color: #c6e1ff
+  }
+  .table-primary tbody + tbody,
+  .table-primary td,
+  .table-primary th,
+  .table-primary thead th {
+    border-color: #95c8ff
+  }
+  .table-hover .table-primary:hover {
+    background-color: #add4ff
+  }
+  .table-hover .table-primary:hover > td,
+  .table-hover .table-primary:hover > th {
+    background-color: #add4ff
+  }
+  .table-secondary,
+  .table-secondary > td,
+  .table-secondary > th {
+    background-color: #d6d8db
+  }
+  .table-secondary tbody + tbody,
+  .table-secondary td,
+  .table-secondary th,
+  .table-secondary thead th {
+    border-color: #b3b7bb
+  }
+  .table-hover .table-secondary:hover {
+    background-color: #c8cbcf
+  }
+  .table-hover .table-secondary:hover > td,
+  .table-hover .table-secondary:hover > th {
+    background-color: #c8cbcf
+  }
+  .table-success,
+  .table-success > td,
+  .table-success > th {
+    background-color: #c3e6cb
+  }
+  .table-success tbody + tbody,
+  .table-success td,
+  .table-success th,
+  .table-success thead th {
+    border-color: #8fd19e
+  }
+  .table-hover .table-success:hover {
+    background-color: #b1dfbb
+  }
+  .table-hover .table-success:hover > td,
+  .table-hover .table-success:hover > th {
+    background-color: #b1dfbb
+  }
+  .table-info,
+  .table-info > td,
+  .table-info > th {
+    background-color: #bee5eb
+  }
+  .table-info tbody + tbody,
+  .table-info td,
+  .table-info th,
+  .table-info thead th {
+    border-color: #86cfda
+  }
+  .table-hover .table-info:hover {
+    background-color: #abdde5
+  }
+  .table-hover .table-info:hover > td,
+  .table-hover .table-info:hover > th {
+    background-color: #abdde5
+  }
+  .table-warning,
+  .table-warning > td,
+  .table-warning > th {
+    background-color: #fedbbd
+  }
+  .table-warning tbody + tbody,
+  .table-warning td,
+  .table-warning th,
+  .table-warning thead th {
+    border-color: #febc85
+  }
+  .table-hover .table-warning:hover {
+    background-color: #fecda4
+  }
+  .table-hover .table-warning:hover > td,
+  .table-hover .table-warning:hover > th {
+    background-color: #fecda4
+  }
+  .table-danger,
+  .table-danger > td,
+  .table-danger > th {
+    background-color: #f5c6cb
+  }
+  .table-danger tbody + tbody,
+  .table-danger td,
+  .table-danger th,
+  .table-danger thead th {
+    border-color: #ed969e
+  }
+  .table-hover .table-danger:hover {
+    background-color: #f1b0b7
+  }
+  .table-hover .table-danger:hover > td,
+  .table-hover .table-danger:hover > th {
+    background-color: #f1b0b7
+  }
+  .table-light,
+  .table-light > td,
+  .table-light > th {
+    background-color: #f6f7f8
+  }
+  .table-light tbody + tbody,
+  .table-light td,
+  .table-light th,
+  .table-light thead th {
+    border-color: #eef0f2
+  }
+  .table-hover .table-light:hover {
+    background-color: #e8eaed
+  }
+  .table-hover .table-light:hover > td,
+  .table-hover .table-light:hover > th {
+    background-color: #e8eaed
+  }
+  .table-dark,
+  .table-dark > td,
+  .table-dark > th {
+    background-color: #c6c8ca
+  }
+  .table-dark tbody + tbody,
+  .table-dark td,
+  .table-dark th,
+  .table-dark thead th {
+    border-color: #95999c
+  }
+  .table-hover .table-dark:hover {
+    background-color: #b9bbbe
+  }
+  .table-hover .table-dark:hover > td,
+  .table-hover .table-dark:hover > th {
+    background-color: #b9bbbe
+  }
+  .table-active,
+  .table-active > td,
+  .table-active > th {
+    background-color: rgba(0,0,0,.075)
+  }
+  .table-hover .table-active:hover {
+    background-color: rgba(0,0,0,.075)
+  }
+  .table-hover .table-active:hover > td,
+  .table-hover .table-active:hover > th {
+    background-color: rgba(0,0,0,.075)
+  }
+  .table .thead-dark th {
+    color: #dee2e6;
+    background-color: #343a40;
+    border-color: #454d55
+  }
+  .table .thead-light th {
+    color: #495057;
+    background-color: #e9ecef;
+    border-color: #343a40
+  }
+  .table-dark {
+    color: #dee2e6;
+    background-color: #343a40
+  }
+  .table-dark td,
+  .table-dark th,
+  .table-dark thead th {
+    border-color: #454d55
+  }
+  .table-dark.table-bordered {
+    border: 0
+  }
+  .table-dark.table-striped tbody tr:nth-of-type(odd) {
+    background-color: rgba(255,255,255,.05)
+  }
+  .table-dark.table-hover tbody tr:hover {
+    color: #fff;
+    background-color: rgba(255,255,255,.075)
+  }
+}
+@media (prefers-color-scheme:dark) and (max-width:575.98px) {
+  .table-responsive-sm > .table-bordered {
+    border: 0
+  }
+}
+@media (prefers-color-scheme:dark) and (max-width:767.98px) {
+  .table-responsive-md > .table-bordered {
+    border: 0
+  }
+}
+@media (prefers-color-scheme:dark) and (max-width:991.98px) {
+  .table-responsive-lg > .table-bordered {
+    border: 0
+  }
+}
+@media (prefers-color-scheme:dark) and (max-width:1199.98px) {
+  .table-responsive-xl > .table-bordered {
+    border: 0
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .table-responsive > .table-bordered {
+    border: 0
+  }
+  .table-primary,
+  .table-primary > td,
+  .table-primary > th {
+    color: #343a40
+  }
+  .table-hover .table-primary:hover {
+    color: #343a40
+  }
+  .table-hover .table-primary:hover > td,
+  .table-hover .table-primary:hover > th {
+    color: #343a40
+  }
+  .table-secondary,
+  .table-secondary > td,
+  .table-secondary > th {
+    color: #343a40
+  }
+  .table-hover .table-secondary:hover {
+    color: #343a40
+  }
+  .table-hover .table-secondary:hover > td,
+  .table-hover .table-secondary:hover > th {
+    color: #343a40
+  }
+  .table-success,
+  .table-success > td,
+  .table-success > th {
+    color: #343a40
+  }
+  .table-hover .table-success:hover {
+    color: #343a40
+  }
+  .table-hover .table-success:hover > td,
+  .table-hover .table-success:hover > th {
+    color: #343a40
+  }
+  .table-info,
+  .table-info > td,
+  .table-info > th {
+    color: #343a40
+  }
+  .table-hover .table-info:hover {
+    color: #343a40
+  }
+  .table-hover .table-info:hover > td,
+  .table-hover .table-info:hover > th {
+    color: #343a40
+  }
+  .table-warning,
+  .table-warning > td,
+  .table-warning > th {
+    color: #343a40
+  }
+  .table-hover .table-warning:hover {
+    color: #343a40
+  }
+  .table-hover .table-warning:hover > td,
+  .table-hover .table-warning:hover > th {
+    color: #343a40
+  }
+  .table-danger,
+  .table-danger > td,
+  .table-danger > th {
+    color: #343a40
+  }
+  .table-hover .table-danger:hover {
+    color: #343a40
+  }
+  .table-hover .table-danger:hover > td,
+  .table-hover .table-danger:hover > th {
+    color: #343a40
+  }
+  .table-light,
+  .table-light > td,
+  .table-light > th {
+    color: #343a40
+  }
+  .table-hover .table-light:hover {
+    color: #343a40
+  }
+  .table-hover .table-light:hover > td,
+  .table-hover .table-light:hover > th {
+    color: #343a40
+  }
+  .table-dark,
+  .table-dark > td,
+  .table-dark > th {
+    color: #343a40
+  }
+  .table-hover .table-dark:hover {
+    color: #343a40
+  }
+  .table-hover .table-dark:hover > td,
+  .table-hover .table-dark:hover > th {
+    color: #343a40
+  }
+  .table-active,
+  .table-active > td,
+  .table-active > th {
+    color: #e9ecef
+  }
+  .table-hover .table-active:hover {
+    color: #e9ecef
+  }
+  .table-hover .table-active:hover > td,
+  .table-hover .table-active:hover > th {
+    color: #e9ecef
+  }
+  .table-dark {
+    color: #dee2e6
+  }
+  .form-control {
+    color: #dee2e6;
+    background-color: #000;
+    border: 1px solid #6c757d
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .form-control::-ms-expand {
+    background-color: transparent;
+    border: 0
+  }
+  .form-control:focus {
+    color: #dee2e6;
+    background-color: #191d21;
+    border-color: #b3d7ff;
+    box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
+  }
+  .form-control::-webkit-input-placeholder {
+    color: #6c757d
+  }
+  .form-control::-moz-placeholder {
+    color: #6c757d
+  }
+  .form-control::-ms-input-placeholder {
+    color: #6c757d
+  }
+  .form-control::placeholder {
+    color: #6c757d
+  }
+  .form-control:disabled,
+  .form-control[readonly] {
+    background-color: #343a40
+  }
+  select.form-control:-moz-focusring {
+    color: transparent;
+    text-shadow: 0 0 0 #dee2e6
+  }
+  select.form-control:focus::-ms-value {
+    color: #dee2e6;
+    background-color: #000
+  }
+  .form-control-plaintext {
+    color: #212529;
+    background-color: transparent;
+    border: solid transparent
+  }
+  .form-check-input:disabled ~ .form-check-label,
+  .form-check-input[disabled] ~ .form-check-label {
+    color: #6c757d
+  }
+  .valid-feedback {
+    color: #28a745
+  }
+  .valid-tooltip {
+    color: #e9ecef;
+    background-color: rgba(40,167,69,.9)
+  }
+  .form-control.is-valid,
+  .was-validated .form-control:valid {
+    border-color: #28a745;
+    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e")
+  }
+  .form-control.is-valid:focus,
+  .was-validated .form-control:valid:focus {
+    border-color: #28a745;
+    box-shadow: 0 0 0 .2rem rgba(40,167,69,.25)
+  }
+  .custom-select.is-valid,
+  .was-validated .custom-select:valid {
+    border-color: #28a745;
+    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#000 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat
+  }
+  .custom-select.is-valid:focus,
+  .was-validated .custom-select:valid:focus {
+    border-color: #28a745;
+    box-shadow: 0 0 0 .2rem rgba(40,167,69,.25)
+  }
+  .form-check-input.is-valid ~ .form-check-label,
+  .was-validated .form-check-input:valid ~ .form-check-label {
+    color: #28a745
+  }
+  .custom-control-input.is-valid ~ .custom-control-label,
+  .was-validated .custom-control-input:valid ~ .custom-control-label {
+    color: #28a745
+  }
+  .custom-control-input.is-valid ~ .custom-control-label::before,
+  .was-validated .custom-control-input:valid ~ .custom-control-label::before {
+    border-color: #28a745
+  }
+  .custom-control-input.is-valid:checked ~ .custom-control-label::before,
+  .was-validated .custom-control-input:valid:checked ~ .custom-control-label::before {
+    border-color: #34ce57;
+    background-color: #34ce57
+  }
+  .custom-control-input.is-valid:focus ~ .custom-control-label::before,
+  .was-validated .custom-control-input:valid:focus ~ .custom-control-label::before {
+    box-shadow: 0 0 0 .2rem rgba(40,167,69,.25)
+  }
+  .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before,
+  .was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before {
+    border-color: #28a745
+  }
+  .custom-file-input.is-valid ~ .custom-file-label,
+  .was-validated .custom-file-input:valid ~ .custom-file-label {
+    border-color: #28a745
+  }
+  .custom-file-input.is-valid:focus ~ .custom-file-label,
+  .was-validated .custom-file-input:valid:focus ~ .custom-file-label {
+    border-color: #28a745;
+    box-shadow: 0 0 0 .2rem rgba(40,167,69,.25)
+  }
+  .invalid-feedback {
+    color: #dc3545
+  }
+  .invalid-tooltip {
+    color: #e9ecef;
+    background-color: rgba(220,53,69,.9)
+  }
+  .form-control.is-invalid,
+  .was-validated .form-control:invalid {
+    border-color: #dc3545;
+    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e")
+  }
+  .form-control.is-invalid:focus,
+  .was-validated .form-control:invalid:focus {
+    border-color: #dc3545;
+    box-shadow: 0 0 0 .2rem rgba(220,53,69,.25)
+  }
+  .custom-select.is-invalid,
+  .was-validated .custom-select:invalid {
+    border-color: #dc3545;
+    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#000 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat
+  }
+  .custom-select.is-invalid:focus,
+  .was-validated .custom-select:invalid:focus {
+    border-color: #dc3545;
+    box-shadow: 0 0 0 .2rem rgba(220,53,69,.25)
+  }
+  .form-check-input.is-invalid ~ .form-check-label,
+  .was-validated .form-check-input:invalid ~ .form-check-label {
+    color: #dc3545
+  }
+  .custom-control-input.is-invalid ~ .custom-control-label,
+  .was-validated .custom-control-input:invalid ~ .custom-control-label {
+    color: #dc3545
+  }
+  .custom-control-input.is-invalid ~ .custom-control-label::before,
+  .was-validated .custom-control-input:invalid ~ .custom-control-label::before {
+    border-color: #dc3545
+  }
+  .custom-control-input.is-invalid:checked ~ .custom-control-label::before,
+  .was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before {
+    border-color: #e4606d;
+    background-color: #e4606d
+  }
+  .custom-control-input.is-invalid:focus ~ .custom-control-label::before,
+  .was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before {
+    box-shadow: 0 0 0 .2rem rgba(220,53,69,.25)
+  }
+  .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before,
+  .was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before {
+    border-color: #dc3545
+  }
+  .custom-file-input.is-invalid ~ .custom-file-label,
+  .was-validated .custom-file-input:invalid ~ .custom-file-label {
+    border-color: #dc3545
+  }
+  .custom-file-input.is-invalid:focus ~ .custom-file-label,
+  .was-validated .custom-file-input:invalid:focus ~ .custom-file-label {
+    border-color: #dc3545;
+    box-shadow: 0 0 0 .2rem rgba(220,53,69,.25)
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .btn {
+    color: #d3d3d3;
+    background-color: transparent;
+    border: 1px solid transparent
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .btn:hover {
+    color: #d3d3d3
+  }
+  .btn.focus,
+  .btn:focus {
+    box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
+  }
+  .btn-primary {
+    color: #e9ecef;
+    background-color: #3395ff;
+    border-color: #3395ff
+  }
+  .btn-primary:hover {
+    color: #e9ecef;
+    background-color: #0d82ff;
+    border-color: #007bff
+  }
+  .btn-primary.focus,
+  .btn-primary:focus {
+    color: #e9ecef;
+    background-color: #0d82ff;
+    border-color: #007bff;
+    box-shadow: 0 0 0 .2rem rgba(78,162,253,.5)
+  }
+  .btn-primary.disabled,
+  .btn-primary:disabled {
+    color: #e9ecef;
+    background-color: #3395ff;
+    border-color: #3395ff
+  }
+  .btn-primary:not(:disabled):not(.disabled).active,
+  .btn-primary:not(:disabled):not(.disabled):active,
+  .show > .btn-primary.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #007bff;
+    border-color: #0075f2
+  }
+  .btn-primary:not(:disabled):not(.disabled).active:focus,
+  .btn-primary:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-primary.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(78,162,253,.5)
+  }
+  .btn-secondary {
+    color: #e9ecef;
+    background-color: #6c757d;
+    border-color: #6c757d
+  }
+  .btn-secondary:hover {
+    color: #e9ecef;
+    background-color: #5a6268;
+    border-color: #545b62
+  }
+  .btn-secondary.focus,
+  .btn-secondary:focus {
+    color: #e9ecef;
+    background-color: #5a6268;
+    border-color: #545b62;
+    box-shadow: 0 0 0 .2rem rgba(127,135,142,.5)
+  }
+  .btn-secondary.disabled,
+  .btn-secondary:disabled {
+    color: #e9ecef;
+    background-color: #6c757d;
+    border-color: #6c757d
+  }
+  .btn-secondary:not(:disabled):not(.disabled).active,
+  .btn-secondary:not(:disabled):not(.disabled):active,
+  .show > .btn-secondary.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #545b62;
+    border-color: #4e555b
+  }
+  .btn-secondary:not(:disabled):not(.disabled).active:focus,
+  .btn-secondary:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-secondary.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(127,135,142,.5)
+  }
+  .btn-success {
+    color: #e9ecef;
+    background-color: #28a745;
+    border-color: #28a745
+  }
+  .btn-success:hover {
+    color: #e9ecef;
+    background-color: #218838;
+    border-color: #1e7e34
+  }
+  .btn-success.focus,
+  .btn-success:focus {
+    color: #e9ecef;
+    background-color: #218838;
+    border-color: #1e7e34;
+    box-shadow: 0 0 0 .2rem rgba(69,177,95,.5)
+  }
+  .btn-success.disabled,
+  .btn-success:disabled {
+    color: #e9ecef;
+    background-color: #28a745;
+    border-color: #28a745
+  }
+  .btn-success:not(:disabled):not(.disabled).active,
+  .btn-success:not(:disabled):not(.disabled):active,
+  .show > .btn-success.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #1e7e34;
+    border-color: #1c7430
+  }
+  .btn-success:not(:disabled):not(.disabled).active:focus,
+  .btn-success:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-success.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(69,177,95,.5)
+  }
+  .btn-info {
+    color: #e9ecef;
+    background-color: #17a2b8;
+    border-color: #17a2b8
+  }
+  .btn-info:hover {
+    color: #e9ecef;
+    background-color: #138496;
+    border-color: #117a8b
+  }
+  .btn-info.focus,
+  .btn-info:focus {
+    color: #e9ecef;
+    background-color: #138496;
+    border-color: #117a8b;
+    box-shadow: 0 0 0 .2rem rgba(55,173,192,.5)
+  }
+  .btn-info.disabled,
+  .btn-info:disabled {
+    color: #e9ecef;
+    background-color: #17a2b8;
+    border-color: #17a2b8
+  }
+  .btn-info:not(:disabled):not(.disabled).active,
+  .btn-info:not(:disabled):not(.disabled):active,
+  .show > .btn-info.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #117a8b;
+    border-color: #10707f
+  }
+  .btn-info:not(:disabled):not(.disabled).active:focus,
+  .btn-info:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-info.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(55,173,192,.5)
+  }
+  .btn-warning {
+    color: #343a40;
+    background-color: #fd7e14;
+    border-color: #fd7e14
+  }
+  .btn-warning:hover {
+    color: #e9ecef;
+    background-color: #e96b02;
+    border-color: #dc6502
+  }
+  .btn-warning.focus,
+  .btn-warning:focus {
+    color: #e9ecef;
+    background-color: #e96b02;
+    border-color: #dc6502;
+    box-shadow: 0 0 0 .2rem rgba(223,116,27,.5)
+  }
+  .btn-warning.disabled,
+  .btn-warning:disabled {
+    color: #343a40;
+    background-color: #fd7e14;
+    border-color: #fd7e14
+  }
+  .btn-warning:not(:disabled):not(.disabled).active,
+  .btn-warning:not(:disabled):not(.disabled):active,
+  .show > .btn-warning.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #dc6502;
+    border-color: #cf5f02
+  }
+  .btn-warning:not(:disabled):not(.disabled).active:focus,
+  .btn-warning:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-warning.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(223,116,27,.5)
+  }
+  .btn-danger {
+    color: #e9ecef;
+    background-color: #dc3545;
+    border-color: #dc3545
+  }
+  .btn-danger:hover {
+    color: #e9ecef;
+    background-color: #c82333;
+    border-color: #bd2130
+  }
+  .btn-danger.focus,
+  .btn-danger:focus {
+    color: #e9ecef;
+    background-color: #c82333;
+    border-color: #bd2130;
+    box-shadow: 0 0 0 .2rem rgba(222,80,95,.5)
+  }
+  .btn-danger.disabled,
+  .btn-danger:disabled {
+    color: #e9ecef;
+    background-color: #dc3545;
+    border-color: #dc3545
+  }
+  .btn-danger:not(:disabled):not(.disabled).active,
+  .btn-danger:not(:disabled):not(.disabled):active,
+  .show > .btn-danger.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #bd2130;
+    border-color: #b21f2d
+  }
+  .btn-danger:not(:disabled):not(.disabled).active:focus,
+  .btn-danger:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-danger.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(222,80,95,.5)
+  }
+  .btn-light {
+    color: #343a40;
+    background-color: #dee2e6;
+    border-color: #dee2e6
+  }
+  .btn-light:hover {
+    color: #343a40;
+    background-color: #c8cfd6;
+    border-color: #c1c9d0
+  }
+  .btn-light.focus,
+  .btn-light:focus {
+    color: #343a40;
+    background-color: #c8cfd6;
+    border-color: #c1c9d0;
+    box-shadow: 0 0 0 .2rem rgba(197,201,205,.5)
+  }
+  .btn-light.disabled,
+  .btn-light:disabled {
+    color: #343a40;
+    background-color: #dee2e6;
+    border-color: #dee2e6
+  }
+  .btn-light:not(:disabled):not(.disabled).active,
+  .btn-light:not(:disabled):not(.disabled):active,
+  .show > .btn-light.dropdown-toggle {
+    color: #343a40;
+    background-color: #c1c9d0;
+    border-color: #bac2cb
+  }
+  .btn-light:not(:disabled):not(.disabled).active:focus,
+  .btn-light:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-light.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(197,201,205,.5)
+  }
+  .btn-dark {
+    color: #e9ecef;
+    background-color: #343a40;
+    border-color: #343a40
+  }
+  .btn-dark:hover {
+    color: #e9ecef;
+    background-color: #23272b;
+    border-color: #1d2124
+  }
+  .btn-dark.focus,
+  .btn-dark:focus {
+    color: #e9ecef;
+    background-color: #23272b;
+    border-color: #1d2124;
+    box-shadow: 0 0 0 .2rem rgba(79,85,90,.5)
+  }
+  .btn-dark.disabled,
+  .btn-dark:disabled {
+    color: #e9ecef;
+    background-color: #343a40;
+    border-color: #343a40
+  }
+  .btn-dark:not(:disabled):not(.disabled).active,
+  .btn-dark:not(:disabled):not(.disabled):active,
+  .show > .btn-dark.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #1d2124;
+    border-color: #171a1d
+  }
+  .btn-dark:not(:disabled):not(.disabled).active:focus,
+  .btn-dark:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-dark.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(79,85,90,.5)
+  }
+  .btn-outline-primary {
+    color: #3395ff;
+    border-color: #3395ff
+  }
+  .btn-outline-primary:hover {
+    color: #e9ecef;
+    background-color: #3395ff;
+    border-color: #3395ff
+  }
+  .btn-outline-primary.focus,
+  .btn-outline-primary:focus {
+    box-shadow: 0 0 0 .2rem rgba(51,149,255,.5)
+  }
+  .btn-outline-primary.disabled,
+  .btn-outline-primary:disabled {
+    color: #3395ff;
+    background-color: transparent
+  }
+  .btn-outline-primary:not(:disabled):not(.disabled).active,
+  .btn-outline-primary:not(:disabled):not(.disabled):active,
+  .show > .btn-outline-primary.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #3395ff;
+    border-color: #3395ff
+  }
+  .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
+  .btn-outline-primary:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-outline-primary.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(51,149,255,.5)
+  }
+  .btn-outline-secondary {
+    color: #6c757d;
+    border-color: #6c757d
+  }
+  .btn-outline-secondary:hover {
+    color: #e9ecef;
+    background-color: #6c757d;
+    border-color: #6c757d
+  }
+  .btn-outline-secondary.focus,
+  .btn-outline-secondary:focus {
+    box-shadow: 0 0 0 .2rem rgba(108,117,125,.5)
+  }
+  .btn-outline-secondary.disabled,
+  .btn-outline-secondary:disabled {
+    color: #6c757d;
+    background-color: transparent
+  }
+  .btn-outline-secondary:not(:disabled):not(.disabled).active,
+  .btn-outline-secondary:not(:disabled):not(.disabled):active,
+  .show > .btn-outline-secondary.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #6c757d;
+    border-color: #6c757d
+  }
+  .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
+  .btn-outline-secondary:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-outline-secondary.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(108,117,125,.5)
+  }
+  .btn-outline-success {
+    color: #28a745;
+    border-color: #28a745
+  }
+  .btn-outline-success:hover {
+    color: #e9ecef;
+    background-color: #28a745;
+    border-color: #28a745
+  }
+  .btn-outline-success.focus,
+  .btn-outline-success:focus {
+    box-shadow: 0 0 0 .2rem rgba(40,167,69,.5)
+  }
+  .btn-outline-success.disabled,
+  .btn-outline-success:disabled {
+    color: #28a745;
+    background-color: transparent
+  }
+  .btn-outline-success:not(:disabled):not(.disabled).active,
+  .btn-outline-success:not(:disabled):not(.disabled):active,
+  .show > .btn-outline-success.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #28a745;
+    border-color: #28a745
+  }
+  .btn-outline-success:not(:disabled):not(.disabled).active:focus,
+  .btn-outline-success:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-outline-success.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(40,167,69,.5)
+  }
+  .btn-outline-info {
+    color: #17a2b8;
+    border-color: #17a2b8
+  }
+  .btn-outline-info:hover {
+    color: #e9ecef;
+    background-color: #17a2b8;
+    border-color: #17a2b8
+  }
+  .btn-outline-info.focus,
+  .btn-outline-info:focus {
+    box-shadow: 0 0 0 .2rem rgba(23,162,184,.5)
+  }
+  .btn-outline-info.disabled,
+  .btn-outline-info:disabled {
+    color: #17a2b8;
+    background-color: transparent
+  }
+  .btn-outline-info:not(:disabled):not(.disabled).active,
+  .btn-outline-info:not(:disabled):not(.disabled):active,
+  .show > .btn-outline-info.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #17a2b8;
+    border-color: #17a2b8
+  }
+  .btn-outline-info:not(:disabled):not(.disabled).active:focus,
+  .btn-outline-info:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-outline-info.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(23,162,184,.5)
+  }
+  .btn-outline-warning {
+    color: #fd7e14;
+    border-color: #fd7e14
+  }
+  .btn-outline-warning:hover {
+    color: #343a40;
+    background-color: #fd7e14;
+    border-color: #fd7e14
+  }
+  .btn-outline-warning.focus,
+  .btn-outline-warning:focus {
+    box-shadow: 0 0 0 .2rem rgba(253,126,20,.5)
+  }
+  .btn-outline-warning.disabled,
+  .btn-outline-warning:disabled {
+    color: #fd7e14;
+    background-color: transparent
+  }
+  .btn-outline-warning:not(:disabled):not(.disabled).active,
+  .btn-outline-warning:not(:disabled):not(.disabled):active,
+  .show > .btn-outline-warning.dropdown-toggle {
+    color: #343a40;
+    background-color: #fd7e14;
+    border-color: #fd7e14
+  }
+  .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
+  .btn-outline-warning:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-outline-warning.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(253,126,20,.5)
+  }
+  .btn-outline-danger {
+    color: #dc3545;
+    border-color: #dc3545
+  }
+  .btn-outline-danger:hover {
+    color: #e9ecef;
+    background-color: #dc3545;
+    border-color: #dc3545
+  }
+  .btn-outline-danger.focus,
+  .btn-outline-danger:focus {
+    box-shadow: 0 0 0 .2rem rgba(220,53,69,.5)
+  }
+  .btn-outline-danger.disabled,
+  .btn-outline-danger:disabled {
+    color: #dc3545;
+    background-color: transparent
+  }
+  .btn-outline-danger:not(:disabled):not(.disabled).active,
+  .btn-outline-danger:not(:disabled):not(.disabled):active,
+  .show > .btn-outline-danger.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #dc3545;
+    border-color: #dc3545
+  }
+  .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
+  .btn-outline-danger:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-outline-danger.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(220,53,69,.5)
+  }
+  .btn-outline-light {
+    color: #dee2e6;
+    border-color: #dee2e6
+  }
+  .btn-outline-light:hover {
+    color: #343a40;
+    background-color: #dee2e6;
+    border-color: #dee2e6
+  }
+  .btn-outline-light.focus,
+  .btn-outline-light:focus {
+    box-shadow: 0 0 0 .2rem rgba(222,226,230,.5)
+  }
+  .btn-outline-light.disabled,
+  .btn-outline-light:disabled {
+    color: #dee2e6;
+    background-color: transparent
+  }
+  .btn-outline-light:not(:disabled):not(.disabled).active,
+  .btn-outline-light:not(:disabled):not(.disabled):active,
+  .show > .btn-outline-light.dropdown-toggle {
+    color: #343a40;
+    background-color: #dee2e6;
+    border-color: #dee2e6
+  }
+  .btn-outline-light:not(:disabled):not(.disabled).active:focus,
+  .btn-outline-light:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-outline-light.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(222,226,230,.5)
+  }
+  .btn-outline-dark {
+    color: #343a40;
+    border-color: #343a40
+  }
+  .btn-outline-dark:hover {
+    color: #e9ecef;
+    background-color: #343a40;
+    border-color: #343a40
+  }
+  .btn-outline-dark.focus,
+  .btn-outline-dark:focus {
+    box-shadow: 0 0 0 .2rem rgba(52,58,64,.5)
+  }
+  .btn-outline-dark.disabled,
+  .btn-outline-dark:disabled {
+    color: #343a40;
+    background-color: transparent
+  }
+  .btn-outline-dark:not(:disabled):not(.disabled).active,
+  .btn-outline-dark:not(:disabled):not(.disabled):active,
+  .show > .btn-outline-dark.dropdown-toggle {
+    color: #e9ecef;
+    background-color: #343a40;
+    border-color: #343a40
+  }
+  .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
+  .btn-outline-dark:not(:disabled):not(.disabled):active:focus,
+  .show > .btn-outline-dark.dropdown-toggle:focus {
+    box-shadow: 0 0 0 .2rem rgba(52,58,64,.5)
+  }
+  .btn-link {
+    color: #adadad
+  }
+  .btn-link:hover {
+    color: #878787
+  }
+  .btn-link.disabled,
+  .btn-link:disabled {
+    color: #6c757d
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .dropdown-toggle::after {
+    border-top: .3em solid;
+    border-right: .3em solid transparent;
+    border-bottom: 0;
+    border-left: .3em solid transparent
+  }
+  .dropdown-menu {
+    color: #d3d3d3;
+    background-color: #000;
+    border: 1px solid rgba(255,255,255,.15)
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .dropup .dropdown-toggle::after {
+    border-top: 0;
+    border-right: .3em solid transparent;
+    border-bottom: .3em solid;
+    border-left: .3em solid transparent
+  }
+  .dropright .dropdown-toggle::after {
+    border-top: .3em solid transparent;
+    border-right: 0;
+    border-bottom: .3em solid transparent;
+    border-left: .3em solid
+  }
+  .dropleft .dropdown-toggle::before {
+    border-top: .3em solid transparent;
+    border-right: .3em solid;
+    border-bottom: .3em solid transparent
+  }
+  .dropdown-divider {
+    border-top: 1px solid #343a40
+  }
+  .dropdown-item {
+    color: #f8f9fa;
+    background-color: transparent;
+    border: 0
+  }
+  .dropdown-item:focus,
+  .dropdown-item:hover {
+    color: #fff;
+    background-color: #212529
+  }
+  .dropdown-item.active,
+  .dropdown-item:active {
+    color: #000;
+    background-color: #3395ff
+  }
+  .dropdown-item.disabled,
+  .dropdown-item:disabled {
+    color: #ced4da;
+    background-color: transparent
+  }
+  .dropdown-header {
+    color: #ced4da
+  }
+  .dropdown-item-text {
+    color: #f8f9fa
+  }
+  .input-group-text {
+    color: #dee2e6;
+    background-color: #343a40;
+    border: 1px solid #6c757d
+  }
+  .custom-control-input:checked ~ .custom-control-label::before {
+    color: #fff;
+    border-color: #007bff;
+    background-color: #007bff
+  }
+  .custom-control-input:focus ~ .custom-control-label::before {
+    box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
+  }
+  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
+    border-color: #80bdff
+  }
+  .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
+    color: #fff;
+    background-color: #b3d7ff;
+    border-color: #b3d7ff
+  }
+  .custom-control-input:disabled ~ .custom-control-label,
+  .custom-control-input[disabled] ~ .custom-control-label {
+    color: #6c757d
+  }
+  .custom-control-input:disabled ~ .custom-control-label::before,
+  .custom-control-input[disabled] ~ .custom-control-label::before {
+    background-color: #e9ecef
+  }
+  .custom-control-label::before {
+    background-color: #fff;
+    border: 1px solid #adb5bd
+  }
+  .custom-control-label::after {
+    background: 50%/50% 50% no-repeat
+  }
+  .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
+    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")
+  }
+  .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
+    border-color: #007bff;
+    background-color: #007bff
+  }
+  .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
+    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")
+  }
+  .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
+    background-color: rgba(0,123,255,.5)
+  }
+  .custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
+    background-color: rgba(0,123,255,.5)
+  }
+  .custom-radio .custom-control-input:checked ~ .custom-control-label::after {
+    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")
+  }
+  .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
+    background-color: rgba(0,123,255,.5)
+  }
+  .custom-switch .custom-control-label::after {
+    background-color: #adb5bd
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
+    background-color: #fff
+  }
+  .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
+    background-color: rgba(0,123,255,.5)
+  }
+  .custom-select {
+    color: #dee2e6;
+    background: #000 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;
+    border: 1px solid #6c757d
+  }
+  .custom-select:focus {
+    border-color: #80bdff;
+    box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
+  }
+  .custom-select:focus::-ms-value {
+    color: #dee2e6;
+    background-color: #000
+  }
+  .custom-select[multiple],
+  .custom-select[size]:not([size="1"]) {
+    background-image: none
+  }
+  .custom-select:disabled {
+    color: #ced4da;
+    background-color: #343a40
+  }
+  .custom-select:-moz-focusring {
+    color: transparent;
+    text-shadow: 0 0 0 #dee2e6
+  }
+  .custom-file-input:focus ~ .custom-file-label {
+    border-color: #80bdff;
+    box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
+  }
+  .custom-file-input:disabled ~ .custom-file-label,
+  .custom-file-input[disabled] ~ .custom-file-label {
+    background-color: #e9ecef
+  }
+  .custom-file-label {
+    color: #495057;
+    background-color: #fff;
+    border: 1px solid #ced4da
+  }
+  .custom-file-label::after {
+    color: #495057;
+    background-color: #e9ecef;
+    border-left: inherit
+  }
+  .custom-range {
+    background-color: transparent
+  }
+  .custom-range:focus::-webkit-slider-thumb {
+    box-shadow: 0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)
+  }
+  .custom-range:focus::-moz-range-thumb {
+    box-shadow: 0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)
+  }
+  .custom-range:focus::-ms-thumb {
+    box-shadow: 0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)
+  }
+  .custom-range::-moz-focus-outer {
+    border: 0
+  }
+  .custom-range::-webkit-slider-thumb {
+    background-color: #007bff;
+    border: 0
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .custom-range::-webkit-slider-thumb:active {
+    background-color: #b3d7ff
+  }
+  .custom-range::-webkit-slider-runnable-track {
+    color: transparent;
+    background-color: #dee2e6;
+    border-color: transparent
+  }
+  .custom-range::-moz-range-thumb {
+    background-color: #007bff;
+    border: 0
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .custom-range::-moz-range-thumb:active {
+    background-color: #b3d7ff
+  }
+  .custom-range::-moz-range-track {
+    color: transparent;
+    background-color: #dee2e6;
+    border-color: transparent
+  }
+  .custom-range::-ms-thumb {
+    background-color: #007bff;
+    border: 0
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .custom-range::-ms-thumb:active {
+    background-color: #b3d7ff
+  }
+  .custom-range::-ms-track {
+    color: transparent;
+    background-color: transparent;
+    border-color: transparent
+  }
+  .custom-range::-ms-fill-lower {
+    background-color: #dee2e6
+  }
+  .custom-range::-ms-fill-upper {
+    background-color: #dee2e6
+  }
+  .custom-range:disabled::-webkit-slider-thumb {
+    background-color: #adb5bd
+  }
+  .custom-range:disabled::-moz-range-thumb {
+    background-color: #adb5bd
+  }
+  .custom-range:disabled::-ms-thumb {
+    background-color: #adb5bd
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .nav-link.disabled {
+    color: #6c757d
+  }
+  .nav-tabs {
+    border-bottom: 1px solid rgba(255,255,255,.125)
+  }
+  .nav-tabs .nav-link {
+    background-color: transparent;
+    border: 1px solid transparent
+  }
+  .nav-tabs .nav-link:focus,
+  .nav-tabs .nav-link:hover {
+    border-color: #495057 #495057 rgba(255,255,255,.125)
+  }
+  .nav-tabs .nav-link.disabled {
+    color: #6c757d;
+    background-color: transparent;
+    border-color: transparent
+  }
+  .nav-tabs .nav-item.show .nav-link,
+  .nav-tabs .nav-link.active {
+    color: #f8f9fa;
+    background-color: #191d21;
+    border-color: #495057 #495057 #191d21
+  }
+  .nav-pills .nav-link {
+    background: 0 0;
+    border: 0
+  }
+  .nav-pills .nav-link.active,
+  .nav-pills .show > .nav-link {
+    color: #fff;
+    background-color: #007bff
+  }
+  .navbar-toggler {
+    background-color: transparent;
+    border: 1px solid transparent
+  }
+  .navbar-toggler-icon {
+    background: 50%/100% 100% no-repeat
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .navbar-light .navbar-brand {
+    color: rgba(0,0,0,.9)
+  }
+  .navbar-light .navbar-brand:focus,
+  .navbar-light .navbar-brand:hover {
+    color: rgba(0,0,0,.9)
+  }
+  .navbar-light .navbar-nav .nav-link {
+    color: rgba(0,0,0,.5)
+  }
+  .navbar-light .navbar-nav .nav-link:focus,
+  .navbar-light .navbar-nav .nav-link:hover {
+    color: rgba(0,0,0,.7)
+  }
+  .navbar-light .navbar-nav .nav-link.disabled {
+    color: rgba(0,0,0,.3)
+  }
+  .navbar-light .navbar-nav .active > .nav-link,
+  .navbar-light .navbar-nav .nav-link.active,
+  .navbar-light .navbar-nav .nav-link.show,
+  .navbar-light .navbar-nav .show > .nav-link {
+    color: rgba(0,0,0,.9)
+  }
+  .navbar-light .navbar-toggler {
+    color: rgba(0,0,0,.5);
+    border-color: rgba(0,0,0,.1)
+  }
+  .navbar-light .navbar-toggler-icon {
+    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
+  }
+  .navbar-light .navbar-text {
+    color: rgba(0,0,0,.5)
+  }
+  .navbar-light .navbar-text a {
+    color: rgba(0,0,0,.9)
+  }
+  .navbar-light .navbar-text a:focus,
+  .navbar-light .navbar-text a:hover {
+    color: rgba(0,0,0,.9)
+  }
+  .navbar-dark .navbar-brand,
+  .navbar-themed .navbar-brand {
+    color: #fff
+  }
+  .navbar-dark .navbar-brand:focus,
+  .navbar-dark .navbar-brand:hover,
+  .navbar-themed .navbar-brand:focus,
+  .navbar-themed .navbar-brand:hover {
+    color: #fff
+  }
+  .navbar-dark .navbar-nav .nav-link,
+  .navbar-themed .navbar-nav .nav-link {
+    color: rgba(255,255,255,.5)
+  }
+  .navbar-dark .navbar-nav .nav-link:focus,
+  .navbar-dark .navbar-nav .nav-link:hover,
+  .navbar-themed .navbar-nav .nav-link:focus,
+  .navbar-themed .navbar-nav .nav-link:hover {
+    color: rgba(255,255,255,.75)
+  }
+  .navbar-dark .navbar-nav .nav-link.disabled,
+  .navbar-themed .navbar-nav .nav-link.disabled {
+    color: rgba(255,255,255,.25)
+  }
+  .navbar-dark .navbar-nav .active > .nav-link,
+  .navbar-dark .navbar-nav .nav-link.active,
+  .navbar-dark .navbar-nav .nav-link.show,
+  .navbar-dark .navbar-nav .show > .nav-link,
+  .navbar-themed .navbar-nav .active > .nav-link,
+  .navbar-themed .navbar-nav .nav-link.active,
+  .navbar-themed .navbar-nav .nav-link.show,
+  .navbar-themed .navbar-nav .show > .nav-link {
+    color: #fff
+  }
+  .navbar-dark .navbar-toggler,
+  .navbar-themed .navbar-toggler {
+    color: rgba(255,255,255,.5);
+    border-color: rgba(255,255,255,.1)
+  }
+  .navbar-dark .navbar-toggler-icon,
+  .navbar-themed .navbar-toggler-icon {
+    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")
+  }
+  .navbar-dark .navbar-text,
+  .navbar-themed .navbar-text {
+    color: rgba(255,255,255,.5)
+  }
+  .navbar-dark .navbar-text a,
+  .navbar-themed .navbar-text a {
+    color: #fff
+  }
+  .navbar-dark .navbar-text a:focus,
+  .navbar-dark .navbar-text a:hover,
+  .navbar-themed .navbar-text a:focus,
+  .navbar-themed .navbar-text a:hover {
+    color: #fff
+  }
+  .card {
+    background-color: #212529;
+    border: 1px solid rgba(255,255,255,.125)
+  }
+  .card > .list-group {
+    border-top: inherit;
+    border-bottom: inherit
+  }
+  .card > .card-header + .list-group,
+  .card > .list-group + .card-footer {
+    border-top: 0
+  }
+  .card-header {
+    background-color: rgba(255,255,255,.03);
+    border-bottom: 1px solid rgba(255,255,255,.125)
+  }
+  .card-footer {
+    background-color: rgba(255,255,255,.03);
+    border-top: 1px solid rgba(255,255,255,.125)
+  }
+  .card-header-tabs {
+    border-bottom: 0
+  }
+}
+@media (prefers-color-scheme:dark) and (min-width:576px) {
+  .card-group > .card + .card {
+    border-left: 0
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .accordion > .card:not(:last-of-type) {
+    border-bottom: 0
+  }
+  .breadcrumb {
+    background-color: #343a40
+  }
+  .breadcrumb-item + .breadcrumb-item::before {
+    color: #ced4da
+  }
+  .breadcrumb-item.active {
+    color: #ced4da
+  }
+  .page-link {
+    color: #adadad;
+    background-color: #000;
+    border: 1px solid #495057
+  }
+  .page-link:hover {
+    color: #878787;
+    background-color: #343a40;
+    border-color: #495057
+  }
+  .page-link:focus {
+    box-shadow: 0 0 0 .2rem rgba(0,123,255,.25)
+  }
+  .page-item.active .page-link {
+    color: #000;
+    background-color: #3395ff;
+    border-color: #3395ff
+  }
+  .page-item.disabled .page-link {
+    color: #ced4da;
+    background-color: #000;
+    border-color: #495057
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .badge-primary {
+    color: #e9ecef;
+    background-color: #3395ff
+  }
+  a.badge-primary:focus,
+  a.badge-primary:hover {
+    color: #e9ecef;
+    background-color: #007bff
+  }
+  a.badge-primary.focus,
+  a.badge-primary:focus {
+    box-shadow: 0 0 0 .2rem rgba(51,149,255,.5)
+  }
+  .badge-secondary {
+    color: #e9ecef;
+    background-color: #6c757d
+  }
+  a.badge-secondary:focus,
+  a.badge-secondary:hover {
+    color: #e9ecef;
+    background-color: #545b62
+  }
+  a.badge-secondary.focus,
+  a.badge-secondary:focus {
+    box-shadow: 0 0 0 .2rem rgba(108,117,125,.5)
+  }
+  .badge-success {
+    color: #e9ecef;
+    background-color: #28a745
+  }
+  a.badge-success:focus,
+  a.badge-success:hover {
+    color: #e9ecef;
+    background-color: #1e7e34
+  }
+  a.badge-success.focus,
+  a.badge-success:focus {
+    box-shadow: 0 0 0 .2rem rgba(40,167,69,.5)
+  }
+  .badge-info {
+    color: #e9ecef;
+    background-color: #17a2b8
+  }
+  a.badge-info:focus,
+  a.badge-info:hover {
+    color: #e9ecef;
+    background-color: #117a8b
+  }
+  a.badge-info.focus,
+  a.badge-info:focus {
+    box-shadow: 0 0 0 .2rem rgba(23,162,184,.5)
+  }
+  .badge-warning {
+    color: #343a40;
+    background-color: #fd7e14
+  }
+  a.badge-warning:focus,
+  a.badge-warning:hover {
+    color: #343a40;
+    background-color: #dc6502
+  }
+  a.badge-warning.focus,
+  a.badge-warning:focus {
+    box-shadow: 0 0 0 .2rem rgba(253,126,20,.5)
+  }
+  .badge-danger {
+    color: #e9ecef;
+    background-color: #dc3545
+  }
+  a.badge-danger:focus,
+  a.badge-danger:hover {
+    color: #e9ecef;
+    background-color: #bd2130
+  }
+  a.badge-danger.focus,
+  a.badge-danger:focus {
+    box-shadow: 0 0 0 .2rem rgba(220,53,69,.5)
+  }
+  .badge-light {
+    color: #343a40;
+    background-color: #dee2e6
+  }
+  a.badge-light:focus,
+  a.badge-light:hover {
+    color: #343a40;
+    background-color: #c1c9d0
+  }
+  a.badge-light.focus,
+  a.badge-light:focus {
+    box-shadow: 0 0 0 .2rem rgba(222,226,230,.5)
+  }
+  .badge-dark {
+    color: #e9ecef;
+    background-color: #343a40
+  }
+  a.badge-dark:focus,
+  a.badge-dark:hover {
+    color: #e9ecef;
+    background-color: #1d2124
+  }
+  a.badge-dark.focus,
+  a.badge-dark:focus {
+    box-shadow: 0 0 0 .2rem rgba(52,58,64,.5)
+  }
+  .jumbotron {
+    background-color: #343a40
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .alert {
+    border: 1px solid transparent
+  }
+  .alert-heading {
+    color: inherit
+  }
+  .alert-dismissible .close {
+    color: inherit
+  }
+  .alert-primary {
+    color: #1b4e85;
+    background-color: #d6eaff;
+    border-color: #c6e1ff
+  }
+  .alert-primary .alert-link {
+    color: #12355b
+  }
+  .alert-secondary {
+    color: #383d41;
+    background-color: #e2e3e5;
+    border-color: #d6d8db
+  }
+  .alert-secondary .alert-link {
+    color: #202326
+  }
+  .alert-success {
+    color: #155724;
+    background-color: #d4edda;
+    border-color: #c3e6cb
+  }
+  .alert-success .alert-link {
+    color: #0b2e13
+  }
+  .alert-info {
+    color: #0c5460;
+    background-color: #d1ecf1;
+    border-color: #bee5eb
+  }
+  .alert-info .alert-link {
+    color: #062c33
+  }
+  .alert-warning {
+    color: #84420a;
+    background-color: #ffe5d0;
+    border-color: #fedbbd
+  }
+  .alert-warning .alert-link {
+    color: #552a06
+  }
+  .alert-danger {
+    color: #721c24;
+    background-color: #f8d7da;
+    border-color: #f5c6cb
+  }
+  .alert-danger .alert-link {
+    color: #491217
+  }
+  .alert-light,
+  .alert-themed-inverted {
+    color: #737678;
+    background-color: #f8f9fa;
+    border-color: #f6f7f8
+  }
+  .alert-light .alert-link,
+  .alert-themed-inverted .alert-link {
+    color: #5a5c5e
+  }
+  .alert-dark,
+  .alert-themed {
+    color: #1b1e21;
+    background-color: #d6d8d9;
+    border-color: #c6c8ca
+  }
+  .alert-dark .alert-link,
+  .alert-themed .alert-link {
+    color: #040505
+  }
+  @-webkit-keyframes progress-bar-stripes {
+    from {
+      background-position: 1rem 0
+    }
+    to {
+      background-position: 0 0
+    }
+  }
+  @keyframes progress-bar-stripes {
+    from {
+      background-position: 1rem 0
+    }
+    to {
+      background-position: 0 0
+    }
+  }
+  .progress {
+    background-color: #e9ecef
+  }
+  .progress-bar {
+    color: #fff;
+    background-color: #007bff
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .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)
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .list-group-item-action {
+    color: #dee2e6
+  }
+  .list-group-item-action:focus,
+  .list-group-item-action:hover {
+    color: #dee2e6;
+    background-color: #212529
+  }
+  .list-group-item-action:active {
+    color: #d3d3d3;
+    background-color: #343a40
+  }
+  .list-group-item {
+    background-color: rgba(25,29,33,.05);
+    border: 1px solid rgba(255,255,255,.125)
+  }
+  .list-group-item.disabled,
+  .list-group-item:disabled {
+    color: #ced4da;
+    background-color: rgba(25,29,33,.05)
+  }
+  .list-group-item.active {
+    color: #000;
+    background-color: #3395ff;
+    border-color: #3395ff
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .list-group-item-primary {
+    color: #1b4e85;
+    background-color: #c6e1ff
+  }
+  .list-group-item-primary.list-group-item-action:focus,
+  .list-group-item-primary.list-group-item-action:hover {
+    color: #1b4e85;
+    background-color: #add4ff
+  }
+  .list-group-item-primary.list-group-item-action.active {
+    color: #fff;
+    background-color: #1b4e85;
+    border-color: #1b4e85
+  }
+  .list-group-item-secondary {
+    color: #383d41;
+    background-color: #d6d8db
+  }
+  .list-group-item-secondary.list-group-item-action:focus,
+  .list-group-item-secondary.list-group-item-action:hover {
+    color: #383d41;
+    background-color: #c8cbcf
+  }
+  .list-group-item-secondary.list-group-item-action.active {
+    color: #fff;
+    background-color: #383d41;
+    border-color: #383d41
+  }
+  .list-group-item-success {
+    color: #155724;
+    background-color: #c3e6cb
+  }
+  .list-group-item-success.list-group-item-action:focus,
+  .list-group-item-success.list-group-item-action:hover {
+    color: #155724;
+    background-color: #b1dfbb
+  }
+  .list-group-item-success.list-group-item-action.active {
+    color: #fff;
+    background-color: #155724;
+    border-color: #155724
+  }
+  .list-group-item-info {
+    color: #0c5460;
+    background-color: #bee5eb
+  }
+  .list-group-item-info.list-group-item-action:focus,
+  .list-group-item-info.list-group-item-action:hover {
+    color: #0c5460;
+    background-color: #abdde5
+  }
+  .list-group-item-info.list-group-item-action.active {
+    color: #fff;
+    background-color: #0c5460;
+    border-color: #0c5460
+  }
+  .list-group-item-warning {
+    color: #84420a;
+    background-color: #fedbbd
+  }
+  .list-group-item-warning.list-group-item-action:focus,
+  .list-group-item-warning.list-group-item-action:hover {
+    color: #84420a;
+    background-color: #fecda4
+  }
+  .list-group-item-warning.list-group-item-action.active {
+    color: #fff;
+    background-color: #84420a;
+    border-color: #84420a
+  }
+  .list-group-item-danger {
+    color: #721c24;
+    background-color: #f5c6cb
+  }
+  .list-group-item-danger.list-group-item-action:focus,
+  .list-group-item-danger.list-group-item-action:hover {
+    color: #721c24;
+    background-color: #f1b0b7
+  }
+  .list-group-item-danger.list-group-item-action.active {
+    color: #fff;
+    background-color: #721c24;
+    border-color: #721c24
+  }
+  .list-group-item-light {
+    color: #737678;
+    background-color: #f6f7f8
+  }
+  .list-group-item-light.list-group-item-action:focus,
+  .list-group-item-light.list-group-item-action:hover {
+    color: #737678;
+    background-color: #e8eaed
+  }
+  .list-group-item-light.list-group-item-action.active {
+    color: #fff;
+    background-color: #737678;
+    border-color: #737678
+  }
+  .list-group-item-dark {
+    color: #1b1e21;
+    background-color: #c6c8ca
+  }
+  .list-group-item-dark.list-group-item-action:focus,
+  .list-group-item-dark.list-group-item-action:hover {
+    color: #1b1e21;
+    background-color: #b9bbbe
+  }
+  .list-group-item-dark.list-group-item-action.active {
+    color: #fff;
+    background-color: #1b1e21;
+    border-color: #1b1e21
+  }
+  .close {
+    color: #fff;
+    text-shadow: 0 1px 0 #000
+  }
+  .close:hover {
+    color: #fff
+  }
+  button.close {
+    background-color: transparent;
+    border: 0
+  }
+  .toast {
+    background-color: rgba(0,0,0,.85);
+    border: 1px solid rgba(255,255,255,.1);
+    box-shadow: 0 .25rem .75rem rgba(255,255,255,.1)
+  }
+  .toast-header {
+    color: #ced4da;
+    background-color: rgba(0,0,0,.85);
+    border-bottom: 1px solid rgba(255,255,255,.05)
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .modal-content {
+    background-color: #191d21;
+    border: 1px solid rgba(255,255,255,.2)
+  }
+  .modal-backdrop {
+    background-color: #000
+  }
+  .modal-header {
+    border-bottom: 1px solid #343a40
+  }
+  .modal-footer {
+    border-top: 1px solid #343a40
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .tooltip {
+    text-shadow: none
+  }
+  .tooltip .arrow::before {
+    border-color: transparent
+  }
+  .tooltip-inner {
+    color: #fff;
+    background-color: #000
+  }
+  .popover {
+    text-shadow: none;
+    background-color: #fff;
+    border: 1px solid rgba(0,0,0,.2)
+  }
+  .popover .arrow::after,
+  .popover .arrow::before {
+    border-color: transparent
+  }
+  .bs-popover-auto[x-placement^=bottom] .popover-header::before,
+  .bs-popover-bottom .popover-header::before {
+    border-bottom: 1px solid #f7f7f7
+  }
+  .popover-header {
+    background-color: #f7f7f7;
+    border-bottom: 1px solid #ebebeb
+  }
+  .popover-body {
+    color: #212529
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .carousel-control-next,
+  .carousel-control-prev {
+    color: #fff;
+    background: 0 0;
+    border: 0
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .carousel-control-next:focus,
+  .carousel-control-next:hover,
+  .carousel-control-prev:focus,
+  .carousel-control-prev:hover {
+    color: #fff
+  }
+  .carousel-control-next-icon,
+  .carousel-control-prev-icon {
+    background: 50%/100% 100% no-repeat
+  }
+  .carousel-control-prev-icon {
+    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")
+  }
+  .carousel-control-next-icon {
+    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")
+  }
+  .carousel-indicators li {
+    background-color: #fff;
+    border-top: 10px solid transparent;
+    border-bottom: 10px solid transparent
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .carousel-caption {
+    color: #fff
+  }
+  @-webkit-keyframes spinner-border {
+    to {
+      transform: rotate(360deg)
+    }
+  }
+  @keyframes spinner-border {
+    to {
+      transform: rotate(360deg)
+    }
+  }
+  .spinner-border {
+    border: .25em solid currentcolor
+  }
+  @-webkit-keyframes spinner-grow {
+    0% {
+      transform: scale(0)
+    }
+    50% {
+      opacity: 1;
+      transform: none
+    }
+  }
+  @keyframes spinner-grow {
+    0% {
+      transform: scale(0)
+    }
+    50% {
+      opacity: 1;
+      transform: none
+    }
+  }
+  .spinner-grow {
+    background-color: currentcolor
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .bg-primary {
+    background-color: #3395ff!important
+  }
+  a.bg-primary:focus,
+  a.bg-primary:hover,
+  button.bg-primary:focus,
+  button.bg-primary:hover {
+    background-color: #007bff!important
+  }
+  .bg-secondary {
+    background-color: #6c757d!important
+  }
+  a.bg-secondary:focus,
+  a.bg-secondary:hover,
+  button.bg-secondary:focus,
+  button.bg-secondary:hover {
+    background-color: #545b62!important
+  }
+  .bg-success {
+    background-color: #28a745!important
+  }
+  a.bg-success:focus,
+  a.bg-success:hover,
+  button.bg-success:focus,
+  button.bg-success:hover {
+    background-color: #1e7e34!important
+  }
+  .bg-info {
+    background-color: #17a2b8!important
+  }
+  a.bg-info:focus,
+  a.bg-info:hover,
+  button.bg-info:focus,
+  button.bg-info:hover {
+    background-color: #117a8b!important
+  }
+  .bg-warning {
+    background-color: #fd7e14!important
+  }
+  a.bg-warning:focus,
+  a.bg-warning:hover,
+  button.bg-warning:focus,
+  button.bg-warning:hover {
+    background-color: #dc6502!important
+  }
+  .bg-danger {
+    background-color: #dc3545!important
+  }
+  a.bg-danger:focus,
+  a.bg-danger:hover,
+  button.bg-danger:focus,
+  button.bg-danger:hover {
+    background-color: #bd2130!important
+  }
+  .bg-light,
+  .bg-themed-inverted {
+    background-color: #dee2e6!important
+  }
+  a.bg-light:focus,
+  a.bg-light:hover,
+  a.bg-themed-inverted:focus,
+  a.bg-themed-inverted:hover,
+  button.bg-light:focus,
+  button.bg-light:hover,
+  button.bg-themed-inverted:focus,
+  button.bg-themed-inverted:hover {
+    background-color: #c1c9d0!important
+  }
+  .bg-dark,
+  .bg-themed,
+  .navbar-themed {
+    background-color: #343a40!important
+  }
+  a.bg-dark:focus,
+  a.bg-dark:hover,
+  a.bg-themed:focus,
+  a.bg-themed:hover,
+  a.navbar-themed:focus,
+  a.navbar-themed:hover,
+  button.bg-dark:focus,
+  button.bg-dark:hover,
+  button.bg-themed:focus,
+  button.bg-themed:hover,
+  button.navbar-themed:focus,
+  button.navbar-themed:hover {
+    background-color: #1d2124!important
+  }
+  .bg-white {
+    background-color: #fff!important
+  }
+  .bg-transparent {
+    background-color: transparent!important
+  }
+  .border {
+    border: 1px solid #343a40!important
+  }
+  .border-top {
+    border-top: 1px solid #343a40!important
+  }
+  .border-right {
+    border-right: 1px solid #343a40!important
+  }
+  .border-bottom {
+    border-bottom: 1px solid #343a40!important
+  }
+  .border-left {
+    border-left: 1px solid #343a40!important
+  }
+  .border-0 {
+    border: 0!important
+  }
+  .border-top-0 {
+    border-top: 0!important
+  }
+  .border-right-0 {
+    border-right: 0!important
+  }
+  .border-bottom-0 {
+    border-bottom: 0!important
+  }
+  .border-left-0 {
+    border-left: 0!important
+  }
+  .border-primary {
+    border-color: #3395ff!important
+  }
+  .border-secondary {
+    border-color: #6c757d!important
+  }
+  .border-success {
+    border-color: #28a745!important
+  }
+  .border-info {
+    border-color: #17a2b8!important
+  }
+  .border-warning {
+    border-color: #fd7e14!important
+  }
+  .border-danger {
+    border-color: #dc3545!important
+  }
+  .border-light {
+    border-color: #dee2e6!important
+  }
+  .border-dark {
+    border-color: #343a40!important
+  }
+  .border-white {
+    border-color: #fff!important
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .embed-responsive .embed-responsive-item,
+  .embed-responsive embed,
+  .embed-responsive iframe,
+  .embed-responsive object,
+  .embed-responsive video {
+    border: 0
+  }
+}
+@media (prefers-color-scheme:dark) {
+  @supports ((position:-webkit-sticky) or (position:sticky)) {
+    .sticky-top {
+      position: -webkit-sticky;
+      position: sticky;
+      top: 0;
+      z-index: 1020
+    }
+  }
+  .sr-only {
+    border: 0
+  }
+  .shadow-sm {
+    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important
+  }
+  .shadow {
+    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important
+  }
+  .shadow-lg {
+    box-shadow: 0 1rem 3rem rgba(0,0,0,.175)!important
+  }
+  .shadow-none {
+    box-shadow: none!important
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .stretched-link::after {
+    background-color: rgba(0,0,0,0)
+  }
+}
+@media (prefers-color-scheme:dark) {
+  .text-white {
+    color: #fff!important
+  }
+  .text-primary {
+    color: #3395ff!important
+  }
+  a.text-primary:focus,
+  a.text-primary:hover {
+    color: #006fe6!important
+  }
+  .text-secondary {
+    color: #6c757d!important
+  }
+  a.text-secondary:focus,
+  a.text-secondary:hover {
+    color: #494f54!important
+  }
+  .text-success {
+    color: #28a745!important
+  }
+  a.text-success:focus,
+  a.text-success:hover {
+    color: #19692c!important
+  }
+  .text-info {
+    color: #17a2b8!important
+  }
+  a.text-info:focus,
+  a.text-info:hover {
+    color: #0f6674!important
+  }
+  .text-warning {
+    color: #fd7e14!important
+  }
+  a.text-warning:focus,
+  a.text-warning:hover {
+    color: #c35a02!important
+  }
+  .text-danger {
+    color: #dc3545!important
+  }
+  a.text-danger:focus,
+  a.text-danger:hover {
+    color: #a71d2a!important
+  }
+  .text-light,
+  .text-themed {
+    color: #dee2e6!important
+  }
+  a.text-light:focus,
+  a.text-light:hover,
+  a.text-themed:focus,
+  a.text-themed:hover {
+    color: #b2bcc5!important
+  }
+  .text-dark,
+  .text-themed-inverted {
+    color: #343a40!important
+  }
+  a.text-dark:focus,
+  a.text-dark:hover,
+  a.text-themed-inverted:focus,
+  a.text-themed-inverted:hover {
+    color: #121416!important
+  }
+  .text-body {
+    color: #d3d3d3!important
+  }
+  .text-muted {
+    color: #6c757d!important
+  }
+  .text-black-50 {
+    color: rgba(0,0,0,.5)!important
+  }
+  .text-white-50 {
+    color: rgba(255,255,255,.5)!important
+  }
+  .text-hide {
+    color: transparent;
+    text-shadow: none;
+    background-color: transparent;
+    border: 0
+  }
+  .text-reset {
+    color: inherit!important
+  }
+}
\ No newline at end of file
diff --git a/uffd/static/bootstrap/bootstrap-prefers-dark-color-only.min.css b/uffd/static/bootstrap/bootstrap-prefers-dark-color-only.min.css
new file mode 100644
index 00000000..a3f825b6
--- /dev/null
+++ b/uffd/static/bootstrap/bootstrap-prefers-dark-color-only.min.css
@@ -0,0 +1,5 @@
+/*!
+ * Bootstrap-Dark v4.0.0 (https://github.com/ForEvolve/bootstrap-dark)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+@media (prefers-color-scheme:dark) {body {color: #d3d3d3;background-color: #191d21 }abbr[data-original-title], abbr[title] {border-bottom: 0 }a {color: #adadad;background-color: transparent }a:hover {color: #878787 }a:not([href]):not([class]) {color: inherit }a:not([href]):not([class]):hover {color: inherit }caption {color: #6c757d }fieldset {border: 0 }legend {color: inherit }hr {border: 0;border-top: 1px solid rgba(255,255,255,.1) }.mark, mark {background-color: #fcf8e3 }.blockquote-footer {color: #6c757d }.img-thumbnail {background-color: #fff;border: 1px solid #dee2e6 }.figure-caption {color: #6c757d }code {color: #e83e8c }a > code {color: inherit }kbd {color: #fff;background-color: #212529 }pre {color: #f8f9fa }pre code {color: inherit }}@media (prefers-color-scheme:dark) {.table {color: #d3d3d3 }.table td, .table th {border-top: 1px solid #343a40 }.table thead th {border-bottom: 2px solid #343a40 }.table tbody + tbody {border-top: 2px solid #343a40 }.table-bordered {border: 1px solid #343a40 }.table-bordered td, .table-bordered th {border: 1px solid #343a40 }.table-borderless tbody + tbody, .table-borderless td, .table-borderless th, .table-borderless thead th {border: 0 }.table-striped tbody tr:nth-of-type(odd) {background-color: rgba(0,0,0,.05) }.table-hover tbody tr:hover {color: #d3d3d3;background-color: rgba(0,0,0,.075) }.table-primary, .table-primary > td, .table-primary > th {background-color: #c6e1ff }.table-primary tbody + tbody, .table-primary td, .table-primary th, .table-primary thead th {border-color: #95c8ff }.table-hover .table-primary:hover {background-color: #add4ff }.table-hover .table-primary:hover > td, .table-hover .table-primary:hover > th {background-color: #add4ff }.table-secondary, .table-secondary > td, .table-secondary > th {background-color: #d6d8db }.table-secondary tbody + tbody, .table-secondary td, .table-secondary th, .table-secondary thead th {border-color: #b3b7bb }.table-hover .table-secondary:hover {background-color: #c8cbcf }.table-hover .table-secondary:hover > td, .table-hover .table-secondary:hover > th {background-color: #c8cbcf }.table-success, .table-success > td, .table-success > th {background-color: #c3e6cb }.table-success tbody + tbody, .table-success td, .table-success th, .table-success thead th {border-color: #8fd19e }.table-hover .table-success:hover {background-color: #b1dfbb }.table-hover .table-success:hover > td, .table-hover .table-success:hover > th {background-color: #b1dfbb }.table-info, .table-info > td, .table-info > th {background-color: #bee5eb }.table-info tbody + tbody, .table-info td, .table-info th, .table-info thead th {border-color: #86cfda }.table-hover .table-info:hover {background-color: #abdde5 }.table-hover .table-info:hover > td, .table-hover .table-info:hover > th {background-color: #abdde5 }.table-warning, .table-warning > td, .table-warning > th {background-color: #fedbbd }.table-warning tbody + tbody, .table-warning td, .table-warning th, .table-warning thead th {border-color: #febc85 }.table-hover .table-warning:hover {background-color: #fecda4 }.table-hover .table-warning:hover > td, .table-hover .table-warning:hover > th {background-color: #fecda4 }.table-danger, .table-danger > td, .table-danger > th {background-color: #f5c6cb }.table-danger tbody + tbody, .table-danger td, .table-danger th, .table-danger thead th {border-color: #ed969e }.table-hover .table-danger:hover {background-color: #f1b0b7 }.table-hover .table-danger:hover > td, .table-hover .table-danger:hover > th {background-color: #f1b0b7 }.table-light, .table-light > td, .table-light > th {background-color: #f6f7f8 }.table-light tbody + tbody, .table-light td, .table-light th, .table-light thead th {border-color: #eef0f2 }.table-hover .table-light:hover {background-color: #e8eaed }.table-hover .table-light:hover > td, .table-hover .table-light:hover > th {background-color: #e8eaed }.table-dark, .table-dark > td, .table-dark > th {background-color: #c6c8ca }.table-dark tbody + tbody, .table-dark td, .table-dark th, .table-dark thead th {border-color: #95999c }.table-hover .table-dark:hover {background-color: #b9bbbe }.table-hover .table-dark:hover > td, .table-hover .table-dark:hover > th {background-color: #b9bbbe }.table-active, .table-active > td, .table-active > th {background-color: rgba(0,0,0,.075) }.table-hover .table-active:hover {background-color: rgba(0,0,0,.075) }.table-hover .table-active:hover > td, .table-hover .table-active:hover > th {background-color: rgba(0,0,0,.075) }.table .thead-dark th {color: #dee2e6;background-color: #343a40;border-color: #454d55 }.table .thead-light th {color: #495057;background-color: #e9ecef;border-color: #343a40 }.table-dark {color: #dee2e6;background-color: #343a40 }.table-dark td, .table-dark th, .table-dark thead th {border-color: #454d55 }.table-dark.table-bordered {border: 0 }.table-dark.table-striped tbody tr:nth-of-type(odd) {background-color: rgba(255,255,255,.05) }.table-dark.table-hover tbody tr:hover {color: #fff;background-color: rgba(255,255,255,.075) }}@media (prefers-color-scheme:dark) and (max-width:575.98px) {.table-responsive-sm > .table-bordered {border: 0 }}@media (prefers-color-scheme:dark) and (max-width:767.98px) {.table-responsive-md > .table-bordered {border: 0 }}@media (prefers-color-scheme:dark) and (max-width:991.98px) {.table-responsive-lg > .table-bordered {border: 0 }}@media (prefers-color-scheme:dark) and (max-width:1199.98px) {.table-responsive-xl > .table-bordered {border: 0 }}@media (prefers-color-scheme:dark) {.table-responsive > .table-bordered {border: 0 }.table-primary, .table-primary > td, .table-primary > th {color: #343a40 }.table-hover .table-primary:hover {color: #343a40 }.table-hover .table-primary:hover > td, .table-hover .table-primary:hover > th {color: #343a40 }.table-secondary, .table-secondary > td, .table-secondary > th {color: #343a40 }.table-hover .table-secondary:hover {color: #343a40 }.table-hover .table-secondary:hover > td, .table-hover .table-secondary:hover > th {color: #343a40 }.table-success, .table-success > td, .table-success > th {color: #343a40 }.table-hover .table-success:hover {color: #343a40 }.table-hover .table-success:hover > td, .table-hover .table-success:hover > th {color: #343a40 }.table-info, .table-info > td, .table-info > th {color: #343a40 }.table-hover .table-info:hover {color: #343a40 }.table-hover .table-info:hover > td, .table-hover .table-info:hover > th {color: #343a40 }.table-warning, .table-warning > td, .table-warning > th {color: #343a40 }.table-hover .table-warning:hover {color: #343a40 }.table-hover .table-warning:hover > td, .table-hover .table-warning:hover > th {color: #343a40 }.table-danger, .table-danger > td, .table-danger > th {color: #343a40 }.table-hover .table-danger:hover {color: #343a40 }.table-hover .table-danger:hover > td, .table-hover .table-danger:hover > th {color: #343a40 }.table-light, .table-light > td, .table-light > th {color: #343a40 }.table-hover .table-light:hover {color: #343a40 }.table-hover .table-light:hover > td, .table-hover .table-light:hover > th {color: #343a40 }.table-dark, .table-dark > td, .table-dark > th {color: #343a40 }.table-hover .table-dark:hover {color: #343a40 }.table-hover .table-dark:hover > td, .table-hover .table-dark:hover > th {color: #343a40 }.table-active, .table-active > td, .table-active > th {color: #e9ecef }.table-hover .table-active:hover {color: #e9ecef }.table-hover .table-active:hover > td, .table-hover .table-active:hover > th {color: #e9ecef }.table-dark {color: #dee2e6 }.form-control {color: #dee2e6;background-color: #000;border: 1px solid #6c757d }}@media (prefers-color-scheme:dark) {.form-control::-ms-expand {background-color: transparent;border: 0 }.form-control:focus {color: #dee2e6;background-color: #191d21;border-color: #b3d7ff;box-shadow: 0 0 0 .2rem rgba(0,123,255,.25) }.form-control::-webkit-input-placeholder {color: #6c757d }.form-control::-moz-placeholder {color: #6c757d }.form-control::-ms-input-placeholder {color: #6c757d }.form-control::placeholder {color: #6c757d }.form-control:disabled, .form-control[readonly] {background-color: #343a40 }select.form-control:-moz-focusring {color: transparent;text-shadow: 0 0 0 #dee2e6 }select.form-control:focus::-ms-value {color: #dee2e6;background-color: #000 }.form-control-plaintext {color: #212529;background-color: transparent;border: solid transparent }.form-check-input:disabled ~ .form-check-label, .form-check-input[disabled] ~ .form-check-label {color: #6c757d }.valid-feedback {color: #28a745 }.valid-tooltip {color: #e9ecef;background-color: rgba(40,167,69,.9) }.form-control.is-valid, .was-validated .form-control:valid {border-color: #28a745;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") }.form-control.is-valid:focus, .was-validated .form-control:valid:focus {border-color: #28a745;box-shadow: 0 0 0 .2rem rgba(40,167,69,.25) }.custom-select.is-valid, .was-validated .custom-select:valid {border-color: #28a745;background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#000 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat }.custom-select.is-valid:focus, .was-validated .custom-select:valid:focus {border-color: #28a745;box-shadow: 0 0 0 .2rem rgba(40,167,69,.25) }.form-check-input.is-valid ~ .form-check-label, .was-validated .form-check-input:valid ~ .form-check-label {color: #28a745 }.custom-control-input.is-valid ~ .custom-control-label, .was-validated .custom-control-input:valid ~ .custom-control-label {color: #28a745 }.custom-control-input.is-valid ~ .custom-control-label::before, .was-validated .custom-control-input:valid ~ .custom-control-label::before {border-color: #28a745 }.custom-control-input.is-valid:checked ~ .custom-control-label::before, .was-validated .custom-control-input:valid:checked ~ .custom-control-label::before {border-color: #34ce57;background-color: #34ce57 }.custom-control-input.is-valid:focus ~ .custom-control-label::before, .was-validated .custom-control-input:valid:focus ~ .custom-control-label::before {box-shadow: 0 0 0 .2rem rgba(40,167,69,.25) }.custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before, .was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before {border-color: #28a745 }.custom-file-input.is-valid ~ .custom-file-label, .was-validated .custom-file-input:valid ~ .custom-file-label {border-color: #28a745 }.custom-file-input.is-valid:focus ~ .custom-file-label, .was-validated .custom-file-input:valid:focus ~ .custom-file-label {border-color: #28a745;box-shadow: 0 0 0 .2rem rgba(40,167,69,.25) }.invalid-feedback {color: #dc3545 }.invalid-tooltip {color: #e9ecef;background-color: rgba(220,53,69,.9) }.form-control.is-invalid, .was-validated .form-control:invalid {border-color: #dc3545;background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") }.form-control.is-invalid:focus, .was-validated .form-control:invalid:focus {border-color: #dc3545;box-shadow: 0 0 0 .2rem rgba(220,53,69,.25) }.custom-select.is-invalid, .was-validated .custom-select:invalid {border-color: #dc3545;background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#000 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat }.custom-select.is-invalid:focus, .was-validated .custom-select:invalid:focus {border-color: #dc3545;box-shadow: 0 0 0 .2rem rgba(220,53,69,.25) }.form-check-input.is-invalid ~ .form-check-label, .was-validated .form-check-input:invalid ~ .form-check-label {color: #dc3545 }.custom-control-input.is-invalid ~ .custom-control-label, .was-validated .custom-control-input:invalid ~ .custom-control-label {color: #dc3545 }.custom-control-input.is-invalid ~ .custom-control-label::before, .was-validated .custom-control-input:invalid ~ .custom-control-label::before {border-color: #dc3545 }.custom-control-input.is-invalid:checked ~ .custom-control-label::before, .was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before {border-color: #e4606d;background-color: #e4606d }.custom-control-input.is-invalid:focus ~ .custom-control-label::before, .was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before {box-shadow: 0 0 0 .2rem rgba(220,53,69,.25) }.custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before, .was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before {border-color: #dc3545 }.custom-file-input.is-invalid ~ .custom-file-label, .was-validated .custom-file-input:invalid ~ .custom-file-label {border-color: #dc3545 }.custom-file-input.is-invalid:focus ~ .custom-file-label, .was-validated .custom-file-input:invalid:focus ~ .custom-file-label {border-color: #dc3545;box-shadow: 0 0 0 .2rem rgba(220,53,69,.25) }}@media (prefers-color-scheme:dark) {.btn {color: #d3d3d3;background-color: transparent;border: 1px solid transparent }}@media (prefers-color-scheme:dark) {.btn:hover {color: #d3d3d3 }.btn.focus, .btn:focus {box-shadow: 0 0 0 .2rem rgba(0,123,255,.25) }.btn-primary {color: #e9ecef;background-color: #3395ff;border-color: #3395ff }.btn-primary:hover {color: #e9ecef;background-color: #0d82ff;border-color: #007bff }.btn-primary.focus, .btn-primary:focus {color: #e9ecef;background-color: #0d82ff;border-color: #007bff;box-shadow: 0 0 0 .2rem rgba(78,162,253,.5) }.btn-primary.disabled, .btn-primary:disabled {color: #e9ecef;background-color: #3395ff;border-color: #3395ff }.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show > .btn-primary.dropdown-toggle {color: #e9ecef;background-color: #007bff;border-color: #0075f2 }.btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-primary.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(78,162,253,.5) }.btn-secondary {color: #e9ecef;background-color: #6c757d;border-color: #6c757d }.btn-secondary:hover {color: #e9ecef;background-color: #5a6268;border-color: #545b62 }.btn-secondary.focus, .btn-secondary:focus {color: #e9ecef;background-color: #5a6268;border-color: #545b62;box-shadow: 0 0 0 .2rem rgba(127,135,142,.5) }.btn-secondary.disabled, .btn-secondary:disabled {color: #e9ecef;background-color: #6c757d;border-color: #6c757d }.btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show > .btn-secondary.dropdown-toggle {color: #e9ecef;background-color: #545b62;border-color: #4e555b }.btn-secondary:not(:disabled):not(.disabled).active:focus, .btn-secondary:not(:disabled):not(.disabled):active:focus, .show > .btn-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(127,135,142,.5) }.btn-success {color: #e9ecef;background-color: #28a745;border-color: #28a745 }.btn-success:hover {color: #e9ecef;background-color: #218838;border-color: #1e7e34 }.btn-success.focus, .btn-success:focus {color: #e9ecef;background-color: #218838;border-color: #1e7e34;box-shadow: 0 0 0 .2rem rgba(69,177,95,.5) }.btn-success.disabled, .btn-success:disabled {color: #e9ecef;background-color: #28a745;border-color: #28a745 }.btn-success:not(:disabled):not(.disabled).active, .btn-success:not(:disabled):not(.disabled):active, .show > .btn-success.dropdown-toggle {color: #e9ecef;background-color: #1e7e34;border-color: #1c7430 }.btn-success:not(:disabled):not(.disabled).active:focus, .btn-success:not(:disabled):not(.disabled):active:focus, .show > .btn-success.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(69,177,95,.5) }.btn-info {color: #e9ecef;background-color: #17a2b8;border-color: #17a2b8 }.btn-info:hover {color: #e9ecef;background-color: #138496;border-color: #117a8b }.btn-info.focus, .btn-info:focus {color: #e9ecef;background-color: #138496;border-color: #117a8b;box-shadow: 0 0 0 .2rem rgba(55,173,192,.5) }.btn-info.disabled, .btn-info:disabled {color: #e9ecef;background-color: #17a2b8;border-color: #17a2b8 }.btn-info:not(:disabled):not(.disabled).active, .btn-info:not(:disabled):not(.disabled):active, .show > .btn-info.dropdown-toggle {color: #e9ecef;background-color: #117a8b;border-color: #10707f }.btn-info:not(:disabled):not(.disabled).active:focus, .btn-info:not(:disabled):not(.disabled):active:focus, .show > .btn-info.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(55,173,192,.5) }.btn-warning {color: #343a40;background-color: #fd7e14;border-color: #fd7e14 }.btn-warning:hover {color: #e9ecef;background-color: #e96b02;border-color: #dc6502 }.btn-warning.focus, .btn-warning:focus {color: #e9ecef;background-color: #e96b02;border-color: #dc6502;box-shadow: 0 0 0 .2rem rgba(223,116,27,.5) }.btn-warning.disabled, .btn-warning:disabled {color: #343a40;background-color: #fd7e14;border-color: #fd7e14 }.btn-warning:not(:disabled):not(.disabled).active, .btn-warning:not(:disabled):not(.disabled):active, .show > .btn-warning.dropdown-toggle {color: #e9ecef;background-color: #dc6502;border-color: #cf5f02 }.btn-warning:not(:disabled):not(.disabled).active:focus, .btn-warning:not(:disabled):not(.disabled):active:focus, .show > .btn-warning.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(223,116,27,.5) }.btn-danger {color: #e9ecef;background-color: #dc3545;border-color: #dc3545 }.btn-danger:hover {color: #e9ecef;background-color: #c82333;border-color: #bd2130 }.btn-danger.focus, .btn-danger:focus {color: #e9ecef;background-color: #c82333;border-color: #bd2130;box-shadow: 0 0 0 .2rem rgba(222,80,95,.5) }.btn-danger.disabled, .btn-danger:disabled {color: #e9ecef;background-color: #dc3545;border-color: #dc3545 }.btn-danger:not(:disabled):not(.disabled).active, .btn-danger:not(:disabled):not(.disabled):active, .show > .btn-danger.dropdown-toggle {color: #e9ecef;background-color: #bd2130;border-color: #b21f2d }.btn-danger:not(:disabled):not(.disabled).active:focus, .btn-danger:not(:disabled):not(.disabled):active:focus, .show > .btn-danger.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(222,80,95,.5) }.btn-light {color: #343a40;background-color: #dee2e6;border-color: #dee2e6 }.btn-light:hover {color: #343a40;background-color: #c8cfd6;border-color: #c1c9d0 }.btn-light.focus, .btn-light:focus {color: #343a40;background-color: #c8cfd6;border-color: #c1c9d0;box-shadow: 0 0 0 .2rem rgba(197,201,205,.5) }.btn-light.disabled, .btn-light:disabled {color: #343a40;background-color: #dee2e6;border-color: #dee2e6 }.btn-light:not(:disabled):not(.disabled).active, .btn-light:not(:disabled):not(.disabled):active, .show > .btn-light.dropdown-toggle {color: #343a40;background-color: #c1c9d0;border-color: #bac2cb }.btn-light:not(:disabled):not(.disabled).active:focus, .btn-light:not(:disabled):not(.disabled):active:focus, .show > .btn-light.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(197,201,205,.5) }.btn-dark {color: #e9ecef;background-color: #343a40;border-color: #343a40 }.btn-dark:hover {color: #e9ecef;background-color: #23272b;border-color: #1d2124 }.btn-dark.focus, .btn-dark:focus {color: #e9ecef;background-color: #23272b;border-color: #1d2124;box-shadow: 0 0 0 .2rem rgba(79,85,90,.5) }.btn-dark.disabled, .btn-dark:disabled {color: #e9ecef;background-color: #343a40;border-color: #343a40 }.btn-dark:not(:disabled):not(.disabled).active, .btn-dark:not(:disabled):not(.disabled):active, .show > .btn-dark.dropdown-toggle {color: #e9ecef;background-color: #1d2124;border-color: #171a1d }.btn-dark:not(:disabled):not(.disabled).active:focus, .btn-dark:not(:disabled):not(.disabled):active:focus, .show > .btn-dark.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(79,85,90,.5) }.btn-outline-primary {color: #3395ff;border-color: #3395ff }.btn-outline-primary:hover {color: #e9ecef;background-color: #3395ff;border-color: #3395ff }.btn-outline-primary.focus, .btn-outline-primary:focus {box-shadow: 0 0 0 .2rem rgba(51,149,255,.5) }.btn-outline-primary.disabled, .btn-outline-primary:disabled {color: #3395ff;background-color: transparent }.btn-outline-primary:not(:disabled):not(.disabled).active, .btn-outline-primary:not(:disabled):not(.disabled):active, .show > .btn-outline-primary.dropdown-toggle {color: #e9ecef;background-color: #3395ff;border-color: #3395ff }.btn-outline-primary:not(:disabled):not(.disabled).active:focus, .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(51,149,255,.5) }.btn-outline-secondary {color: #6c757d;border-color: #6c757d }.btn-outline-secondary:hover {color: #e9ecef;background-color: #6c757d;border-color: #6c757d }.btn-outline-secondary.focus, .btn-outline-secondary:focus {box-shadow: 0 0 0 .2rem rgba(108,117,125,.5) }.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {color: #6c757d;background-color: transparent }.btn-outline-secondary:not(:disabled):not(.disabled).active, .btn-outline-secondary:not(:disabled):not(.disabled):active, .show > .btn-outline-secondary.dropdown-toggle {color: #e9ecef;background-color: #6c757d;border-color: #6c757d }.btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(108,117,125,.5) }.btn-outline-success {color: #28a745;border-color: #28a745 }.btn-outline-success:hover {color: #e9ecef;background-color: #28a745;border-color: #28a745 }.btn-outline-success.focus, .btn-outline-success:focus {box-shadow: 0 0 0 .2rem rgba(40,167,69,.5) }.btn-outline-success.disabled, .btn-outline-success:disabled {color: #28a745;background-color: transparent }.btn-outline-success:not(:disabled):not(.disabled).active, .btn-outline-success:not(:disabled):not(.disabled):active, .show > .btn-outline-success.dropdown-toggle {color: #e9ecef;background-color: #28a745;border-color: #28a745 }.btn-outline-success:not(:disabled):not(.disabled).active:focus, .btn-outline-success:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-success.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(40,167,69,.5) }.btn-outline-info {color: #17a2b8;border-color: #17a2b8 }.btn-outline-info:hover {color: #e9ecef;background-color: #17a2b8;border-color: #17a2b8 }.btn-outline-info.focus, .btn-outline-info:focus {box-shadow: 0 0 0 .2rem rgba(23,162,184,.5) }.btn-outline-info.disabled, .btn-outline-info:disabled {color: #17a2b8;background-color: transparent }.btn-outline-info:not(:disabled):not(.disabled).active, .btn-outline-info:not(:disabled):not(.disabled):active, .show > .btn-outline-info.dropdown-toggle {color: #e9ecef;background-color: #17a2b8;border-color: #17a2b8 }.btn-outline-info:not(:disabled):not(.disabled).active:focus, .btn-outline-info:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-info.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(23,162,184,.5) }.btn-outline-warning {color: #fd7e14;border-color: #fd7e14 }.btn-outline-warning:hover {color: #343a40;background-color: #fd7e14;border-color: #fd7e14 }.btn-outline-warning.focus, .btn-outline-warning:focus {box-shadow: 0 0 0 .2rem rgba(253,126,20,.5) }.btn-outline-warning.disabled, .btn-outline-warning:disabled {color: #fd7e14;background-color: transparent }.btn-outline-warning:not(:disabled):not(.disabled).active, .btn-outline-warning:not(:disabled):not(.disabled):active, .show > .btn-outline-warning.dropdown-toggle {color: #343a40;background-color: #fd7e14;border-color: #fd7e14 }.btn-outline-warning:not(:disabled):not(.disabled).active:focus, .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-warning.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(253,126,20,.5) }.btn-outline-danger {color: #dc3545;border-color: #dc3545 }.btn-outline-danger:hover {color: #e9ecef;background-color: #dc3545;border-color: #dc3545 }.btn-outline-danger.focus, .btn-outline-danger:focus {box-shadow: 0 0 0 .2rem rgba(220,53,69,.5) }.btn-outline-danger.disabled, .btn-outline-danger:disabled {color: #dc3545;background-color: transparent }.btn-outline-danger:not(:disabled):not(.disabled).active, .btn-outline-danger:not(:disabled):not(.disabled):active, .show > .btn-outline-danger.dropdown-toggle {color: #e9ecef;background-color: #dc3545;border-color: #dc3545 }.btn-outline-danger:not(:disabled):not(.disabled).active:focus, .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-danger.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(220,53,69,.5) }.btn-outline-light {color: #dee2e6;border-color: #dee2e6 }.btn-outline-light:hover {color: #343a40;background-color: #dee2e6;border-color: #dee2e6 }.btn-outline-light.focus, .btn-outline-light:focus {box-shadow: 0 0 0 .2rem rgba(222,226,230,.5) }.btn-outline-light.disabled, .btn-outline-light:disabled {color: #dee2e6;background-color: transparent }.btn-outline-light:not(:disabled):not(.disabled).active, .btn-outline-light:not(:disabled):not(.disabled):active, .show > .btn-outline-light.dropdown-toggle {color: #343a40;background-color: #dee2e6;border-color: #dee2e6 }.btn-outline-light:not(:disabled):not(.disabled).active:focus, .btn-outline-light:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-light.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(222,226,230,.5) }.btn-outline-dark {color: #343a40;border-color: #343a40 }.btn-outline-dark:hover {color: #e9ecef;background-color: #343a40;border-color: #343a40 }.btn-outline-dark.focus, .btn-outline-dark:focus {box-shadow: 0 0 0 .2rem rgba(52,58,64,.5) }.btn-outline-dark.disabled, .btn-outline-dark:disabled {color: #343a40;background-color: transparent }.btn-outline-dark:not(:disabled):not(.disabled).active, .btn-outline-dark:not(:disabled):not(.disabled):active, .show > .btn-outline-dark.dropdown-toggle {color: #e9ecef;background-color: #343a40;border-color: #343a40 }.btn-outline-dark:not(:disabled):not(.disabled).active:focus, .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-dark.dropdown-toggle:focus {box-shadow: 0 0 0 .2rem rgba(52,58,64,.5) }.btn-link {color: #adadad }.btn-link:hover {color: #878787 }.btn-link.disabled, .btn-link:disabled {color: #6c757d }}@media (prefers-color-scheme:dark) {.dropdown-toggle::after {border-top: .3em solid;border-right: .3em solid transparent;border-bottom: 0;border-left: .3em solid transparent }.dropdown-menu {color: #d3d3d3;background-color: #000;border: 1px solid rgba(255,255,255,.15) }}@media (prefers-color-scheme:dark) {.dropup .dropdown-toggle::after {border-top: 0;border-right: .3em solid transparent;border-bottom: .3em solid;border-left: .3em solid transparent }.dropright .dropdown-toggle::after {border-top: .3em solid transparent;border-right: 0;border-bottom: .3em solid transparent;border-left: .3em solid }.dropleft .dropdown-toggle::before {border-top: .3em solid transparent;border-right: .3em solid;border-bottom: .3em solid transparent }.dropdown-divider {border-top: 1px solid #343a40 }.dropdown-item {color: #f8f9fa;background-color: transparent;border: 0 }.dropdown-item:focus, .dropdown-item:hover {color: #fff;background-color: #212529 }.dropdown-item.active, .dropdown-item:active {color: #000;background-color: #3395ff }.dropdown-item.disabled, .dropdown-item:disabled {color: #ced4da;background-color: transparent }.dropdown-header {color: #ced4da }.dropdown-item-text {color: #f8f9fa }.input-group-text {color: #dee2e6;background-color: #343a40;border: 1px solid #6c757d }.custom-control-input:checked ~ .custom-control-label::before {color: #fff;border-color: #007bff;background-color: #007bff }.custom-control-input:focus ~ .custom-control-label::before {box-shadow: 0 0 0 .2rem rgba(0,123,255,.25) }.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {border-color: #80bdff }.custom-control-input:not(:disabled):active ~ .custom-control-label::before {color: #fff;background-color: #b3d7ff;border-color: #b3d7ff }.custom-control-input:disabled ~ .custom-control-label, .custom-control-input[disabled] ~ .custom-control-label {color: #6c757d }.custom-control-input:disabled ~ .custom-control-label::before, .custom-control-input[disabled] ~ .custom-control-label::before {background-color: #e9ecef }.custom-control-label::before {background-color: #fff;border: 1px solid #adb5bd }.custom-control-label::after {background: 50%/50% 50% no-repeat }.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e") }.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {border-color: #007bff;background-color: #007bff }.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e") }.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {background-color: rgba(0,123,255,.5) }.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {background-color: rgba(0,123,255,.5) }.custom-radio .custom-control-input:checked ~ .custom-control-label::after {background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") }.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {background-color: rgba(0,123,255,.5) }.custom-switch .custom-control-label::after {background-color: #adb5bd }}@media (prefers-color-scheme:dark) {.custom-switch .custom-control-input:checked ~ .custom-control-label::after {background-color: #fff }.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {background-color: rgba(0,123,255,.5) }.custom-select {color: #dee2e6;background: #000 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border: 1px solid #6c757d }.custom-select:focus {border-color: #80bdff;box-shadow: 0 0 0 .2rem rgba(0,123,255,.25) }.custom-select:focus::-ms-value {color: #dee2e6;background-color: #000 }.custom-select[multiple], .custom-select[size]:not([size="1"]) {background-image: none }.custom-select:disabled {color: #ced4da;background-color: #343a40 }.custom-select:-moz-focusring {color: transparent;text-shadow: 0 0 0 #dee2e6 }.custom-file-input:focus ~ .custom-file-label {border-color: #80bdff;box-shadow: 0 0 0 .2rem rgba(0,123,255,.25) }.custom-file-input:disabled ~ .custom-file-label, .custom-file-input[disabled] ~ .custom-file-label {background-color: #e9ecef }.custom-file-label {color: #495057;background-color: #fff;border: 1px solid #ced4da }.custom-file-label::after {color: #495057;background-color: #e9ecef;border-left: inherit }.custom-range {background-color: transparent }.custom-range:focus::-webkit-slider-thumb {box-shadow: 0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25) }.custom-range:focus::-moz-range-thumb {box-shadow: 0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25) }.custom-range:focus::-ms-thumb {box-shadow: 0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25) }.custom-range::-moz-focus-outer {border: 0 }.custom-range::-webkit-slider-thumb {background-color: #007bff;border: 0 }}@media (prefers-color-scheme:dark) {.custom-range::-webkit-slider-thumb:active {background-color: #b3d7ff }.custom-range::-webkit-slider-runnable-track {color: transparent;background-color: #dee2e6;border-color: transparent }.custom-range::-moz-range-thumb {background-color: #007bff;border: 0 }}@media (prefers-color-scheme:dark) {.custom-range::-moz-range-thumb:active {background-color: #b3d7ff }.custom-range::-moz-range-track {color: transparent;background-color: #dee2e6;border-color: transparent }.custom-range::-ms-thumb {background-color: #007bff;border: 0 }}@media (prefers-color-scheme:dark) {.custom-range::-ms-thumb:active {background-color: #b3d7ff }.custom-range::-ms-track {color: transparent;background-color: transparent;border-color: transparent }.custom-range::-ms-fill-lower {background-color: #dee2e6 }.custom-range::-ms-fill-upper {background-color: #dee2e6 }.custom-range:disabled::-webkit-slider-thumb {background-color: #adb5bd }.custom-range:disabled::-moz-range-thumb {background-color: #adb5bd }.custom-range:disabled::-ms-thumb {background-color: #adb5bd }}@media (prefers-color-scheme:dark) {.nav-link.disabled {color: #6c757d }.nav-tabs {border-bottom: 1px solid rgba(255,255,255,.125) }.nav-tabs .nav-link {background-color: transparent;border: 1px solid transparent }.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {border-color: #495057 #495057 rgba(255,255,255,.125) }.nav-tabs .nav-link.disabled {color: #6c757d;background-color: transparent;border-color: transparent }.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {color: #f8f9fa;background-color: #191d21;border-color: #495057 #495057 #191d21 }.nav-pills .nav-link {background: 0 0;border: 0 }.nav-pills .nav-link.active, .nav-pills .show > .nav-link {color: #fff;background-color: #007bff }.navbar-toggler {background-color: transparent;border: 1px solid transparent }.navbar-toggler-icon {background: 50%/100% 100% no-repeat }}@media (prefers-color-scheme:dark) {.navbar-light .navbar-brand {color: rgba(0,0,0,.9) }.navbar-light .navbar-brand:focus, .navbar-light .navbar-brand:hover {color: rgba(0,0,0,.9) }.navbar-light .navbar-nav .nav-link {color: rgba(0,0,0,.5) }.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover {color: rgba(0,0,0,.7) }.navbar-light .navbar-nav .nav-link.disabled {color: rgba(0,0,0,.3) }.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show > .nav-link {color: rgba(0,0,0,.9) }.navbar-light .navbar-toggler {color: rgba(0,0,0,.5);border-color: rgba(0,0,0,.1) }.navbar-light .navbar-toggler-icon {background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") }.navbar-light .navbar-text {color: rgba(0,0,0,.5) }.navbar-light .navbar-text a {color: rgba(0,0,0,.9) }.navbar-light .navbar-text a:focus, .navbar-light .navbar-text a:hover {color: rgba(0,0,0,.9) }.navbar-dark .navbar-brand, .navbar-themed .navbar-brand {color: #fff }.navbar-dark .navbar-brand:focus, .navbar-dark .navbar-brand:hover, .navbar-themed .navbar-brand:focus, .navbar-themed .navbar-brand:hover {color: #fff }.navbar-dark .navbar-nav .nav-link, .navbar-themed .navbar-nav .nav-link {color: rgba(255,255,255,.5) }.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover, .navbar-themed .navbar-nav .nav-link:focus, .navbar-themed .navbar-nav .nav-link:hover {color: rgba(255,255,255,.75) }.navbar-dark .navbar-nav .nav-link.disabled, .navbar-themed .navbar-nav .nav-link.disabled {color: rgba(255,255,255,.25) }.navbar-dark .navbar-nav .active > .nav-link, .navbar-dark .navbar-nav .nav-link.active, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .show > .nav-link, .navbar-themed .navbar-nav .active > .nav-link, .navbar-themed .navbar-nav .nav-link.active, .navbar-themed .navbar-nav .nav-link.show, .navbar-themed .navbar-nav .show > .nav-link {color: #fff }.navbar-dark .navbar-toggler, .navbar-themed .navbar-toggler {color: rgba(255,255,255,.5);border-color: rgba(255,255,255,.1) }.navbar-dark .navbar-toggler-icon, .navbar-themed .navbar-toggler-icon {background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") }.navbar-dark .navbar-text, .navbar-themed .navbar-text {color: rgba(255,255,255,.5) }.navbar-dark .navbar-text a, .navbar-themed .navbar-text a {color: #fff }.navbar-dark .navbar-text a:focus, .navbar-dark .navbar-text a:hover, .navbar-themed .navbar-text a:focus, .navbar-themed .navbar-text a:hover {color: #fff }.card {background-color: #212529;border: 1px solid rgba(255,255,255,.125) }.card > .list-group {border-top: inherit;border-bottom: inherit }.card > .card-header + .list-group, .card > .list-group + .card-footer {border-top: 0 }.card-header {background-color: rgba(255,255,255,.03);border-bottom: 1px solid rgba(255,255,255,.125) }.card-footer {background-color: rgba(255,255,255,.03);border-top: 1px solid rgba(255,255,255,.125) }.card-header-tabs {border-bottom: 0 }}@media (prefers-color-scheme:dark) and (min-width:576px) {.card-group > .card + .card {border-left: 0 }}@media (prefers-color-scheme:dark) {.accordion > .card:not(:last-of-type) {border-bottom: 0 }.breadcrumb {background-color: #343a40 }.breadcrumb-item + .breadcrumb-item::before {color: #ced4da }.breadcrumb-item.active {color: #ced4da }.page-link {color: #adadad;background-color: #000;border: 1px solid #495057 }.page-link:hover {color: #878787;background-color: #343a40;border-color: #495057 }.page-link:focus {box-shadow: 0 0 0 .2rem rgba(0,123,255,.25) }.page-item.active .page-link {color: #000;background-color: #3395ff;border-color: #3395ff }.page-item.disabled .page-link {color: #ced4da;background-color: #000;border-color: #495057 }}@media (prefers-color-scheme:dark) {.badge-primary {color: #e9ecef;background-color: #3395ff }a.badge-primary:focus, a.badge-primary:hover {color: #e9ecef;background-color: #007bff }a.badge-primary.focus, a.badge-primary:focus {box-shadow: 0 0 0 .2rem rgba(51,149,255,.5) }.badge-secondary {color: #e9ecef;background-color: #6c757d }a.badge-secondary:focus, a.badge-secondary:hover {color: #e9ecef;background-color: #545b62 }a.badge-secondary.focus, a.badge-secondary:focus {box-shadow: 0 0 0 .2rem rgba(108,117,125,.5) }.badge-success {color: #e9ecef;background-color: #28a745 }a.badge-success:focus, a.badge-success:hover {color: #e9ecef;background-color: #1e7e34 }a.badge-success.focus, a.badge-success:focus {box-shadow: 0 0 0 .2rem rgba(40,167,69,.5) }.badge-info {color: #e9ecef;background-color: #17a2b8 }a.badge-info:focus, a.badge-info:hover {color: #e9ecef;background-color: #117a8b }a.badge-info.focus, a.badge-info:focus {box-shadow: 0 0 0 .2rem rgba(23,162,184,.5) }.badge-warning {color: #343a40;background-color: #fd7e14 }a.badge-warning:focus, a.badge-warning:hover {color: #343a40;background-color: #dc6502 }a.badge-warning.focus, a.badge-warning:focus {box-shadow: 0 0 0 .2rem rgba(253,126,20,.5) }.badge-danger {color: #e9ecef;background-color: #dc3545 }a.badge-danger:focus, a.badge-danger:hover {color: #e9ecef;background-color: #bd2130 }a.badge-danger.focus, a.badge-danger:focus {box-shadow: 0 0 0 .2rem rgba(220,53,69,.5) }.badge-light {color: #343a40;background-color: #dee2e6 }a.badge-light:focus, a.badge-light:hover {color: #343a40;background-color: #c1c9d0 }a.badge-light.focus, a.badge-light:focus {box-shadow: 0 0 0 .2rem rgba(222,226,230,.5) }.badge-dark {color: #e9ecef;background-color: #343a40 }a.badge-dark:focus, a.badge-dark:hover {color: #e9ecef;background-color: #1d2124 }a.badge-dark.focus, a.badge-dark:focus {box-shadow: 0 0 0 .2rem rgba(52,58,64,.5) }.jumbotron {background-color: #343a40 }}@media (prefers-color-scheme:dark) {.alert {border: 1px solid transparent }.alert-heading {color: inherit }.alert-dismissible .close {color: inherit }.alert-primary {color: #1b4e85;background-color: #d6eaff;border-color: #c6e1ff }.alert-primary .alert-link {color: #12355b }.alert-secondary {color: #383d41;background-color: #e2e3e5;border-color: #d6d8db }.alert-secondary .alert-link {color: #202326 }.alert-success {color: #155724;background-color: #d4edda;border-color: #c3e6cb }.alert-success .alert-link {color: #0b2e13 }.alert-info {color: #0c5460;background-color: #d1ecf1;border-color: #bee5eb }.alert-info .alert-link {color: #062c33 }.alert-warning {color: #84420a;background-color: #ffe5d0;border-color: #fedbbd }.alert-warning .alert-link {color: #552a06 }.alert-danger {color: #721c24;background-color: #f8d7da;border-color: #f5c6cb }.alert-danger .alert-link {color: #491217 }.alert-light, .alert-themed-inverted {color: #737678;background-color: #f8f9fa;border-color: #f6f7f8 }.alert-light .alert-link, .alert-themed-inverted .alert-link {color: #5a5c5e }.alert-dark, .alert-themed {color: #1b1e21;background-color: #d6d8d9;border-color: #c6c8ca }.alert-dark .alert-link, .alert-themed .alert-link {color: #040505 }@-webkit-keyframes progress-bar-stripes {from {background-position: 1rem 0 }to {background-position: 0 0 }}@keyframes progress-bar-stripes {from {background-position: 1rem 0 }to {background-position: 0 0 }}.progress {background-color: #e9ecef }.progress-bar {color: #fff;background-color: #007bff }}@media (prefers-color-scheme:dark) {.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) }}@media (prefers-color-scheme:dark) {.list-group-item-action {color: #dee2e6 }.list-group-item-action:focus, .list-group-item-action:hover {color: #dee2e6;background-color: #212529 }.list-group-item-action:active {color: #d3d3d3;background-color: #343a40 }.list-group-item {background-color: rgba(25,29,33,.05);border: 1px solid rgba(255,255,255,.125) }.list-group-item.disabled, .list-group-item:disabled {color: #ced4da;background-color: rgba(25,29,33,.05) }.list-group-item.active {color: #000;background-color: #3395ff;border-color: #3395ff }}@media (prefers-color-scheme:dark) {.list-group-item-primary {color: #1b4e85;background-color: #c6e1ff }.list-group-item-primary.list-group-item-action:focus, .list-group-item-primary.list-group-item-action:hover {color: #1b4e85;background-color: #add4ff }.list-group-item-primary.list-group-item-action.active {color: #fff;background-color: #1b4e85;border-color: #1b4e85 }.list-group-item-secondary {color: #383d41;background-color: #d6d8db }.list-group-item-secondary.list-group-item-action:focus, .list-group-item-secondary.list-group-item-action:hover {color: #383d41;background-color: #c8cbcf }.list-group-item-secondary.list-group-item-action.active {color: #fff;background-color: #383d41;border-color: #383d41 }.list-group-item-success {color: #155724;background-color: #c3e6cb }.list-group-item-success.list-group-item-action:focus, .list-group-item-success.list-group-item-action:hover {color: #155724;background-color: #b1dfbb }.list-group-item-success.list-group-item-action.active {color: #fff;background-color: #155724;border-color: #155724 }.list-group-item-info {color: #0c5460;background-color: #bee5eb }.list-group-item-info.list-group-item-action:focus, .list-group-item-info.list-group-item-action:hover {color: #0c5460;background-color: #abdde5 }.list-group-item-info.list-group-item-action.active {color: #fff;background-color: #0c5460;border-color: #0c5460 }.list-group-item-warning {color: #84420a;background-color: #fedbbd }.list-group-item-warning.list-group-item-action:focus, .list-group-item-warning.list-group-item-action:hover {color: #84420a;background-color: #fecda4 }.list-group-item-warning.list-group-item-action.active {color: #fff;background-color: #84420a;border-color: #84420a }.list-group-item-danger {color: #721c24;background-color: #f5c6cb }.list-group-item-danger.list-group-item-action:focus, .list-group-item-danger.list-group-item-action:hover {color: #721c24;background-color: #f1b0b7 }.list-group-item-danger.list-group-item-action.active {color: #fff;background-color: #721c24;border-color: #721c24 }.list-group-item-light {color: #737678;background-color: #f6f7f8 }.list-group-item-light.list-group-item-action:focus, .list-group-item-light.list-group-item-action:hover {color: #737678;background-color: #e8eaed }.list-group-item-light.list-group-item-action.active {color: #fff;background-color: #737678;border-color: #737678 }.list-group-item-dark {color: #1b1e21;background-color: #c6c8ca }.list-group-item-dark.list-group-item-action:focus, .list-group-item-dark.list-group-item-action:hover {color: #1b1e21;background-color: #b9bbbe }.list-group-item-dark.list-group-item-action.active {color: #fff;background-color: #1b1e21;border-color: #1b1e21 }.close {color: #fff;text-shadow: 0 1px 0 #000 }.close:hover {color: #fff }button.close {background-color: transparent;border: 0 }.toast {background-color: rgba(0,0,0,.85);border: 1px solid rgba(255,255,255,.1);box-shadow: 0 .25rem .75rem rgba(255,255,255,.1) }.toast-header {color: #ced4da;background-color: rgba(0,0,0,.85);border-bottom: 1px solid rgba(255,255,255,.05) }}@media (prefers-color-scheme:dark) {.modal-content {background-color: #191d21;border: 1px solid rgba(255,255,255,.2) }.modal-backdrop {background-color: #000 }.modal-header {border-bottom: 1px solid #343a40 }.modal-footer {border-top: 1px solid #343a40 }}@media (prefers-color-scheme:dark) {.tooltip {text-shadow: none }.tooltip .arrow::before {border-color: transparent }.tooltip-inner {color: #fff;background-color: #000 }.popover {text-shadow: none;background-color: #fff;border: 1px solid rgba(0,0,0,.2) }.popover .arrow::after, .popover .arrow::before {border-color: transparent }.bs-popover-auto[x-placement^=bottom] .popover-header::before, .bs-popover-bottom .popover-header::before {border-bottom: 1px solid #f7f7f7 }.popover-header {background-color: #f7f7f7;border-bottom: 1px solid #ebebeb }.popover-body {color: #212529 }}@media (prefers-color-scheme:dark) {.carousel-control-next, .carousel-control-prev {color: #fff;background: 0 0;border: 0 }}@media (prefers-color-scheme:dark) {.carousel-control-next:focus, .carousel-control-next:hover, .carousel-control-prev:focus, .carousel-control-prev:hover {color: #fff }.carousel-control-next-icon, .carousel-control-prev-icon {background: 50%/100% 100% no-repeat }.carousel-control-prev-icon {background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e") }.carousel-control-next-icon {background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e") }.carousel-indicators li {background-color: #fff;border-top: 10px solid transparent;border-bottom: 10px solid transparent }}@media (prefers-color-scheme:dark) {.carousel-caption {color: #fff }@-webkit-keyframes spinner-border {to {transform: rotate(360deg) }}@keyframes spinner-border {to {transform: rotate(360deg) }}.spinner-border {border: .25em solid currentcolor }@-webkit-keyframes spinner-grow {0% {transform: scale(0) }50% {opacity: 1;transform: none }}@keyframes spinner-grow {0% {transform: scale(0) }50% {opacity: 1;transform: none }}.spinner-grow {background-color: currentcolor }}@media (prefers-color-scheme:dark) {.bg-primary {background-color: #3395ff!important }a.bg-primary:focus, a.bg-primary:hover, button.bg-primary:focus, button.bg-primary:hover {background-color: #007bff!important }.bg-secondary {background-color: #6c757d!important }a.bg-secondary:focus, a.bg-secondary:hover, button.bg-secondary:focus, button.bg-secondary:hover {background-color: #545b62!important }.bg-success {background-color: #28a745!important }a.bg-success:focus, a.bg-success:hover, button.bg-success:focus, button.bg-success:hover {background-color: #1e7e34!important }.bg-info {background-color: #17a2b8!important }a.bg-info:focus, a.bg-info:hover, button.bg-info:focus, button.bg-info:hover {background-color: #117a8b!important }.bg-warning {background-color: #fd7e14!important }a.bg-warning:focus, a.bg-warning:hover, button.bg-warning:focus, button.bg-warning:hover {background-color: #dc6502!important }.bg-danger {background-color: #dc3545!important }a.bg-danger:focus, a.bg-danger:hover, button.bg-danger:focus, button.bg-danger:hover {background-color: #bd2130!important }.bg-light, .bg-themed-inverted {background-color: #dee2e6!important }a.bg-light:focus, a.bg-light:hover, a.bg-themed-inverted:focus, a.bg-themed-inverted:hover, button.bg-light:focus, button.bg-light:hover, button.bg-themed-inverted:focus, button.bg-themed-inverted:hover {background-color: #c1c9d0!important }.bg-dark, .bg-themed, .navbar-themed {background-color: #343a40!important }a.bg-dark:focus, a.bg-dark:hover, a.bg-themed:focus, a.bg-themed:hover, a.navbar-themed:focus, a.navbar-themed:hover, button.bg-dark:focus, button.bg-dark:hover, button.bg-themed:focus, button.bg-themed:hover, button.navbar-themed:focus, button.navbar-themed:hover {background-color: #1d2124!important }.bg-white {background-color: #fff!important }.bg-transparent {background-color: transparent!important }.border {border: 1px solid #343a40!important }.border-top {border-top: 1px solid #343a40!important }.border-right {border-right: 1px solid #343a40!important }.border-bottom {border-bottom: 1px solid #343a40!important }.border-left {border-left: 1px solid #343a40!important }.border-0 {border: 0!important }.border-top-0 {border-top: 0!important }.border-right-0 {border-right: 0!important }.border-bottom-0 {border-bottom: 0!important }.border-left-0 {border-left: 0!important }.border-primary {border-color: #3395ff!important }.border-secondary {border-color: #6c757d!important }.border-success {border-color: #28a745!important }.border-info {border-color: #17a2b8!important }.border-warning {border-color: #fd7e14!important }.border-danger {border-color: #dc3545!important }.border-light {border-color: #dee2e6!important }.border-dark {border-color: #343a40!important }.border-white {border-color: #fff!important }}@media (prefers-color-scheme:dark) {.embed-responsive .embed-responsive-item, .embed-responsive embed, .embed-responsive iframe, .embed-responsive object, .embed-responsive video {border: 0 }}@media (prefers-color-scheme:dark) {@supports ((position:-webkit-sticky) or (position:sticky)) {.sticky-top {position: -webkit-sticky;position: sticky;top: 0;z-index: 1020 }}.sr-only {border: 0 }.shadow-sm {box-shadow: 0 .125rem .25rem rgba(0,0,0,.075)!important }.shadow {box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important }.shadow-lg {box-shadow: 0 1rem 3rem rgba(0,0,0,.175)!important }.shadow-none {box-shadow: none!important }}@media (prefers-color-scheme:dark) {.stretched-link::after {background-color: rgba(0,0,0,0) }}@media (prefers-color-scheme:dark) {.text-white {color: #fff!important }.text-primary {color: #3395ff!important }a.text-primary:focus, a.text-primary:hover {color: #006fe6!important }.text-secondary {color: #6c757d!important }a.text-secondary:focus, a.text-secondary:hover {color: #494f54!important }.text-success {color: #28a745!important }a.text-success:focus, a.text-success:hover {color: #19692c!important }.text-info {color: #17a2b8!important }a.text-info:focus, a.text-info:hover {color: #0f6674!important }.text-warning {color: #fd7e14!important }a.text-warning:focus, a.text-warning:hover {color: #c35a02!important }.text-danger {color: #dc3545!important }a.text-danger:focus, a.text-danger:hover {color: #a71d2a!important }.text-light, .text-themed {color: #dee2e6!important }a.text-light:focus, a.text-light:hover, a.text-themed:focus, a.text-themed:hover {color: #b2bcc5!important }.text-dark, .text-themed-inverted {color: #343a40!important }a.text-dark:focus, a.text-dark:hover, a.text-themed-inverted:focus, a.text-themed-inverted:hover {color: #121416!important }.text-body {color: #d3d3d3!important }.text-muted {color: #6c757d!important }.text-black-50 {color: rgba(0,0,0,.5)!important }.text-white-50 {color: rgba(255,255,255,.5)!important }.text-hide {color: transparent;text-shadow: none;background-color: transparent;border: 0 }.text-reset {color: inherit!important }}
\ No newline at end of file
diff --git a/uffd/static/style.css b/uffd/static/style.css
index dde08a59..47fa44c8 100644
--- a/uffd/static/style.css
+++ b/uffd/static/style.css
@@ -6,3 +6,42 @@
 	line-height: 2em;
 	background-color: #f5f5f5;
 }
+
+.narrow-card {
+	background: #f7f7f7;
+	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
+	padding: 30px;
+}
+
+.qrcode {
+	background: #ffffff;
+}
+
+@media (prefers-color-scheme: dark) {
+	.footer {
+		background-color: #23282d;
+	}
+
+	.narrow-card {
+		background: #292e33;
+	}
+
+	a {
+		color: #3395ff;
+		background-color: transparent
+	}
+	a:hover {
+		color: #0d82ff
+	}
+
+	.btn-link {
+		color: #3395ff;
+	}
+	.btn-link:hover {
+		color: #0d82ff;
+	}
+	.btn-link.disabled,
+	.btn-link:disabled {
+		color: #3395ff;
+	}
+}
diff --git a/uffd/template_helper.py b/uffd/template_helper.py
index ed46b865..e2f42dbc 100644
--- a/uffd/template_helper.py
+++ b/uffd/template_helper.py
@@ -15,13 +15,18 @@ def register_template_helper(app):
 
 	@app.template_filter()
 	def qrcode_svg(content, **attrs): #pylint: disable=unused-variable
-		img = qrcode.make(content, image_factory=qrcode.image.svg.SvgPathImage, border=0)
+		img = qrcode.make(content, image_factory=qrcode.image.svg.SvgPathImage, border=4)
 		svg = img.get_image()
 		for key, value, in attrs.items():
 			svg.set(key, value)
 		buf = io.BytesIO()
 		img.save(buf)
-		return Markup(buf.getvalue().decode().replace('<?xml version=\'1.0\' encoding=\'UTF-8\'?>\n', '').replace(' id="qr-path" ', ' '))
+		return Markup(
+			buf.getvalue().decode()
+			.replace('<?xml version=\'1.0\' encoding=\'UTF-8\'?>\n', '')
+			.replace(' id="qr-path" ', ' ')
+			.replace('<svg ', '<svg class="qrcode" ')
+		)
 
 	@app.template_filter()
 	def datauri(data, mimetype='text/plain'): #pylint: disable=unused-variable
diff --git a/uffd/templates/403.html b/uffd/templates/403.html
index 5a19dc98..b6c70b90 100644
--- a/uffd/templates/403.html
+++ b/uffd/templates/403.html
@@ -2,7 +2,7 @@
 
 {% block body %}
 <div class="row mt-2 justify-content-center">
-	<div class="col-lg-6 col-md-10" style="background: #f7f7f7; box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3); padding: 30px;">
+	<div class="col-lg-6 col-md-10 narrow-card">
 		<div class="text-center">
 			<img alt="branding logo" src="{{ config.get("BRANDING_LOGO_URL") }}" class="col-lg-8 col-md-12" >
 		</div>
diff --git a/uffd/templates/base.html b/uffd/templates/base.html
index d3a8b138..e067a994 100644
--- a/uffd/templates/base.html
+++ b/uffd/templates/base.html
@@ -7,6 +7,7 @@
 		<title>{% block title %}{{ config['SITE_TITLE'] }}{% endblock %}</title>
 
 		<link href="{{ url_for('static', filename="bootstrap/bootstrap.min.css") }}" rel="stylesheet">
+		<link href="{{ url_for('static', filename="bootstrap/bootstrap-prefers-dark-color-only.min.css") }}" rel="stylesheet">
 		<link href="{{ url_for('static', filename="fa/css/all.css") }}" rel="stylesheet">
 		<link href="{{ url_for('static', filename="style.css") }}" rel="stylesheet">
 		<script src="{{ url_for('static', filename="jquery/jquery-3.4.1.min.js") }}"></script>
diff --git a/uffd/templates/base_narrow.html b/uffd/templates/base_narrow.html
index e4d2389b..3a350294 100644
--- a/uffd/templates/base_narrow.html
+++ b/uffd/templates/base_narrow.html
@@ -14,7 +14,7 @@
 		</div>
 	</div>
 	<div class="row justify-content-center">
-		<div class="col-lg-6 col-md-10" style="background: #f7f7f7; box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3); padding: 30px;">
+		<div class="col-lg-6 col-md-10 narrow-card">
 			<div class="text-center">
 				<img alt="branding logo" src="{{ config.get("BRANDING_LOGO_URL") }}" class="col-lg-8 col-md-12" >
 			</div>
-- 
GitLab