[Rt-commit] rt branch, 4.6-theme-trunk, repushed

? sunnavy sunnavy at bestpractical.com
Mon Apr 1 14:59:34 EDT 2019


The branch 4.6-theme-trunk was deleted and repushed:
       was fc63799a815a70dd479d90b9964ab26517e97647
       now 16a2901654aec2cf35b9455b5b81b0ccdd7b10f6

  1: 7f13f0055 =   1: 7f13f0055 Allow for multiple base themes by avoiding showing any to the user
  2: 0ce97154b =   2: 0ce97154b Add unaltered copies of base and rudder themes to make responsive
  3: 565e91062 =   3: 565e91062 rudder-responsive imports base-responsive rather than base
  4: c151cf258 =   4: c151cf258 Make boxcontainer padding rules less demanding
  5: 45e22b27c =   5: 45e22b27c Make RT at a glance two-column layout responsive
  6: 66a41a296 =   6: 66a41a296 Improve whitespace around content for rudder-responsive
  7: f0df65c03 =   7: f0df65c03 Generalize the two-column layout markup
  8: 4a2814fdb =   8: 4a2814fdb Add a grid system
  9: b7008bcd8 =   9: b7008bcd8 Make ticket display ShowSummary responsive
 10: 2a14260d4 =  10: 2a14260d4 Make search field really narrow on narrow screens
 11: 050d2b466 =  11: 050d2b466 Make the "new ticket in" and queue selector responsive
 12: 7293efce0 =  12: 7293efce0 Narrow gap between new ticket and search fields on narrow screens
 13: 26d3640d3 =  13: 26d3640d3 Display more of the title when the page is narrow
 14: 743fca5fe =  14: 743fca5fe On narrow screens pop up a modal for selecting ticket queue
 15: fc435d351 =  15: fc435d351 Hide "RT for example.com" on narrow screens
 16: c12f7a2fd =  16: c12f7a2fd Eliminate history display's margin-left on narrow screens
 17: 031767c67 =  17: 031767c67 On very narrow screens, zero out body padding
 18: a70a12eb8 =  18: a70a12eb8 Get rid of horizontal padding on ticket history on narrow screens
 19: ed77add0f =  19: ed77add0f Collapse padding at a wider (700px) viewport
 20: bf6072713 =  20: bf6072713 Prevent reminders from breaking layout with its long text field
 21: 3bf0b2783 =  21: 3bf0b2783 Convert Links table to have .fields/.field using table CSS
 22: ef390831d =  22: ef390831d Improve styling of links for small screens
 23: 9e0e238dc =  23: 9e0e238dc Don't wrap labels
 24: abde98f8c =  24: abde98f8c Limit the breakdown of fields tables to just "wide" ones
 25: a036b7218 =  25: a036b7218 Convert basics, dates, and people groupings away from tables
 26: 18410558f =  26: 18410558f Add margin-left to <li>s within a wide fields table that breaks
 27: abe679392 =  27: abe679392 Make padding on field names more consistent
 28: 4535278a7 =  28: 4535278a7 Convert new reminder form from table to fields
 29: 902013336 =  29: 902013336 Improve rendering of ticket update page
 30: b83145a17 =  30: b83145a17 Add messagedetails to jumbo page titlebox
 31: b30e4e3be =  31: b30e4e3be Improve display of reminders table and form
 32: a3debdb88 =  32: a3debdb88 Avoid breaking layout with new reminder subject
 33: a4ec31340 =  33: a4ec31340 Remove minimum height from titleboxes
 34: 9e2e9f847 =  34: 9e2e9f847 Restore original titlebox padding rule but only for fields
 35: f048c2714 =  35: f048c2714 Remove spurious <br> tag
 36: 14bd5afdb =  36: 14bd5afdb Switch ticket update from tables to fields
 37: b6076f108 =  37: b6076f108 Linearize ticket update form on narrow widths
 38: 9847f9464 =  38: 9847f9464 Make update form take up 100% of the titlebox
 39: 3f12ac4ab =  39: 3f12ac4ab Fix reply cc/bcc/subject fields to be 100% width
 40: 7d903afc9 =  40: 7d903afc9 Rename .crypto to .empty to better explain what it's for
 41: 0b1e7df31 =  41: 0b1e7df31 Make ticket create responsive
 42: 21b722a26 =  42: 21b722a26 First pass at responsive for SelfService/Create
 43: a5c7652c3 =  43: a5c7652c3 First pass at responsive for SelfService/Update
 44: 8b58c4a15 =  44: 8b58c4a15 Remove AsTable from Edit CFs
 45: 921d72c94 =  45: 921d72c94 Remove these pre-responsive CF edit styles
 46: f5bcb7577 =  46: f5bcb7577 Wrap selfservice update form in a titlebox
 47: 94e44ea62 =  47: 94e44ea62 Wrap selfservice create form in a titlebox
 48: efe3f52d3 =  48: efe3f52d3 Convert selfservice display to responsive
 49: fc80f17b7 =  49: fc80f17b7 Switch ShowCustomFields from table to fields
 50: d26da2aa1 =  50: d26da2aa1 Fix transaction actions overlapping description
 51: 726ff3ed2 =  51: 726ff3ed2 Switch QuickCreate from table to fields
 52: 1dac409ae =  52: 1dac409ae Improve whitespace around fields
 53: f99594d6b =  53: f99594d6b Improve padding and spacing on forms
 54: 9b94580d3 =  54: 9b94580d3 Have searches use the full width of the viewport
 55: df8c440d3 =  55: df8c440d3 Make login box more responsive
 56: 6c19bf649 =  56: 6c19bf649 Add missing type="text" for login username input
 57: ff38918b6 =  57: ff38918b6 Improve form rendering for Mobile Safari
 58: bc548a5bb =  58: bc548a5bb Separate existing reminders from create form with hr only if there are reminders
 59: 3d16535fd =  59: 3d16535fd Remove unnecessary margin-top on collection tables
 60: a6e560500 =  60: a6e560500 Fix save button on ticket reminders to not use inline style
 61: 33e559e98 =  61: 33e559e98 Fix error result background color for rudder
 62: 6366d835d =  62: 6366d835d Make QueueList take up the full width
 63: 753b2e278 =  63: 753b2e278 Give rudder the responsive viewport meta tag
 64: 96258f3a2 =  64: 96258f3a2 Turn off autocapitalize on usernames
 65: b738946b7 =  65: b738946b7 Don't let users select the "drop files here" dropzone text
 66: ed9896623 =  66: ed9896623 Improve error transaction colors
 67: fc2c7dd24 =  67: fc2c7dd24 Replace ShowAttachments's <font size="-2"> with CSS
 68: 0ed134c2a =  68: 0ed134c2a Word-break very (perhaps maliciously) long attachment names
 69: 329257c04 =  69: 329257c04 Limit the width of quickcreate since it looks silly when very very wide
 70: 7e8fc73fa =  70: 7e8fc73fa Use full width for MyReminders table
 71: 5acf57a6e =  71: 5acf57a6e Fix Modify Basics to be div.fields rather than table
 72: 13b9aa7be =  72: 13b9aa7be Add missing type="text" to more input fields
 73: 37a3c8190 =  73: 37a3c8190 Avoid menulist-button styling for multi-row select boxes
 74: 76ebbf037 =  74: 76ebbf037 Middle valign fields
 75: abd46fe43 =  75: abd46fe43 Convert EditPeople from nested tables to responsive
 76: 6b1ed3291 =  76: 6b1ed3291 Load the correct version of msie.css
 77: 55f62d910 =  77: 55f62d910 Add a BeforeNav stylesheet plugin
 78: 713ae954b =  78: 713ae954b Make menus overflow into a "More" item on narrow viewports
 79: 0817597f0 =  79: 0817597f0 Remove hyperlink behavior from top-level More menu items
 80: 51ff61b95 =  80: 51ff61b95 Add type attribute to many input fields that were missing it
 81: 9920a2bae =  81: 9920a2bae Fix css rule for one-time cc etc becoming email fields
 82: 639ec0a0a =  82: 639ec0a0a Switch new ticket create popup to a list of links rather than a select
 83: 263260d84 =  83: 263260d84 Fix a regression on legacy themes with CF edit panels
 84: e7a24762e =  84: e7a24762e Override 400px width of jquery modals
 85: d05db9319 =  85: d05db9319 Fix quick create on narrow screens
 86: 1ce3e7535 =  86: 1ce3e7535 Fix width regression with quickcreate requestor field
 87: 0bdd6b928 =  87: 0bdd6b928 Switch AddLinks from tables to fields
 88: de71b019f =  88: de71b019f Improve rendering of date editing form
 89: 7e88d621b =  89: 7e88d621b Improve padding to be more consistent
 90: 15dd4d5e1 =  90: 15dd4d5e1 Make modify links use fluid two-column layout
 91: 4bb74ee24 =  91: 4bb74ee24 Improve edit links to use fields instead of a table
 92: 71adf4d59 =  92: 71adf4d59 Convert merge from table to fields
 93: 8bed2a517 =  93: 8bed2a517 Use the same nomenclature "Message" not "Content" for jumbo
 94: 821af7169 =  94: 821af7169 Switch Jumbo reply panel from table to fields
 95: 451b94ebf =  95: 451b94ebf Jumbo: Wrap both basic fields and custom fields in a single fields table
 96: 8e0edb097 =  96: 8e0edb097 Make message form on Jumbo more consistent
 97: 3410d1f86 =  97: 3410d1f86 Make simple search form more responsive
 98: ac878afd0 =  98: ac878afd0 Fix rudder-responsive getting bottom border radius
 99: ee6fd153c =  99: ee6fd153c Remove margin-right from titleboxes in rudder-responsive
100: 19e92fb58 = 100: 19e92fb58 Improve design of more about requestors panel
101: 0795549da = 101: 0795549da Make user prefs page responsive to small screens
102: 3142b6f1e = 102: 3142b6f1e Remove 20em width from ticket subject on basics
103: d2c34c901 = 103: d2c34c901 Wrap forward message in a titlebox
104: e93736f6e = 104: e93736f6e Switch forward from table to fields
105: 865306bb5 = 105: 865306bb5 Fix "more about requestors" overlap
106: a91ad6b41 = 106: a91ad6b41 Update tests for the responsive HTML change
107: 309321394 = 107: 309321394 Fix Nav tweaking for installer mode
108: cd7a285c1 ! 108: 5d80cac56 Initial elevator theme, copied from rudder-responsive
    @@ -1,6 +1,6 @@
     Author: sunnavy <sunnavy at bestpractical.com>
     
    -    Initial elevator themes, copied from rudder-responsive
    +    Initial elevator theme, copied from rudder-responsive
     
     diff --git a/etc/RT_Config.pm.in b/etc/RT_Config.pm.in
     --- a/etc/RT_Config.pm.in
    @@ -10,7 +10,6 @@
      RT ships with several themes by default:
      
     +  elevator-light  The default light theme for RT 4.6
    -+  elevator-dark   The default dark theme for RT 4.6
        rudder          The default theme for RT 4.2
        aileron         The default layout for RT 4.0
        web2            The default layout for RT 3.8
    @@ -24,10 +23,10 @@
      =item C<$DefaultQueue>
      
     
    -diff --git a/share/html/NoAuth/css/elevator-dark/AfterMenus b/share/html/NoAuth/css/elevator-dark/AfterMenus
    +diff --git a/share/html/NoAuth/css/elevator-light/AfterMenus b/share/html/NoAuth/css/elevator-light/AfterMenus
     new file mode 100644
     --- /dev/null
    -+++ b/share/html/NoAuth/css/elevator-dark/AfterMenus
    ++++ b/share/html/NoAuth/css/elevator-light/AfterMenus
     @@
     +%# BEGIN BPS TAGGED BLOCK {{{
     +%#
    @@ -108,10 +107,10 @@
     +    jQuery(initMenus);
     +</script>
     
    -diff --git a/share/html/NoAuth/css/elevator-dark/BeforeNav b/share/html/NoAuth/css/elevator-dark/BeforeNav
    +diff --git a/share/html/NoAuth/css/elevator-light/BeforeNav b/share/html/NoAuth/css/elevator-light/BeforeNav
     new file mode 100644
     --- /dev/null
    -+++ b/share/html/NoAuth/css/elevator-dark/BeforeNav
    ++++ b/share/html/NoAuth/css/elevator-light/BeforeNav
     @@
     +%# BEGIN BPS TAGGED BLOCK {{{
     +%#
    @@ -262,10 +261,10 @@
     +});
     +</script>
     
    -diff --git a/share/html/NoAuth/css/elevator-dark/InHeader b/share/html/NoAuth/css/elevator-dark/InHeader
    +diff --git a/share/html/NoAuth/css/elevator-light/InHeader b/share/html/NoAuth/css/elevator-light/InHeader
     new file mode 100644
     --- /dev/null
    -+++ b/share/html/NoAuth/css/elevator-dark/InHeader
    ++++ b/share/html/NoAuth/css/elevator-light/InHeader
     @@
     +%# BEGIN BPS TAGGED BLOCK {{{
     +%#
    @@ -315,311 +314,15 @@
     +%#
     +%# END BPS TAGGED BLOCK }}}
     +<!--[if lt IE 8]>
    -+<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/static/css/elevator-dark/msie.css" type="text/css" media="all" />
    ++<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/static/css/elevator-light/msie.css" type="text/css" media="all" />
     +<![endif]-->
     +
     +<meta name="viewport" content="width=device-width, initial-scale=1.0">
     
    -diff --git a/share/html/NoAuth/css/elevator-light/AfterMenus b/share/html/NoAuth/css/elevator-light/AfterMenus
    +diff --git a/share/static/css/elevator-light/admin.css b/share/static/css/elevator-light/admin.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/html/NoAuth/css/elevator-light/AfterMenus
    -@@
    -+%# BEGIN BPS TAGGED BLOCK {{{
    -+%#
    -+%# COPYRIGHT:
    -+%#
    -+%# This software is Copyright (c) 1996-2018 Best Practical Solutions, LLC
    -+%#                                          <sales at bestpractical.com>
    -+%#
    -+%# (Except where explicitly superseded by other copyright notices)
    -+%#
    -+%#
    -+%# LICENSE:
    -+%#
    -+%# This work is made available to you under the terms of Version 2 of
    -+%# the GNU General Public License. A copy of that license should have
    -+%# been provided with this software, but in any event can be snarfed
    -+%# from www.gnu.org.
    -+%#
    -+%# This work is distributed in the hope that it will be useful, but
    -+%# WITHOUT ANY WARRANTY; without even the implied warranty of
    -+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -+%# General Public License for more details.
    -+%#
    -+%# You should have received a copy of the GNU General Public License
    -+%# along with this program; if not, write to the Free Software
    -+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    -+%# 02110-1301 or visit their web page on the internet at
    -+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
    -+%#
    -+%#
    -+%# CONTRIBUTION SUBMISSION POLICY:
    -+%#
    -+%# (The following paragraph is not intended to limit the rights granted
    -+%# to you to modify and distribute this software under the terms of
    -+%# the GNU General Public License and is only of importance to you if
    -+%# you choose to contribute your changes and enhancements to the
    -+%# community by submitting them to Best Practical Solutions, LLC.)
    -+%#
    -+%# By intentionally submitting any modifications, corrections or
    -+%# derivatives to this work, or any other work intended for use with
    -+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
    -+%# you are the copyright holder for those contributions and you grant
    -+%# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
    -+%# royalty-free, perpetual, license to use, copy, create derivative
    -+%# works based on those contributions, and sublicense and distribute
    -+%# those contributions and any derivatives thereof.
    -+%#
    -+%# END BPS TAGGED BLOCK }}}
    -+<script type="text/javascript">
    -+var initMenus = function() {
    -+    jQuery.fn.supersubs.defaults = {
    -+        maxWidth: 30,
    -+        extraWidth: 2
    -+    };
    -+
    -+    jQuery("#app-nav.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').supersubs().superfish({ speed: 'fast' });
    -+    jQuery("#page-menu.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').supersubs().superfish({ dropShadows: false, speed: 'fast' }).supposition();
    -+
    -+    var originalOffset = jQuery("#page-menu").offset().top;
    -+    var floatMenu      = function () {
    -+        jQuery("#page-menu").toggleClass("pinned", jQuery(document).scrollTop() > originalOffset);
    -+    };
    -+    floatMenu();
    -+    jQuery(window).scroll(floatMenu);
    -+
    -+    // remove stub elements we added in BeforeNav to get a dropdown indicator
    -+    jQuery('#li-overflow-will_be_deleted').remove();
    -+    jQuery('#li-page-overflow-will_be_deleted').remove();
    -+
    -+    rebalanceOverflowMenu('#app-nav', '#li-overflow', true);
    -+    rebalanceOverflowMenu('#page-menu', '#li-page-overflow', false);
    -+};
    -+
    -+// If everything is loaded, init NOW.  Otherwise, defer to DOM ready.
    -+if (jQuery.fn.supersubs && jQuery.fn.superfish && jQuery.fn.supposition)
    -+    initMenus();
    -+else
    -+    jQuery(initMenus);
    -+</script>
    -
    -diff --git a/share/html/NoAuth/css/elevator-light/BeforeNav b/share/html/NoAuth/css/elevator-light/BeforeNav
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/html/NoAuth/css/elevator-light/BeforeNav
    -@@
    -+%# BEGIN BPS TAGGED BLOCK {{{
    -+%#
    -+%# COPYRIGHT:
    -+%#
    -+%# This software is Copyright (c) 1996-2018 Best Practical Solutions, LLC
    -+%#                                          <sales at bestpractical.com>
    -+%#
    -+%# (Except where explicitly superseded by other copyright notices)
    -+%#
    -+%#
    -+%# LICENSE:
    -+%#
    -+%# This work is made available to you under the terms of Version 2 of
    -+%# the GNU General Public License. A copy of that license should have
    -+%# been provided with this software, but in any event can be snarfed
    -+%# from www.gnu.org.
    -+%#
    -+%# This work is distributed in the hope that it will be useful, but
    -+%# WITHOUT ANY WARRANTY; without even the implied warranty of
    -+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -+%# General Public License for more details.
    -+%#
    -+%# You should have received a copy of the GNU General Public License
    -+%# along with this program; if not, write to the Free Software
    -+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    -+%# 02110-1301 or visit their web page on the internet at
    -+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
    -+%#
    -+%#
    -+%# CONTRIBUTION SUBMISSION POLICY:
    -+%#
    -+%# (The following paragraph is not intended to limit the rights granted
    -+%# to you to modify and distribute this software under the terms of
    -+%# the GNU General Public License and is only of importance to you if
    -+%# you choose to contribute your changes and enhancements to the
    -+%# community by submitting them to Best Practical Solutions, LLC.)
    -+%#
    -+%# By intentionally submitting any modifications, corrections or
    -+%# derivatives to this work, or any other work intended for use with
    -+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
    -+%# you are the copyright holder for those contributions and you grant
    -+%# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
    -+%# royalty-free, perpetual, license to use, copy, create derivative
    -+%# works based on those contributions, and sublicense and distribute
    -+%# those contributions and any derivatives thereof.
    -+%#
    -+%# END BPS TAGGED BLOCK }}}
    -+<%INIT>
    -+return unless Menu; # In case we are in Installer mode
    -+
    -+my $app_overflow = Menu->child( overflow => title => loc('More'), sort_order => 99999);
    -+# add a child element to make sure we get a dropdown indicator
    -+$app_overflow->child(will_be_deleted => raw_html => '');
    -+
    -+my $page_overflow = PageMenu->child( overflow => title => loc('More'), sort_order => 99999);
    -+# add a child element to make sure we get a dropdown indicator
    -+$page_overflow->child(will_be_deleted => raw_html => '');
    -+</%INIT>
    -+<script type="text/javascript">
    -+var rebalanceOverflowBuffer = 30;
    -+
    -+var rebalanceOverflowMenu = function (menuId, overflowId, withLogo) {
    -+    var toplevelMenu = jQuery(menuId);
    -+    var overflowMenu = jQuery(overflowId);
    -+
    -+    var availableWidth = jQuery(window).width();
    -+    if (withLogo) {
    -+        availableWidth -= jQuery('#logo').width();
    -+    }
    -+    availableWidth -= rebalanceOverflowBuffer;
    -+
    -+    // if the menu is too wide for the viewport, move overflow items into
    -+    // the menu
    -+    while (toplevelMenu.width() > availableWidth) {
    -+        // rightmost menu item, skipping the overflow menu itself
    -+        var item = toplevelMenu.children('li:not('+overflowId+')').get(-1);
    -+
    -+        // no items to overflow? odd, but visual degradation is better than
    -+        // throwing exceptions
    -+        if (!item) {
    -+            break;
    -+        }
    -+
    -+        // remove item from main menu and add it to the overflow menu
    -+        item.remove();
    -+        overflowMenu.children('ul').prepend(item);
    -+        overflowMenu.addClass('has-overflow');
    -+    }
    -+
    -+    // if the menu + an overflow item fits into the viewport, move
    -+    // previously overflow items back into the top level
    -+    while (1) {
    -+        var item = overflowMenu.find('li').get(0);
    -+
    -+        // no items to un-overflow
    -+        if (!item) {
    -+            break;
    -+        }
    -+
    -+        item = jQuery(item);
    -+
    -+        // first, add a clone of the menu item back into the top level,
    -+        // in the expected place
    -+        var clone = item.clone();
    -+        overflowMenu.before(clone);
    -+
    -+        // calculate width now that we have the item back in
    -+        var prospectiveWidth = toplevelMenu.width();
    -+
    -+        // destroy the evidence
    -+        clone.remove();
    -+
    -+        if (prospectiveWidth > availableWidth) {
    -+            break;
    -+        }
    -+
    -+        // remove menu item from overflow menu then add back it into the
    -+        // toplevel menu, but specifically before the overflow (which
    -+        // should always be the last menu item)
    -+        item.remove();
    -+        overflowMenu.before(item);
    -+
    -+        // if we just removed the last overflow item then hide "More"
    -+        if (overflowMenu.find('li').length == 0) {
    -+            overflowMenu.removeClass('has-overflow');
    -+        }
    -+    }
    -+};
    -+
    -+jQuery(function() {
    -+    // without this width fix, because the overflow menu starts out as
    -+    // display: none, superfish calculates its width to be just 2em
    -+    jQuery('#li-overflow').children('ul').css('width', '12em');
    -+    jQuery('#li-page-overflow').children('ul').css('width', '12em');
    -+
    -+    rebalanceOverflowMenu('#app-nav', '#li-overflow', true);
    -+    rebalanceOverflowMenu('#page-menu', '#li-page-overflow', false);
    -+
    -+    jQuery('#logo img').load(function () {
    -+        rebalanceOverflowMenu('#app-nav', '#li-overflow', true);
    -+    });
    -+
    -+    jQuery(window).resize(function () {
    -+        rebalanceOverflowMenu('#app-nav', '#li-overflow', true);
    -+        rebalanceOverflowMenu('#page-menu', '#li-page-overflow', false);
    -+    });
    -+});
    -+</script>
    -
    -diff --git a/share/html/NoAuth/css/elevator-light/InHeader b/share/html/NoAuth/css/elevator-light/InHeader
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/html/NoAuth/css/elevator-light/InHeader
    -@@
    -+%# BEGIN BPS TAGGED BLOCK {{{
    -+%#
    -+%# COPYRIGHT:
    -+%#
    -+%# This software is Copyright (c) 1996-2018 Best Practical Solutions, LLC
    -+%#                                          <sales at bestpractical.com>
    -+%#
    -+%# (Except where explicitly superseded by other copyright notices)
    -+%#
    -+%#
    -+%# LICENSE:
    -+%#
    -+%# This work is made available to you under the terms of Version 2 of
    -+%# the GNU General Public License. A copy of that license should have
    -+%# been provided with this software, but in any event can be snarfed
    -+%# from www.gnu.org.
    -+%#
    -+%# This work is distributed in the hope that it will be useful, but
    -+%# WITHOUT ANY WARRANTY; without even the implied warranty of
    -+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    -+%# General Public License for more details.
    -+%#
    -+%# You should have received a copy of the GNU General Public License
    -+%# along with this program; if not, write to the Free Software
    -+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    -+%# 02110-1301 or visit their web page on the internet at
    -+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
    -+%#
    -+%#
    -+%# CONTRIBUTION SUBMISSION POLICY:
    -+%#
    -+%# (The following paragraph is not intended to limit the rights granted
    -+%# to you to modify and distribute this software under the terms of
    -+%# the GNU General Public License and is only of importance to you if
    -+%# you choose to contribute your changes and enhancements to the
    -+%# community by submitting them to Best Practical Solutions, LLC.)
    -+%#
    -+%# By intentionally submitting any modifications, corrections or
    -+%# derivatives to this work, or any other work intended for use with
    -+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
    -+%# you are the copyright holder for those contributions and you grant
    -+%# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
    -+%# royalty-free, perpetual, license to use, copy, create derivative
    -+%# works based on those contributions, and sublicense and distribute
    -+%# those contributions and any derivatives thereof.
    -+%#
    -+%# END BPS TAGGED BLOCK }}}
    -+<!--[if lt IE 8]>
    -+<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/static/css/elevator-light/msie.css" type="text/css" media="all" />
    -+<![endif]-->
    -+
    -+<meta name="viewport" content="width=device-width, initial-scale=1.0">
    -
    -diff --git a/share/static/css/elevator-dark/admin.css b/share/static/css/elevator-dark/admin.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-dark/admin.css
    ++++ b/share/static/css/elevator-light/admin.css
     @@
     +#comp-Admin .list-menu {
     +    float: left
    @@ -638,10 +341,10 @@
     +    padding-bottom: 1em;
     +}
     
    -diff --git a/share/static/css/elevator-dark/base.css b/share/static/css/elevator-dark/base.css
    +diff --git a/share/static/css/elevator-light/base.css b/share/static/css/elevator-light/base.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/base.css
    ++++ b/share/static/css/elevator-light/base.css
     @@
     +a {
     +    color: #000;
    @@ -661,10 +364,10 @@
     +    background-color: #ffd
     +}
     
    -diff --git a/share/static/css/elevator-dark/boxes.css b/share/static/css/elevator-dark/boxes.css
    +diff --git a/share/static/css/elevator-light/boxes.css b/share/static/css/elevator-light/boxes.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/boxes.css
    ++++ b/share/static/css/elevator-light/boxes.css
     @@
     +.titlebox {
     +    margin-top: 1em;
    @@ -811,10 +514,10 @@
     +    display: none
     +}
     
    -diff --git a/share/static/css/elevator-dark/dashboards.css b/share/static/css/elevator-dark/dashboards.css
    +diff --git a/share/static/css/elevator-light/dashboards.css b/share/static/css/elevator-light/dashboards.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/dashboards.css
    ++++ b/share/static/css/elevator-light/dashboards.css
     @@
     +table.dashboard {
     +    margin-top: 6em
    @@ -824,10 +527,10 @@
     +    margin-top: inherit
     +}
     
    -diff --git a/share/static/css/elevator-dark/forms.css b/share/static/css/elevator-dark/forms.css
    +diff --git a/share/static/css/elevator-light/forms.css b/share/static/css/elevator-light/forms.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/forms.css
    ++++ b/share/static/css/elevator-light/forms.css
     @@
     +/* These override the base titlebox rules in base/forms.css. They try not to
     +   duplicate properties. */
    @@ -949,10 +652,10 @@
     +    border-radius: 3px;
     +}
     
    -diff --git a/share/static/css/elevator-dark/history.css b/share/static/css/elevator-dark/history.css
    +diff --git a/share/static/css/elevator-light/history.css b/share/static/css/elevator-light/history.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/history.css
    ++++ b/share/static/css/elevator-light/history.css
     @@
     +div.history-container {
     +    border: 0
    @@ -1053,10 +756,10 @@
     +    display: block;
     +}
     
    -diff --git a/share/static/css/elevator-dark/layout.css b/share/static/css/elevator-dark/layout.css
    +diff --git a/share/static/css/elevator-light/layout.css b/share/static/css/elevator-light/layout.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/layout.css
    ++++ b/share/static/css/elevator-light/layout.css
     @@
     +/* body */
     +
    @@ -1191,20 +894,20 @@
     +}
     +
     
    -diff --git a/share/static/css/elevator-dark/login.css b/share/static/css/elevator-dark/login.css
    +diff --git a/share/static/css/elevator-light/login.css b/share/static/css/elevator-light/login.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/login.css
    ++++ b/share/static/css/elevator-light/login.css
     @@
     +#login-box .titlebox-title .left {
     +    padding-left: 0em
     +}
     +
     
    -diff --git a/share/static/css/elevator-dark/main.css b/share/static/css/elevator-dark/main.css
    +diff --git a/share/static/css/elevator-light/main.css b/share/static/css/elevator-light/main.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/main.css
    ++++ b/share/static/css/elevator-light/main.css
     @@
     + at import "../base-responsive/main.css";
     +
    @@ -1224,10 +927,10 @@
     + at import "admin.css";
     + at import "misc.css";
     
    -diff --git a/share/static/css/elevator-dark/misc.css b/share/static/css/elevator-dark/misc.css
    +diff --git a/share/static/css/elevator-light/misc.css b/share/static/css/elevator-light/misc.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/misc.css
    ++++ b/share/static/css/elevator-light/misc.css
     @@
     +.comment {
     +    padding-left: 0.5em;
    @@ -1269,10 +972,10 @@
     +    padding: 0.25em
     +}
     
    -diff --git a/share/static/css/elevator-dark/msie.css b/share/static/css/elevator-dark/msie.css
    +diff --git a/share/static/css/elevator-light/msie.css b/share/static/css/elevator-light/msie.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/msie.css
    ++++ b/share/static/css/elevator-light/msie.css
     @@
     +div#body {
     +
    @@ -1384,10 +1087,10 @@
     +    height: 23em
     +}
     
    -diff --git a/share/static/css/elevator-dark/nav.css b/share/static/css/elevator-dark/nav.css
    +diff --git a/share/static/css/elevator-light/nav.css b/share/static/css/elevator-light/nav.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/nav.css
    ++++ b/share/static/css/elevator-light/nav.css
     @@
     +.sf-menu {
     +    width: 100%;
    @@ -1663,10 +1366,10 @@
     +}
     +
     
    -diff --git a/share/static/css/elevator-dark/ticket-forms.css b/share/static/css/elevator-dark/ticket-forms.css
    +diff --git a/share/static/css/elevator-light/ticket-forms.css b/share/static/css/elevator-light/ticket-forms.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/ticket-forms.css
    ++++ b/share/static/css/elevator-light/ticket-forms.css
     @@
     +#ticket-create-metadata .cflabel .name,
     +#ticket-update-metadata .cflabel .name {
    @@ -1679,10 +1382,10 @@
     +    margin-right: -0.25em;
     +}
     
    -diff --git a/share/static/css/elevator-dark/ticket-lists.css b/share/static/css/elevator-dark/ticket-lists.css
    +diff --git a/share/static/css/elevator-light/ticket-lists.css b/share/static/css/elevator-light/ticket-lists.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/ticket-lists.css
    ++++ b/share/static/css/elevator-light/ticket-lists.css
     @@
     +table.queue-summary,
     +table.collection-as-table {
    @@ -1913,10 +1616,10 @@
     +    display: inline-block
     +}
     
    -diff --git a/share/static/css/elevator-dark/ticket-search.css b/share/static/css/elevator-dark/ticket-search.css
    +diff --git a/share/static/css/elevator-light/ticket-search.css b/share/static/css/elevator-light/ticket-search.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/ticket-search.css
    ++++ b/share/static/css/elevator-light/ticket-search.css
     @@
     +#comp-Search-Build #body {
     +    position: relative
    @@ -2107,10 +1810,10 @@
     +    max-width: 100%
     +}
     
    -diff --git a/share/static/css/elevator-dark/ticket-timer.css b/share/static/css/elevator-dark/ticket-timer.css
    +diff --git a/share/static/css/elevator-light/ticket-timer.css b/share/static/css/elevator-light/ticket-timer.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/ticket-timer.css
    ++++ b/share/static/css/elevator-light/ticket-timer.css
     @@
     +.ticket-timer {
     +    padding: 0;
    @@ -2149,10 +1852,10 @@
     +    padding: 0 1em;
     +}
     
    -diff --git a/share/static/css/elevator-dark/ticket.css b/share/static/css/elevator-dark/ticket.css
    +diff --git a/share/static/css/elevator-light/ticket.css b/share/static/css/elevator-light/ticket.css
     new file mode 100644
     --- /dev/null
    -+++ b/share/static/css/elevator-dark/ticket.css
    ++++ b/share/static/css/elevator-light/ticket.css
     @@
     +.titlebox-title.inverse .widget a,
     +.ticket-info-cfs .titlebox-title .widget a,
    @@ -2269,1656 +1972,3 @@
     +    margin-right: 1em;
     +}
     
    -diff --git a/share/static/css/elevator-light/admin.css b/share/static/css/elevator-light/admin.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/admin.css
    -@@
    -+#comp-Admin .list-menu {
    -+    float: left
    -+}
    -+
    -+#rt-portal .titlebox {
    -+    position: relative;
    -+    top: 0em;
    -+    height: 27em;
    -+    right: 0em;
    -+    bottom: 3em;
    -+    width: 50%;
    -+    float: right;
    -+    margin-left: 1em;
    -+    padding-left: 1em;
    -+    padding-bottom: 1em;
    -+}
    -
    -diff --git a/share/static/css/elevator-light/base.css b/share/static/css/elevator-light/base.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/base.css
    -@@
    -+a {
    -+    color: #000;
    -+    text-decoration: none;
    -+}
    -+
    -+a:visited {
    -+    color: #666
    -+}
    -+
    -+a:hover {
    -+    text-decoration: underline
    -+}
    -+
    -+textarea:focus,
    -+input:focus {
    -+    background-color: #ffd
    -+}
    -
    -diff --git a/share/static/css/elevator-light/boxes.css b/share/static/css/elevator-light/boxes.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/boxes.css
    -@@
    -+.titlebox {
    -+    margin-top: 1em;
    -+    margin-bottom: 2em;
    -+}
    -+
    -+.titlebox .titlebox-content {
    -+    padding: 1em;
    -+    border-top: 2px solid #aaa;
    -+    border-bottom: 1px solid #eee;
    -+}
    -+
    -+.titlebox.fullwidth > .titlebox-content {
    -+    padding-left: 0;
    -+    padding-right: 0;
    -+}
    -+
    -+* html .titlebox {
    -+    border-top: none;
    -+    border-left: none;
    -+}
    -+
    -+.titlebox .titlebox {
    -+    margin-top: 1em;
    -+}
    -+
    -+.titlebox .titlebox .titlebox-content {
    -+
    -+}
    -+
    -+.titlebox {
    -+    margin-left: 0em;
    -+    margin-right: 0em;
    -+    min-height: 1.25em;
    -+}
    -+
    -+.titlebox .titlebox-title {
    -+    position: relative;
    -+    background-color: transparent;
    -+}
    -+
    -+.titlebox .titlebox-title a {
    -+    text-decoration: none;
    -+    color: black;
    -+}
    -+
    -+.titlebox .titlebox-title a:hover {
    -+    text-decoration: underline
    -+}
    -+
    -+.titlebox.rolled-up  .titlebox-title .left,
    -+.titlebox.rolled-up  .titlebox-title .left a {
    -+    color: #ccc;
    -+    line-height: 1.6em;
    -+}
    -+
    -+.titlebox.rolled-up .titlebox-title {
    -+    border-bottom: 1px solid #ccc
    -+}
    -+
    -+.titlebox.rolled-up .titlebox-title .right {
    -+    display: none
    -+}
    -+
    -+.titlebox .titlebox-title .left {
    -+    font-weight: bold;
    -+    background: transparent;
    -+    margin-left: 1em;
    -+    padding: 0.5em 1.25em 0.25em 1.25em;
    -+    line-height: 1.4em;
    -+    font-size: 1.1em;
    -+    border: none;
    -+}
    -+
    -+.titlebox .titlebox-title .left,
    -+.titlebox .titlebox-title .left a {
    -+    color: #3858a3
    -+}
    -+
    -+.titlebox .titlebox-title .right-empty {
    -+    display: none
    -+}
    -+
    -+.titlebox .titlebox-title .right {
    -+    position: absolute;
    -+    right: 2px;
    -+    top: 0;
    -+    font-size: 0.9em;
    -+    padding-right: 0em;
    -+    padding-left: 0.4em;
    -+    padding-bottom: 0.2em;
    -+    padding-top: 0.5em;
    -+    -moz-border-radius-bottomleft: 0.25em;
    -+    -webkit-border-bottom-left-radius: 0.25em;
    -+    -moz-border-radius-topright: 0.25em;
    -+    -webkit-border-top-right-radius: 0.25em;
    -+    border-radius: 0 0.25em 0 0.25em;
    -+}
    -+
    -+.titlebox .titlebox-title .right a,
    -+.titlebox .titlebox-title .right a:visited {
    -+    color: #999;
    -+    font-weight: bold;
    -+    margin-left: 0.5em;
    -+    margin-right: 0.5em;
    -+}
    -+
    -+.titlebox:hover .titlebox-title .right a,
    -+.titlebox:active .titlebox-title .right a {
    -+    color: #000
    -+}
    -+
    -+.titlebox .titlebox-title .widget a {
    -+    display: block;
    -+    margin: 0;
    -+    width: 20px;
    -+    background: url(../../../static/images/css/rollup-arrow.gif) no-repeat;
    -+    background-position: center 0;
    -+    position: absolute;
    -+    top: 0.5em;
    -+    left: 0.5em;
    -+    padding: 7px 0 0 0;
    -+    overflow: hidden;
    -+}
    -+
    -+.titlebox.rolled-up .titlebox-title .widget a {
    -+    background-image: url(../../../static/images/css/rolldown-arrow.gif)
    -+}
    -+
    -+div.results .titlebox .titlebox-content {
    -+    border: none;
    -+    -moz-border-radius: 0.5em;
    -+    border-radius: 0.5em;
    -+    -webkit-border-radius: 0.5em;
    -+    padding-top: 0.5em;
    -+    padding-bottom: 0.5em;
    -+}
    -+
    -+.results .titlebox-content ul {
    -+    list-style-type: none
    -+}
    -+
    -+.results .titlebox-title {
    -+    display: none
    -+}
    -
    -diff --git a/share/static/css/elevator-light/dashboards.css b/share/static/css/elevator-light/dashboards.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/dashboards.css
    -@@
    -+table.dashboard {
    -+    margin-top: 6em
    -+}
    -+
    -+#body>table.dashboard {
    -+    margin-top: inherit
    -+}
    -
    -diff --git a/share/static/css/elevator-light/forms.css b/share/static/css/elevator-light/forms.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/forms.css
    -@@
    -+/* These override the base titlebox rules in base/forms.css. They try not to
    -+   duplicate properties. */
    -+
    -+div.results .titlebox,
    -+div.error-titlebox {
    -+    border: none;
    -+    background: none;
    -+    font-weight: bold;
    -+}
    -+
    -+div.results .titlebox-content {
    -+    border: 1px solid #aa9;
    -+    border-bottom: 2px solid #990;
    -+    border-right: 2px solid #990;
    -+    background: #ffc;
    -+}
    -+
    -+div.results .titlebox-title .left {
    -+    border: solid #aa9;
    -+    border-width: 1px 1px 0 1px;
    -+}
    -+
    -+div.error-titlebox .titlebox-title span.left {
    -+    border: none;
    -+    border-right: 2px solid #b00;
    -+    margin-left: 0;
    -+    padding-left: 2.3em;
    -+    background-color: #f00;
    -+    color: #fff;
    -+}
    -+
    -+div.error-titlebox .titlebox-content {
    -+    background-color: #fcc;
    -+    padding: 1em;
    -+}
    -+
    -+div.error .titlebox-content {
    -+    background-color: #fcc;
    -+}
    -+
    -+div#body>div.error {
    -+    background-color: #fcc;
    -+    padding: 1em;
    -+}
    -+
    -+div.error .titlebox-title .widget a {
    -+    background-position: center -7px
    -+}
    -+
    -+.button,
    -+input[type=reset],
    -+input[type=submit],
    -+input[class=button],
    -+button,
    -+input,
    -+select { font-size: 1.0em }
    -+
    -+.button,
    -+.button:visited,
    -+input[type=reset],
    -+input[type=submit],
    -+input[class=button],
    -+button {
    -+    color: #fff;
    -+    background: #4868b3;
    -+    border: 1px solid #fff;
    -+    padding: 0.5em;
    -+}
    -+
    -+.button:focus,
    -+input.button:focus,
    -+button:focus,
    -+input[type=reset]:focus,
    -+input[type=submit]:focus,
    -+input[class=button]:focus,
    -+.button:hover,
    -+input.button:hover,
    -+button:hover,
    -+input[type=reset]:hover,
    -+input[type=submit]:hover,
    -+input[class=button]:hover {
    -+    background: #3D5B9D
    -+}
    -+
    -+.button:active,
    -+input.button:active,
    -+button:active,
    -+input[type=reset]:active,
    -+input[type=submit]:active,
    -+input[class=button]:active {
    -+    background: #1D3B7D
    -+}
    -+
    -+.button,
    -+input[type=reset],
    -+input[type=submit],
    -+input[class=button],
    -+button {
    -+    -moz-border-radius: 3px;
    -+    -webkit-border-radius: 3px;
    -+    border-radius: 3px;
    -+    padding-left: 0.75em;
    -+    padding-right: 0.75em;
    -+}
    -+
    -+.value {
    -+    font-size: 1em
    -+}
    -+
    -+.messagebox-attachment-warning {
    -+    background-color: #fcc;
    -+    font-weight: bold;
    -+    padding: .5em 2em;
    -+    margin: .5em 0;
    -+
    -+    -moz-border-radius: 3px;
    -+    -webkit-border-radius: 3px;
    -+    border-radius: 3px;
    -+}
    -
    -diff --git a/share/static/css/elevator-light/history.css b/share/static/css/elevator-light/history.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/history.css
    -@@
    -+div.history-container {
    -+    border: 0
    -+}
    -+
    -+.history .transaction.message div.content {
    -+    padding-right: 0;
    -+    padding-bottom: 3em;
    -+    margin-left: 3em;
    -+}
    -+
    -+ at media (max-width: 700px) {
    -+    .history .transaction.message div.content {
    -+        margin-left: 0;
    -+    }
    -+    .message-stanza {
    -+        margin: 0 1em;
    -+    }
    -+}
    -+
    -+.history .transaction .metadata span.type {
    -+    margin: 0;
    -+    font-size: 1.2em;
    -+    margin-right: 1em;
    -+    padding: 0.25em;
    -+    border: none;
    -+}
    -+
    -+.history .transaction .metadata span.type a {
    -+    color: transparent
    -+}
    -+
    -+.history .transaction .metadata span.type a#lasttrans {
    -+    display: inline
    -+}
    -+
    -+.history .transaction:hover .metadata span.type a {
    -+    color: white
    -+}
    -+
    -+.history .transaction .metadata .date,
    -+.history .transaction .metadata .description,
    -+.history .transaction .metadata .time-taken {
    -+    margin-top: 0.5em;
    -+    display: inline-block;
    -+    margin-right: 2em;
    -+}
    -+
    -+.history .transaction .metadata {
    -+    margin-bottom: 0em;
    -+    margin-top: 0.25em;
    -+}
    -+
    -+.transaction div.metadata span.actions {
    -+    background: #eee;
    -+    color: #eee;
    -+    display: inline-block;
    -+    margin-right: 0.5em;
    -+    padding-top: 0.5em;
    -+    padding-bottom: 0.5em;
    -+    border-right: 1px solid #999;
    -+    -moz-border-radius-bottomright: 0.5em;
    -+    -webkit-border-bottom-right-radius: 0.5em;
    -+}
    -+
    -+ at media (max-width: 700px) {
    -+    .transaction div.metadata span.actions {
    -+        margin-right: 0;
    -+        border-right: 0;
    -+        -moz-border-radius-bottomright: 0;
    -+        -webkit-border-bottom-right-radius: 0;
    -+    }
    -+}
    -+
    -+.transaction div.metadata span.actions a {
    -+    padding: 0.2em
    -+}
    -+
    -+.transaction div.downloadattachment {
    -+    float: right;
    -+    clear: both;
    -+    text-align: right;
    -+    background: transparent;
    -+    padding-top: 0.5em;
    -+    margin-left: 1em;
    -+    border: none;
    -+    color: transparent;
    -+    line-height: 1em;
    -+}
    -+
    -+.transaction div.downloadattachment a {
    -+    color: #aaa;
    -+    display: block;
    -+}
    -+
    -+.transaction div.downloadattachment .downloadcontenttype {
    -+    color: #ccc;
    -+    display: block;
    -+}
    -
    -diff --git a/share/static/css/elevator-light/layout.css b/share/static/css/elevator-light/layout.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/layout.css
    -@@
    -+/* body */
    -+
    -+body {
    -+    padding: 0;
    -+    margin: 0;
    -+    font-family: arial, helvetica, sans-serif;
    -+    color: #000000;
    -+}
    -+
    -+div#body {
    -+    padding: 3em;
    -+    margin-top: 4em;
    -+    margin-right: 0;
    -+    margin-bottom: 0em;
    -+    background: #fff;
    -+    z-index: 1;
    -+}
    -+
    -+ at media (max-width: 800px) {
    -+    div#body {
    -+        padding: 3em 4.875%; /* 3em at 13px font size => 39px => 39/800 => .04875 */
    -+    }
    -+    /* at narrow widths we'll have broken into a single column, so the default
    -+       padding-right just causes the layout to degrade */
    -+    .boxcontainer {
    -+        padding-right: 0;
    -+    }
    -+}
    -+
    -+ at media (max-width: 700px) {
    -+    div#body {
    -+        padding: 3em 0;
    -+    }
    -+}
    -+
    -+div#footer {
    -+    position: absolute;
    -+    right: 0;
    -+    text-align: right;
    -+    font-size: 0.9em;
    -+    margin-top: 2em;
    -+    background: #fff;
    -+    margin-bottom: 0;
    -+    padding-left: 3em;
    -+    padding-right: 1em;
    -+}
    -+
    -+div#footer #time {
    -+    display: none
    -+}
    -+
    -+div#footer #bpscredits {
    -+    text-align: right;
    -+    background: url(../../../static/images/bpslogo.png) no-repeat top right;
    -+    padding-top: 4em;
    -+}
    -+
    -+/* logo stuff */
    -+
    -+div#logo {
    -+    position: absolute;
    -+    right: 2px;
    -+    top: 0;
    -+    height: 2.3em;
    -+}
    -+
    -+div#logo a img {
    -+    border: 0;
    -+    height: 100% !important;
    -+    width: auto !important;
    -+    float: right;
    -+}
    -+
    -+div#logo .rtname {
    -+    position: relative;
    -+    font-weight: bold;
    -+    text-align: center;
    -+    top: 0.7em;
    -+    padding-right: 1em;
    -+    float: left;
    -+}
    -+
    -+ at media (max-width: 800px) {
    -+    div#logo .rtname {
    -+        width: 0;
    -+        overflow: hidden;
    -+        white-space: nowrap;
    -+        padding-right: 0; /* otherwise the text will overflow into the padding */
    -+    }
    -+}
    -+
    -+div#quickbar,
    -+div#logo {
    -+    font-size: 0.9em
    -+}
    -+
    -+div#quickbar a,
    -+div#logo a {
    -+    color: #000
    -+}
    -+
    -+div#quickbar {
    -+    background: #fff;
    -+    padding-top: 1em;
    -+    padding-left: 1em;
    -+    padding-bottom: 0.5em;
    -+    height: 1em;
    -+    border-bottom: 1px solid #ccc;
    -+}
    -+
    -+div#header {
    -+    position: absolute;
    -+    top: 2.3em;
    -+    left: 0;
    -+    right: 0;
    -+    height: 3.2em;
    -+    background: #547CCC;
    -+}
    -+
    -+div#header h1 {
    -+    position: absolute;
    -+    left: 1em;
    -+    right: 20em;
    -+    top: 0em;
    -+    height: 1.4em;
    -+    font-size: 1.4em;
    -+    color: #fff;
    -+    white-space: nowrap;
    -+    overflow: hidden;
    -+    text-overflow: ellipsis;
    -+}
    -+
    -
    -diff --git a/share/static/css/elevator-light/login.css b/share/static/css/elevator-light/login.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/login.css
    -@@
    -+#login-box .titlebox-title .left {
    -+    padding-left: 0em
    -+}
    -+
    -
    -diff --git a/share/static/css/elevator-light/main.css b/share/static/css/elevator-light/main.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/main.css
    -@@
    -+ at import "../base-responsive/main.css";
    -+
    -+ at import "base.css";
    -+ at import "layout.css";
    -+ at import "nav.css";
    -+ at import "boxes.css";
    -+ at import "forms.css";
    -+ at import "login.css";
    -+ at import "dashboards.css";
    -+ at import "ticket-lists.css";
    -+ at import "ticket-search.css";
    -+ at import "ticket-forms.css";
    -+ at import "ticket.css";
    -+ at import "ticket-timer.css";
    -+ at import "history.css";
    -+ at import "admin.css";
    -+ at import "misc.css";
    -
    -diff --git a/share/static/css/elevator-light/misc.css b/share/static/css/elevator-light/misc.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/misc.css
    -@@
    -+.comment {
    -+    padding-left: 0.5em;
    -+    color: #999;
    -+}
    -+
    -+#comp-Ticket-ShowEmailRecord #header {
    -+    top: 0em;
    -+}
    -+
    -+#comp-Ticket-ShowEmailRecord #body {
    -+    margin-left: 1em;
    -+    margin-top: 1em;
    -+    overflow: auto;
    -+}
    -+
    -+span.cflabel,
    -+td.cflabel,
    -+span.label,
    -+span.labeltop,
    -+td.label,
    -+td.labeltop {
    -+    font-weight: bold;
    -+    color: #666;
    -+    font-size: 1em;
    -+}
    -+
    -+span.cflabel .type,
    -+td.cflabel .type {
    -+    font-weight: normal;
    -+    font-size: 0.8em;
    -+}
    -+
    -+table.myday h2 {
    -+    display: inline
    -+}
    -+
    -+table.myday td {
    -+    padding: 0.25em
    -+}
    -
    -diff --git a/share/static/css/elevator-light/msie.css b/share/static/css/elevator-light/msie.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/msie.css
    -@@
    -+div#body {
    -+
    -+}
    -+
    -+div#logo .rtname {
    -+    float: none;
    -+    right: 12em;
    -+    position: absolute;
    -+}
    -+
    -+.topaction form * {
    -+    vertical-align: top
    -+}
    -+
    -+.topaction form button,
    -+.topaction form input {
    -+    height: 2em
    -+}
    -+
    -+.topaction form input.field {
    -+    height: 1.6em
    -+}
    -+
    -+.topaction .select-queue {
    -+    margin-top: 0.2em
    -+}
    -+
    -+#pick-criteria td.label select {
    -+    width: 10em
    -+}
    -+
    -+#editquery {
    -+    margin-top: 0.2em;
    -+    width: 39%;
    -+    left: 60%;
    -+}
    -+
    -+div#nav li.first {
    -+    margin-top: 0.75em;
    -+    border-top: none;
    -+}
    -+
    -+div#nav ul ul li.first {
    -+    border-top: 1px solid #cccccc;
    -+    margin-top: 0.25em;
    -+}
    -+
    -+div#nav li.last {
    -+    border-bottom: none;
    -+    padding-bottom: 0;
    -+    margin-bottom: 0;
    -+}
    -+
    -+.transaction .type a {
    -+    font-weight: normal;
    -+    text-decoration: none;
    -+    color: #fff;
    -+}
    -+
    -+/* IE's box model is wrong */
    -+
    -+.titlebox .titlebox-title .widget a {
    -+    padding-top: 0;
    -+    height: 7px;
    -+    top: 0.75em;
    -+}
    -+
    -+.titlebox .titlebox-title .right {
    -+    display: block;
    -+    margin-top: 0.4em;
    -+    padding-right: 0.3em;
    -+}
    -+
    -+/* nested things. like the ticket dates tab */
    -+
    -+.titlebox .titlebox .titlebox-title .right {
    -+    top: 0.25em
    -+}
    -+
    -+.combobox {
    -+    float: left
    -+}
    -+
    -+.combobox .combo-button {
    -+    color: ButtonText;
    -+    padding: 0;
    -+}
    -+
    -+.combobox .combo-list {
    -+    margin-top: 0.5em;
    -+    margin-left: -0.2em;
    -+}
    -+
    -+#pick-criteria td.label {
    -+    width: auto
    -+}
    -+
    -+#pick-criteria td.operator {
    -+    width: 7.5em
    -+}
    -+
    -+.plain-text-white-space {
    -+    word-wrap: break-word; /* Internet Explorer 5.5+ */
    -+    white-space: pre; /* IE only hack to re-specify in addition to word-wrap  */
    -+}
    -+
    -+#rt-portal .titlebox-content {
    -+    height: 23em
    -+}
    -
    -diff --git a/share/static/css/elevator-light/nav.css b/share/static/css/elevator-light/nav.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/nav.css
    -@@
    -+.sf-menu {
    -+    width: 100%;
    -+    margin-bottom: 0;
    -+}
    -+
    -+.sf-menu li:hover {
    -+    background-color: #CFDEFF
    -+}
    -+
    -+.sf-menu li,
    -+.sf-menu li li,
    -+.sf-menu li li li {
    -+    background-color: #fff
    -+}
    -+
    -+.sf-sub-indicator {
    -+    background-image: url(../../../static/css/images/arrows-grey.png)
    -+}
    -+
    -+.sf-menu li li .sf-sub-indicator {
    -+    margin-top: -3px
    -+}
    -+
    -+#page-menu.sf-menu li .sf-sub-indicator {
    -+    top: 0.7em
    -+}
    -+
    -+#page-menu.sf-menu li:hover ul,
    -+#page-menu.sf-menu li.sfHover ul {
    -+    top: 2.5em
    -+}
    -+
    -+#main-navigation {
    -+    position: absolute;
    -+    top: 1px;
    -+    left: 0;
    -+    z-index: 9999;
    -+    text-color: #000;
    -+}
    -+
    -+#main-navigation .sf-menu a,
    -+#main-navigation .sf-menu a:hover {
    -+    padding-top: 0.5em;
    -+    padding-bottom: 0.5em;
    -+    border-color: #fff;
    -+    color: #000;
    -+}
    -+
    -+#main-navigation a {
    -+    border-top: none
    -+}
    -+
    -+#main-navigation li li a {
    -+    border-top: 1px solid white
    -+}
    -+
    -+#app-nav.sf-menu > li:first-child > a {
    -+    border-left: none
    -+}
    -+
    -+#main-navigation #app-nav > li,
    -+#main-navigation #app-nav > li > a {
    -+    background-color: transparent
    -+}
    -+
    -+#page-navigation {
    -+    position: absolute;
    -+    top: 6em;
    -+    right: 0;
    -+    left: 0;
    -+    padding-right: 3em;
    -+    font-size: 0.9em;
    -+    border-bottom: 1px solid #ccc;
    -+    background-color: #eee;
    -+}
    -+
    -+#page-navigation #page-menu {
    -+    margin-top: 0.2em;
    -+    float: right;
    -+    width: auto;
    -+}
    -+
    -+#page-navigation .sf-menu li {
    -+    background-color: transparent
    -+}
    -+
    -+#page-navigation .sf-menu li li,
    -+#page-navigation .sf-menu li li li {
    -+    background-color: #fff
    -+}
    -+
    -+#page-navigation .sf-menu a:visited,
    -+#page-navigation .sf-menu a {
    -+    border: none;
    -+    color: #000;
    -+}
    -+
    -+/* to stop a "flash" of an unstyled menu on an older browser,  hide the menu until superfish has initialized it */
    -+
    -+#app-nav.toplevel {
    -+    display: none
    -+}
    -+
    -+#app-nav.toplevel.sf-menu {
    -+    display: block
    -+}
    -+
    -+#page-menu.toplevel {
    -+    display: none
    -+}
    -+
    -+#page-menu.toplevel.sf-menu {
    -+    display: block
    -+}
    -+
    -+#topactions {
    -+    position: absolute;
    -+    background: transparent;
    -+    top: 3.25em;
    -+    right: 0em;
    -+    padding-right: 0.7em;
    -+    width: auto;
    -+    min-width: 42em;
    -+    font-size: 0.9em;
    -+    z-index: 99;
    -+}
    -+
    -+#topactions form * {
    -+
    -+}
    -+
    -+#topactions input,
    -+#topactions select,
    -+#topactions button {
    -+    padding-top: 0;
    -+    padding-bottom: 0;
    -+    padding-left: 0.5em;
    -+    padding-right: 0.5em;
    -+    vertical-align: middle;
    -+
    -+    width: 8em;
    -+    -webkit-transition: width 0.25s ease-in-out;
    -+    -moz-transition: width 0.25s ease-in-out;
    -+    -ms-transition: width 0.25s ease-in-out;
    -+    transition: width 0.25s ease-in-out;
    -+}
    -+
    -+#topactions .asset-search input[type="search"],
    -+#topactions .article-search input[type="search"]
    -+ {
    -+    width: 16em;
    -+}
    -+
    -+ at media (max-width: 900px) {
    -+    #topactions .create-wide   { display: none; }
    -+    #topactions .create-medium { display: block; }
    -+    #topactions .create-narrow { display: none; }
    -+
    -+    #topactions input[type="search"] {
    -+        width: 2em;
    -+    }
    -+    #topactions form {
    -+        margin-left: 0;
    -+    }
    -+
    -+    div#header h1 {
    -+        right: 10em;
    -+    }
    -+}
    -+
    -+ at media (max-width: 600px) {
    -+    #topactions .create-wide   { display: none; }
    -+    #topactions .create-medium { display: none; }
    -+    #topactions .create-narrow { display: block; }
    -+
    -+    #topactions input[type="submit"], #topactions input.button {
    -+        min-width: 2em;
    -+    }
    -+
    -+    div#header h1 {
    -+        right: 5em;
    -+    }
    -+}
    -+
    -+#topactions input[type="search"]:focus {
    -+    width: 16em;
    -+    -webkit-transition: width 0.25s ease-in-out;
    -+    -moz-transition: width 0.25s ease-in-out;
    -+    -ms-transition: width 0.25s ease-in-out;
    -+    transition: width 0.25s ease-in-out;
    -+}
    -+
    -+#topactions select {
    -+    -webkit-appearance: menulist-button;
    -+}
    -+
    -+#topactions .select-queue {
    -+    padding-right: 0
    -+}
    -+
    -+#topactions #simple-search .field {
    -+    margin-left: 1em;
    -+    color: #787;
    -+}
    -+
    -+#topactions #simple-search .field:focus {
    -+    color: #000
    -+}
    -+
    -+.sf-menu ul {
    -+    background-image: none;
    -+    padding: 0;
    -+}
    -+
    -+.sf-menu.sf-shadow ul {
    -+    -moz-border-radius: 0;
    -+    -webkit-border-radius: 0;
    -+    border-radius: 0;
    -+    -moz-box-shadow: 2px 2px 8px -2px #999;
    -+    -webkit-box-shadow: 2px 2px 8px -2px #999;
    -+    box-shadow: 2px 2px 8px -2px #999;
    -+}
    -+
    -+/* Pin page menu to top left corner once you scroll past it */
    -+
    -+#page-navigation #page-menu.pinned {
    -+    position: fixed;
    -+    top: 0;
    -+    right: 0;
    -+    left: auto;
    -+    width: auto;
    -+    margin-top: 0;
    -+    background: white;
    -+    border-left: 1px #aaa solid;
    -+    border-bottom: 1px #aaa solid;
    -+    border-radius: 0 0 0 5px;
    -+    box-shadow: 0 0 10px rgba(0,0,0,0.4);
    -+    /* stupid vendor prefixes */
    -+    -moz-border-radius: 0 0 0 5px;
    -+    -webkit-border-radius: 0 0 0 5px;
    -+    -moz-box-shadow: 0 0 10px rgba(0,0,0,0.4);
    -+    -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.4);
    -+}
    -+
    -+#page-menu.pinned li:hover ul,
    -+#page-menu.pinned li.sfHover ul {
    -+    border-left: 1px #aaa solid;
    -+    border-right: 1px #aaa solid;
    -+    z-index: -1 !important; /* relative to current stacking context */
    -+    box-shadow: 0 0 10px rgba(0,0,0,0.4);
    -+    -moz-box-shadow: 0 0 10px rgba(0,0,0,0.4);
    -+    -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.4);
    -+}
    -+
    -+/* round off the corner of the first menu item so it matches the container */
    -+
    -+#page-menu.pinned > li:first-of-type,
    -+#page-menu.pinned > li:first-of-type > a {
    -+    border-radius: 0 0 0 5px;
    -+    -moz-border-radius: 0 0 0 5px;
    -+    -webkit-border-radius: 0 0 0 5px;
    -+}
    -+
    -+#topactions input.field {
    -+    border-radius: 3px;
    -+    -moz-border-radius: 3px;
    -+    -webkit-border-radius: 3px;
    -+}
    -+
    -+#topactions input.select-queue {
    -+    border: none;
    -+}
    -+
    -
    -diff --git a/share/static/css/elevator-light/ticket-forms.css b/share/static/css/elevator-light/ticket-forms.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/ticket-forms.css
    -@@
    -+#ticket-create-metadata .cflabel .name,
    -+#ticket-update-metadata .cflabel .name {
    -+    font-weight: inherit
    -+}
    -+
    -+/* right align with the button in the outer div: */
    -+.sidebyside #ticket-create-message .button[name="AddMoreAttach"],
    -+.sidebyside #ticket-update-message .button[name="AddMoreAttach"] {
    -+    margin-right: -0.25em;
    -+}
    -
    -diff --git a/share/static/css/elevator-light/ticket-lists.css b/share/static/css/elevator-light/ticket-lists.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/ticket-lists.css
    -@@
    -+table.queue-summary,
    -+table.collection-as-table {
    -+    width: 100%;
    -+    border-spacing: 0;
    -+    border-collapse: collapse;
    -+}
    -+
    -+table.collection-as-table td {
    -+    padding-bottom: 0.25em
    -+}
    -+
    -+table.collection-as-table h1,
    -+table.collection-as-table h2,
    -+table.collection-as-table h3,
    -+table.collection-as-table h4,
    -+table.collection-as-table h5 {
    -+    margin: 0;
    -+    margin-right: 0.5em;
    -+    padding: 0;
    -+    padding: 0.1em;
    -+    display: inline-block;
    -+    font-weight: normal;
    -+}
    -+
    -+table.collection-as-table h1 a,
    -+table.collection-as-table h2 a,
    -+table.collection-as-table h3 a,
    -+table.collection-as-table h4 a,
    -+table.collection-as-table h5 a {
    -+    font-weight: normal
    -+}
    -+
    -+table.queue-summary tr>*:first-child {
    -+    padding-left: 1em
    -+}
    -+
    -+table.queue-summary tr>*:last-child {
    -+    padding-right: 1em
    -+}
    -+
    -+table.queue-summary a,
    -+table.collection-as-table a {
    -+    font-weight: bold
    -+}
    -+
    -+table.collection-as-table th.collection-as-table,
    -+table.queue-summary th.collection-as-table {
    -+    background: transparent;
    -+    padding: 0.25em;
    -+    margin-bottom: 0.5em;
    -+    padding-bottom: 0.5em;
    -+    color: #3858a3;
    -+}
    -+
    -+table.collection-as-table th.collection-as-table a,
    -+table.queue-summary th.collection-as-table a {
    -+    color: #3858a3
    -+}
    -+
    -+table.collection-as-table th.collection-as-table {
    -+    text-align: left
    -+}
    -+
    -+table.queue-summary th.collection-as-table {
    -+    text-align: right
    -+}
    -+
    -+table.collection-as-table,
    -+table.queue-summary {
    -+    border-bottom: 1px solid #ccc;
    -+    margin-bottom: 1em;
    -+}
    -+
    -+table.queue-summary th.collection-as-table:first-child {
    -+    text-align: left
    -+}
    -+
    -+tr.collection-as-table+tr.collection-as-table th,
    -+table.collection-as-table.chart th {
    -+    border-bottom: 2px solid #ccc
    -+}
    -+
    -+table.queue-summary td {
    -+    background: #efefef;
    -+    border-bottom: 1px solid #ccc;
    -+}
    -+
    -+tr.evenline td,
    -+tr.oddline td {
    -+    padding-top: 0.5em;
    -+    border-top: 1px solid #cccccc;
    -+}
    -+
    -+tr.evenline td {
    -+    background: #fff
    -+}
    -+
    -+tr.oddline td {
    -+    background: #eee
    -+}
    -+
    -+tr.evenline+tr.evenline td,
    -+tr.oddline+tr.oddline td {
    -+    border-top: none
    -+}
    -+
    -+tr.evenline,
    -+tr.oddline {
    -+    border-left: 1px solid #cccccc;
    -+    border-right: 1px solid #cccccc;
    -+}
    -+
    -+tr.evenline+tr.evenline td,
    -+tr.oddline+tr.oddline td {
    -+    padding-top: 0;
    -+    border: none;
    -+}
    -+
    -+table.collection-as-table td:first-child,
    -+table.collection-as-table th:first-child {
    -+    padding-left: 1em
    -+}
    -+
    -+table.collection-as-table td:last-child,
    -+table.collection-as-table th:last-child {
    -+    padding-right: 1em
    -+}
    -+
    -+th.collection-as-table,
    -+td.collection-as-table {
    -+    padding-right: 0.5em
    -+}
    -+
    -+.pagenum.a:hover,
    -+.paging a.nav:hover {
    -+    text-decoration: underline
    -+}
    -+
    -+.pagenum *,
    -+.paging a.nav {
    -+    padding: .5em
    -+}
    -+
    -+.currentpage {
    -+    text-decoration: none;
    -+    font-weight: bold;
    -+    background: #eee;
    -+}
    -+
    -+div.paging {
    -+    text-align: center;
    -+    padding-bottom: 1em;
    -+}
    -+
    -+/* full-page ticket lists */
    -+
    -+#body>table.collection-as-table {
    -+    margin-bottom: 2em
    -+}
    -+
    -+.chart.image {
    -+    padding-right: 2em;
    -+    float: left;
    -+    clear: both;
    -+}
    -+
    -+.chart.image.bar {
    -+    margin-top: -1em;
    -+}
    -+
    -+.chart-wrapper {
    -+    display: block;
    -+    width: auto;
    -+}
    -+
    -+.chart-wrapper .collection-as-table {
    -+    width: auto;
    -+    font-size: 1em;
    -+    /* Firefox needs this to let the table flow below the chart on narrow screens */
    -+    clear: right;
    -+}
    -+
    -+.chart-wrapper .collection-as-table th.collection-as-table {
    -+    text-align: center;
    -+    padding: 0.5em;
    -+    padding-right: 1em;
    -+    padding-left: 1em;
    -+}
    -+
    -+.chart-wrapper .collection-as-table tr.total td {
    -+    border-top: 1px solid #ccc
    -+}
    -+
    -+.chart-wrapper .collection-as-table td.value {
    -+    padding-left: 0.5em
    -+}
    -+
    -+.chart-wrapper .query {
    -+    clear: both;
    -+    text-align: center;
    -+    font-size: 1.2em;
    -+    padding: 1em;
    -+}
    -+
    -+.chart-wrapper .collection-as-table .label {
    -+    font-weight: bold
    -+}
    -+
    -+.chart-wrapper .query .label {
    -+    font-weight: bold
    -+}
    -+
    -+.chart-meta {
    -+    padding-top: 2em;
    -+    border-top: 1px solid #ccc;
    -+    clear: both;
    -+}
    -+
    -+.chart-meta .chart-type {
    -+    display: inline-block;
    -+    float: left;
    -+    padding-right: 2em;
    -+    clear: both;
    -+}
    -+
    -+.chart-meta .saved-search {
    -+    display: inline-block
    -+}
    -
    -diff --git a/share/static/css/elevator-light/ticket-search.css b/share/static/css/elevator-light/ticket-search.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/ticket-search.css
    -@@
    -+#comp-Search-Build #body {
    -+    position: relative
    -+}
    -+
    -+#pick-criteria select {
    -+    width: 8em
    -+}
    -+
    -+#pick-criteria tr {
    -+    height: 1.5em
    -+}
    -+
    -+#pick-criteria td.label {
    -+    font: message-box;
    -+    padding-right: 0.5em;
    -+    width: 11em;
    -+}
    -+
    -+#pick-criteria td.label select {
    -+    width: 8.5em;
    -+    text-align: right;
    -+}
    -+
    -+#pick-criteria td.operator {
    -+    padding-right: 0.5em;
    -+    text-align: left;
    -+    vertical-align: bottom;
    -+    width: 7em;
    -+}
    -+
    -+#pick-criteria td.operator select {
    -+    text-align: right
    -+}
    -+
    -+#pick-criteria td.value input,
    -+#pick-criteria td.value select {
    -+    width: 11em
    -+}
    -+
    -+#pick-criteria td.value #ValueOfDate {
    -+    width: 11em
    -+}
    -+
    -+#pick-criteria td.value #ValueOfTime {
    -+    width: 4em
    -+}
    -+
    -+#pick-criteria td.value #ValueOfTime-TimeUnits {
    -+    width: 5.5em
    -+}
    -+
    -+#pick-criteria td.value {
    -+    padding-right: 0.5em;
    -+    text-align: left;
    -+    font: message-box;
    -+}
    -+
    -+#editquery,
    -+#editsearches {
    -+    position: absolute;
    -+    margin-top: 1.5em;
    -+    right: 1em;
    -+    left: 60%;
    -+    top: 1em;
    -+}
    -+
    -+#editquery {
    -+    top: 1.3em
    -+}
    -+
    -+#editsearches {
    -+    top: 24em
    -+}
    -+
    -+#pick-criteria {
    -+    width: 58%;
    -+    padding-top: 0em;
    -+    margin-top: 0em;
    -+}
    -+
    -+#pick-criteria .titlebox-content {
    -+    overflow-x: auto
    -+}
    -+
    -+#BuildQuery .submit {
    -+    width: 58%
    -+}
    -+
    -+#sorting.titlebox {
    -+    width: 55%;
    -+    padding-right: 1em;
    -+}
    -+
    -+#display-options .submit {
    -+    width: 100%
    -+}
    -+
    -+.search-result-views {
    -+    position: absolute;
    -+    top: 0;
    -+    right: 0;
    -+    margin-top: -2px;
    -+    margin-right: 0em;
    -+    padding: 0.25em;
    -+    padding-left: 0.5em;
    -+    padding-right: 0.5em;
    -+    background-color: #ccc;
    -+    border-left: 1px solid #999;
    -+    border-bottom: 1px solid #999;
    -+    -moz-border-radius-bottomleft: 0.5em;
    -+    -webkit-border-bottom-left-radius: 0.5em;
    -+    border-radius: 0 0 0 0.5em;
    -+}
    -+
    -+.search-result-views li {
    -+    display: inline
    -+}
    -+
    -+.search-result-views li:after {
    -+    content: " \00b7 "
    -+}
    -+
    -+.search-result-views li:last-child:after {
    -+    content: ""
    -+}
    -+
    -+.edit-saved-searches .label {
    -+    display: inline-block;
    -+    width: 10em;
    -+}
    -+
    -+span#display-options {
    -+    display: block;
    -+    padding-top: 2em;
    -+    margin-top: 2em;
    -+    border-top: 1px solid #ccc;
    -+    clear: both;
    -+}
    -+
    -+span#display-options .titlebox#sorting {
    -+    float: left;
    -+    width: auto;
    -+    margin-right: 2em;
    -+    min-width: 35%;
    -+}
    -+
    -+span#display-options .titlebox#columns {
    -+    float: left
    -+}
    -+
    -+span#display-options .titlebox#columns table.edit-columns td {
    -+    padding: 0.5em
    -+}
    -+
    -+span#display-options .titlebox#columns table.edit-columns div.row {
    -+    width: 9em
    -+}
    -+
    -+span#display-options .titlebox#columns table.edit-columns span.label {
    -+    width: 2em
    -+}
    -+
    -+span#display-options .titlebox#columns table.edit-columns span.value input,
    -+span#display-options .titlebox#columns table.edit-columns span.value select {
    -+    width: 7em;
    -+    padding: 0;
    -+}
    -+
    -+span#display-options .titlebox#columns table.edit-columns span.value {
    -+    display: inline-block;
    -+    width: 7em;
    -+}
    -+
    -+#BuildQuery #formatbuttons.submit {
    -+    width: 85%
    -+}
    -+
    -+.refresh {
    -+    float: left
    -+}
    -+
    -+/* Force some widget to fit at max parent box */
    -+
    -+#HomeRefreshInterval,
    -+#SavedSearchLoad,
    -+#SavedSearchOwner {
    -+    max-width: 100%
    -+}
    -
    -diff --git a/share/static/css/elevator-light/ticket-timer.css b/share/static/css/elevator-light/ticket-timer.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/ticket-timer.css
    -@@
    -+.ticket-timer {
    -+    padding: 0;
    -+}
    -+
    -+.ticket-timer .ticket-link {
    -+    background: #547CCC;
    -+    padding: 0.33em 1em;
    -+    margin-bottom: 0;
    -+
    -+    /* for text-overflow: ellipsis */
    -+    color: white;
    -+    font-weight: bold;
    -+}
    -+
    -+.ticket-timer .ticket-link a {
    -+    color: #fff;
    -+    font-size: 1.1em;
    -+    font-weight: bold;
    -+}
    -+
    -+/* we use background: #547CCC; to help make the ticket timer look more like RT
    -+   but unfortunately that makes the stopwatch icon (being black) look bad */
    -+.ticket-timer .ticket-link img {
    -+    display: none;
    -+}
    -+
    -+.ticket-timer .gutter {
    -+    border-bottom: 1px solid #ccc;
    -+    background-color: #eee;
    -+    padding: 0.5em;
    -+}
    -+
    -+.ticket-timer .extra,
    -+.ticket-timer .on-error {
    -+    padding: 0 1em;
    -+}
    -
    -diff --git a/share/static/css/elevator-light/ticket.css b/share/static/css/elevator-light/ticket.css
    -new file mode 100644
    ---- /dev/null
    -+++ b/share/static/css/elevator-light/ticket.css
    -@@
    -+.titlebox-title.inverse .widget a,
    -+.ticket-info-cfs .titlebox-title .widget a,
    -+.ticket-info-basics .titlebox-title .widget a,
    -+.ticket-info-people .titlebox-title .widget a,
    -+.ticket-info-requestor .titlebox-title .widget a,
    -+.ticket-info-links .titlebox-title .widget a,
    -+.ticket-info-merge .titlebox-title .widget a,
    -+.ticket-info-reminders .titlebox-title .widget a,
    -+.ticket-info-dates .titlebox-title .widget a,
    -+.ticket-info-attachments .titlebox-title .widget a {
    -+    background-position: center -7px
    -+}
    -+
    -+.titlebox-title.inverse,
    -+.ticket-info-cfs .titlebox-title,
    -+.ticket-info-basics .titlebox-title,
    -+.ticket-info-people .titlebox-title,
    -+.ticket-info-requestor .titlebox-title,
    -+.ticket-info-links .titlebox-title,
    -+.ticket-info-merge .titlebox-title,
    -+.ticket-info-reminders .titlebox-title,
    -+.ticket-info-dates .titlebox-title,
    -+.ticket-info-attachments .titlebox-title {
    -+    margin-left: 1em
    -+}
    -+
    -+.titlebox-title.inverse  .left,
    -+.ticket-info-cfs .titlebox-title  .left,
    -+.ticket-info-basics .titlebox-title  .left,
    -+.ticket-info-people .titlebox-title  .left,
    -+.ticket-info-requestor .titlebox-title  .left,
    -+.ticket-info-links .titlebox-title  .left,
    -+.ticket-info-merge .titlebox-title  .left,
    -+.ticket-info-reminders .titlebox-title  .left,
    -+.ticket-info-dates .titlebox-title  .left,
    -+.ticket-info-attachments .titlebox-title  .left {
    -+    padding-left: 2.25em;
    -+    margin-left: 0;
    -+    padding-bottom: 4px;
    -+    margin-bottom: 8px;
    -+    -webkit-border-top-left-radius: 0.3em;
    -+    -webkit-border-top-right-radius: 0.3em;
    -+    -moz-border-radius-topleft: 0.3em;
    -+    -moz-border-radius-topright: 0.3em;
    -+    border-radius: 0.3em 0.3em 0 0;
    -+}
    -+
    -+.titlebox-title.inverse .left,
    -+.titlebox-title.inverse .left a {
    -+    color: #fff;
    -+}
    -+
    -+.titlebox.ticket-info-reminders table {
    -+    width: 100%
    -+}
    -+
    -+.titlebox.ticket-info-reminders table form {
    -+    display: inline-block;
    -+    width: 100%;
    -+}
    -+
    -+ at media (max-width: 800px) {
    -+    .messagedetails .fields,
    -+    .messagedetails .fields .field,
    -+    .messagedetails .fields .field .label,
    -+    .messagedetails .fields .field .value {
    -+        display: block;
    -+    }
    -+
    -+    .messagedetails .fields .field .label {
    -+        text-align: left;
    -+    }
    -+
    -+    .messagedetails .fields .field + .field {
    -+        margin-top: 1em;
    -+    }
    -+
    -+    .messagedetails .fields .label.empty {
    -+        display: none;
    -+    }
    -+}
    -+
    -+/* don't put a background on the outer titlebox */
    -+
    -+.summary>div>.titlebox>.titlebox-content {
    -+    background: none
    -+}
    -+
    -+tr.edit-custom-field.cftype-IPAddress input,
    -+tr.edit-custom-field.cftype-IPAddressRange input {
    -+    width: 24em;
    -+}
    -+
    -+tr.edit-custom-field.cftype-IPAddress textarea,
    -+tr.edit-custom-field.cftype-IPAddressRange textarea {
    -+    width: 24em;
    -+}
    -+
    -+#requestor-accordion .details {
    -+    margin-left: 0;
    -+    padding-left: 0;
    -+}
    -+
    -+#requestor-accordion .user-summary {
    -+    margin-right: 1em;
    -+}
    -+
    -+#requestor-accordion .details .comments-about-user,
    -+#requestor-accordion .details .ui-tabs-nav,
    -+#requestor-accordion .details .ui-tabs-panel .label,
    -+#requestor-accordion .details .more-about-user-groups {
    -+    margin-left: 1em;
    -+    margin-right: 1em;
    -+}
    -
109: 971cc2510 = 109: 9e2710667 Add popper.js 1.14.6 dependency
110: fc63799a8 ! 110: d5361e4f8 Add bootstrap 4.2.1 dependency
    @@ -24077,3 +24077,4 @@
     +  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
     +  */
     +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("popper.js"),require("jquery")):"function"==typeof define&&define.amd?define(["exports","popper.js","jquery"],e):e(t.bootstrap={},t.Popper,t.jQuery)}(this,function(t,u,g){"use strict";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function l(o){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},e=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(e=e.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.forEach(function(t){var e,n,i;e=o,i=r[n=t],n in e?Object.defineProperty(e,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[n]=i})}return o}u=u&&u.hasOwnProperty("default")?u.default:u,g=g&&g.hasOwnProperty("def
 ault")?g.default:g;var e="transitionend";function n(t){var e=this,n=!1;return g(this).one(_.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||_.triggerTransitionEnd(e)},t),this}var _={TRANSITION_END:"bsTransitionEnd",getUID:function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}return e&&document.querySelector(e)?e:null},getTransitionDurationFromElement:function(t){if(!t)return 0;var e=g(t).css("transition-duration"),n=g(t).css("transition-delay"),i=parseFloat(e),o=parseFloat(n);return i||o?(e=e.split(",")[0],n=n.split(",")[0],1e3*(parseFloat(e)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){g(t).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var i in n)if(Object.pr
 ototype.hasOwnProperty.call(n,i)){var o=n[i],r=e[i],s=r&&_.isElement(r)?"element":(a=r,{}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(o).test(s))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+s+'" but expected type "'+o+'".')}var a},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"!=typeof t.getRootNode)return t instanceof ShadowRoot?t:t.parentNode?_.findShadowRoot(t.parentNode):null;var e=t.getRootNode();return e instanceof ShadowRoot?e:null}};g.fn.emulateTransitionEnd=n,g.event.special[_.TRANSITION_END]={bindType:e,delegateType:e,handle:function(t){if(g(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var o="alert",r="bs.alert",a="."+r,c=g.fn[o],h={CLOSE:"close"+a,CLOSED:"closed"+a,CLICK_DATA_API:"click"+a+".data-api"},f="alert",d="fade",m="show",p=function(){function i(t){this._element=t}var t=i.prototype;return t.close=function(t){var e=this._element;t&&(e=this._getRo
 otElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},t.dispose=function(){g.removeData(this._element,r),this._element=null},t._getRootElement=function(t){var e=_.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=g(t).closest("."+f)[0]),n},t._triggerCloseEvent=function(t){var e=g.Event(h.CLOSE);return g(t).trigger(e),e},t._removeElement=function(e){var n=this;if(g(e).removeClass(m),g(e).hasClass(d)){var t=_.getTransitionDurationFromElement(e);g(e).one(_.TRANSITION_END,function(t){return n._destroyElement(e,t)}).emulateTransitionEnd(t)}else this._destroyElement(e)},t._destroyElement=function(t){g(t).detach().trigger(h.CLOSED).remove()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(r);e||(e=new i(this),t.data(r,e)),"close"===n&&e[n](this)})},i._handleDismiss=function(e){return function(t){t&&t.preventDefault(),e.close(this)}},s(i,null,[{key:"VERSION",get:function(){return"4.2.1"}}]),i}();g(
 document).on(h.CLICK_DATA_API,'[data-dismiss="alert"]',p._handleDismiss(new p)),g.fn[o]=p._jQueryInterface,g.fn[o].Constructor=p,g.fn[o].noConflict=function(){return g.fn[o]=c,p._jQueryInterface};var v="button",E="bs.button",y="."+E,C=".data-api",T=g.fn[v],S="active",b="btn",I="focus",D='[data-toggle^="button"]',w='[data-toggle="buttons"]',A='input:not([type="hidden"])',N=".active",O=".btn",k={CLICK_DATA_API:"click"+y+C,FOCUS_BLUR_DATA_API:"focus"+y+C+" blur"+y+C},P=function(){function n(t){this._element=t}var t=n.prototype;return t.toggle=function(){var t=!0,e=!0,n=g(this._element).closest(w)[0];if(n){var i=this._element.querySelector(A);if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains(S))t=!1;else{var o=n.querySelector(N);o&&g(o).removeClass(S)}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains(S),g(i).trigger("change")}i.focus
 (),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(S)),t&&g(this._element).toggleClass(S)},t.dispose=function(){g.removeData(this._element,E),this._element=null},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(E);t||(t=new n(this),g(this).data(E,t)),"toggle"===e&&t[e]()})},s(n,null,[{key:"VERSION",get:function(){return"4.2.1"}}]),n}();g(document).on(k.CLICK_DATA_API,D,function(t){t.preventDefault();var e=t.target;g(e).hasClass(b)||(e=g(e).closest(O)),P._jQueryInterface.call(g(e),"toggle")}).on(k.FOCUS_BLUR_DATA_API,D,function(t){var e=g(t.target).closest(O)[0];g(e).toggleClass(I,/^focus(in)?$/.test(t.type))}),g.fn[v]=P._jQueryInterface,g.fn[v].Constructor=P,g.fn[v].noConflict=function(){return g.fn[v]=T,P._jQueryInterface};var L="carousel",j="bs.carousel",H="."+j,R=".data-api",U=g.fn[L],W={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},x={interval:"(number|boolean)",keyboard:"boolean",slide:"(boole
 an|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},F="next",q="prev",M="left",K="right",Q={SLIDE:"slide"+H,SLID:"slid"+H,KEYDOWN:"keydown"+H,MOUSEENTER:"mouseenter"+H,MOUSELEAVE:"mouseleave"+H,TOUCHSTART:"touchstart"+H,TOUCHMOVE:"touchmove"+H,TOUCHEND:"touchend"+H,POINTERDOWN:"pointerdown"+H,POINTERUP:"pointerup"+H,DRAG_START:"dragstart"+H,LOAD_DATA_API:"load"+H+R,CLICK_DATA_API:"click"+H+R},B="carousel",V="active",Y="slide",X="carousel-item-right",z="carousel-item-left",G="carousel-item-next",J="carousel-item-prev",Z="pointer-event",$=".active",tt=".active.carousel-item",et=".carousel-item",nt=".carousel-item img",it=".carousel-item-next, .carousel-item-prev",ot=".carousel-indicators",rt="[data-slide], [data-slide-to]",st='[data-ride="carousel"]',at={TOUCH:"touch",PEN:"pen"},lt=function(){function r(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,th
 is._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(ot),this._touchSupported="ontouchstart"in document.documentElement||0<navigator.maxTouchPoints,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var t=r.prototype;return t.next=function(){this._isSliding||this._slide(F)},t.nextWhenVisible=function(){!document.hidden&&g(this._element).is(":visible")&&"hidden"!==g(this._element).css("visibility")&&this.next()},t.prev=function(){this._isSliding||this._slide(q)},t.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(it)&&(_.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},t.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._conf
 ig.interval))},t.to=function(t){var e=this;this._activeElement=this._element.querySelector(tt);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=n<t?F:q;this._slide(i,this._items[t])}},t.dispose=function(){g(this._element).off(H),g.removeData(this._element,j),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},t._getConfig=function(t){return t=l({},W,t),_.typeCheckConfig(L,t,x),t},t._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;0<e&&this.prev(),e<0&&this.next()}},t._addEventListeners=function(){var e=this;this._config.keyboard&&g(this._element).on(Q.KEYDOWN,function(t){return e._keydown(t)}),"hover"===this._config.pause&&g(this._element).on(Q.MOUSEENTER,funct
 ion(t){return e.pause(t)}).on(Q.MOUSELEAVE,function(t){return e.cycle(t)}),this._addTouchEventListeners()},t._addTouchEventListeners=function(){var n=this;if(this._touchSupported){var e=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]?n.touchStartX=t.originalEvent.clientX:n._pointerEvent||(n.touchStartX=t.originalEvent.touches[0].clientX)},i=function(t){n._pointerEvent&&at[t.originalEvent.pointerType.toUpperCase()]&&(n.touchDeltaX=t.originalEvent.clientX-n.touchStartX),n._handleSwipe(),"hover"===n._config.pause&&(n.pause(),n.touchTimeout&&clearTimeout(n.touchTimeout),n.touchTimeout=setTimeout(function(t){return n.cycle(t)},500+n._config.interval))};g(this._element.querySelectorAll(nt)).on(Q.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(g(this._element).on(Q.POINTERDOWN,function(t){return e(t)}),g(this._element).on(Q.POINTERUP,function(t){return i(t)}),this._element.classList.add(Z)):(g(this._element).on(Q.TOUCHSTART,function(t){retu
 rn e(t)}),g(this._element).on(Q.TOUCHMOVE,function(t){var e;(e=t).originalEvent.touches&&1<e.originalEvent.touches.length?n.touchDeltaX=0:n.touchDeltaX=e.originalEvent.touches[0].clientX-n.touchStartX}),g(this._element).on(Q.TOUCHEND,function(t){return i(t)}))}},t._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},t._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(et)):[],this._items.indexOf(t)},t._getItemByDirection=function(t,e){var n=t===F,i=t===q,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+(t===q?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},t._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(tt)),o=g.Event(Q.SLIDE,{relatedTarget:t,direction:e,
 from:i,to:n});return g(this._element).trigger(o),o},t._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll($));g(e).removeClass(V);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&g(n).addClass(V)}},t._slide=function(t,e){var n,i,o,r=this,s=this._element.querySelector(tt),a=this._getItemIndex(s),l=e||s&&this._getItemByDirection(t,s),c=this._getItemIndex(l),h=Boolean(this._interval);if(o=t===F?(n=z,i=G,M):(n=X,i=J,K),l&&g(l).hasClass(V))this._isSliding=!1;else if(!this._triggerSlideEvent(l,o).isDefaultPrevented()&&s&&l){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(l);var u=g.Event(Q.SLID,{relatedTarget:l,direction:o,from:a,to:c});if(g(this._element).hasClass(Y)){g(l).addClass(i),_.reflow(l),g(s).addClass(n),g(l).addClass(n);var f=parseInt(l.getAttribute("data-interval"),10);this._config.interval=f?(this._config.defaultInterval=this._config.defaultInterval||this._config.int
 erval,f):this._config.defaultInterval||this._config.interval;var d=_.getTransitionDurationFromElement(s);g(s).one(_.TRANSITION_END,function(){g(l).removeClass(n+" "+i).addClass(V),g(s).removeClass(V+" "+i+" "+n),r._isSliding=!1,setTimeout(function(){return g(r._element).trigger(u)},0)}).emulateTransitionEnd(d)}else g(s).removeClass(V),g(l).addClass(V),this._isSliding=!1,g(this._element).trigger(u);h&&this.cycle()}},r._jQueryInterface=function(i){return this.each(function(){var t=g(this).data(j),e=l({},W,g(this).data());"object"==typeof i&&(e=l({},e,i));var n="string"==typeof i?i:e.slide;if(t||(t=new r(this,e),g(this).data(j,t)),"number"==typeof i)t.to(i);else if("string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}else e.interval&&(t.pause(),t.cycle())})},r._dataApiClickHandler=function(t){var e=_.getSelectorFromElement(this);if(e){var n=g(e)[0];if(n&&g(n).hasClass(B)){var i=l({},g(n).data(),g(this).data()),o=this.getAttribute("data-s
 lide-to");o&&(i.interval=!1),r._jQueryInterface.call(g(n),i),o&&g(n).data(j).to(o),t.preventDefault()}}},s(r,null,[{key:"VERSION",get:function(){return"4.2.1"}},{key:"Default",get:function(){return W}}]),r}();g(document).on(Q.CLICK_DATA_API,rt,lt._dataApiClickHandler),g(window).on(Q.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(st)),e=0,n=t.length;e<n;e++){var i=g(t[e]);lt._jQueryInterface.call(i,i.data())}}),g.fn[L]=lt._jQueryInterface,g.fn[L].Constructor=lt,g.fn[L].noConflict=function(){return g.fn[L]=U,lt._jQueryInterface};var ct="collapse",ht="bs.collapse",ut="."+ht,ft=g.fn[ct],dt={toggle:!0,parent:""},gt={toggle:"boolean",parent:"(string|element)"},_t={SHOW:"show"+ut,SHOWN:"shown"+ut,HIDE:"hide"+ut,HIDDEN:"hidden"+ut,CLICK_DATA_API:"click"+ut+".data-api"},mt="show",pt="collapse",vt="collapsing",Et="collapsed",yt="width",Ct="height",Tt=".show, .collapsing",St='[data-toggle="collapse"]',bt=function(){function a(e,t){this._isTransitioning=!1,this._elem
 ent=e,this._config=this._getConfig(t),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'));for(var n=[].slice.call(document.querySelectorAll(St)),i=0,o=n.length;i<o;i++){var r=n[i],s=_.getSelectorFromElement(r),a=[].slice.call(document.querySelectorAll(s)).filter(function(t){return t===e});null!==s&&0<a.length&&(this._selector=s,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var t=a.prototype;return t.toggle=function(){g(this._element).hasClass(mt)?this.hide():this.show()},t.show=function(){var t,e,n=this;if(!this._isTransitioning&&!g(this._element).hasClass(mt)&&(this._parent&&0===(t=[].slice.call(this._parent.querySelectorAll(Tt)).filter(function(t){return"string"==typeof n._config.parent?t.getAttribute("data-parent")===n._c
 onfig.parent:t.classList.contains(pt)})).length&&(t=null),!(t&&(e=g(t).not(this._selector).data(ht))&&e._isTransitioning))){var i=g.Event(_t.SHOW);if(g(this._element).trigger(i),!i.isDefaultPrevented()){t&&(a._jQueryInterface.call(g(t).not(this._selector),"hide"),e||g(t).data(ht,null));var o=this._getDimension();g(this._element).removeClass(pt).addClass(vt),this._element.style[o]=0,this._triggerArray.length&&g(this._triggerArray).removeClass(Et).attr("aria-expanded",!0),this.setTransitioning(!0);var r="scroll"+(o[0].toUpperCase()+o.slice(1)),s=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){g(n._element).removeClass(vt).addClass(pt).addClass(mt),n._element.style[o]="",n.setTransitioning(!1),g(n._element).trigger(_t.SHOWN)}).emulateTransitionEnd(s),this._element.style[o]=this._element[r]+"px"}}},t.hide=function(){var t=this;if(!this._isTransitioning&&g(this._element).hasClass(mt)){var e=g.Event(_t.HIDE);if(g(this._element).trigger(e)
 ,!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",_.reflow(this._element),g(this._element).addClass(vt).removeClass(pt).removeClass(mt);var i=this._triggerArray.length;if(0<i)for(var o=0;o<i;o++){var r=this._triggerArray[o],s=_.getSelectorFromElement(r);if(null!==s)g([].slice.call(document.querySelectorAll(s))).hasClass(mt)||g(r).addClass(Et).attr("aria-expanded",!1)}this.setTransitioning(!0);this._element.style[n]="";var a=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(){t.setTransitioning(!1),g(t._element).removeClass(vt).addClass(pt).trigger(_t.HIDDEN)}).emulateTransitionEnd(a)}}},t.setTransitioning=function(t){this._isTransitioning=t},t.dispose=function(){g.removeData(this._element,ht),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},t._getConfig=function(t){return(t=l({},dt,t)).toggle=Boolean(t.toggle
 ),_.typeCheckConfig(ct,t,gt),t},t._getDimension=function(){return g(this._element).hasClass(yt)?yt:Ct},t._getParent=function(){var t,n=this;_.isElement(this._config.parent)?(t=this._config.parent,"undefined"!=typeof this._config.parent.jquery&&(t=this._config.parent[0])):t=document.querySelector(this._config.parent);var e='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]',i=[].slice.call(t.querySelectorAll(e));return g(i).each(function(t,e){n._addAriaAndCollapsedClass(a._getTargetFromElement(e),[e])}),t},t._addAriaAndCollapsedClass=function(t,e){var n=g(t).hasClass(mt);e.length&&g(e).toggleClass(Et,!n).attr("aria-expanded",n)},a._getTargetFromElement=function(t){var e=_.getSelectorFromElement(t);return e?document.querySelector(e):null},a._jQueryInterface=function(i){return this.each(function(){var t=g(this),e=t.data(ht),n=l({},dt,t.data(),"object"==typeof i&&i?i:{});if(!e&&n.toggle&&/show|hide/.test(i)&&(n.toggle=!1),e||(e=new a(this,n),t.data(ht,e)),"string"==typeof 
 i){if("undefined"==typeof e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},s(a,null,[{key:"VERSION",get:function(){return"4.2.1"}},{key:"Default",get:function(){return dt}}]),a}();g(document).on(_t.CLICK_DATA_API,St,function(t){"A"===t.currentTarget.tagName&&t.preventDefault();var n=g(this),e=_.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(e));g(i).each(function(){var t=g(this),e=t.data(ht)?"toggle":n.data();bt._jQueryInterface.call(t,e)})}),g.fn[ct]=bt._jQueryInterface,g.fn[ct].Constructor=bt,g.fn[ct].noConflict=function(){return g.fn[ct]=ft,bt._jQueryInterface};var It="dropdown",Dt="bs.dropdown",wt="."+Dt,At=".data-api",Nt=g.fn[It],Ot=new RegExp("38|40|27"),kt={HIDE:"hide"+wt,HIDDEN:"hidden"+wt,SHOW:"show"+wt,SHOWN:"shown"+wt,CLICK:"click"+wt,CLICK_DATA_API:"click"+wt+At,KEYDOWN_DATA_API:"keydown"+wt+At,KEYUP_DATA_API:"keyup"+wt+At},Pt="disabled",Lt="show",jt="dropup",Ht="dropright",Rt="dropleft",Ut="dropdown-menu-right",Wt="position-static",
 xt='[data-toggle="dropdown"]',Ft=".dropdown form",qt=".dropdown-menu",Mt=".navbar-nav",Kt=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",Qt="top-start",Bt="top-end",Vt="bottom-start",Yt="bottom-end",Xt="right-start",zt="left-start",Gt={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic"},Jt={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string"},Zt=function(){function c(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var t=c.prototype;return t.toggle=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)){var t=c._getParentFromElement(this._element),e=g(this._menu).hasClass(Lt);if(c._clearMenus(),!e){var n={relatedTarget:this._element},i=g.Event(kt.SHOW,n);if(g(t).trigger(i),!i.isDefaultPrevented()){if(!this._inNavbar){if("undefined"==typeof u
 )throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)");var o=this._element;"parent"===this._config.reference?o=t:_.isElement(this._config.reference)&&(o=this._config.reference,"undefined"!=typeof this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&g(t).addClass(Wt),this._popper=new u(o,this._menu,this._getPopperConfig())}"ontouchstart"in document.documentElement&&0===g(t).closest(Mt).length&&g(document.body).children().on("mouseover",null,g.noop),this._element.focus(),this._element.setAttribute("aria-expanded",!0),g(this._menu).toggleClass(Lt),g(t).toggleClass(Lt).trigger(g.Event(kt.SHOWN,n))}}}},t.show=function(){if(!(this._element.disabled||g(this._element).hasClass(Pt)||g(this._menu).hasClass(Lt))){var t={relatedTarget:this._element},e=g.Event(kt.SHOW,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Lt),g(n).toggleClass(Lt).trigger(g.Ev
 ent(kt.SHOWN,t)))}},t.hide=function(){if(!this._element.disabled&&!g(this._element).hasClass(Pt)&&g(this._menu).hasClass(Lt)){var t={relatedTarget:this._element},e=g.Event(kt.HIDE,t),n=c._getParentFromElement(this._element);g(n).trigger(e),e.isDefaultPrevented()||(g(this._menu).toggleClass(Lt),g(n).toggleClass(Lt).trigger(g.Event(kt.HIDDEN,t)))}},t.dispose=function(){g.removeData(this._element,Dt),g(this._element).off(wt),this._element=null,(this._menu=null)!==this._popper&&(this._popper.destroy(),this._popper=null)},t.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},t._addEventListeners=function(){var e=this;g(this._element).on(kt.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},t._getConfig=function(t){return t=l({},this.constructor.Default,g(this._element).data(),t),_.typeCheckConfig(It,t,this.constructor.DefaultType),t},t._getMenuElement=function(){if(!this._menu){var t=c._getParentFromElement(this._e
 lement);t&&(this._menu=t.querySelector(qt))}return this._menu},t._getPlacement=function(){var t=g(this._element.parentNode),e=Vt;return t.hasClass(jt)?(e=Qt,g(this._menu).hasClass(Ut)&&(e=Bt)):t.hasClass(Ht)?e=Xt:t.hasClass(Rt)?e=zt:g(this._menu).hasClass(Ut)&&(e=Yt),e},t._detectNavbar=function(){return 0<g(this._element).closest(".navbar").length},t._getPopperConfig=function(){var e=this,t={};"function"==typeof this._config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e._config.offset(t.offsets)||{}),t}:t.offset=this._config.offset;var n={placement:this._getPlacement(),modifiers:{offset:t,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(n.modifiers.applyStyle={enabled:!1}),n},c._jQueryInterface=function(e){return this.each(function(){var t=g(this).data(Dt);if(t||(t=new c(this,"object"==typeof e?e:null),g(this).data(Dt,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError
 ('No method named "'+e+'"');t[e]()}})},c._clearMenus=function(t){if(!t||3!==t.which&&("keyup"!==t.type||9===t.which))for(var e=[].slice.call(document.querySelectorAll(xt)),n=0,i=e.length;n<i;n++){var o=c._getParentFromElement(e[n]),r=g(e[n]).data(Dt),s={relatedTarget:e[n]};if(t&&"click"===t.type&&(s.clickEvent=t),r){var a=r._menu;if(g(o).hasClass(Lt)&&!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&9===t.which)&&g.contains(o,t.target))){var l=g.Event(kt.HIDE,s);g(o).trigger(l),l.isDefaultPrevented()||("ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),e[n].setAttribute("aria-expanded","false"),g(a).removeClass(Lt),g(o).removeClass(Lt).trigger(g.Event(kt.HIDDEN,s)))}}}},c._getParentFromElement=function(t){var e,n=_.getSelectorFromElement(t);return n&&(e=document.querySelector(n)),e||t.parentNode},c._dataApiKeydownHandler=function(t){if((/input|textarea/i.test(t.target.tagName)?!(32===t.which||27!==t.
 which&&(40!==t.which&&38!==t.which||g(t.target).closest(qt).length)):Ot.test(t.which))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!g(this).hasClass(Pt))){var e=c._getParentFromElement(this),n=g(e).hasClass(Lt);if(n&&(!n||27!==t.which&&32!==t.which)){var i=[].slice.call(e.querySelectorAll(Kt));if(0!==i.length){var o=i.indexOf(t.target);38===t.which&&0<o&&o--,40===t.which&&o<i.length-1&&o++,o<0&&(o=0),i[o].focus()}}else{if(27===t.which){var r=e.querySelector(xt);g(r).trigger("focus")}g(this).trigger("click")}}},s(c,null,[{key:"VERSION",get:function(){return"4.2.1"}},{key:"Default",get:function(){return Gt}},{key:"DefaultType",get:function(){return Jt}}]),c}();g(document).on(kt.KEYDOWN_DATA_API,xt,Zt._dataApiKeydownHandler).on(kt.KEYDOWN_DATA_API,qt,Zt._dataApiKeydownHandler).on(kt.CLICK_DATA_API+" "+kt.KEYUP_DATA_API,Zt._clearMenus).on(kt.CLICK_DATA_API,xt,function(t){t.preventDefault(),t.stopPropagation(),Zt._jQueryInterface.call(g(this),"toggle")}).on(kt.CLICK_DATA_API
 ,Ft,function(t){t.stopPropagation()}),g.fn[It]=Zt._jQueryInterface,g.fn[It].Constructor=Zt,g.fn[It].noConflict=function(){return g.fn[It]=Nt,Zt._jQueryInterface};var $t="modal",te="bs.modal",ee="."+te,ne=g.fn[$t],ie={backdrop:!0,keyboard:!0,focus:!0,show:!0},oe={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},re={HIDE:"hide"+ee,HIDDEN:"hidden"+ee,SHOW:"show"+ee,SHOWN:"shown"+ee,FOCUSIN:"focusin"+ee,RESIZE:"resize"+ee,CLICK_DISMISS:"click.dismiss"+ee,KEYDOWN_DISMISS:"keydown.dismiss"+ee,MOUSEUP_DISMISS:"mouseup.dismiss"+ee,MOUSEDOWN_DISMISS:"mousedown.dismiss"+ee,CLICK_DATA_API:"click"+ee+".data-api"},se="modal-scrollbar-measure",ae="modal-backdrop",le="modal-open",ce="fade",he="show",ue=".modal-dialog",fe='[data-toggle="modal"]',de='[data-dismiss="modal"]',ge=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",_e=".sticky-top",me=function(){function o(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(ue),this._backdrop=n
 ull,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var t=o.prototype;return t.toggle=function(t){return this._isShown?this.hide():this.show(t)},t.show=function(t){var e=this;if(!this._isShown&&!this._isTransitioning){g(this._element).hasClass(ce)&&(this._isTransitioning=!0);var n=g.Event(re.SHOW,{relatedTarget:t});g(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),g(this._element).on(re.CLICK_DISMISS,de,function(t){return e.hide(t)}),g(this._dialog).on(re.MOUSEDOWN_DISMISS,function(){g(e._element).one(re.MOUSEUP_DISMISS,function(t){g(t.target).is(e._element)&&(e._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return e._showElement(t)}))}},t.hide=function(t){var e=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=g.Event(re.HIDE);if(
 g(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=g(this._element).hasClass(ce);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),g(document).off(re.FOCUSIN),g(this._element).removeClass(he),g(this._element).off(re.CLICK_DISMISS),g(this._dialog).off(re.MOUSEDOWN_DISMISS),i){var o=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,function(t){return e._hideModal(t)}).emulateTransitionEnd(o)}else this._hideModal()}}},t.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return g(t).off(ee)}),g(document).off(re.FOCUSIN),g.removeData(this._element,te),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},t.handleUpdate=function(){this._adjustDialog()},t._getConfig=function(t){return t=l({},ie,t),_.typeCheckC
 onfig($t,t,oe),t},t._showElement=function(t){var e=this,n=g(this._element).hasClass(ce);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.scrollTop=0,n&&_.reflow(this._element),g(this._element).addClass(he),this._config.focus&&this._enforceFocus();var i=g.Event(re.SHOWN,{relatedTarget:t}),o=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,g(e._element).trigger(i)};if(n){var r=_.getTransitionDurationFromElement(this._dialog);g(this._dialog).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()},t._enforceFocus=function(){var e=this;g(document).off(re.FOCUSIN).on(re.FOCUSIN,function(t){document!==t.target&&e._element!==t.target&&0===g(e._element).has(t.target).length&&e._element.focus()})},t._setEscapeEvent=function(){var e=this;this._isShown&&this._confi
 g.keyboard?g(this._element).on(re.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||g(this._element).off(re.KEYDOWN_DISMISS)},t._setResizeEvent=function(){var e=this;this._isShown?g(window).on(re.RESIZE,function(t){return e.handleUpdate(t)}):g(window).off(re.RESIZE)},t._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._isTransitioning=!1,this._showBackdrop(function(){g(document.body).removeClass(le),t._resetAdjustments(),t._resetScrollbar(),g(t._element).trigger(re.HIDDEN)})},t._removeBackdrop=function(){this._backdrop&&(g(this._backdrop).remove(),this._backdrop=null)},t._showBackdrop=function(t){var e=this,n=g(this._element).hasClass(ce)?ce:"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className=ae,n&&this._backdrop.classList.add(n),g(this._backdrop).appendTo(document.body)
 ,g(this._element).on(re.CLICK_DISMISS,function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"===e._config.backdrop?e._element.focus():e.hide())}),n&&_.reflow(this._backdrop),g(this._backdrop).addClass(he),!t)return;if(!n)return void t();var i=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){g(this._backdrop).removeClass(he);var o=function(){e._removeBackdrop(),t&&t()};if(g(this._element).hasClass(ce)){var r=_.getTransitionDurationFromElement(this._backdrop);g(this._backdrop).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o()}else t&&t()},t._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustment
 s=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},t._setScrollbar=function(){var o=this;if(this._isBodyOverflowing){var t=[].slice.call(document.querySelectorAll(ge)),e=[].slice.call(document.querySelectorAll(_e));g(t).each(function(t,e){var n=e.style.paddingRight,i=g(e).css("padding-right");g(e).data("padding-right",n).css("padding-right",parseFloat(i)+o._scrollbarWidth+"px")}),g(e).each(function(t,e){var n=e.style.marginRight,i=g(e).css("margin-right");g(e).data("margin-right",n).css("margin-right",parseFloat(i)-o._scrollbarWidth+"px")});var n=document.body.style.paddingRight,i=g(document.body).css("padding-right");g(document.body).data("padding-right",n).css("padding-right",parseFloat(i)+this._scrollbarWidth+"px")}g(document.body).addClass(le)},t._resetScrollbar=function
 (){var t=[].slice.call(document.querySelectorAll(ge));g(t).each(function(t,e){var n=g(e).data("padding-right");g(e).removeData("padding-right"),e.style.paddingRight=n||""});var e=[].slice.call(document.querySelectorAll(""+_e));g(e).each(function(t,e){var n=g(e).data("margin-right");"undefined"!=typeof n&&g(e).css("margin-right",n).removeData("margin-right")});var n=g(document.body).data("padding-right");g(document.body).removeData("padding-right"),document.body.style.paddingRight=n||""},t._getScrollbarWidth=function(){var t=document.createElement("div");t.className=se,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(n,i){return this.each(function(){var t=g(this).data(te),e=l({},ie,g(this).data(),"object"==typeof n&&n?n:{});if(t||(t=new o(this,e),g(this).data(te,t)),"string"==typeof n){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n](i)}else e.show&&t.show
 (i)})},s(o,null,[{key:"VERSION",get:function(){return"4.2.1"}},{key:"Default",get:function(){return ie}}]),o}();g(document).on(re.CLICK_DATA_API,fe,function(t){var e,n=this,i=_.getSelectorFromElement(this);i&&(e=document.querySelector(i));var o=g(e).data(te)?"toggle":l({},g(e).data(),g(this).data());"A"!==this.tagName&&"AREA"!==this.tagName||t.preventDefault();var r=g(e).one(re.SHOW,function(t){t.isDefaultPrevented()||r.one(re.HIDDEN,function(){g(n).is(":visible")&&n.focus()})});me._jQueryInterface.call(g(e),o,this)}),g.fn[$t]=me._jQueryInterface,g.fn[$t].Constructor=me,g.fn[$t].noConflict=function(){return g.fn[$t]=ne,me._jQueryInterface};var pe="tooltip",ve="bs.tooltip",Ee="."+ve,ye=g.fn[pe],Ce="bs-tooltip",Te=new RegExp("(^|\\s)"+Ce+"\\S+","g"),Se={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|eleme
 nt|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"},be={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Ie={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},De="show",we="out",Ae={HIDE:"hide"+Ee,HIDDEN:"hidden"+Ee,SHOW:"show"+Ee,SHOWN:"shown"+Ee,INSERTED:"inserted"+Ee,CLICK:"click"+Ee,FOCUSIN:"focusin"+Ee,FOCUSOUT:"focusout"+Ee,MOUSEENTER:"mouseenter"+Ee,MOUSELEAVE:"mouseleave"+Ee},Ne="fade",Oe="show",ke=".tooltip-inner",Pe=".arrow",Le="hover",je="focus",He="click",Re="manual",Ue=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element
 =t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Oe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&th
 is._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(Ne);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(t
 his.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,{placement:a,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:Pe},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(o).addClass(Oe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===we&&e._leave(null,e)};if(g(this.tip).hasClass(Ne)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==De&&n.parentN
 ode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Oe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[He]=!1,this._activeTrigger[je]=!1,this._activeTrigger[Le]=!1,g(this.tip).hasClass(Ne)){var r=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ce+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelector
 All(ke)),this.getTitle()),g(t).removeClass(Ne+" "+Oe)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return be[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Re){var e=t===Le?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Le?i.constructor.Event.MOUSELEAVE:i.constructor
 .Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?je:Le]=!0),g(e.getTipElement()).hasClass(Oe)||e._hoverState===De?e._hoverState=De:(clearTimeout(e._timeout),e._hoverState=De,e.config.delay&&e.config.delay.show?e._timeout=se
 tTimeout(function(){e._hoverState===De&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?je:Le]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=we,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===we&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=l({},this.constructor.Default,g(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(pe,t,this.constructor.DefaultType),t},t._getDelegateC
 onfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Te);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(Ne),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(ve),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(ve,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.2.1"}},{key
 :"Default",get:function(){return Ie}},{key:"NAME",get:function(){return pe}},{key:"DATA_KEY",get:function(){return ve}},{key:"Event",get:function(){return Ae}},{key:"EVENT_KEY",get:function(){return Ee}},{key:"DefaultType",get:function(){return Se}}]),i}();g.fn[pe]=Ue._jQueryInterface,g.fn[pe].Constructor=Ue,g.fn[pe].noConflict=function(){return g.fn[pe]=ye,Ue._jQueryInterface};var We="popover",xe="bs.popover",Fe="."+xe,qe=g.fn[We],Me="bs-popover",Ke=new RegExp("(^|\\s)"+Me+"\\S+","g"),Qe=l({},Ue.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'}),Be=l({},Ue.DefaultType,{content:"(string|element|function)"}),Ve="fade",Ye="show",Xe=".popover-header",ze=".popover-body",Ge={HIDE:"hide"+Fe,HIDDEN:"hidden"+Fe,SHOW:"show"+Fe,SHOWN:"shown"+Fe,INSERTED:"inserted"+Fe,CLICK:"click"+Fe,FOCUSIN:"focusin"+Fe,FOCUSOUT:"focusout"+Fe,MOUSEENTER:"mouseent
 er"+Fe,MOUSELEAVE:"mouseleave"+Fe},Je=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Me+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},o.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(Xe),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ze),e),t.removeClass(Ve+" "+Ye)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ke);null!==e&&0<e.length&&t.removeClass(e.join(""))},i._jQueryInterface=function(n){return this.each(function(){var t=g(t
 his).data(xe),e="object"==typeof n?n:null;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(xe,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.2.1"}},{key:"Default",get:function(){return Qe}},{key:"NAME",get:function(){return We}},{key:"DATA_KEY",get:function(){return xe}},{key:"Event",get:function(){return Ge}},{key:"EVENT_KEY",get:function(){return Fe}},{key:"DefaultType",get:function(){return Be}}]),i}(Ue);g.fn[We]=Je._jQueryInterface,g.fn[We].Constructor=Je,g.fn[We].noConflict=function(){return g.fn[We]=qe,Je._jQueryInterface};var Ze="scrollspy",$e="bs.scrollspy",tn="."+$e,en=g.fn[Ze],nn={offset:10,method:"auto",target:""},on={offset:"number",method:"string",target:"(string|element)"},rn={ACTIVATE:"activate"+tn,SCROLL:"scroll"+tn,LOAD_DATA_API:"load"+tn+".data-api"},sn="dropdown-item",an="active",ln='[data-spy="scroll"]',cn=".nav, .list-group",hn=".nav
 -link",un=".nav-item",fn=".list-group-item",dn=".dropdown",gn=".dropdown-item",_n=".dropdown-toggle",mn="offset",pn="position",vn=function(){function n(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" "+hn+","+this._config.target+" "+fn+","+this._config.target+" "+gn,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,g(this._scrollElement).on(rn.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var t=n.prototype;return t.refresh=function(){var e=this,t=this._scrollElement===this._scrollElement.window?mn:pn,o="auto"===this._config.method?t:this._config.method,r=o===pn?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map(function(t){var e,n=_.getSelectorFromElement(t);if(n&&(e=document.querySelector(n)),e){var i=e.getBoundingClien
 tRect();if(i.width||i.height)return[g(e)[o]().top+r,n]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},t.dispose=function(){g.removeData(this._element,$e),g(this._scrollElement).off(tn),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},t._getConfig=function(t){if("string"!=typeof(t=l({},nn,"object"==typeof t&&t?t:{})).target){var e=g(t.target).attr("id");e||(e=_.getUID(Ze),g(t.target).attr("id",e)),t.target="#"+e}return _.typeCheckConfig(Ze,t,on),t},t._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},t._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},t._getOffsetHeight=function(){return this._scrollE
 lement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},t._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),n<=t){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&0<this._offsets[0])return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t<this._offsets[o+1])&&this._activate(this._targets[o])}}},t._activate=function(e){this._activeTarget=e,this._clear();var t=this._selector.split(",").map(function(t){return t+'[data-target="'+e+'"],'+t+'[href="'+e+'"]'}),n=g([].slice.call(document.querySelectorAll(t.join(","))));n.hasClass(sn)?(n.closest(dn).find(_n).addClass(an),n.addClass(an)):(n.addClass(an),n.parents(cn).
 prev(hn+", "+fn).addClass(an),n.parents(cn).prev(un).children(hn).addClass(an)),g(this._scrollElement).trigger(rn.ACTIVATE,{relatedTarget:e})},t._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(an)}).forEach(function(t){return t.classList.remove(an)})},n._jQueryInterface=function(e){return this.each(function(){var t=g(this).data($e);if(t||(t=new n(this,"object"==typeof e&&e),g(this).data($e,t)),"string"==typeof e){if("undefined"==typeof t[e])throw new TypeError('No method named "'+e+'"');t[e]()}})},s(n,null,[{key:"VERSION",get:function(){return"4.2.1"}},{key:"Default",get:function(){return nn}}]),n}();g(window).on(rn.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(ln)),e=t.length;e--;){var n=g(t[e]);vn._jQueryInterface.call(n,n.data())}}),g.fn[Ze]=vn._jQueryInterface,g.fn[Ze].Constructor=vn,g.fn[Ze].noConflict=function(){return g.fn[Ze]=en,vn._jQueryInterface};var En="bs.tab",yn="."+E
 n,Cn=g.fn.tab,Tn={HIDE:"hide"+yn,HIDDEN:"hidden"+yn,SHOW:"show"+yn,SHOWN:"shown"+yn,CLICK_DATA_API:"click"+yn+".data-api"},Sn="dropdown-menu",bn="active",In="disabled",Dn="fade",wn="show",An=".dropdown",Nn=".nav, .list-group",On=".active",kn="> li > .active",Pn='[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',Ln=".dropdown-toggle",jn="> .dropdown-menu .active",Hn=function(){function i(t){this._element=t}var t=i.prototype;return t.show=function(){var n=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&g(this._element).hasClass(bn)||g(this._element).hasClass(In))){var t,i,e=g(this._element).closest(Nn)[0],o=_.getSelectorFromElement(this._element);if(e){var r="UL"===e.nodeName||"OL"===e.nodeName?kn:On;i=(i=g.makeArray(g(e).find(r)))[i.length-1]}var s=g.Event(Tn.HIDE,{relatedTarget:this._element}),a=g.Event(Tn.SHOW,{relatedTarget:i});if(i&&g(i).trigger(s),g(this._element).trigger(a),!a.isDefaultPrevented()&&!s.isDefaultPrevented(
 )){o&&(t=document.querySelector(o)),this._activate(this._element,e);var l=function(){var t=g.Event(Tn.HIDDEN,{relatedTarget:n._element}),e=g.Event(Tn.SHOWN,{relatedTarget:i});g(i).trigger(t),g(n._element).trigger(e)};t?this._activate(t,t.parentNode,l):l()}}},t.dispose=function(){g.removeData(this._element,En),this._element=null},t._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?g(e).children(On):g(e).find(kn))[0],r=n&&o&&g(o).hasClass(Dn),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=_.getTransitionDurationFromElement(o);g(o).removeClass(wn).one(_.TRANSITION_END,s).emulateTransitionEnd(a)}else s()},t._transitionComplete=function(t,e,n){if(e){g(e).removeClass(bn);var i=g(e.parentNode).find(jn)[0];i&&g(i).removeClass(bn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(g(t).addClass(bn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),_.reflow(t),g(t).addClass(wn),t.parentNode&&g(t.parentNode).h
 asClass(Sn)){var o=g(t).closest(An)[0];if(o){var r=[].slice.call(o.querySelectorAll(Ln));g(r).addClass(bn)}t.setAttribute("aria-expanded",!0)}n&&n()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(En);if(e||(e=new i(this),t.data(En,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.2.1"}}]),i}();g(document).on(Tn.CLICK_DATA_API,Pn,function(t){t.preventDefault(),Hn._jQueryInterface.call(g(this),"show")}),g.fn.tab=Hn._jQueryInterface,g.fn.tab.Constructor=Hn,g.fn.tab.noConflict=function(){return g.fn.tab=Cn,Hn._jQueryInterface};var Rn="toast",Un="bs.toast",Wn="."+Un,xn=g.fn[Rn],Fn={CLICK_DISMISS:"click.dismiss"+Wn,HIDE:"hide"+Wn,HIDDEN:"hidden"+Wn,SHOW:"show"+Wn,SHOWN:"shown"+Wn},qn="fade",Mn="hide",Kn="show",Qn="showing",Bn={animation:"boolean",autohide:"boolean",delay:"number"},Vn={animation:!0,autohide:!0,delay:500},Yn='[data-dismiss="toast"]
 ',Xn=function(){function i(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var t=i.prototype;return t.show=function(){var t=this;g(this._element).trigger(Fn.SHOW),this._config.animation&&this._element.classList.add(qn);var e=function(){t._element.classList.remove(Qn),t._element.classList.add(Kn),g(t._element).trigger(Fn.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.remove(Mn),this._element.classList.add(Qn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},t.hide=function(t){var e=this;this._element.classList.contains(Kn)&&(g(this._element).trigger(Fn.HIDE),t?this._close():this._timeout=setTimeout(function(){e._close()},this._config.delay))},t.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Kn)&&this._element.classList.remove(Kn),g(this._element).off(Fn.CLICK_DISMISS)
 ,g.removeData(this._element,Un),this._element=null,this._config=null},t._getConfig=function(t){return t=l({},Vn,g(this._element).data(),"object"==typeof t&&t?t:{}),_.typeCheckConfig(Rn,t,this.constructor.DefaultType),t},t._setListeners=function(){var t=this;g(this._element).on(Fn.CLICK_DISMISS,Yn,function(){return t.hide(!0)})},t._close=function(){var t=this,e=function(){t._element.classList.add(Mn),g(t._element).trigger(Fn.HIDDEN)};if(this._element.classList.remove(Kn),this._config.animation){var n=_.getTransitionDurationFromElement(this._element);g(this._element).one(_.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},i._jQueryInterface=function(n){return this.each(function(){var t=g(this),e=t.data(Un);if(e||(e=new i(this,"object"==typeof n&&n),t.data(Un,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](this)}})},s(i,null,[{key:"VERSION",get:function(){return"4.2.1"}},{key:"DefaultType",get:function(){return Bn}}]),i}();g.fn[
 Rn]=Xn._jQueryInterface,g.fn[Rn].Constructor=Xn,g.fn[Rn].noConflict=function(){return g.fn[Rn]=xn,Xn._jQueryInterface},function(){if("undefined"==typeof g)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var t=g.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||4<=t[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),t.Util=_,t.Alert=p,t.Button=P,t.Carousel=lt,t.Collapse=bt,t.Dropdown=Zt,t.Modal=me,t.Popover=Je,t.Scrollspy=vn,t.Tab=Hn,t.Toast=Xn,t.Tooltip=Ue,Object.defineProperty(t,"__esModule",{value:!0})});
    +
---:  ------- > 111: ce6db31de Add missing "field" css class for Started field
---:  ------- > 112: 18b4c17ed Get rid of strikethrough in menu
---:  ------- > 113: 2c1913cea Fix h1 position to make it vertically centered
---:  ------- > 114: 16a290165 Fix results position to make it vertically centered



More information about the rt-commit mailing list