html { -webkit-text-size-adjust: 100%; }
[hidden] { display: none !important; }
button, input { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; height: auto; vertical-align: middle; }
h1, h2, h3, h4 { line-height: 1.2; }
p { margin-bottom: 1rem; }
ul, ol { padding-left: 2rem; margin-bottom: 1rem; }
hr { border: 0; border-top: 1px solid #ddd; }
.row { display: flex; flex-wrap: wrap; margin: 0 -12px; }
.row > * { width: 100%; min-width: 0; padding: 0 12px; }
.d-none { display: none !important; }
.d-flex { display: flex !important; }
.flex-wrap { flex-wrap: wrap; }
.align-items-center { align-items: center; }
.justify-content-between { justify-content: space-between; }
.justify-content-center { justify-content: center; }
.ms-auto { margin-left: auto; }
.mx-4 { margin-left: 1.5rem; margin-right: 1.5rem; }
.py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.py-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
.py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: .25rem !important; }
.mb-2 { margin-bottom: .5rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.border-top { border-top: 1px solid #ddd; }
.border-bottom { border-bottom: 1px solid #ddd; }
.text-center { text-align: center; }
.text-start { text-align: left; }
.text-muted { color: #666; }
.small { font-size: .875em; }
.list-unstyled { padding-left: 0; list-style: none; }
.input-group { display: flex; width: 100%; }
.form-control { flex: 1; width: 1%; min-width: 0; padding: .375rem .75rem; border: 1px solid #ddd; border-radius: .375rem 0 0 .375rem; }
.btn { display: inline-block; padding: .375rem .75rem; border: 1px solid transparent; border-radius: 0 .375rem .375rem 0; }
.btn-primary { color: #fff; background: #1976d2; }
.btn-primary:hover { background: #1565c0; }
.table-responsive { overflow-x: auto; }
.table { width: 100%; margin-bottom: 1rem; border-collapse: collapse; }
.table th, .table td { padding: .5rem; border: 1px solid #ddd; text-align: left; }
:focus-visible { outline: 3px solid #1565c0; outline-offset: 3px; }
.skip-link { position: absolute; top: -100px; left: 10px; padding: 10px; background: #fff; z-index: 1000; }
.skip-link:focus { top: 10px; }
@media (min-width: 768px) {
    .d-md-block { display: block !important; }
    .d-md-flex { display: flex !important; }
    .d-md-none, #mobileMenu { display: none !important; }
    .col-md-6 { width: 50%; }
}
@media (min-width: 992px) {
    .col-lg-9 { width: 75%; }
    .col-lg-3 { width: 25%; }
    .col-lg-8 { width: 66.666667%; }
}
