﻿/* bs4-compat.css - Bootstrap 4.6 class names on Bootstrap 5.3 pages. GENERATED by build_bs4_compat.ps1 on 2026-09-28; do not edit by hand. */
/* Load after bootstrap 5 CSS, on BS5 pages only. See documentation/bs5_migration. */

/* =========================================================================================== */
/* 1. COMPAT - BS4 markup the content sweep left in place                                        */
/* =========================================================================================== */

/* rule 304 text-justify */
.text-justify { text-align: justify !important; }

/* rule 290 negative margins (off by default in BS5's compiled CSS) */
.m-n1 { margin: -.25rem !important; }
.mt-n1, .my-n1 { margin-top: -.25rem !important; }
.mr-n1, .mx-n1 { margin-right: -.25rem !important; }
.mb-n1, .my-n1 { margin-bottom: -.25rem !important; }
.ml-n1, .mx-n1 { margin-left: -.25rem !important; }
.m-n2 { margin: -.5rem !important; }
.mt-n2, .my-n2 { margin-top: -.5rem !important; }
.mr-n2, .mx-n2 { margin-right: -.5rem !important; }
.mb-n2, .my-n2 { margin-bottom: -.5rem !important; }
.ml-n2, .mx-n2 { margin-left: -.5rem !important; }
.m-n3 { margin: -1rem !important; }
.mt-n3, .my-n3 { margin-top: -1rem !important; }
.mr-n3, .mx-n3 { margin-right: -1rem !important; }
.mb-n3, .my-n3 { margin-bottom: -1rem !important; }
.ml-n3, .mx-n3 { margin-left: -1rem !important; }
.m-n4 { margin: -1.5rem !important; }
.mt-n4, .my-n4 { margin-top: -1.5rem !important; }
.mr-n4, .mx-n4 { margin-right: -1.5rem !important; }
.mb-n4, .my-n4 { margin-bottom: -1.5rem !important; }
.ml-n4, .mx-n4 { margin-left: -1.5rem !important; }
.m-n5 { margin: -3rem !important; }
.mt-n5, .my-n5 { margin-top: -3rem !important; }
.mr-n5, .mx-n5 { margin-right: -3rem !important; }
.mb-n5, .my-n5 { margin-bottom: -3rem !important; }
.ml-n5, .mx-n5 { margin-left: -3rem !important; }
@media (min-width: 576px) {
	.m-sm-n1 { margin: -.25rem !important; }
	.mt-sm-n1, .my-sm-n1 { margin-top: -.25rem !important; }
	.mr-sm-n1, .mx-sm-n1 { margin-right: -.25rem !important; }
	.mb-sm-n1, .my-sm-n1 { margin-bottom: -.25rem !important; }
	.ml-sm-n1, .mx-sm-n1 { margin-left: -.25rem !important; }
	.m-sm-n2 { margin: -.5rem !important; }
	.mt-sm-n2, .my-sm-n2 { margin-top: -.5rem !important; }
	.mr-sm-n2, .mx-sm-n2 { margin-right: -.5rem !important; }
	.mb-sm-n2, .my-sm-n2 { margin-bottom: -.5rem !important; }
	.ml-sm-n2, .mx-sm-n2 { margin-left: -.5rem !important; }
	.m-sm-n3 { margin: -1rem !important; }
	.mt-sm-n3, .my-sm-n3 { margin-top: -1rem !important; }
	.mr-sm-n3, .mx-sm-n3 { margin-right: -1rem !important; }
	.mb-sm-n3, .my-sm-n3 { margin-bottom: -1rem !important; }
	.ml-sm-n3, .mx-sm-n3 { margin-left: -1rem !important; }
	.m-sm-n4 { margin: -1.5rem !important; }
	.mt-sm-n4, .my-sm-n4 { margin-top: -1.5rem !important; }
	.mr-sm-n4, .mx-sm-n4 { margin-right: -1.5rem !important; }
	.mb-sm-n4, .my-sm-n4 { margin-bottom: -1.5rem !important; }
	.ml-sm-n4, .mx-sm-n4 { margin-left: -1.5rem !important; }
	.m-sm-n5 { margin: -3rem !important; }
	.mt-sm-n5, .my-sm-n5 { margin-top: -3rem !important; }
	.mr-sm-n5, .mx-sm-n5 { margin-right: -3rem !important; }
	.mb-sm-n5, .my-sm-n5 { margin-bottom: -3rem !important; }
	.ml-sm-n5, .mx-sm-n5 { margin-left: -3rem !important; }
}
@media (min-width: 768px) {
	.m-md-n1 { margin: -.25rem !important; }
	.mt-md-n1, .my-md-n1 { margin-top: -.25rem !important; }
	.mr-md-n1, .mx-md-n1 { margin-right: -.25rem !important; }
	.mb-md-n1, .my-md-n1 { margin-bottom: -.25rem !important; }
	.ml-md-n1, .mx-md-n1 { margin-left: -.25rem !important; }
	.m-md-n2 { margin: -.5rem !important; }
	.mt-md-n2, .my-md-n2 { margin-top: -.5rem !important; }
	.mr-md-n2, .mx-md-n2 { margin-right: -.5rem !important; }
	.mb-md-n2, .my-md-n2 { margin-bottom: -.5rem !important; }
	.ml-md-n2, .mx-md-n2 { margin-left: -.5rem !important; }
	.m-md-n3 { margin: -1rem !important; }
	.mt-md-n3, .my-md-n3 { margin-top: -1rem !important; }
	.mr-md-n3, .mx-md-n3 { margin-right: -1rem !important; }
	.mb-md-n3, .my-md-n3 { margin-bottom: -1rem !important; }
	.ml-md-n3, .mx-md-n3 { margin-left: -1rem !important; }
	.m-md-n4 { margin: -1.5rem !important; }
	.mt-md-n4, .my-md-n4 { margin-top: -1.5rem !important; }
	.mr-md-n4, .mx-md-n4 { margin-right: -1.5rem !important; }
	.mb-md-n4, .my-md-n4 { margin-bottom: -1.5rem !important; }
	.ml-md-n4, .mx-md-n4 { margin-left: -1.5rem !important; }
	.m-md-n5 { margin: -3rem !important; }
	.mt-md-n5, .my-md-n5 { margin-top: -3rem !important; }
	.mr-md-n5, .mx-md-n5 { margin-right: -3rem !important; }
	.mb-md-n5, .my-md-n5 { margin-bottom: -3rem !important; }
	.ml-md-n5, .mx-md-n5 { margin-left: -3rem !important; }
}
@media (min-width: 992px) {
	.m-lg-n1 { margin: -.25rem !important; }
	.mt-lg-n1, .my-lg-n1 { margin-top: -.25rem !important; }
	.mr-lg-n1, .mx-lg-n1 { margin-right: -.25rem !important; }
	.mb-lg-n1, .my-lg-n1 { margin-bottom: -.25rem !important; }
	.ml-lg-n1, .mx-lg-n1 { margin-left: -.25rem !important; }
	.m-lg-n2 { margin: -.5rem !important; }
	.mt-lg-n2, .my-lg-n2 { margin-top: -.5rem !important; }
	.mr-lg-n2, .mx-lg-n2 { margin-right: -.5rem !important; }
	.mb-lg-n2, .my-lg-n2 { margin-bottom: -.5rem !important; }
	.ml-lg-n2, .mx-lg-n2 { margin-left: -.5rem !important; }
	.m-lg-n3 { margin: -1rem !important; }
	.mt-lg-n3, .my-lg-n3 { margin-top: -1rem !important; }
	.mr-lg-n3, .mx-lg-n3 { margin-right: -1rem !important; }
	.mb-lg-n3, .my-lg-n3 { margin-bottom: -1rem !important; }
	.ml-lg-n3, .mx-lg-n3 { margin-left: -1rem !important; }
	.m-lg-n4 { margin: -1.5rem !important; }
	.mt-lg-n4, .my-lg-n4 { margin-top: -1.5rem !important; }
	.mr-lg-n4, .mx-lg-n4 { margin-right: -1.5rem !important; }
	.mb-lg-n4, .my-lg-n4 { margin-bottom: -1.5rem !important; }
	.ml-lg-n4, .mx-lg-n4 { margin-left: -1.5rem !important; }
	.m-lg-n5 { margin: -3rem !important; }
	.mt-lg-n5, .my-lg-n5 { margin-top: -3rem !important; }
	.mr-lg-n5, .mx-lg-n5 { margin-right: -3rem !important; }
	.mb-lg-n5, .my-lg-n5 { margin-bottom: -3rem !important; }
	.ml-lg-n5, .mx-lg-n5 { margin-left: -3rem !important; }
}
@media (min-width: 1200px) {
	.m-xl-n1 { margin: -.25rem !important; }
	.mt-xl-n1, .my-xl-n1 { margin-top: -.25rem !important; }
	.mr-xl-n1, .mx-xl-n1 { margin-right: -.25rem !important; }
	.mb-xl-n1, .my-xl-n1 { margin-bottom: -.25rem !important; }
	.ml-xl-n1, .mx-xl-n1 { margin-left: -.25rem !important; }
	.m-xl-n2 { margin: -.5rem !important; }
	.mt-xl-n2, .my-xl-n2 { margin-top: -.5rem !important; }
	.mr-xl-n2, .mx-xl-n2 { margin-right: -.5rem !important; }
	.mb-xl-n2, .my-xl-n2 { margin-bottom: -.5rem !important; }
	.ml-xl-n2, .mx-xl-n2 { margin-left: -.5rem !important; }
	.m-xl-n3 { margin: -1rem !important; }
	.mt-xl-n3, .my-xl-n3 { margin-top: -1rem !important; }
	.mr-xl-n3, .mx-xl-n3 { margin-right: -1rem !important; }
	.mb-xl-n3, .my-xl-n3 { margin-bottom: -1rem !important; }
	.ml-xl-n3, .mx-xl-n3 { margin-left: -1rem !important; }
	.m-xl-n4 { margin: -1.5rem !important; }
	.mt-xl-n4, .my-xl-n4 { margin-top: -1.5rem !important; }
	.mr-xl-n4, .mx-xl-n4 { margin-right: -1.5rem !important; }
	.mb-xl-n4, .my-xl-n4 { margin-bottom: -1.5rem !important; }
	.ml-xl-n4, .mx-xl-n4 { margin-left: -1.5rem !important; }
	.m-xl-n5 { margin: -3rem !important; }
	.mt-xl-n5, .my-xl-n5 { margin-top: -3rem !important; }
	.mr-xl-n5, .mx-xl-n5 { margin-right: -3rem !important; }
	.mb-xl-n5, .my-xl-n5 { margin-bottom: -3rem !important; }
	.ml-xl-n5, .mx-xl-n5 { margin-left: -3rem !important; }
}

/* rule 404 form-row (BS5: row g-2). :where() keeps these below the col-* width rules. */
.form-row { display: flex; flex-wrap: wrap; margin-right: -5px; margin-left: -5px; }
:where(.form-row) > * { flex-shrink: 0; width: 100%; max-width: 100%; }
.form-row > .col, .form-row > [class*='col-'] { padding-right: 5px; padding-left: 5px; }

/* rule 405 form-inline */
.form-inline { display: flex; flex-flow: row wrap; align-items: center; }
.form-inline .form-check { width: 100%; }
@media (min-width: 576px) {
	.form-inline label { display: flex; align-items: center; justify-content: center; margin-bottom: 0; }
	.form-inline .form-group { display: flex; flex: 0 0 auto; flex-flow: row wrap; align-items: center; margin-bottom: 0; }
	.form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; }
	.form-inline .form-control-plaintext { display: inline-block; }
	.form-inline .input-group, .form-inline .custom-select, .form-inline .form-select { width: auto; }
	.form-inline .form-check { display: flex; align-items: center; justify-content: center; width: auto; padding-left: 0; }
	.form-inline .form-check-input { position: relative; flex-shrink: 0; margin-top: 0; margin-right: .25rem; margin-left: 0; }
}

/* rule 406 input-group-append / -prepend wrappers (BS5 puts children directly in .input-group) */
.input-group-prepend, .input-group-append { display: flex; }
.input-group-prepend .btn, .input-group-append .btn { position: relative; z-index: 2; }
.input-group-prepend .btn:focus, .input-group-append .btn:focus { z-index: 3; }
.input-group-prepend { margin-right: -1px; }
.input-group-append { margin-left: -1px; }
.input-group > .input-group-append > .btn, .input-group > .input-group-append > .input-group-text { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > .input-group-append:not(:last-child) > .btn, .input-group > .input-group-append:not(:last-child) > .input-group-text,
.input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .input-group-text { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group > .input-group-prepend:not(:first-child) > .btn, .input-group > .input-group-prepend:not(:first-child) > .input-group-text { border-top-left-radius: 0; border-bottom-left-radius: 0; }

/* rule 520 .close (BS5: .btn-close with an empty body) */
.close { float: right; font-size: 1.5rem; font-weight: 700; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; opacity: .5; }
.close:hover { color: #000; text-decoration: none; }
.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { opacity: .75; }
button.close { padding: 0; background-color: transparent; border: 0; }
a.close.disabled { pointer-events: none; }
.modal-header .close { padding: 1rem 1rem; margin: -1rem -1rem -1rem auto; }
.alert-dismissible .close { position: absolute; top: 0; right: 0; z-index: 2; padding: .75rem 1.25rem; color: inherit; }

/* rule 522 card-deck, rule 523 card-columns */
.card-deck .card { margin-bottom: 15px; }
@media (min-width: 576px) {
	.card-deck { display: flex; flex-flow: row wrap; margin-right: -15px; margin-left: -15px; }
	.card-deck .card { flex: 1 0 0%; margin-right: 15px; margin-bottom: 0; margin-left: 15px; }
	.card-columns { column-count: 3; column-gap: 1.25rem; orphans: 1; widows: 1; }
	.card-columns .card { display: inline-block; width: 100%; }
}
.card-columns .card { margin-bottom: .75rem; }

/* rule 521 jumbotron */
.jumbotron { padding: 2rem 1rem; margin-bottom: 2rem; background-color: #e9ecef; border-radius: .3rem; }
@media (min-width: 576px) { .jumbotron { padding: 4rem 2rem; } }
.jumbotron-fluid { padding-right: 0; padding-left: 0; border-radius: 0; }

/* rule 524 pre-scrollable, rule 305 text-hide */
.pre-scrollable { max-height: 340px; overflow-y: scroll; }
.text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; }

/* rule 525 order-6 .. order-12 (BS5 stops at order-5) */
.order-6 { order: 6; }
.order-7 { order: 7; }
.order-8 { order: 8; }
.order-9 { order: 9; }
.order-10 { order: 10; }
.order-11 { order: 11; }
.order-12 { order: 12; }
@media (min-width: 576px) {
	.order-sm-6 { order: 6; }
	.order-sm-7 { order: 7; }
	.order-sm-8 { order: 8; }
	.order-sm-9 { order: 9; }
	.order-sm-10 { order: 10; }
	.order-sm-11 { order: 11; }
	.order-sm-12 { order: 12; }
}
@media (min-width: 768px) {
	.order-md-6 { order: 6; }
	.order-md-7 { order: 7; }
	.order-md-8 { order: 8; }
	.order-md-9 { order: 9; }
	.order-md-10 { order: 10; }
	.order-md-11 { order: 11; }
	.order-md-12 { order: 12; }
}
@media (min-width: 992px) {
	.order-lg-6 { order: 6; }
	.order-lg-7 { order: 7; }
	.order-lg-8 { order: 8; }
	.order-lg-9 { order: 9; }
	.order-lg-10 { order: 10; }
	.order-lg-11 { order: 11; }
	.order-lg-12 { order: 12; }
}
@media (min-width: 1200px) {
	.order-xl-6 { order: 6; }
	.order-xl-7 { order: 7; }
	.order-xl-8 { order: 8; }
	.order-xl-9 { order: 9; }
	.order-xl-10 { order: 10; }
	.order-xl-11 { order: 11; }
	.order-xl-12 { order: 12; }
}

/* rules 508/509 media object (manual items; this keeps them rendering until hand-fixed) */
.media { display: flex; align-items: flex-start; }
.media-body { flex: 1; }

/* =========================================================================================== */
/* 2. SAFETY NET - BS4 names the sweep dual-wrote; should be unused after the sweep              */
/* =========================================================================================== */

/* rules 201-204 ml/mr/pl/pr */
.ml-0 { margin-left: 0 !important; }
.mr-0 { margin-right: 0 !important; }
.pl-0 { padding-left: 0 !important; }
.pr-0 { padding-right: 0 !important; }
.ml-1 { margin-left: .25rem !important; }
.mr-1 { margin-right: .25rem !important; }
.pl-1 { padding-left: .25rem !important; }
.pr-1 { padding-right: .25rem !important; }
.ml-2 { margin-left: .5rem !important; }
.mr-2 { margin-right: .5rem !important; }
.pl-2 { padding-left: .5rem !important; }
.pr-2 { padding-right: .5rem !important; }
.ml-3 { margin-left: 1rem !important; }
.mr-3 { margin-right: 1rem !important; }
.pl-3 { padding-left: 1rem !important; }
.pr-3 { padding-right: 1rem !important; }
.ml-4 { margin-left: 1.5rem !important; }
.mr-4 { margin-right: 1.5rem !important; }
.pl-4 { padding-left: 1.5rem !important; }
.pr-4 { padding-right: 1.5rem !important; }
.ml-5 { margin-left: 3rem !important; }
.mr-5 { margin-right: 3rem !important; }
.pl-5 { padding-left: 3rem !important; }
.pr-5 { padding-right: 3rem !important; }
.ml-auto { margin-left: auto !important; }
.mr-auto { margin-right: auto !important; }
@media (min-width: 576px) {
	.ml-sm-0 { margin-left: 0 !important; }
	.mr-sm-0 { margin-right: 0 !important; }
	.pl-sm-0 { padding-left: 0 !important; }
	.pr-sm-0 { padding-right: 0 !important; }
	.ml-sm-1 { margin-left: .25rem !important; }
	.mr-sm-1 { margin-right: .25rem !important; }
	.pl-sm-1 { padding-left: .25rem !important; }
	.pr-sm-1 { padding-right: .25rem !important; }
	.ml-sm-2 { margin-left: .5rem !important; }
	.mr-sm-2 { margin-right: .5rem !important; }
	.pl-sm-2 { padding-left: .5rem !important; }
	.pr-sm-2 { padding-right: .5rem !important; }
	.ml-sm-3 { margin-left: 1rem !important; }
	.mr-sm-3 { margin-right: 1rem !important; }
	.pl-sm-3 { padding-left: 1rem !important; }
	.pr-sm-3 { padding-right: 1rem !important; }
	.ml-sm-4 { margin-left: 1.5rem !important; }
	.mr-sm-4 { margin-right: 1.5rem !important; }
	.pl-sm-4 { padding-left: 1.5rem !important; }
	.pr-sm-4 { padding-right: 1.5rem !important; }
	.ml-sm-5 { margin-left: 3rem !important; }
	.mr-sm-5 { margin-right: 3rem !important; }
	.pl-sm-5 { padding-left: 3rem !important; }
	.pr-sm-5 { padding-right: 3rem !important; }
	.ml-sm-auto { margin-left: auto !important; }
	.mr-sm-auto { margin-right: auto !important; }
}
@media (min-width: 768px) {
	.ml-md-0 { margin-left: 0 !important; }
	.mr-md-0 { margin-right: 0 !important; }
	.pl-md-0 { padding-left: 0 !important; }
	.pr-md-0 { padding-right: 0 !important; }
	.ml-md-1 { margin-left: .25rem !important; }
	.mr-md-1 { margin-right: .25rem !important; }
	.pl-md-1 { padding-left: .25rem !important; }
	.pr-md-1 { padding-right: .25rem !important; }
	.ml-md-2 { margin-left: .5rem !important; }
	.mr-md-2 { margin-right: .5rem !important; }
	.pl-md-2 { padding-left: .5rem !important; }
	.pr-md-2 { padding-right: .5rem !important; }
	.ml-md-3 { margin-left: 1rem !important; }
	.mr-md-3 { margin-right: 1rem !important; }
	.pl-md-3 { padding-left: 1rem !important; }
	.pr-md-3 { padding-right: 1rem !important; }
	.ml-md-4 { margin-left: 1.5rem !important; }
	.mr-md-4 { margin-right: 1.5rem !important; }
	.pl-md-4 { padding-left: 1.5rem !important; }
	.pr-md-4 { padding-right: 1.5rem !important; }
	.ml-md-5 { margin-left: 3rem !important; }
	.mr-md-5 { margin-right: 3rem !important; }
	.pl-md-5 { padding-left: 3rem !important; }
	.pr-md-5 { padding-right: 3rem !important; }
	.ml-md-auto { margin-left: auto !important; }
	.mr-md-auto { margin-right: auto !important; }
}
@media (min-width: 992px) {
	.ml-lg-0 { margin-left: 0 !important; }
	.mr-lg-0 { margin-right: 0 !important; }
	.pl-lg-0 { padding-left: 0 !important; }
	.pr-lg-0 { padding-right: 0 !important; }
	.ml-lg-1 { margin-left: .25rem !important; }
	.mr-lg-1 { margin-right: .25rem !important; }
	.pl-lg-1 { padding-left: .25rem !important; }
	.pr-lg-1 { padding-right: .25rem !important; }
	.ml-lg-2 { margin-left: .5rem !important; }
	.mr-lg-2 { margin-right: .5rem !important; }
	.pl-lg-2 { padding-left: .5rem !important; }
	.pr-lg-2 { padding-right: .5rem !important; }
	.ml-lg-3 { margin-left: 1rem !important; }
	.mr-lg-3 { margin-right: 1rem !important; }
	.pl-lg-3 { padding-left: 1rem !important; }
	.pr-lg-3 { padding-right: 1rem !important; }
	.ml-lg-4 { margin-left: 1.5rem !important; }
	.mr-lg-4 { margin-right: 1.5rem !important; }
	.pl-lg-4 { padding-left: 1.5rem !important; }
	.pr-lg-4 { padding-right: 1.5rem !important; }
	.ml-lg-5 { margin-left: 3rem !important; }
	.mr-lg-5 { margin-right: 3rem !important; }
	.pl-lg-5 { padding-left: 3rem !important; }
	.pr-lg-5 { padding-right: 3rem !important; }
	.ml-lg-auto { margin-left: auto !important; }
	.mr-lg-auto { margin-right: auto !important; }
}
@media (min-width: 1200px) {
	.ml-xl-0 { margin-left: 0 !important; }
	.mr-xl-0 { margin-right: 0 !important; }
	.pl-xl-0 { padding-left: 0 !important; }
	.pr-xl-0 { padding-right: 0 !important; }
	.ml-xl-1 { margin-left: .25rem !important; }
	.mr-xl-1 { margin-right: .25rem !important; }
	.pl-xl-1 { padding-left: .25rem !important; }
	.pr-xl-1 { padding-right: .25rem !important; }
	.ml-xl-2 { margin-left: .5rem !important; }
	.mr-xl-2 { margin-right: .5rem !important; }
	.pl-xl-2 { padding-left: .5rem !important; }
	.pr-xl-2 { padding-right: .5rem !important; }
	.ml-xl-3 { margin-left: 1rem !important; }
	.mr-xl-3 { margin-right: 1rem !important; }
	.pl-xl-3 { padding-left: 1rem !important; }
	.pr-xl-3 { padding-right: 1rem !important; }
	.ml-xl-4 { margin-left: 1.5rem !important; }
	.mr-xl-4 { margin-right: 1.5rem !important; }
	.pl-xl-4 { padding-left: 1.5rem !important; }
	.pr-xl-4 { padding-right: 1.5rem !important; }
	.ml-xl-5 { margin-left: 3rem !important; }
	.mr-xl-5 { margin-right: 3rem !important; }
	.pl-xl-5 { padding-left: 3rem !important; }
	.pr-xl-5 { padding-right: 3rem !important; }
	.ml-xl-auto { margin-left: auto !important; }
	.mr-xl-auto { margin-right: auto !important; }
}

/* rules 205-208 float / text left-right, rules 213-214 dropdown-menu left-right */
.float-left { float: left !important; }
.float-right { float: right !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.dropdown-menu-left { --bs-position: start; }
.dropdown-menu-left[data-bs-popper] { right: auto; left: 0; }
.dropdown-menu-right { --bs-position: end; }
.dropdown-menu-right[data-bs-popper] { right: 0; left: auto; }
@media (min-width: 576px) {
	.float-sm-left { float: left !important; }
	.float-sm-right { float: right !important; }
	.text-sm-left { text-align: left !important; }
	.text-sm-right { text-align: right !important; }
	.dropdown-menu-sm-left { --bs-position: start; }
	.dropdown-menu-sm-left[data-bs-popper] { right: auto; left: 0; }
	.dropdown-menu-sm-right { --bs-position: end; }
	.dropdown-menu-sm-right[data-bs-popper] { right: 0; left: auto; }
}
@media (min-width: 768px) {
	.float-md-left { float: left !important; }
	.float-md-right { float: right !important; }
	.text-md-left { text-align: left !important; }
	.text-md-right { text-align: right !important; }
	.dropdown-menu-md-left { --bs-position: start; }
	.dropdown-menu-md-left[data-bs-popper] { right: auto; left: 0; }
	.dropdown-menu-md-right { --bs-position: end; }
	.dropdown-menu-md-right[data-bs-popper] { right: 0; left: auto; }
}
@media (min-width: 992px) {
	.float-lg-left { float: left !important; }
	.float-lg-right { float: right !important; }
	.text-lg-left { text-align: left !important; }
	.text-lg-right { text-align: right !important; }
	.dropdown-menu-lg-left { --bs-position: start; }
	.dropdown-menu-lg-left[data-bs-popper] { right: auto; left: 0; }
	.dropdown-menu-lg-right { --bs-position: end; }
	.dropdown-menu-lg-right[data-bs-popper] { right: 0; left: auto; }
}
@media (min-width: 1200px) {
	.float-xl-left { float: left !important; }
	.float-xl-right { float: right !important; }
	.text-xl-left { text-align: left !important; }
	.text-xl-right { text-align: right !important; }
	.dropdown-menu-xl-left { --bs-position: start; }
	.dropdown-menu-xl-left[data-bs-popper] { right: auto; left: 0; }
	.dropdown-menu-xl-right { --bs-position: end; }
	.dropdown-menu-xl-right[data-bs-popper] { right: 0; left: auto; }
}
.dropleft .dropdown-menu[data-bs-popper] { top: 0; right: 100%; left: auto; margin-top: 0; margin-right: .125rem; }
.dropright .dropdown-menu[data-bs-popper] { top: 0; right: auto; left: 100%; margin-top: 0; margin-left: .125rem; }

/* rules 209-212 border / rounded left-right, rules 511-512 rounded-sm/lg */
.border-left { border-left: 1px solid #dee2e6 !important; }
.border-right { border-right: 1px solid #dee2e6 !important; }
.border-left-0 { border-left: 0 !important; }
.border-right-0 { border-right: 0 !important; }
.rounded-left { border-top-left-radius: .25rem !important; border-bottom-left-radius: .25rem !important; }
.rounded-right { border-top-right-radius: .25rem !important; border-bottom-right-radius: .25rem !important; }
.rounded-sm { border-radius: .2rem !important; }
.rounded-lg { border-radius: .3rem !important; }

/* rules 301-303 typography */
.font-weight-light { font-weight: 300 !important; }
.font-weight-lighter { font-weight: lighter !important; }
.font-weight-normal { font-weight: 400 !important; }
.font-weight-bold { font-weight: 700 !important; }
.font-weight-bolder { font-weight: bolder !important; }
.font-italic { font-style: italic !important; }
.text-monospace { font-family: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace !important; }

/* rules 306-307 sr-only */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.sr-only-focusable:active, .sr-only-focusable:focus { position: static !important; width: auto !important; height: auto !important; overflow: visible !important; clip: auto !important; white-space: normal !important; margin: 0 !important; }

/* rule 401 form-group, rules 402-403 custom-select / custom-range */
.form-group { margin-bottom: 1rem; }
.form-text { display: block; }

/* rules 501-502 badges (BS5 badges need a bg class) */
.badge-primary { color: #fff !important; background-color: RGBA(var(--bs-primary-rgb), 1) !important; }
.badge-secondary { color: #fff !important; background-color: RGBA(var(--bs-secondary-rgb), 1) !important; }
.badge-success { color: #fff !important; background-color: RGBA(var(--bs-success-rgb), 1) !important; }
.badge-danger { color: #fff !important; background-color: RGBA(var(--bs-danger-rgb), 1) !important; }
.badge-info { color: #fff !important; background-color: RGBA(var(--bs-info-rgb), 1) !important; }
.badge-dark { color: #fff !important; background-color: RGBA(var(--bs-dark-rgb), 1) !important; }
.badge-warning { color: #000 !important; background-color: RGBA(var(--bs-warning-rgb), 1) !important; }
.badge-light { color: #000 !important; background-color: RGBA(var(--bs-light-rgb), 1) !important; }
.badge-pill { padding-right: .6em; padding-left: .6em; border-radius: 10rem; }

/* rule 503 btn-block */
.btn-block { display: block; width: 100%; }
.btn-block + .btn-block { margin-top: .5rem; }

/* rule 504 no-gutters */
.no-gutters { --bs-gutter-x: 0; --bs-gutter-y: 0; }

/* rules 505-507 embed-responsive (content also carries BS5 .ratio) */
.embed-responsive { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; }
.embed-responsive::before { display: block; content: ''; }
.embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; }
.embed-responsive-21by9::before { padding-top: 42.857143%; }
.embed-responsive-16by9::before { padding-top: 56.25%; }
.embed-responsive-4by3::before { padding-top: 75%; }
.embed-responsive-1by1::before { padding-top: 100%; }

/* rule 510 thead-dark / thead-light */
.table .thead-dark th { color: #fff; background-color: #343a40; border-color: #454d55; }
.table .thead-light th { color: #495057; background-color: #e9ecef; border-color: #dee2e6; }

