/*!
 * BS5-ENABLE — teaches Bootstrap 3's stylesheet the state classes Bootstrap 5's
 * JavaScript writes.
 *
 * ---------------------------------------------------------------------------
 * WHY THIS EXISTS
 * ---------------------------------------------------------------------------
 * All seven advisories against bootstrap 3.3.7 are XSS, and every one of them is
 * in the JavaScript plugins -- data-target, tooltip/popover data-template, the
 * data-* attribute handling. A stylesheet has no executable surface, so none of
 * them is in the CSS.
 *
 * That makes the vulnerable half separable: ship Bootstrap 5's JS with the
 * bs5-compat.js shim, and keep Bootstrap 3's CSS and everything SmartAdmin
 * builds on top of it exactly as it is. A first attempt at replacing the CSS as
 * well is in this branch's history and was reverted -- the theme is written
 * against Bootstrap 3's definitions of .row, .col-*, .form-control, .btn,
 * .nav-tabs and Reboot, all of which Bootstrap 5 redefines, so swapping the base
 * out from under it loses the layout and most of the styling.
 *
 * What does NOT come free is state. The two halves disagree about the class that
 * means "this is open":
 *
 *     Bootstrap 3's CSS looks for   .in   and   .open
 *     Bootstrap 5's JS writes       .show   and never writes .in
 *
 * So Bootstrap 5 opens a modal, and Bootstrap 3's stylesheet -- watching for
 * .in -- never makes it visible. That is what this file fixes, by giving the
 * Bootstrap 5 class the declarations Bootstrap 3 attaches to its own.
 *
 * The values are copied from the compiled Bootstrap 3 stylesheet this app still
 * serves, so the two stay identical rather than merely similar.
 *
 * WHERE IT GOES: immediately after bootstrap.min.css, before the SmartAdmin
 * bundles -- these are Bootstrap-base-level rules and the theme overrides them.
 *
 * A CSS bridge is deliberate rather than hooking Bootstrap 5's shown/hidden
 * events from the shim: static rules cannot miss an event, cannot race a
 * transition, and cannot leave an element stuck open if a handler throws.
 */.fade.show{opacity:1}.modal.show .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-backdrop.show{opacity:.5}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.dropdown-menu.show{display:block}.popover-header{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-body{padding:9px 14px}.tooltip{pointer-events:none}