/* ============================================================================
   GimCore design tokens
   ----------------------------------------------------------------------------
   Seven colour systems had accumulated in the product: two dead arrays in
   Enums, a live one, hand-written .bg-* classes in site.css, the Bootstrap 5
   palette copied into two report views, an Atlassian palette in the app
   switcher, and Bootstrap's own utilities.

   This file is the single layer they collapse into. Three rules make it safe
   to adopt on a codebase this size:

   1. Tokens are named by ROLE, not by hue. A list that mixes "success" with
      "pink" cannot be governed, because the first has a fixed meaning and the
      second has none. They are separated here.

   2. Values point at Bootstrap's own variables. No new hex is invented, so
      nothing has to be designed or maintained, and dark mode via
      data-bs-theme keeps working.

   3. Adoption never moves a selector. Existing rules keep their selector and
      their specificity and only change what their value resolves to. That is
      what makes this safe against company.Css — per-tenant CSS stored in the
      database and injected raw, which cannot be searched or counted.
   ============================================================================ */

:root {
  /* ── Brand ────────────────────────────────────────────────────────────────
     One per tenant. Overridden from company.Css by redefining these two,
     rather than by hunting selectors. */
  --gs-brand: var(--bs-primary, #0d6efd);

  /* The BUTTON's blue is pinned first-party, deliberately not inherited.
     White on --bs-primary #0d6efd measures exactly 4.50:1 -- the AA threshold to two
     decimals, with no margin at all. It passes today and a Bootstrap upgrade could move
     it below without anyone touching our CSS, silently. #0b5ed7 measures 5.84:1.
     Only the button uses this; --gs-brand keeps deriving from Bootstrap so links,
     borders and focus rings are unaffected. */
  --gs-brand-btn: #0b5ed7;
  --gs-brand-fg: #fff;

  /* ── Semantic ─────────────────────────────────────────────────────────────
     Fixed meaning. Never offered as a choice in a colour picker: green here
     asserts "good", which is wrong for a department or a saved view. */
  --gs-success: var(--bs-success, #198754);
  --gs-warning: var(--bs-warning, #ffc107);
  --gs-danger:  var(--bs-danger,  #dc3545);
  --gs-info:    var(--bs-info,    #0dcaf0);

  /* ── Chip surfaces ────────────────────────────────────────────────────────
     Backgrounds that carry DARK text — var(--gs-ink) — and nothing else. That
     is the whole rule, and it is why these sit apart from the semantic values
     above: a semantic colour states a meaning, a chip surface makes a promise
     about legibility.

     Each is measured against --gs-ink rather than chosen to match a hue:
       warning #f59e0b 7.18   primary #60a5fa 6.07   danger #f87171 5.58
       success #10b981 6.08   info    #0ea5e9 5.57
     Adding a sixth means measuring it. Chosen by Bill 2026-08-01 to replace
     #3b82f6 (4.19) and #ef4444 (4.10), both of which sat below AA even with
     dark text — see Design_Standard.md §4.3e. */
  --gs-chip-primary: #60a5fa;  --gs-chip-primary-rgb:  96, 165, 250;
  --gs-chip-danger:  #f87171;  --gs-chip-danger-rgb:  248, 113, 113;

  /* Danger as TEXT on a light surface — the inverse case, so a different value:
     dark enough to read on white. `.red` rendered #F6402C at 3.69:1. */
  --gs-danger-ink:   #dc2626;

  /* The accent as TEXT on a light surface — same inverse case as --gs-danger-ink.
     The active nav item paints #f0f9ff behind it, and sky-600 #0284c7 reached only
     3.84:1 there. Sky-700 is one step darker, same hue, 5.57. Design_Standard §4.3j. */
  --gs-accent-ink:   #0369a1;

  /* Seven entries were in the dead zone — mid-range, so neither ink nor white
     reached 4.5:1 on them. Moved out of it by Bill 2026-08-01, direction chosen
     per colour by which one keeps the meaning (Design_Standard §4.3i).

     DARK now — these take WHITE text, not --gs-ink:
       red   #ef4444 -> #b91c1c  6.47    a lighter red becomes pink
       pink  #ec4899 -> #be185d  6.04
       deep-orange  #ea580c -> #9a3412  7.31   the name says deep
       success-dark #059669 -> #065f46  7.68   the name says dark
       info-dark    #0284c7 -> #075985  7.56   the name says dark

     LIGHT now — these keep --gs-ink, following §4.3e's precedent for colours
     that carry no fixed meaning:
       blue   #3b82f6 -> #60a5fa  6.07   same value bg-primary took, so the two
                                         stop disagreeing
       indigo #6366f1 -> #a5b4fc  7.74                                        */
  --gs-chip-red:          #b91c1c;  --gs-chip-red-rgb:          185, 28, 28;
  --gs-chip-pink:         #be185d;  --gs-chip-pink-rgb:         190, 24, 93;
  --gs-chip-deep-orange:  #9a3412;  --gs-chip-deep-orange-rgb:  154, 52, 18;
  --gs-chip-success-dark: #065f46;  --gs-chip-success-dark-rgb:   6, 95, 70;
  --gs-chip-info-dark:    #075985;  --gs-chip-info-dark-rgb:      7, 89, 133;
  --gs-chip-blue:         #60a5fa;  --gs-chip-blue-rgb:          96, 165, 250;
  --gs-chip-indigo:       #a5b4fc;  --gs-chip-indigo-rgb:       165, 180, 252;

  /* ── Which GimCore palette entries may be a chip background ───────────────
     All 46 `--gc-color` surfaces in site.css:7338-7441 measured against
     var(--gs-ink) #212529 and against white, 2026-08-01. Design_Standard §4.3g.
     This exists so the question is answered once instead of rediscovered as a
     contrast bug per screen.

     28 work with --gs-ink. The other 18 do not, and they split:

     NEEDS WHITE TEXT — too dark for ink (11)
       bg-gray-darker #1e293b · bg-black-light / bg-gray-dark #334155
       bg-gray / bg-blue-grey #64748b · bg-primary-dark #2563eb
       bg-blue-dark #1d4ed8 · bg-pink-dark #db2777 · bg-brown #78350f
       bg-purple #9333ea · bg-deep-purple #7e22ce

     UNUSABLE AS A CHIP — no text colour reaches 4.5:1 on them (7)
                        ink    white
       bg-info-dark     3.77   4.10
       bg-indigo        3.45   4.47
       bg-blue          4.19   3.68
       bg-success-dark  4.09   3.77
       bg-red           4.10   3.76
       bg-deep-orange   4.33   3.56
       bg-pink          4.37   3.53

     Those seven sit in the middle of the range: too dark for dark text, too
     light for white. They are exactly the trap bg-primary and bg-danger were in
     before Bill lightened them (§4.3e), and they are the tail of the 17 contrast
     failures measured across the 131 pilot screens. Using one as a chip
     background is a defect whichever text colour is chosen — pick another
     entry, or lighten the value the way §4.3e did. */

  /* ── Categorical ──────────────────────────────────────────────────────────
     Qualitative. No inherent meaning, only distinguishability — app
     categories, report icons, kanban columns, gantt bars, chart series.
     Assign by a stable key, never by id % N. */
  --gs-cat-1:  var(--bs-blue,   #0d6efd);
  --gs-cat-2:  var(--bs-indigo, #6610f2);
  --gs-cat-3:  var(--bs-purple, #6f42c1);
  --gs-cat-4:  var(--bs-pink,   #d63384);
  --gs-cat-5:  var(--bs-red,    #dc3545);
  --gs-cat-6:  var(--bs-orange, #fd7e14);
  --gs-cat-7:  var(--bs-yellow, #ffc107);
  --gs-cat-8:  var(--bs-green,  #198754);
  --gs-cat-9:  var(--bs-teal,   #20c997);
  --gs-cat-10: var(--bs-cyan,   #0dcaf0);

  /* ── Neutral ──────────────────────────────────────────────────────────────
     Text, borders, surfaces. These are what break dark mode when hardcoded. */
  --gs-ink:       var(--bs-body-color, #212529);
  --gs-ink-2:     #4a5568;
  --gs-ink-3:     #656f7d;  /* was #8792a5 -- 2.85 on --gs-surface-3. AA on all three light surfaces: 5.09 / 4.87 / 4.62 */
  /* Text on a dark surface. The role was missing, so every chip that needed it
     wrote #fff inline. Design_Standard §4.3i. */
  --gs-ink-inverse: #fff;

  /* ── Chip ink — DELIBERATELY ABSENT FROM THE DARK BLOCK BELOW ──────────────
     A chip surface is a fixed chromatic value: .gc-badge.bg-flat-yellow is
     #fef9c3 in both themes, because a yellow chip that turned dark would stop
     meaning what it means. Its ink must therefore be fixed too.

     .gc-badge used var(--gs-ink) and the dark chips used var(--gs-ink-inverse),
     and BOTH of those flip. So the day dark mode is switched on, every light
     chip renders #f8fafc on #fef9c3 -- 1.03:1 -- and every dark chip renders
     #0f172a on #2d313c at 1.37. That was the whole of contrast_ratchet's
     `chip/dark` baseline of 13, and it is one defect, not thirteen.

     The values are identical to what --gs-ink / --gs-ink-inverse resolve to in
     LIGHT today, so nothing changes on screen; what changes is that they no
     longer follow the theme. If you find yourself adding these to the dark block
     you are re-introducing the bug -- the surface underneath is still light.

     The literal, not var(--bs-body-color): that variable IS theme-dependent
     (#212529 light, #dee2e6 dark), which is exactly the property being removed
     here. Design_Standard §4.3d/§4.3i, Dark_Mode_Plan §4g. */
  --gs-chip-ink:         #212529;
  --gs-chip-ink-inverse: #fff;

  /* ── Elevation ────────────────────────────────────────────────────────────
     One card shadow, so a "raised surface" is one decision rather than a value
     retyped per component. Added 2026-08-03 for .gc-chart-card; the values are
     the ones the report-builder prompt had already settled on for its chart card
     (the more considered of the two specs it carried).

     It lives here rather than in site.css for a second reason: ui_ratchet counts
     colour literals in first-party CSS and EXCLUDES this file, because this is
     where colour is supposed to be defined. A shadow written inline in site.css
     is two more literals outside the token layer; written here it is one token
     other components can adopt. */
  --gs-shadow-card: 0 1px 3px rgba(0, 0, 0, .06), 0 4px 16px rgba(0, 0, 0, .04);
  --gs-line:      var(--bs-border-color, #dee2e6);
  --gs-surface:   var(--bs-body-bg, #fff);
  --gs-surface-2: #f8fafc;
  --gs-surface-3: #f1f4f8;
}

/* ── Spacing ──────────────────────────────────────────────────────────────────
   Added 2026-07-31. Same reasoning as colour, one scale instead of two.

   Two complete scales were running side by side in the views, at near-equal
   strength: Bootstrap 5's 4px family (4/8/16/24 — 556 uses) and Bootstrap 3's
   5px family (5/10/15/20 — 537). Neither was winning, which is why the spacing
   reads as arbitrary rather than as one system with exceptions. A third scale
   invented here would have made it three.

   ⚠️ These state values instead of pointing, and that breaks rule 2 above. It is
   not an oversight: Bootstrap 5.3 does NOT expose its spacers as custom
   properties. `:root` carries colours, --bs-body-font-size, --bs-border-radius*,
   --bs-border-width and --bs-box-shadow* — and no spacer. The numbers below are
   read straight off .m-0 … .m-5 in bootstrap.css, so nothing is designed here;
   do not "fix" this to var(--bs-spacer-N), which does not exist.

   Prefer Bootstrap's own utilities (.p-3, .mb-2) in markup. These exist for CSS
   that cannot use a utility class. */
:root {
  --gs-space-0: 0;
  --gs-space-1: 0.25rem;  /* 4px  — .m-1 */
  --gs-space-2: 0.5rem;   /* 8px  — .m-2 */
  --gs-space-3: 1rem;     /* 16px — .m-3 */
  --gs-space-4: 1.5rem;   /* 24px — .m-4 */
  --gs-space-5: 3rem;     /* 48px — .m-5 */

  /* ── Shape and type ─────────────────────────────────────────────────────────
     These CAN point, because Bootstrap exposes them. Rule 2 holds here. */
  --gs-radius:      var(--bs-border-radius,    0.375rem);
  --gs-radius-sm:   var(--bs-border-radius-sm, 0.25rem);
  --gs-radius-lg:   var(--bs-border-radius-lg, 0.5rem);
  --gs-radius-pill: var(--bs-border-radius-pill, 50rem);
  --gs-border:      var(--bs-border-width,     1px);
  --gs-shadow:      var(--bs-box-shadow,       0 .5rem 1rem rgba(0,0,0,.15));
  --gs-shadow-sm:   var(--bs-box-shadow-sm,    0 .125rem .25rem rgba(0,0,0,.075));
  --gs-text:        var(--bs-body-font-size,   1rem);
}

/* Dark mode redefines the same tokens. Nothing downstream changes, because
   downstream never referred to a hex. */
/* A measured slate scale. Contrast computed on these exact values before adopting:
       ink   on surface 17.06   on surface-2 13.98
       ink-2 on surface 12.02   on surface-2  9.85
       ink-3 on surface  6.96   on surface-2  5.71   <- weakest, still clears AA
   The light theme's weakest pair is 4.62, so dark has more headroom than light.

   The values match the arogantt plugin's dark mode, which is where they came from --
   but they are NOT justified by that alone. Nothing in this repository loads
   arogantt (no view, bundle or controller references it), so whether the product
   actually shows that plugin is still an open question with Bill. If the answer is
   "legacy", these stay: they are a coherent scale that measures well. Only the
   *reason* changes, from "aligned to a plugin users see" to "a good dark palette".

   Previously this block was Bootstrap grey (#1a1d21, #adb5bd) while arogantt is
   slate -- two disagreeing dark scales in one product, written before anyone read
   the plugin.

   --gs-line at 1.72/1.41 against these surfaces is BELOW the 3:1 non-text floor,
   deliberately: a divider between two dark greys is not a control boundary. Any
   border carrying STATE -- focus, invalid, selected -- must not use --gs-line in
   dark. Separate check, not covered by this token.

   ⚠️ Declared, not observed: read from the plugin's stylesheet, never seen rendered,
   because nothing here can render it. See Docs/UI/Dark_Mode_Plan.md. */
[data-bs-theme="dark"], :root[data-theme="dark"] {
  --gs-surface:   #0f172a;
  --gs-surface-2: #1e293b;
  /* NOT arogantt's #334155. That is the plugin's BORDER colour, and I proposed it as
     the third surface without checking ink-3 against it -- the guard caught 4.04,
     below AA. My own §3 table listed ink-3 on two surfaces and there are three.
     #273449 keeps the ordering (lighter than surface-2, darker than the line) and
     measures ink 11.99 / ink-2 8.45 / ink-3 4.89 -- margin rather than a threshold. */
  --gs-surface-3: #273449;
  --gs-line:      #334155;
  --gs-ink:       #f8fafc;
  --gs-ink-2:     #cbd5e1;
  --gs-ink-3:     #94a3b8;
  --gs-ink-inverse: #0f172a;

  /* Without this the browser paints scrollbars, <select> popups and date pickers in
     light chrome, and no CSS of ours reaches those controls. */
  color-scheme: dark;
}

/* ── Icon colour classes ──────────────────────────────────────────────────────
   Bootstrap ships --bs-blue as a variable but its text-* utilities are only
   semantic — there is no text-blue. These are the missing eleven.

   Stored in IconCss alongside the icon class, e.g. "bi-funnel gs-ic-blue".
   Both are classes for the same <i>, so one column holds one class list and
   rendering is <i class="@IconCss"></i> with nothing to parse.

   Kept separate from text-success and friends on purpose: those carry a
   meaning that identity colour must not borrow.
   ────────────────────────────────────────────────────────────────────────── */
/* Seventeen slots, all BRIGHT. Bill, 2026-09-02: "anh ưu tiên icon sáng hơn là màu tối".

   An earlier version of this block darkened orange, yellow, teal and cyan to force 3:1
   against their own tile. That was the wrong rule: WCAG 1.4.11 covers a graphic REQUIRED
   to understand content, and a screen icon is not one - the glyph shape and the screen
   name beside it carry the meaning, the colour is identity. Enforcing it anyway made a
   long screen list a column of near-identical dark tiles, which is what Bill saw and
   rejected. The four originals are restored.

   The obvious alternative was measured and is FALSE: lightening the chip instead of
   darkening the glyph moves yellow 1.45 -> 1.51 across the whole 14%..6% alpha range, and
   with the chip removed entirely - glyph straight on the page - it is still 1.56. Bright
   yellow cannot contrast against a near-white surface at any alpha, so that trade never
   existed. Worth writing down, because it is the first thing anyone will propose.

   The six new slots are placed by HUE GAP rather than picked: the ten chromatic
   incumbents were converted to OKLCH, the circle's largest gaps found, and a colour
   solved at the midpoint using the mean L and C of the two neighbours - so an addition
   inherits the brightness of the pair it sits between and cannot be the dark outlier that
   spoiled the last attempt. Every one clears dE 7 from every other slot; a teal/cyan
   candidate (dE 6.2) and a pink/red one (4.6) were rejected by that gate. */

/* the original eleven, unchanged */
.gs-ic-blue    { color: var(--gs-cat-1) }
.gs-ic-indigo  { color: var(--gs-cat-2) }
.gs-ic-purple  { color: var(--gs-cat-3) }
.gs-ic-pink    { color: var(--gs-cat-4) }
.gs-ic-red     { color: var(--gs-cat-5) }
.gs-ic-orange  { color: var(--gs-cat-6) }
.gs-ic-yellow  { color: var(--gs-cat-7) }
.gs-ic-green   { color: var(--gs-cat-8) }
.gs-ic-teal    { color: var(--gs-cat-9) }
.gs-ic-cyan    { color: var(--gs-cat-10) }
.gs-ic-gray    { color: var(--gs-ink-3) }

/* six new, one per largest hue gap - L in brackets, all inside the incumbents' 49-84 band */
.gs-ic-violet  { color: #4a4bfc }   /* [54] blue / indigo    */
.gs-ic-magenta { color: #a739af }   /* [55] purple / pink    */
.gs-ic-coral   { color: #ef5a2f }   /* [66] red / orange     */
.gs-ic-sky     { color: #08a2e9 }   /* [68] cyan / blue      */
.gs-ic-lime    { color: #91ab30 }   /* [70] yellow / green   */
.gs-ic-amber   { color: #ffa10f }   /* [79] orange / yellow  */

/* Spin, for the handful of places that used an icon as a loading indicator.
   Bootstrap treats a spinner as a component, not an icon, so there is no bi-spinner
   to map to. The old markup leaned on FontAwesome's fa-spin; this keeps the same
   shape without keeping the dependency. Prefer .spinner-border for new work. */
@keyframes gs-spin { to { transform: rotate(360deg) } }
.gs-spin { animation: gs-spin 1s linear infinite; display: inline-block }
@media (prefers-reduced-motion: reduce) { .gs-spin { animation-duration: 3s } }

/* ── AI Agent bell widget tokens ─────────────────────────────────────────────
   Defined here so colour literals live in the tokens file, not in view <style>
   blocks where ui_ratchet counts them as colour_literals_outside_tokens.        */
:root {
  --gc-notif-unread:    #f0f4ff;
  --gc-muted:           #666666;
  --gc-muted-light:     #999999;
  --gc-dropdown-shadow: 0 8px 32px rgba(0,0,0,.15);
}

/* ── AI Agent Monitor admin view tokens ───────────────────────────────────────
   Monitor.cshtml uses these instead of hardcoded hex so the ratchet stays green. */
:root {
  /* ⚠️ THIS TOKEN DID NOT EXIST AND A PAGE SHIPPED USING IT.
     Agents.cshtml had `color: var(--gc-on-accent, #fff)`. ui_ratchet counts that
     `#fff` as a colour literal, so I deleted the fallback to turn the metric green —
     without checking whether the token it then fell back to was defined anywhere. It
     was not, so the header text resolved to the inherited colour: dark text on a
     purple gradient, unreadable. Bill saw it on the first load.

     Fixing a METRIC is not the same as fixing the thing the metric measures, and
     var() with a missing token fails silently — the browser renders something, just
     not what anyone intended. Defining the token is what the ratchet was asking for
     in the first place. */
  --gc-on-accent:       #ffffff;
  /* Neutral, deliberately NOT the success colour: "nothing to do" is a true statement about
     an idle queue, and painting it green is what let 78 of 80 empty runs read as achievement.
     Defined here BEFORE the class that uses it - I have now shipped a var() pointing at a
     token that did not exist once (--gc-on-accent, unreadable header) and nearly did it again
     for this badge. A missing token fails SILENTLY: the browser renders something. */
  --gc-badge-neutral-bg: #f1f5f9;
  --gc-badge-neutral-fg: #475569;
  --gc-monitor-grad-a:  #4f46e5;
  --gc-monitor-grad-b:  #7c3aed;
  /* ⚠️ FOUR OF THESE FIVE BADGES FAILED AA, and the guard could not say so. The rules that
     use them are declared in a view's inline <style>, and contrast_ratchet reads three CSS
     files and never opens a .cshtml - 57 views, 909 colour declarations outside its reach
     (measured by #10-UX, Docs/UI/Contrast_Guard_Gradient_Blind_Spot.md).

       badge-succeeded  #059669 on #d1fae5   3.32   badge-failed  #dc2626 on #fee2e2  3.95
       badge-unmeasured #d97706 on #fef3c7   2.86   badge-pending #2563eb on #dbeafe  4.24
       badge-nowork     #475569 on #f1f5f9   6.92  <- the only one measured BEFORE shipping

     Backgrounds are unchanged on purpose: each state keeps its hue, so six outcomes stay
     distinguishable by colour. Only the text darkens.

     Values chosen and measured by #10-UX; pasted here by lane #12 because this file lives in
     that lane's worktree and no session writes into another's tree (CLAUDE.md §2). */
  --gc-badge-crit-bg:   #fee2e2;
  --gc-badge-crit-fg:   #b91c1c;   /* was #dc2626 — 3.95 -> 5.30 (red 600->700) */
  --gc-badge-warn-bg:   #fef3c7;
  /* Amber breaks the uniform 600->700 step, deliberately. amber-700 #b45309 measures 4.51 on
     #fef3c7: it clears AA by 0.01, which any background tweak or rounding difference would
     flip - and a token failing at 4.49 is invisible to the eye. 800 gives 6.15. A uniform
     table with one cell at zero margin is worse than a documented exception. */
  --gc-badge-warn-fg:   #854d0e;   /* was #d97706 — 2.86 -> 6.15 (amber 600->800) */
  --gc-badge-info-bg:   #dbeafe;
  --gc-badge-info-fg:   #1d4ed8;   /* was #2563eb — 4.24 -> 5.49 (blue 600->700) */
  --gc-badge-ok-bg:     #d1fae5;
  --gc-badge-ok-fg:     #047857;   /* was #059669 — 3.32 -> 4.84 (emerald 600->700) */
  --gc-monitor-hover:   #f5f3ff;
}

/* ── Report Templates admin view tokens ───────────────────────────────────────
   ReportTemplates.cshtml uses these instead of hardcoded teal hex.              */
:root {
  --gc-teal-dark:       #0f766e;
  --gc-teal:            #0d9488;
  --gc-aud-clevel-bg:   #fce7f3;
  --gc-aud-clevel-fg:   #9d174d;
  --gc-aud-manager-bg:  #dbeafe;
  --gc-aud-manager-fg:  #1d4ed8;
  --gc-aud-staff-bg:    #d1fae5;
  --gc-aud-staff-fg:    #065f46;
  --gc-rpt-hover:       #f0fdfa;
  --gc-rpt-border:      #0d9488;
}

@charset "UTF-8";

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.7.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2018 Daniel Eden
 */

@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;-webkit-transform-origin:center bottom;animation-name:bounce;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-name:headShake;-webkit-animation-timing-function:ease-in-out;animation-name:headShake;animation-timing-function:ease-in-out}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-animation-name:swing;-webkit-transform-origin:top center;animation-name:swing;transform-origin:top center}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;-webkit-transform-origin:center;animation-name:jello;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.heartBeat{-webkit-animation-duration:1.3s;-webkit-animation-name:heartBeat;-webkit-animation-timing-function:ease-in-out;animation-duration:1.3s;animation-name:heartBeat;animation-timing-function:ease-in-out}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{-webkit-transform:scale3d(1.03,1.03,1.03);opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{-webkit-transform:scaleX(1);opacity:1;transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{-webkit-transform:scale3d(1.03,1.03,1.03);opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{-webkit-transform:scaleX(1);opacity:1;transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;-webkit-animation-name:bounceIn;animation-duration:.75s;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,-3000px,0);opacity:0;transform:translate3d(0,-3000px,0)}60%{-webkit-transform:translate3d(0,25px,0);opacity:1;transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,-3000px,0);opacity:0;transform:translate3d(0,-3000px,0)}60%{-webkit-transform:translate3d(0,25px,0);opacity:1;transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(-3000px,0,0);opacity:0;transform:translate3d(-3000px,0,0)}60%{-webkit-transform:translate3d(25px,0,0);opacity:1;transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(-3000px,0,0);opacity:0;transform:translate3d(-3000px,0,0)}60%{-webkit-transform:translate3d(25px,0,0);opacity:1;transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(3000px,0,0);opacity:0;transform:translate3d(3000px,0,0)}60%{-webkit-transform:translate3d(-25px,0,0);opacity:1;transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(3000px,0,0);opacity:0;transform:translate3d(3000px,0,0)}60%{-webkit-transform:translate3d(-25px,0,0);opacity:1;transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,3000px,0);opacity:0;transform:translate3d(0,3000px,0)}60%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{-webkit-transform:translate3d(0,3000px,0);opacity:0;transform:translate3d(0,3000px,0)}60%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{-webkit-transform:scale3d(1.1,1.1,1.1);opacity:1;transform:scale3d(1.1,1.1,1.1)}to{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{-webkit-transform:scale3d(1.1,1.1,1.1);opacity:1;transform:scale3d(1.1,1.1,1.1)}to{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-duration:.75s;-webkit-animation-name:bounceOut;animation-duration:.75s;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{-webkit-transform:translate3d(0,-20px,0);opacity:1;transform:translate3d(0,-20px,0)}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{-webkit-transform:translate3d(20px,0,0);opacity:1;transform:translate3d(20px,0,0)}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{-webkit-transform:translate3d(20px,0,0);opacity:1;transform:translate3d(20px,0,0)}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{-webkit-transform:translate3d(-20px,0,0);opacity:1;transform:translate3d(-20px,0,0)}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{-webkit-transform:translate3d(-20px,0,0);opacity:1;transform:translate3d(-20px,0,0)}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{-webkit-transform:translate3d(0,20px,0);opacity:1;transform:translate3d(0,20px,0)}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{-webkit-transform:translate3d(0,20px,0);opacity:1;transform:translate3d(0,20px,0)}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInDown{0%{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInDownBig{0%{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInLeft{0%{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInRight{0%{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInRightBig{0%{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInUp{0%{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes fadeInUpBig{0%{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{-webkit-transform:translate3d(0,100%,0);opacity:0;transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{-webkit-transform:translate3d(0,2000px,0);opacity:0;transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0);opacity:0;transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{-webkit-transform:translate3d(-2000px,0,0);opacity:0;transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:0;transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{-webkit-transform:translate3d(2000px,0,0);opacity:0;transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{-webkit-transform:translate3d(0,-100%,0);opacity:0;transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{-webkit-transform:translate3d(0,-2000px,0);opacity:0;transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg)}to{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)}}@keyframes flip{0%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn)}40%{-webkit-animation-timing-function:ease-out;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);animation-timing-function:ease-out;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg)}50%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg)}80%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg)}to{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);animation-timing-function:ease-in;transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg)}}.animated.flip{-webkit-animation-name:flip;-webkit-backface-visibility:visible;animation-name:flip;backface-visibility:visible}@-webkit-keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);opacity:1;transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{-webkit-transform:perspective(400px) rotateX(10deg);opacity:1;transform:perspective(400px) rotateX(10deg)}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-animation-name:flipInX;-webkit-backface-visibility:visible!important;animation-name:flipInX;backface-visibility:visible!important}@-webkit-keyframes flipInY{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateY(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);opacity:1;transform:perspective(400px) rotateY(10deg)}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(90deg);animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateY(90deg)}40%{-webkit-animation-timing-function:ease-in;-webkit-transform:perspective(400px) rotateY(-20deg);animation-timing-function:ease-in;transform:perspective(400px) rotateY(-20deg)}60%{-webkit-transform:perspective(400px) rotateY(10deg);opacity:1;transform:perspective(400px) rotateY(10deg)}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-animation-name:flipInY;-webkit-backface-visibility:visible!important;animation-name:flipInY;backface-visibility:visible!important}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);opacity:1;transform:perspective(400px) rotateX(-20deg)}to{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;transform:perspective(400px) rotateX(90deg)}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);opacity:1;transform:perspective(400px) rotateX(-20deg)}to{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0;transform:perspective(400px) rotateX(90deg)}}.flipOutX{-webkit-animation-duration:.75s;-webkit-animation-name:flipOutX;-webkit-backface-visibility:visible!important;animation-duration:.75s;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);opacity:1;transform:perspective(400px) rotateY(-15deg)}to{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;transform:perspective(400px) rotateY(90deg)}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);opacity:1;transform:perspective(400px) rotateY(-15deg)}to{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0;transform:perspective(400px) rotateY(90deg)}}.flipOutY{-webkit-animation-duration:.75s;-webkit-animation-name:flipOutY;-webkit-backface-visibility:visible!important;animation-duration:.75s;animation-name:flipOutY;backface-visibility:visible!important}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{-webkit-transform:skewX(20deg);opacity:1;transform:skewX(20deg)}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);opacity:0;transform:translate3d(100%,0,0) skewX(-30deg)}60%{-webkit-transform:skewX(20deg);opacity:1;transform:skewX(20deg)}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-name:lightSpeedIn;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);opacity:0;transform:translate3d(100%,0,0) skewX(30deg)}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-name:lightSpeedOut;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(-200deg);transform-origin:center}to{-webkit-transform:translateZ(0);-webkit-transform-origin:center;opacity:1;transform:translateZ(0);transform-origin:center}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(-200deg);transform-origin:center}to{-webkit-transform:translateZ(0);-webkit-transform-origin:center;opacity:1;transform:translateZ(0);transform-origin:center}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(45deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(45deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:left bottom;opacity:1;transform:translateZ(0);transform-origin:left bottom}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-90deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-90deg);transform-origin:right bottom}to{-webkit-transform:translateZ(0);-webkit-transform-origin:right bottom;opacity:1;transform:translateZ(0);transform-origin:right bottom}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;opacity:1;transform-origin:center}to{-webkit-transform:rotate(200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(200deg);transform-origin:center}}@keyframes rotateOut{0%{-webkit-transform-origin:center;opacity:1;transform-origin:center}to{-webkit-transform:rotate(200deg);-webkit-transform-origin:center;opacity:0;transform:rotate(200deg);transform-origin:center}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(45deg);transform-origin:left bottom}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-45deg);transform-origin:right bottom}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(-45deg);transform-origin:right bottom}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;opacity:1;transform-origin:left bottom}to{-webkit-transform:rotate(-45deg);-webkit-transform-origin:left bottom;opacity:0;transform:rotate(-45deg);transform-origin:left bottom}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(90deg);transform-origin:right bottom}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;opacity:1;transform-origin:right bottom}to{-webkit-transform:rotate(90deg);-webkit-transform-origin:right bottom;opacity:0;transform:rotate(90deg);transform-origin:right bottom}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform-origin:top left}20%,60%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg);transform-origin:top left}to{-webkit-transform:translate3d(0,700px,0);opacity:0;transform:translate3d(0,700px,0)}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform-origin:top left}20%,60%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;transform:rotate(80deg);transform-origin:top left}40%,80%{-webkit-animation-timing-function:ease-in-out;-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg);transform-origin:top left}to{-webkit-transform:translate3d(0,700px,0);opacity:0;transform:translate3d(0,700px,0)}}.hinge{-webkit-animation-duration:2s;-webkit-animation-name:hinge;animation-duration:2s;animation-name:hinge}@-webkit-keyframes jackInTheBox{0%{-webkit-transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{-webkit-transform:scale(1);opacity:1;transform:scale(1)}}@keyframes jackInTheBox{0%{-webkit-transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{-webkit-transform:scale(1);opacity:1;transform:scale(1)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}@keyframes rollIn{0%{-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);opacity:0;transform:translate3d(-100%,0,0) rotate(-120deg)}to{-webkit-transform:translateZ(0);opacity:1;transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) rotate(120deg);opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) rotate(120deg);opacity:0;transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}@keyframes zoomInDown{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}@keyframes zoomInLeft{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(10px,0,0)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}@keyframes zoomInRight{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(1000px,0,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-10px,0,0)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}@keyframes zoomInUp{0%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,1000px,0)}60%{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{-webkit-transform:scale3d(.3,.3,.3);opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform-origin:center bottom}}@keyframes zoomOutDown{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,-60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform-origin:center bottom}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{-webkit-transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;opacity:0;transform:scale(.1) translate3d(-2000px,0,0);transform-origin:left center}}@keyframes zoomOutLeft{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{-webkit-transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;opacity:0;transform:scale(.1) translate3d(-2000px,0,0);transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{-webkit-transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;opacity:0;transform:scale(.1) translate3d(2000px,0,0);transform-origin:right center}}@keyframes zoomOutRight{40%{-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);opacity:1;transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{-webkit-transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;opacity:0;transform:scale(.1) translate3d(2000px,0,0);transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform-origin:center bottom}}@keyframes zoomOutUp{40%{-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);animation-timing-function:cubic-bezier(.55,.055,.675,.19);opacity:1;transform:scale3d(.475,.475,.475) translate3d(0,60px,0)}to{-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;animation-timing-function:cubic-bezier(.175,.885,.32,1);opacity:0;transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform-origin:center bottom}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:hidden}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:hidden}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:hidden}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:hidden}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:hidden}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:hidden}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:hidden}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:hidden}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.animated{-webkit-animation-duration:1s;-webkit-animation-fill-mode:both;animation-duration:1s;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s}@media (prefers-reduced-motion){.animated{-webkit-animation:unset!important;-webkit-transition:none!important;animation:unset!important;transition:none!important}}
@charset "UTF-8";
/*!
 * Bootstrap  v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: #052c65;
  --bs-secondary-text-emphasis: #2b2f32;
  --bs-success-text-emphasis: #0a3622;
  --bs-info-text-emphasis: #055160;
  --bs-warning-text-emphasis: #664d03;
  --bs-danger-text-emphasis: #58151c;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #cfe2ff;
  --bs-secondary-bg-subtle: #e2e3e5;
  --bs-success-bg-subtle: #d1e7dd;
  --bs-info-bg-subtle: #cff4fc;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-danger-bg-subtle: #f8d7da;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #9ec5fe;
  --bs-secondary-border-subtle: #c4c8cb;
  --bs-success-border-subtle: #a3cfbb;
  --bs-info-border-subtle: #9eeaf9;
  --bs-warning-border-subtle: #ffe69c;
  --bs-danger-border-subtle: #f1aeb5;
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
  --bs-tertiary-color-rgb: 33, 37, 41;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #0d6efd;
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #0a58ca;
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-code-color: #d63384;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: #2b3035;
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: #6ea8fe;
  --bs-secondary-text-emphasis: #a7acb1;
  --bs-success-text-emphasis: #75b798;
  --bs-info-text-emphasis: #6edff6;
  --bs-warning-text-emphasis: #ffda6a;
  --bs-danger-text-emphasis: #ea868f;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #031633;
  --bs-secondary-bg-subtle: #161719;
  --bs-success-bg-subtle: #051b11;
  --bs-info-bg-subtle: #032830;
  --bs-warning-bg-subtle: #332701;
  --bs-danger-bg-subtle: #2c0b0e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: #084298;
  --bs-secondary-border-subtle: #41464b;
  --bs-success-border-subtle: #0f5132;
  --bs-info-border-subtle: #087990;
  --bs-warning-border-subtle: #997404;
  --bs-danger-border-subtle: #842029;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: #6ea8fe;
  --bs-link-hover-color: #8bb9fe;
  --bs-link-color-rgb: 110, 168, 254;
  --bs-link-hover-color-rgb: 139, 185, 254;
  --bs-code-color: #e685b5;
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: #664d03;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #75b798;
  --bs-form-valid-border-color: #75b798;
  --bs-form-invalid-color: #ea868f;
  --bs-form-invalid-border-color: #ea868f;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--bs-heading-color);
}

h1, .h1 {
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.5rem;
  }
}

h2, .h2 {
  font-size: calc(1.325rem + 0.9vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 2rem;
  }
}

h3, .h3 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.75rem;
  }
}

h4, .h4 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 1.5rem;
  }
}

h5, .h5 {
  font-size: 1.25rem;
}

h6, .h6 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.875em;
}

mark, .mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.25rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

.lead {
  font-size: 1.25rem;
  font-weight: 300;
}

.display-1 {
  font-size: calc(1.625rem + 4.5vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}

.display-2 {
  font-size: calc(1.575rem + 3.9vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
  }
}

.display-3 {
  font-size: calc(1.525rem + 3.3vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-3 {
    font-size: 4rem;
  }
}

.display-4 {
  font-size: calc(1.475rem + 2.7vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.5rem;
  }
}

.display-5 {
  font-size: calc(1.425rem + 2.1vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}

.display-6 {
  font-size: calc(1.375rem + 1.5vw);
  font-weight: 300;
  line-height: 1.2;
}
@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.5rem;
  }
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.initialism {
  font-size: 0.875em;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.blockquote > :last-child {
  margin-bottom: 0;
}

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6c757d;
}
.blockquote-footer::before {
  content: "— ";
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}

.figure-caption {
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 0.25rem;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 0.25rem;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 0.5rem;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 0.5rem;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 1rem;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 1rem;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 1.5rem;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 1.5rem;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 3rem;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 3rem;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width);
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: #cfe2ff;
  --bs-table-border-color: #a6b5cc;
  --bs-table-striped-bg: #c5d7f2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bacbe6;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfd1ec;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: #e2e3e5;
  --bs-table-border-color: #b5b6b7;
  --bs-table-striped-bg: #d7d8da;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #cbccce;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d1d2d4;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-success {
  --bs-table-color: #000;
  --bs-table-bg: #d1e7dd;
  --bs-table-border-color: #a7b9b1;
  --bs-table-striped-bg: #c7dbd2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #bcd0c7;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #c1d6cc;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-info {
  --bs-table-color: #000;
  --bs-table-bg: #cff4fc;
  --bs-table-border-color: #a6c3ca;
  --bs-table-striped-bg: #c5e8ef;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #badce3;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bfe2e9;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-warning {
  --bs-table-color: #000;
  --bs-table-bg: #fff3cd;
  --bs-table-border-color: #ccc2a4;
  --bs-table-striped-bg: #f2e7c3;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e6dbb9;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #ece1be;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-danger {
  --bs-table-color: #000;
  --bs-table-bg: #f8d7da;
  --bs-table-border-color: #c6acae;
  --bs-table-striped-bg: #eccccf;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfc2c4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5c7ca;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-light {
  --bs-table-color: #000;
  --bs-table-bg: #f8f9fa;
  --bs-table-border-color: #c6c7c8;
  --bs-table-striped-bg: #ecedee;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dfe0e1;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e5e6e7;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #212529;
  --bs-table-border-color: #4d5154;
  --bs-table-striped-bg: #2c3034;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #373b3e;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #323539;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.form-label {
  margin-bottom: 0.5rem;
}

.col-form-label {
  padding-top: calc(0.375rem + var(--bs-border-width));
  padding-bottom: calc(0.375rem + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + var(--bs-border-width));
  padding-bottom: calc(0.5rem + var(--bs-border-width));
  font-size: 1.25rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + var(--bs-border-width));
  padding-bottom: calc(0.25rem + var(--bs-border-width));
  font-size: 0.875rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::-moz-placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::-webkit-file-upload-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  -webkit-margin-end: 0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::-webkit-file-upload-button {
    -webkit-transition: none;
    transition: none;
  }
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
  background-color: var(--bs-secondary-bg);
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::-webkit-file-upload-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  -webkit-margin-end: 0.5rem;
  margin-inline-end: 0.5rem;
}
.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  -webkit-margin-end: 0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::-webkit-file-upload-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  -webkit-margin-end: 1rem;
  margin-inline-end: 1rem;
}
.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  -webkit-margin-end: 1rem;
  margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  padding: 0.375rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-body-color);
}

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

[data-bs-theme=dark] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}

.form-check-reverse {
  padding-right: 1.5em;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.5em;
  margin-left: 0;
}

.form-check-input {
  --bs-form-check-bg: var(--bs-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--bs-border-width) solid var(--bs-border-color);
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #0d6efd;
  border-color: #0d6efd;
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.5em;
  margin-left: 0;
}

.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  -webkit-appearance: none;
  appearance: none;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    -webkit-transition: none;
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: #b6d4fe;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  -moz-appearance: none;
  appearance: none;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    -moz-transition: none;
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: #b6d4fe;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--bs-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::-moz-placeholder, .form-floating > .form-control-plaintext::-moz-placeholder {
  color: transparent;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:not(:-moz-placeholder-shown), .form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6c757d;
}
.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after {
  background-color: var(--bs-secondary-bg);
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 5;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-tertiary-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 3rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(var(--bs-border-width) * -1);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-valid-color);
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--bs-form-valid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.btn {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 0.375rem;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 0.65;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn-check + .btn:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .btn {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0b5ed7;
  --bs-btn-hover-border-color: #0a58ca;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a58ca;
  --bs-btn-active-border-color: #0a53be;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5c636a;
  --bs-btn-hover-border-color: #565e64;
  --bs-btn-focus-shadow-rgb: 130, 138, 145;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #565e64;
  --bs-btn-active-border-color: #51585e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6c757d;
  --bs-btn-disabled-border-color: #6c757d;
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #157347;
  --bs-btn-hover-border-color: #146c43;
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #146c43;
  --bs-btn-active-border-color: #13653f;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #198754;
  --bs-btn-disabled-border-color: #198754;
}

.btn-info {
  --bs-btn-color: #000;
  --bs-btn-bg: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #31d2f2;
  --bs-btn-hover-border-color: #25cff2;
  --bs-btn-focus-shadow-rgb: 11, 172, 204;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #3dd5f3;
  --bs-btn-active-border-color: #25cff2;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #0dcaf0;
  --bs-btn-disabled-border-color: #0dcaf0;
}

.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffca2c;
  --bs-btn-hover-border-color: #ffc720;
  --bs-btn-focus-shadow-rgb: 217, 164, 6;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffcd39;
  --bs-btn-active-border-color: #ffc720;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ffc107;
  --bs-btn-disabled-border-color: #ffc107;
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #bb2d3b;
  --bs-btn-hover-border-color: #b02a37;
  --bs-btn-focus-shadow-rgb: 225, 83, 97;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #b02a37;
  --bs-btn-active-border-color: #a52834;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #dc3545;
  --bs-btn-disabled-border-color: #dc3545;
}

.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d3d4d5;
  --bs-btn-hover-border-color: #c6c7c8;
  --bs-btn-focus-shadow-rgb: 211, 212, 213;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c6c7c8;
  --bs-btn-active-border-color: #babbbc;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f8f9fa;
  --bs-btn-disabled-border-color: #f8f9fa;
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #424649;
  --bs-btn-hover-border-color: #373b3e;
  --bs-btn-focus-shadow-rgb: 66, 70, 73;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4d5154;
  --bs-btn-active-border-color: #373b3e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #212529;
  --bs-btn-disabled-border-color: #212529;
}

.btn-outline-primary {
  --bs-btn-color: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0d6efd;
  --bs-btn-hover-border-color: #0d6efd;
  --bs-btn-focus-shadow-rgb: 13, 110, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0d6efd;
  --bs-btn-active-border-color: #0d6efd;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0d6efd;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0d6efd;
  --bs-gradient: none;
}

.btn-outline-secondary {
  --bs-btn-color: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6c757d;
  --bs-btn-hover-border-color: #6c757d;
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6c757d;
  --bs-btn-active-border-color: #6c757d;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #6c757d;
  --bs-gradient: none;
}

.btn-outline-success {
  --bs-btn-color: #198754;
  --bs-btn-border-color: #198754;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #198754;
  --bs-btn-hover-border-color: #198754;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #198754;
  --bs-btn-active-border-color: #198754;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #198754;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #198754;
  --bs-gradient: none;
}

.btn-outline-info {
  --bs-btn-color: #0dcaf0;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #0dcaf0;
  --bs-btn-hover-border-color: #0dcaf0;
  --bs-btn-focus-shadow-rgb: 13, 202, 240;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #0dcaf0;
  --bs-btn-active-border-color: #0dcaf0;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #0dcaf0;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #0dcaf0;
  --bs-gradient: none;
}

.btn-outline-warning {
  --bs-btn-color: #ffc107;
  --bs-btn-border-color: #ffc107;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffc107;
  --bs-btn-hover-border-color: #ffc107;
  --bs-btn-focus-shadow-rgb: 255, 193, 7;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffc107;
  --bs-btn-active-border-color: #ffc107;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ffc107;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ffc107;
  --bs-gradient: none;
}

.btn-outline-danger {
  --bs-btn-color: #dc3545;
  --bs-btn-border-color: #dc3545;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #dc3545;
  --bs-btn-hover-border-color: #dc3545;
  --bs-btn-focus-shadow-rgb: 220, 53, 69;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #dc3545;
  --bs-btn-active-border-color: #dc3545;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #dc3545;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #dc3545;
  --bs-gradient: none;
}

.btn-outline-light {
  --bs-btn-color: #f8f9fa;
  --bs-btn-border-color: #f8f9fa;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f8f9fa;
  --bs-btn-hover-border-color: #f8f9fa;
  --bs-btn-focus-shadow-rgb: 248, 249, 250;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f8f9fa;
  --bs-btn-active-border-color: #f8f9fa;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f8f9fa;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f8f9fa;
  --bs-gradient: none;
}

.btn-outline-dark {
  --bs-btn-color: #212529;
  --bs-btn-border-color: #212529;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #212529;
  --bs-btn-hover-border-color: #212529;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #212529;
  --bs-btn-active-border-color: #212529;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #212529;
  --bs-gradient: none;
}

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.25rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}

.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 0.25rem;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}

.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}

.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 1rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #0d6efd;
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #6c757d;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}

.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}

.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--bs-dropdown-spacer);
}
.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-toggle::after {
  vertical-align: 0;
}

.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--bs-dropdown-spacer);
}
.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropstart .dropdown-toggle::after {
  display: none;
}
.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.875rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}

.dropdown-menu-dark {
  --bs-dropdown-color: #dee2e6;
  --bs-dropdown-bg: #343a40;
  --bs-dropdown-border-color: var(--bs-border-color-translucent);
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #dee2e6;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #0d6efd;
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-header-color: #adb5bd;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}

.btn-group {
  border-radius: var(--bs-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-left: calc(var(--bs-border-width) * -1);
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n+3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(var(--bs-border-width) * -1);
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #0d6efd;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}

.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}

.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-padding-y: 0.3125rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.25rem;
  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
  --bs-navbar-nav-link-padding-x: 0.5rem;
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0.75rem;
  --bs-navbar-toggler-font-size: 1.25rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--bs-navbar-brand-hover-color);
}

.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--bs-navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}

.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
  color: var(--bs-navbar-active-color);
}

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius: var(--bs-navbar-toggler-border-radius);
  transition: var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}
.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--bs-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto;
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--bs-navbar-nav-link-padding-x);
  padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-expand .offcanvas {
  position: static;
  z-index: auto;
  flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  transform: none !important;
  transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
  display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}

.navbar-dark,
.navbar[data-bs-theme=dark] {
  --bs-navbar-color: rgba(255, 255, 255, 0.55);
  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --bs-navbar-active-color: #fff;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #fff;
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

[data-bs-theme=dark] .navbar-toggler-icon {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.card {
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius);
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color);
}

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color);
}

.card-subtitle {
  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color);
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x);
}

.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-header:first-child {
  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}

.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-footer:last-child {
  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}

.card-header-tabs {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0;
}
.card-header-tabs .nav-link.active {
  background-color: var(--bs-card-bg);
  border-bottom-color: var(--bs-card-bg);
}

.card-header-pills {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}

.card-group > .card {
  margin-bottom: var(--bs-card-group-margin);
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top,
  .card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom,
  .card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top,
  .card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom,
  .card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}

.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}

.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse {
  border-radius: 0;
}

[data-bs-theme=dark] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius);
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--bs-breadcrumb-item-padding-x);
  color: var(--bs-breadcrumb-divider-color);
  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color);
}

.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.375rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-color: var(--bs-link-color);
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: var(--bs-border-width);
  --bs-pagination-border-color: var(--bs-border-color);
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: var(--bs-link-hover-color);
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: var(--bs-border-color);
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #0d6efd;
  --bs-pagination-active-border-color: #0d6efd;
  --bs-pagination-disabled-color: var(--bs-secondary-color);
  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
  --bs-pagination-disabled-border-color: var(--bs-border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  text-decoration: none;
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}
.page-link:hover {
  z-index: 2;
  color: var(--bs-pagination-hover-color);
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--bs-pagination-focus-color);
  background-color: var(--bs-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--bs-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--bs-pagination-disabled-bg);
  border-color: var(--bs-pagination-disabled-border-color);
}

.page-item:not(:first-child) .page-link {
  margin-left: calc(var(--bs-border-width) * -1);
}
.page-item:first-child .page-link {
  border-top-left-radius: var(--bs-pagination-border-radius);
  border-bottom-left-radius: var(--bs-pagination-border-radius);
}
.page-item:last-child .page-link {
  border-top-right-radius: var(--bs-pagination-border-radius);
  border-bottom-right-radius: var(--bs-pagination-border-radius);
}

.pagination-lg {
  --bs-pagination-padding-x: 1.5rem;
  --bs-pagination-padding-y: 0.75rem;
  --bs-pagination-font-size: 1.25rem;
  --bs-pagination-border-radius: var(--bs-border-radius-lg);
}

.pagination-sm {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.25rem;
  --bs-pagination-font-size: 0.875rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}

.badge {
  --bs-badge-padding-x: 0.65em;
  --bs-badge-padding-y: 0.35em;
  --bs-badge-font-size: 0.75em;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: var(--bs-border-radius);
  display: inline-block;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  line-height: 1;
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--bs-badge-border-radius);
}
.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y: 1rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-link-color: inherit;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--bs-alert-border-radius);
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 700;
  color: var(--bs-alert-link-color);
}

.alert-dismissible {
  padding-right: 3rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 1.25rem 1rem;
}

.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis);
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: var(--bs-primary-text-emphasis);
}

.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis);
  --bs-alert-bg: var(--bs-secondary-bg-subtle);
  --bs-alert-border-color: var(--bs-secondary-border-subtle);
  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}

.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis);
  --bs-alert-bg: var(--bs-success-bg-subtle);
  --bs-alert-border-color: var(--bs-success-border-subtle);
  --bs-alert-link-color: var(--bs-success-text-emphasis);
}

.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis);
  --bs-alert-bg: var(--bs-info-bg-subtle);
  --bs-alert-border-color: var(--bs-info-border-subtle);
  --bs-alert-link-color: var(--bs-info-text-emphasis);
}

.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis);
  --bs-alert-bg: var(--bs-warning-bg-subtle);
  --bs-alert-border-color: var(--bs-warning-border-subtle);
  --bs-alert-link-color: var(--bs-warning-text-emphasis);
}

.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}

.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis);
  --bs-alert-bg: var(--bs-light-bg-subtle);
  --bs-alert-border-color: var(--bs-light-border-subtle);
  --bs-alert-link-color: var(--bs-light-text-emphasis);
}

.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis);
  --bs-alert-bg: var(--bs-dark-bg-subtle);
  --bs-alert-border-color: var(--bs-dark-border-subtle);
  --bs-alert-link-color: var(--bs-dark-text-emphasis);
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}
.progress,
.progress-stacked {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 0.75rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: #fff;
  --bs-progress-bar-bg: #0d6efd;
  --bs-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--bs-progress-height);
  overflow: hidden;
  font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--bs-progress-border-radius);
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--bs-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-progress-bar-bg);
  transition: var(--bs-progress-bar-transition);
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: var(--bs-progress-height) var(--bs-progress-height);
}

.progress-stacked > .progress {
  overflow: visible;
}

.progress-stacked > .progress > .progress-bar {
  width: 100%;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

.list-group {
  --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-bg: var(--bs-body-bg);
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-border-radius: var(--bs-border-radius);
  --bs-list-group-item-padding-x: 1rem;
  --bs-list-group-item-padding-y: 0.5rem;
  --bs-list-group-action-color: var(--bs-secondary-color);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-bg);
  --bs-list-group-disabled-color: var(--bs-secondary-color);
  --bs-list-group-disabled-bg: var(--bs-body-bg);
  --bs-list-group-active-color: #fff;
  --bs-list-group-active-bg: #0d6efd;
  --bs-list-group-active-border-color: #0d6efd;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.list-group-item-action {
  width: 100%;
  color: var(--bs-list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: var(--bs-list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:active {
  color: var(--bs-list-group-action-active-color);
  background-color: var(--bs-list-group-action-active-bg);
}

.list-group-item {
  position: relative;
  display: block;
  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color: var(--bs-list-group-color);
  text-decoration: none;
  background-color: var(--bs-list-group-bg);
  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: var(--bs-list-group-disabled-color);
  pointer-events: none;
  background-color: var(--bs-list-group-disabled-bg);
}
.list-group-item.active {
  z-index: 2;
  color: var(--bs-list-group-active-color);
  background-color: var(--bs-list-group-active-bg);
  border-color: var(--bs-list-group-active-border-color);
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: calc(-1 * var(--bs-list-group-border-width));
  border-top-width: var(--bs-list-group-border-width);
}

.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--bs-list-group-border-radius);
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-top-right-radius: var(--bs-list-group-border-radius);
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: var(--bs-list-group-border-width);
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: calc(-1 * var(--bs-list-group-border-width));
  border-left-width: var(--bs-list-group-border-width);
}

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}

.list-group-item-secondary {
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}

.list-group-item-success {
  --bs-list-group-color: var(--bs-success-text-emphasis);
  --bs-list-group-bg: var(--bs-success-bg-subtle);
  --bs-list-group-border-color: var(--bs-success-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
  --bs-list-group-active-color: var(--bs-success-bg-subtle);
  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}

.list-group-item-info {
  --bs-list-group-color: var(--bs-info-text-emphasis);
  --bs-list-group-bg: var(--bs-info-bg-subtle);
  --bs-list-group-border-color: var(--bs-info-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
  --bs-list-group-active-color: var(--bs-info-bg-subtle);
  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}

.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning-text-emphasis);
  --bs-list-group-bg: var(--bs-warning-bg-subtle);
  --bs-list-group-border-color: var(--bs-warning-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}

.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger-text-emphasis);
  --bs-list-group-bg: var(--bs-danger-bg-subtle);
  --bs-list-group-border-color: var(--bs-danger-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}

.list-group-item-light {
  --bs-list-group-color: var(--bs-light-text-emphasis);
  --bs-list-group-bg: var(--bs-light-bg-subtle);
  --bs-list-group-border-color: var(--bs-light-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
  --bs-list-group-active-color: var(--bs-light-bg-subtle);
  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}

.list-group-item-dark {
  --bs-list-group-color: var(--bs-dark-text-emphasis);
  --bs-list-group-bg: var(--bs-dark-bg-subtle);
  --bs-list-group-border-color: var(--bs-dark-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}

.btn-close {
  --bs-btn-close-color: #000;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 0.5;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  --bs-btn-close-focus-opacity: 1;
  --bs-btn-close-disabled-opacity: 0.25;
  --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
  border: 0;
  border-radius: 0.375rem;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}

.btn-close-white {
  filter: var(--bs-btn-close-white-filter);
}

[data-bs-theme=dark] .btn-close {
  filter: var(--bs-btn-close-white-filter);
}

.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 1.5rem;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow);
  --bs-toast-header-color: var(--bs-secondary-color);
  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-header-border-color: var(--bs-border-color-translucent);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}

.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: var(--bs-toast-spacing);
}

.toast-header {
  display: flex;
  align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
  margin-right: calc(-0.5 * var(--bs-toast-padding-x));
  margin-left: var(--bs-toast-padding-x);
}

.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word;
}

.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: ;
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: var(--bs-border-width);
  --bs-modal-border-radius: var(--bs-border-radius-lg);
  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: var(--bs-border-width);
  --bs-modal-title-line-height: 1.5;
  --bs-modal-footer-gap: 0.5rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: var(--bs-border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  outline: 0;
}

.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: #000;
  --bs-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
  margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}
.modal-footer > * {
  margin: calc(var(--bs-modal-footer-gap) * 0.5);
}

@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: var(--bs-box-shadow);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 0.875rem;
  --bs-tooltip-color: var(--bs-body-bg);
  --bs-tooltip-bg: var(--bs-emphasis-color);
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  margin: var(--bs-tooltip-margin);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--bs-tooltip-arrow-width);
  height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
  bottom: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-top-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
  left: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
  border-right-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
  top: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-bottom-color: var(--bs-tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
  right: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
  border-left-color: var(--bs-tooltip-bg);
}

/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--bs-tooltip-border-radius);
}

.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 276px;
  --bs-popover-font-size: 0.875rem;
  --bs-popover-bg: var(--bs-body-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: var(--bs-border-color-translucent);
  --bs-popover-border-radius: var(--bs-border-radius-lg);
  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
  --bs-popover-box-shadow: var(--bs-box-shadow);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: 1rem;
  --bs-popover-header-color: inherit;
  --bs-popover-header-bg: var(--bs-secondary-bg);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
}
.popover .popover-arrow {
  display: block;
  width: var(--bs-popover-arrow-width);
  height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
  bottom: 0;
  border-top-color: var(--bs-popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
  bottom: var(--bs-popover-border-width);
  border-top-color: var(--bs-popover-bg);
}

/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
  left: 0;
  border-right-color: var(--bs-popover-arrow-border);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
  left: var(--bs-popover-border-width);
  border-right-color: var(--bs-popover-bg);
}

/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
  top: 0;
  border-bottom-color: var(--bs-popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
  top: var(--bs-popover-border-width);
  border-bottom-color: var(--bs-popover-bg);
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--bs-popover-arrow-width);
  margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
  content: "";
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}

/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
  right: 0;
  border-left-color: var(--bs-popover-arrow-border);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
  right: var(--bs-popover-border-width);
  border-left-color: var(--bs-popover-bg);
}

/* rtl:end:ignore */
.popover-header {
  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
  background-color: var(--bs-popover-header-bg);
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-top-left-radius: var(--bs-popover-inner-border-radius);
  border-top-right-radius: var(--bs-popover-inner-border-radius);
}
.popover-header:empty {
  display: none;
}

.popover-body {
  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
  color: var(--bs-popover-body-color);
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
  .carousel-fade .active.carousel-item-end {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #fff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
  .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")*/;
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")*/;
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #fff;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #fff;
  text-align: center;
}

.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
  filter: invert(1) grayscale(100);
}
.carousel-dark .carousel-indicators [data-bs-target] {
  background-color: #000;
}
.carousel-dark .carousel-caption {
  color: #000;
}

[data-bs-theme=dark] .carousel .carousel-control-prev-icon,
[data-bs-theme=dark] .carousel .carousel-control-next-icon, [data-bs-theme=dark].carousel .carousel-control-prev-icon,
[data-bs-theme=dark].carousel .carousel-control-next-icon {
  filter: invert(1) grayscale(100);
}
[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {
  background-color: #000;
}
[data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption {
  color: #000;
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 0.25em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}

.spinner-border-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
  --bs-spinner-border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  --bs-spinner-width: 2rem;
  --bs-spinner-height: 2rem;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}

.spinner-grow-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
  .spinner-grow {
    --bs-spinner-animation-speed: 1.5s;
  }
}
.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 1rem;
  --bs-offcanvas-padding-y: 1rem;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: var(--bs-border-width);
  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.5;
}

@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}
@media (max-width: 575.98px) {
  .offcanvas-sm.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--bs-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}

.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}

.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
  padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
  margin: calc(-0.5 * var(--bs-offcanvas-padding-y)) calc(-0.5 * var(--bs-offcanvas-padding-x)) calc(-0.5 * var(--bs-offcanvas-padding-y)) auto;
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
}

.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}
.placeholder.btn::before {
  display: inline-block;
  content: "";
}

.placeholder-xs {
  min-height: 0.6em;
}

.placeholder-sm {
  min-height: 0.8em;
}

.placeholder-lg {
  min-height: 1.2em;
}

.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}

@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  -webkit-mask-size: 200% 100%;
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

@keyframes placeholder-wave {
  100% {
    -webkit-mask-position: -200% 0%;
    mask-position: -200% 0%;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: #fff !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #fff !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #fff !important;
  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #000 !important;
  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #000 !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #fff !important;
  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #fff !important;
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}

.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}

.ratio-4x3 {
  --bs-aspect-ratio: 75%;
}

.ratio-16x9 {
  --bs-aspect-ratio: 56.25%;
}

.ratio-21x9 {
  --bs-aspect-ratio: 42.8571428571%;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1020;
}

.sticky-bottom {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}

.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.float-start {
  float: left !important;
}

.float-end {
  float: right !important;
}

.float-none {
  float: none !important;
}

.object-fit-contain {
  -o-object-fit: contain !important;
  object-fit: contain !important;
}

.object-fit-cover {
  -o-object-fit: cover !important;
  object-fit: cover !important;
}

.object-fit-fill {
  -o-object-fit: fill !important;
  object-fit: fill !important;
}

.object-fit-scale {
  -o-object-fit: scale-down !important;
  object-fit: scale-down !important;
}

.object-fit-none {
  -o-object-fit: none !important;
  object-fit: none !important;
}

.opacity-0 {
  opacity: 0 !important;
}

.opacity-25 {
  opacity: 0.25 !important;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.shadow {
  box-shadow: var(--bs-box-shadow) !important;
}

.shadow-sm {
  box-shadow: var(--bs-box-shadow-sm) !important;
}

.shadow-lg {
  box-shadow: var(--bs-box-shadow-lg) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.focus-ring-primary {
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-secondary {
  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-success {
  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-info {
  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-warning {
  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-danger {
  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-light {
  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}

.focus-ring-dark {
  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
}

.top-0 {
  top: 0 !important;
}

.top-50 {
  top: 50% !important;
}

.top-100 {
  top: 100% !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.bottom-50 {
  bottom: 50% !important;
}

.bottom-100 {
  bottom: 100% !important;
}

.start-0 {
  left: 0 !important;
}

.start-50 {
  left: 50% !important;
}

.start-100 {
  left: 100% !important;
}

.end-0 {
  right: 0 !important;
}

.end-50 {
  right: 50% !important;
}

.end-100 {
  right: 100% !important;
}

.translate-middle {
  transform: translate(-50%, -50%) !important;
}

.translate-middle-x {
  transform: translateX(-50%) !important;
}

.translate-middle-y {
  transform: translateY(-50%) !important;
}

.border {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-end {
  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-end-0 {
  border-right: 0 !important;
}

.border-bottom {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-start {
  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

.border-start-0 {
  border-left: 0 !important;
}

.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

.border-secondary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
}

.border-success {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
}

.border-info {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
}

.border-warning {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
}

.border-danger {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
}

.border-light {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
}

.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
}

.border-black {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
}

.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
}

.border-primary-subtle {
  border-color: var(--bs-primary-border-subtle) !important;
}

.border-secondary-subtle {
  border-color: var(--bs-secondary-border-subtle) !important;
}

.border-success-subtle {
  border-color: var(--bs-success-border-subtle) !important;
}

.border-info-subtle {
  border-color: var(--bs-info-border-subtle) !important;
}

.border-warning-subtle {
  border-color: var(--bs-warning-border-subtle) !important;
}

.border-danger-subtle {
  border-color: var(--bs-danger-border-subtle) !important;
}

.border-light-subtle {
  border-color: var(--bs-light-border-subtle) !important;
}

.border-dark-subtle {
  border-color: var(--bs-dark-border-subtle) !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

.border-opacity-10 {
  --bs-border-opacity: 0.1;
}

.border-opacity-25 {
  --bs-border-opacity: 0.25;
}

.border-opacity-50 {
  --bs-border-opacity: 0.5;
}

.border-opacity-75 {
  --bs-border-opacity: 0.75;
}

.border-opacity-100 {
  --bs-border-opacity: 1;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.vw-100 {
  width: 100vw !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mh-100 {
  max-height: 100% !important;
}

.vh-100 {
  height: 100vh !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.order-first {
  order: -1 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-last {
  order: 6 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.m-3 {
  margin: 1rem !important;
}

.m-4 {
  margin: 1.5rem !important;
}

.m-5 {
  margin: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

.mx-3 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mt-3 {
  margin-top: 1rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mt-5 {
  margin-top: 3rem !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 0.25rem !important;
}

.me-2 {
  margin-right: 0.5rem !important;
}

.me-3 {
  margin-right: 1rem !important;
}

.me-4 {
  margin-right: 1.5rem !important;
}

.me-5 {
  margin-right: 3rem !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-4 {
  margin-bottom: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 0.25rem !important;
}

.ms-2 {
  margin-left: 0.5rem !important;
}

.ms-3 {
  margin-left: 1rem !important;
}

.ms-4 {
  margin-left: 1.5rem !important;
}

.ms-5 {
  margin-left: 3rem !important;
}

.ms-auto {
  margin-left: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.p-3 {
  padding: 1rem !important;
}

.p-4 {
  padding: 1.5rem !important;
}

.p-5 {
  padding: 3rem !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.px-3 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.py-3 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.py-5 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pt-3 {
  padding-top: 1rem !important;
}

.pt-4 {
  padding-top: 1.5rem !important;
}

.pt-5 {
  padding-top: 3rem !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 0.25rem !important;
}

.pe-2 {
  padding-right: 0.5rem !important;
}

.pe-3 {
  padding-right: 1rem !important;
}

.pe-4 {
  padding-right: 1.5rem !important;
}

.pe-5 {
  padding-right: 3rem !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pb-3 {
  padding-bottom: 1rem !important;
}

.pb-4 {
  padding-bottom: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 3rem !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 0.25rem !important;
}

.ps-2 {
  padding-left: 0.5rem !important;
}

.ps-3 {
  padding-left: 1rem !important;
}

.ps-4 {
  padding-left: 1.5rem !important;
}

.ps-5 {
  padding-left: 3rem !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 0.25rem !important;
}

.gap-2 {
  gap: 0.5rem !important;
}

.gap-3 {
  gap: 1rem !important;
}

.gap-4 {
  gap: 1.5rem !important;
}

.gap-5 {
  gap: 3rem !important;
}

.row-gap-0 {
  row-gap: 0 !important;
}

.row-gap-1 {
  row-gap: 0.25rem !important;
}

.row-gap-2 {
  row-gap: 0.5rem !important;
}

.row-gap-3 {
  row-gap: 1rem !important;
}

.row-gap-4 {
  row-gap: 1.5rem !important;
}

.row-gap-5 {
  row-gap: 3rem !important;
}

.column-gap-0 {
  -moz-column-gap: 0 !important;
  column-gap: 0 !important;
}

.column-gap-1 {
  -moz-column-gap: 0.25rem !important;
  column-gap: 0.25rem !important;
}

.column-gap-2 {
  -moz-column-gap: 0.5rem !important;
  column-gap: 0.5rem !important;
}

.column-gap-3 {
  -moz-column-gap: 1rem !important;
  column-gap: 1rem !important;
}

.column-gap-4 {
  -moz-column-gap: 1.5rem !important;
  column-gap: 1.5rem !important;
}

.column-gap-5 {
  -moz-column-gap: 3rem !important;
  column-gap: 3rem !important;
}

.font-monospace {
  font-family: var(--bs-font-monospace) !important;
}

.fs-1 {
  font-size: calc(1.375rem + 1.5vw) !important;
}

.fs-2 {
  font-size: calc(1.325rem + 0.9vw) !important;
}

.fs-3 {
  font-size: calc(1.3rem + 0.6vw) !important;
}

.fs-4 {
  font-size: calc(1.275rem + 0.3vw) !important;
}

.fs-5 {
  font-size: 1.25rem !important;
}

.fs-6 {
  font-size: 1rem !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 700 !important;
}

.fw-bolder {
  font-weight: bolder !important;
}

.lh-1 {
  line-height: 1 !important;
}

.lh-sm {
  line-height: 1.25 !important;
}

.lh-base {
  line-height: 1.5 !important;
}

.lh-lg {
  line-height: 2 !important;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-decoration-underline {
  text-decoration: underline !important;
}

.text-decoration-line-through {
  text-decoration: line-through !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

/* rtl:end:remove */
.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.text-secondary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}

.text-success {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}

.text-info {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
}

.text-warning {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
}

.text-danger {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}

.text-light {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
}

.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
}

.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
}

.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

.text-body {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
}

.text-muted {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.text-black-50 {
  --bs-text-opacity: 1;
  color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5) !important;
}

.text-body-secondary {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color) !important;
}

.text-body-tertiary {
  --bs-text-opacity: 1;
  color: var(--bs-tertiary-color) !important;
}

.text-body-emphasis {
  --bs-text-opacity: 1;
  color: var(--bs-emphasis-color) !important;
}

.text-reset {
  --bs-text-opacity: 1;
  color: inherit !important;
}

.text-opacity-25 {
  --bs-text-opacity: 0.25;
}

.text-opacity-50 {
  --bs-text-opacity: 0.5;
}

.text-opacity-75 {
  --bs-text-opacity: 0.75;
}

.text-opacity-100 {
  --bs-text-opacity: 1;
}

.text-primary-emphasis {
  color: var(--bs-primary-text-emphasis) !important;
}

.text-secondary-emphasis {
  color: var(--bs-secondary-text-emphasis) !important;
}

.text-success-emphasis {
  color: var(--bs-success-text-emphasis) !important;
}

.text-info-emphasis {
  color: var(--bs-info-text-emphasis) !important;
}

.text-warning-emphasis {
  color: var(--bs-warning-text-emphasis) !important;
}

.text-danger-emphasis {
  color: var(--bs-danger-text-emphasis) !important;
}

.text-light-emphasis {
  color: var(--bs-light-text-emphasis) !important;
}

.text-dark-emphasis {
  color: var(--bs-dark-text-emphasis) !important;
}

.link-opacity-10 {
  --bs-link-opacity: 0.1;
}

.link-opacity-10-hover:hover {
  --bs-link-opacity: 0.1;
}

.link-opacity-25 {
  --bs-link-opacity: 0.25;
}

.link-opacity-25-hover:hover {
  --bs-link-opacity: 0.25;
}

.link-opacity-50 {
  --bs-link-opacity: 0.5;
}

.link-opacity-50-hover:hover {
  --bs-link-opacity: 0.5;
}

.link-opacity-75 {
  --bs-link-opacity: 0.75;
}

.link-opacity-75-hover:hover {
  --bs-link-opacity: 0.75;
}

.link-opacity-100 {
  --bs-link-opacity: 1;
}

.link-opacity-100-hover:hover {
  --bs-link-opacity: 1;
}

.link-offset-1 {
  text-underline-offset: 0.125em !important;
}

.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}

.link-offset-2 {
  text-underline-offset: 0.25em !important;
}

.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}

.link-offset-3 {
  text-underline-offset: 0.375em !important;
}

.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}

.link-underline-primary {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-secondary {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-success {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-info {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-warning {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-danger {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-light {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline-dark {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
}

.link-underline {
  --bs-link-underline-opacity: 1;
  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

.link-underline-opacity-0 {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-0-hover:hover {
  --bs-link-underline-opacity: 0;
}

.link-underline-opacity-10 {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-10-hover:hover {
  --bs-link-underline-opacity: 0.1;
}

.link-underline-opacity-25 {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-25-hover:hover {
  --bs-link-underline-opacity: 0.25;
}

.link-underline-opacity-50 {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-50-hover:hover {
  --bs-link-underline-opacity: 0.5;
}

.link-underline-opacity-75 {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-75-hover:hover {
  --bs-link-underline-opacity: 0.75;
}

.link-underline-opacity-100 {
  --bs-link-underline-opacity: 1;
}

.link-underline-opacity-100-hover:hover {
  --bs-link-underline-opacity: 1;
}

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
}

.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
}

.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
}

.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}

.bg-light {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
}

.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
}

.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent !important;
}

.bg-body-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-body-tertiary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
}

.bg-opacity-10 {
  --bs-bg-opacity: 0.1;
}

.bg-opacity-25 {
  --bs-bg-opacity: 0.25;
}

.bg-opacity-50 {
  --bs-bg-opacity: 0.5;
}

.bg-opacity-75 {
  --bs-bg-opacity: 0.75;
}

.bg-opacity-100 {
  --bs-bg-opacity: 1;
}

.bg-primary-subtle {
  background-color: var(--bs-primary-bg-subtle) !important;
}

.bg-secondary-subtle {
  background-color: var(--bs-secondary-bg-subtle) !important;
}

.bg-success-subtle {
  background-color: var(--bs-success-bg-subtle) !important;
}

.bg-info-subtle {
  background-color: var(--bs-info-bg-subtle) !important;
}

.bg-warning-subtle {
  background-color: var(--bs-warning-bg-subtle) !important;
}

.bg-danger-subtle {
  background-color: var(--bs-danger-bg-subtle) !important;
}

.bg-light-subtle {
  background-color: var(--bs-light-bg-subtle) !important;
}

.bg-dark-subtle {
  background-color: var(--bs-dark-bg-subtle) !important;
}

.bg-gradient {
  background-image: var(--bs-gradient) !important;
}

.user-select-all {
  -webkit-user-select: all !important;
  -moz-user-select: all !important;
  user-select: all !important;
}

.user-select-auto {
  -webkit-user-select: auto !important;
  -moz-user-select: auto !important;
  user-select: auto !important;
}

.user-select-none {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}

.pe-auto {
  pointer-events: auto !important;
}

.rounded {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-1 {
  border-radius: var(--bs-border-radius-sm) !important;
}

.rounded-2 {
  border-radius: var(--bs-border-radius) !important;
}

.rounded-3 {
  border-radius: var(--bs-border-radius-lg) !important;
}

.rounded-4 {
  border-radius: var(--bs-border-radius-xl) !important;
}

.rounded-5 {
  border-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: var(--bs-border-radius-pill) !important;
}

.rounded-top {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-top-1 {
  border-top-left-radius: var(--bs-border-radius-sm) !important;
  border-top-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-top-2 {
  border-top-left-radius: var(--bs-border-radius) !important;
  border-top-right-radius: var(--bs-border-radius) !important;
}

.rounded-top-3 {
  border-top-left-radius: var(--bs-border-radius-lg) !important;
  border-top-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-top-4 {
  border-top-left-radius: var(--bs-border-radius-xl) !important;
  border-top-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-top-5 {
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-top-circle {
  border-top-left-radius: 50% !important;
  border-top-right-radius: 50% !important;
}

.rounded-top-pill {
  border-top-left-radius: var(--bs-border-radius-pill) !important;
  border-top-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-end {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-end-1 {
  border-top-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
}

.rounded-end-2 {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}

.rounded-end-3 {
  border-top-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}

.rounded-end-4 {
  border-top-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
}

.rounded-end-5 {
  border-top-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

.rounded-end-pill {
  border-top-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
}

.rounded-bottom {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.rounded-bottom-1 {
  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-bottom-2 {
  border-bottom-right-radius: var(--bs-border-radius) !important;
  border-bottom-left-radius: var(--bs-border-radius) !important;
}

.rounded-bottom-3 {
  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-bottom-4 {
  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-bottom-5 {
  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-bottom-circle {
  border-bottom-right-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}

.rounded-bottom-pill {
  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
}

.rounded-start {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

.rounded-start-1 {
  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
  border-top-left-radius: var(--bs-border-radius-sm) !important;
}

.rounded-start-2 {
  border-bottom-left-radius: var(--bs-border-radius) !important;
  border-top-left-radius: var(--bs-border-radius) !important;
}

.rounded-start-3 {
  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
  border-top-left-radius: var(--bs-border-radius-lg) !important;
}

.rounded-start-4 {
  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
  border-top-left-radius: var(--bs-border-radius-xl) !important;
}

.rounded-start-5 {
  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
  border-top-left-radius: var(--bs-border-radius-xxl) !important;
}

.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}

.rounded-start-pill {
  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
  border-top-left-radius: var(--bs-border-radius-pill) !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

@media (min-width: 576px) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline-flex {
    display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .m-sm-3 {
    margin: 1rem !important;
  }
  .m-sm-4 {
    margin: 1.5rem !important;
  }
  .m-sm-5 {
    margin: 3rem !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-sm-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-sm-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mt-sm-3 {
    margin-top: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 3rem !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 0.25rem !important;
  }
  .me-sm-2 {
    margin-right: 0.5rem !important;
  }
  .me-sm-3 {
    margin-right: 1rem !important;
  }
  .me-sm-4 {
    margin-right: 1.5rem !important;
  }
  .me-sm-5 {
    margin-right: 3rem !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 3rem !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 0.25rem !important;
  }
  .ms-sm-2 {
    margin-left: 0.5rem !important;
  }
  .ms-sm-3 {
    margin-left: 1rem !important;
  }
  .ms-sm-4 {
    margin-left: 1.5rem !important;
  }
  .ms-sm-5 {
    margin-left: 3rem !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 1rem !important;
  }
  .p-sm-4 {
    padding: 1.5rem !important;
  }
  .p-sm-5 {
    padding: 3rem !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-sm-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-sm-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pt-sm-3 {
    padding-top: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 3rem !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pe-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pe-sm-3 {
    padding-right: 1rem !important;
  }
  .pe-sm-4 {
    padding-right: 1.5rem !important;
  }
  .pe-sm-5 {
    padding-right: 3rem !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 3rem !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 0.25rem !important;
  }
  .ps-sm-2 {
    padding-left: 0.5rem !important;
  }
  .ps-sm-3 {
    padding-left: 1rem !important;
  }
  .ps-sm-4 {
    padding-left: 1.5rem !important;
  }
  .ps-sm-5 {
    padding-left: 3rem !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 0.25rem !important;
  }
  .gap-sm-2 {
    gap: 0.5rem !important;
  }
  .gap-sm-3 {
    gap: 1rem !important;
  }
  .gap-sm-4 {
    gap: 1.5rem !important;
  }
  .gap-sm-5 {
    gap: 3rem !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-sm-3 {
    row-gap: 1rem !important;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-sm-5 {
    row-gap: 3rem !important;
  }
  .column-gap-sm-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-sm-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-sm-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-sm-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-sm-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline-flex {
    display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .m-md-3 {
    margin: 1rem !important;
  }
  .m-md-4 {
    margin: 1.5rem !important;
  }
  .m-md-5 {
    margin: 3rem !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-md-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-md-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mt-md-3 {
    margin-top: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 3rem !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 0.25rem !important;
  }
  .me-md-2 {
    margin-right: 0.5rem !important;
  }
  .me-md-3 {
    margin-right: 1rem !important;
  }
  .me-md-4 {
    margin-right: 1.5rem !important;
  }
  .me-md-5 {
    margin-right: 3rem !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-md-3 {
    margin-bottom: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 3rem !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 0.25rem !important;
  }
  .ms-md-2 {
    margin-left: 0.5rem !important;
  }
  .ms-md-3 {
    margin-left: 1rem !important;
  }
  .ms-md-4 {
    margin-left: 1.5rem !important;
  }
  .ms-md-5 {
    margin-left: 3rem !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .p-md-3 {
    padding: 1rem !important;
  }
  .p-md-4 {
    padding: 1.5rem !important;
  }
  .p-md-5 {
    padding: 3rem !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-md-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-md-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pt-md-3 {
    padding-top: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 3rem !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 0.25rem !important;
  }
  .pe-md-2 {
    padding-right: 0.5rem !important;
  }
  .pe-md-3 {
    padding-right: 1rem !important;
  }
  .pe-md-4 {
    padding-right: 1.5rem !important;
  }
  .pe-md-5 {
    padding-right: 3rem !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-md-3 {
    padding-bottom: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 3rem !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 0.25rem !important;
  }
  .ps-md-2 {
    padding-left: 0.5rem !important;
  }
  .ps-md-3 {
    padding-left: 1rem !important;
  }
  .ps-md-4 {
    padding-left: 1.5rem !important;
  }
  .ps-md-5 {
    padding-left: 3rem !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 0.25rem !important;
  }
  .gap-md-2 {
    gap: 0.5rem !important;
  }
  .gap-md-3 {
    gap: 1rem !important;
  }
  .gap-md-4 {
    gap: 1.5rem !important;
  }
  .gap-md-5 {
    gap: 3rem !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-md-3 {
    row-gap: 1rem !important;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-md-5 {
    row-gap: 3rem !important;
  }
  .column-gap-md-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-md-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-md-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-md-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-md-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline-flex {
    display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .m-lg-3 {
    margin: 1rem !important;
  }
  .m-lg-4 {
    margin: 1.5rem !important;
  }
  .m-lg-5 {
    margin: 3rem !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-lg-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-lg-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mt-lg-3 {
    margin-top: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 3rem !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 0.25rem !important;
  }
  .me-lg-2 {
    margin-right: 0.5rem !important;
  }
  .me-lg-3 {
    margin-right: 1rem !important;
  }
  .me-lg-4 {
    margin-right: 1.5rem !important;
  }
  .me-lg-5 {
    margin-right: 3rem !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 3rem !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 0.25rem !important;
  }
  .ms-lg-2 {
    margin-left: 0.5rem !important;
  }
  .ms-lg-3 {
    margin-left: 1rem !important;
  }
  .ms-lg-4 {
    margin-left: 1.5rem !important;
  }
  .ms-lg-5 {
    margin-left: 3rem !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 1rem !important;
  }
  .p-lg-4 {
    padding: 1.5rem !important;
  }
  .p-lg-5 {
    padding: 3rem !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-lg-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-lg-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pt-lg-3 {
    padding-top: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 3rem !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pe-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pe-lg-3 {
    padding-right: 1rem !important;
  }
  .pe-lg-4 {
    padding-right: 1.5rem !important;
  }
  .pe-lg-5 {
    padding-right: 3rem !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 3rem !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 0.25rem !important;
  }
  .ps-lg-2 {
    padding-left: 0.5rem !important;
  }
  .ps-lg-3 {
    padding-left: 1rem !important;
  }
  .ps-lg-4 {
    padding-left: 1.5rem !important;
  }
  .ps-lg-5 {
    padding-left: 3rem !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 0.25rem !important;
  }
  .gap-lg-2 {
    gap: 0.5rem !important;
  }
  .gap-lg-3 {
    gap: 1rem !important;
  }
  .gap-lg-4 {
    gap: 1.5rem !important;
  }
  .gap-lg-5 {
    gap: 3rem !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-lg-3 {
    row-gap: 1rem !important;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-lg-5 {
    row-gap: 3rem !important;
  }
  .column-gap-lg-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-lg-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-lg-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-lg-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-lg-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline-flex {
    display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .m-xl-3 {
    margin: 1rem !important;
  }
  .m-xl-4 {
    margin: 1.5rem !important;
  }
  .m-xl-5 {
    margin: 3rem !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xl-3 {
    margin-top: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xl-3 {
    margin-right: 1rem !important;
  }
  .me-xl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xl-5 {
    margin-right: 3rem !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xl-3 {
    margin-left: 1rem !important;
  }
  .ms-xl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xl-5 {
    margin-left: 3rem !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 1rem !important;
  }
  .p-xl-4 {
    padding: 1.5rem !important;
  }
  .p-xl-5 {
    padding: 3rem !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xl-3 {
    padding-top: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 3rem !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xl-3 {
    padding-right: 1rem !important;
  }
  .pe-xl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xl-5 {
    padding-right: 3rem !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xl-3 {
    padding-left: 1rem !important;
  }
  .ps-xl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xl-5 {
    padding-left: 3rem !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 0.25rem !important;
  }
  .gap-xl-2 {
    gap: 0.5rem !important;
  }
  .gap-xl-3 {
    gap: 1rem !important;
  }
  .gap-xl-4 {
    gap: 1.5rem !important;
  }
  .gap-xl-5 {
    gap: 3rem !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xl-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-xl-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-xl-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-xl-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-xl-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    -o-object-fit: contain !important;
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    -o-object-fit: fill !important;
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    -o-object-fit: none !important;
    object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
  .d-xxl-inline-flex {
    display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-last {
    order: 6 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 0.25rem !important;
  }
  .m-xxl-2 {
    margin: 0.5rem !important;
  }
  .m-xxl-3 {
    margin: 1rem !important;
  }
  .m-xxl-4 {
    margin: 1.5rem !important;
  }
  .m-xxl-5 {
    margin: 3rem !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .mx-xxl-3 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .mx-xxl-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .my-xxl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .my-xxl-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .my-xxl-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .my-xxl-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem !important;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem !important;
  }
  .mt-xxl-3 {
    margin-top: 1rem !important;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem !important;
  }
  .mt-xxl-5 {
    margin-top: 3rem !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 0.25rem !important;
  }
  .me-xxl-2 {
    margin-right: 0.5rem !important;
  }
  .me-xxl-3 {
    margin-right: 1rem !important;
  }
  .me-xxl-4 {
    margin-right: 1.5rem !important;
  }
  .me-xxl-5 {
    margin-right: 3rem !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem !important;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem !important;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem !important;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem !important;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem !important;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem !important;
  }
  .ms-xxl-3 {
    margin-left: 1rem !important;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem !important;
  }
  .ms-xxl-5 {
    margin-left: 3rem !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 0.25rem !important;
  }
  .p-xxl-2 {
    padding: 0.5rem !important;
  }
  .p-xxl-3 {
    padding: 1rem !important;
  }
  .p-xxl-4 {
    padding: 1.5rem !important;
  }
  .p-xxl-5 {
    padding: 3rem !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .px-xxl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .px-xxl-3 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .px-xxl-4 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .px-xxl-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .py-xxl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .py-xxl-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .py-xxl-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .py-xxl-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem !important;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem !important;
  }
  .pt-xxl-3 {
    padding-top: 1rem !important;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem !important;
  }
  .pt-xxl-5 {
    padding-top: 3rem !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem !important;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem !important;
  }
  .pe-xxl-3 {
    padding-right: 1rem !important;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem !important;
  }
  .pe-xxl-5 {
    padding-right: 3rem !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem !important;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem !important;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem !important;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem !important;
  }
  .ps-xxl-3 {
    padding-left: 1rem !important;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem !important;
  }
  .ps-xxl-5 {
    padding-left: 3rem !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 0.25rem !important;
  }
  .gap-xxl-2 {
    gap: 0.5rem !important;
  }
  .gap-xxl-3 {
    gap: 1rem !important;
  }
  .gap-xxl-4 {
    gap: 1.5rem !important;
  }
  .gap-xxl-5 {
    gap: 3rem !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem !important;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem !important;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem !important;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem !important;
  }
  .row-gap-xxl-5 {
    row-gap: 3rem !important;
  }
  .column-gap-xxl-0 {
    -moz-column-gap: 0 !important;
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    -moz-column-gap: 0.25rem !important;
    column-gap: 0.25rem !important;
  }
  .column-gap-xxl-2 {
    -moz-column-gap: 0.5rem !important;
    column-gap: 0.5rem !important;
  }
  .column-gap-xxl-3 {
    -moz-column-gap: 1rem !important;
    column-gap: 1rem !important;
  }
  .column-gap-xxl-4 {
    -moz-column-gap: 1.5rem !important;
    column-gap: 1.5rem !important;
  }
  .column-gap-xxl-5 {
    -moz-column-gap: 3rem !important;
    column-gap: 3rem !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.5rem !important;
  }
  .fs-2 {
    font-size: 2rem !important;
  }
  .fs-3 {
    font-size: 1.75rem !important;
  }
  .fs-4 {
    font-size: 1.5rem !important;
  }
}
@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: flex !important;
  }
  .d-print-inline-flex {
    display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
}

/*# sourceMappingURL=bootstrap.css.map */
.grt-cookie {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px;
    background: #FFF;
    color: #333;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    /* 9999 tied with the AI chat FAB (_AiChatWidget.cshtml:45), which is later in
       the DOM and therefore painted on top. The two overlap in the bottom-right
       corner, and the element on top was the chat button — so the Accept control
       could not be clicked and the banner could not be dismissed on ANY screen.
       Established by hit test rather than by eye: document.elementFromPoint at the
       centre of .grt-cookie-button returned `gim-ai-fab`.

       10000 rather than a bigger number, deliberately. It is a level already in
       use here (.progressBar, .dropPop, div#overlay, .tt-menu, .gt-autocomplete-items),
       so it clears the 9999 chat button while still TYING with those transient
       overlays — and they are appended to the DOM later, so a popup or modal still
       paints above the banner, which is the order you want. Escalating past them
       would put a consent bar over an open dialog. */
    z-index: 10000;
}

.grt-cookie-active {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
}

.grt-cookie p {
    font-size: 14px;
    margin: 10px;
    padding: 0;
    line-height: 1.35;
    color: #333;
    font-weight: normal;
}

    .grt-cookie p a {
        color: #333;
        text-decoration: underline;
        font-size: 14px;
        margin: 0;
        padding: 0;
    }

.grt-cookie-button {
    display: inline-block;
    cursor: pointer;
    font-weight: normal;
    font-size: 14px;
    padding: 3px 18px;
    margin-left: 12px;
    background: #333;
    color: #FFF;
    text-transform: capitalize;
    white-space: nowrap;
}

@media (max-width:767px) {

    .grt-cookie {
        flex-direction: column;
        padding: 15px;
    }

        .grt-cookie p, .grt-cookie p a {
            font-size: 13px;
        }

    .grt-cookie-button {
        font-size: 13px;
        padding: 3px 14px;
        margin: 8px 0 0 0;
    }
}

html {
  scroll-behavior: smooth;
}

body {
    color: #1E293B;
    max-width: 100%;
    /*padding-top: 50px;
    padding-bottom: 20px;*/
    /*font-family: Arial, Open Sans, sans-serif;*/
    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.8em;
    /* `system-ui` first: it is the standard generic and resolves to whatever the OS uses
       for its own interface, including systems this list does not name. The rest stay as
       fallbacks for browsers that do not implement it -- on Windows this still lands on
       Segoe UI and on macOS still on San Francisco, so nothing a user sees changes.

       The macOS entries are NOT dead weight. An earlier note of mine called them that,
       from measuring on Windows and stating the result as a property of the stack rather
       than of the platform. They are the Mac half of a system-font stack. */
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

    /* The token, not the literal it duplicated. --gs-surface-2 resolves to the same
       #f8fafc in light mode, so this is invisible today; it is also the one line that
       has to exist before dark mode can ever apply here, and one fewer colour literal. */
    background-color: var(--gs-surface-2);
}

.body-content {
  /*margin: 15px auto 0px auto;*/
  /*padding-top:10px;*/
  width: 100%;
}

body.mobile-fullscreen {
  overflow: hidden;
}

/*.container-fluid {
    margin-right: auto !important;
    margin-left: auto !important;
    padding-left:0px !important;
    padding-right:0px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
}*/
/*.container {
    max-width:99% !important;
}*/
/*h1 {
  font-size: 40px !important;
}

h2 {
  font-size: 30px !important;
}

h3 {
  font-size: 22px !important;
}

h4 {
  font-size: 18px !important;
}*/

.loading-spin {
  display: none;
}

.progressBar {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  /*background:url(../spinner.gif) no-repeat center #fff;*/
  text-align: center;
  padding: 10px;
  background-color: var(--gs-surface);
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  font: normal 16px Tahoma, Geneva, sans-serif;
  margin-left: -50px;
  margin-top: -50px;
  z-index: 10000;
  overflow: auto;
}

.drop-shadow {
  -moz-box-shadow: 0 0 5px 2px rgba(0, 0, 0, .3);
  -webkit-box-shadow: 0 0 5px 2px rgba(0, 0, 0, .3);
  box-shadow: 0 0 4px 1px rgba(0, 0, 0, .3);
  border-radius: 5px;
}

/*Kanban Board*/
.kanban-container {
  position: relative;
  box-sizing: border-box;
  width: auto;
}

.kanban-container * {
  box-sizing: border-box;
}

.kanban-container:after {
  clear: both;
  display: block;
  content: "";
}

.kanban-board {
  position: relative;
  float: left;
  /*background: #E2E4E6;*/
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

.kanban-board.disabled-board {
  opacity: .3;
}



.kanban-board.is-moving.gu-mirror .kanban-drag {
  overflow: hidden;
  padding-right: 50px;
}

.kanban-board header {
  font-size: 16px;
  padding: 10px;
}

.kanban-board header .kanban-title-board {
  font-weight: 700;
  margin: 0;
  padding: 0;
  display: inline;
}

.kanban-board header .kanban-title-button {
  float: right;
}

.kanban-board .kanban-drag {
  min-height: 100px;
  /*padding: 20px;*/
}

.kanban-board:after {
  clear: both;
  display: block;
  content: "";
}

.kanban-item {
  background: var(--gs-surface);
  padding-top: 5px;
  margin-bottom: 20px;
  margin-top: 10px;
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  /*overflow-y: auto;*/
}

.kanban-item .issue {
  margin-top: 5px;
  padding: 0px;
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  font-size: 13px;
}

.kanban-item .issue .item-header {
  /*margin-bottom: 5px;*/
  padding: 5px;
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  font-size: 15px;
  color: grey;
}

.kanban-item .item-content .item-content-header {
  color: Highlight;
  font-size: 16px;
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 10px;
}

.kanban-item .issue .item-header .move-handle {
  cursor: move;
}

.kanban-item .issue .item-content {
  padding: 5px;
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  font-size: 13px;
}

.kanban-item .issue .item-field {
  width: 100%;
  margin-bottom: 5px;
  /*    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;*/
}

.kanban-item .issue div .item-title {
  font-weight: bold;
  color: #007bff
}

.kanban-item .issue div .item-value {
  padding-left: 5px;
}

.item-drag-handle:hover {
  cursor: move;
}

.kanban-item:last-child {
  margin: 0;
}

.kanban-item.is-moving.gu-mirror {
  /*transform: rotate(3deg);*/
  height: auto !important;
}

.filter-active {
  font-weight: bold
}

/*Kanban Board*/
.cleared {
  clear: both;
}

/*for bootstrap*/
.input-group-xs>.form-control,
.input-group-xs>.input-group-addon,
.input-group-xs>.input-group-btn>.btn {
  height: 22px;
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
}

.columns-4 {
  -moz-column-count: 4;
  /* Firefox */
  -webkit-column-count: 4;
  /* Safari and Chrome */
  column-count: 4;
  min-width: 500px;
}

.columns-4-400 {
  -moz-column-count: 4;
  /* Firefox */
  -webkit-column-count: 4;
  /* Safari and Chrome */
  column-count: 4;
  min-width: 400px;
}

.columns-3 {
  -moz-column-count: 3;
  /* Firefox */
  -webkit-column-count: 3;
  /* Safari and Chrome */
  column-count: 3;
  min-width: 400px;
}

.columns-3-300 {
  -moz-column-count: 3;
  /* Firefox */
  -webkit-column-count: 3;
  /* Safari and Chrome */
  column-count: 3;
  min-width: 300px;
}

.columns-3-250 {
  -moz-column-count: 3;
  /* Firefox */
  -webkit-column-count: 3;
  /* Safari and Chrome */
  column-count: 3;
  min-width: 250px;
}

.columns-3-200 {
  -moz-column-count: 3;
  /* Firefox */
  -webkit-column-count: 3;
  /* Safari and Chrome */
  column-count: 3;
  min-width: 200px;
}

.columns-2 {
  -moz-column-count: 2;
  /* Firefox */
  -webkit-column-count: 2;
  /* Safari and Chrome */
  column-count: 2;
  min-width: 300px;
}

.columns-2-200 {
  -moz-column-count: 2;
  /* Firefox */
  -webkit-column-count: 2;
  /* Safari and Chrome */
  column-count: 2;
  min-width: 200px;
}

.pointer {
  cursor: pointer;
}

.move {
  cursor: move;
}

.wait {
  cursor: wait;
}

.readonly {
  pointer-events: none;
}

.field-icon {
  color: #5bc0de !important;
}

/*.field-inline-edit:hover{
    border-bottom: solid 1px red;
}*/
.highlight {
  font-weight: bold;
  /*text-decoration:underline;
    background-color: yellow; */
}

fieldset {
  padding: 5px !important;
  margin: auto !important;
  border: 1px solid var(--gs-line);
}

legend {
  padding: 0px 5px !important;
  border: 0px !important;
  width: auto !important;
  font-size: 14px !important;
  margin-bottom: auto !important;
}

.row-striped:nth-of-type(odd) {
  background-color: var(--gs-surface-3);
}

.row-striped:nth-of-type(even) {
  background-color: var(--gs-surface);
}

/* TABLE
----------------------------------------------------------*/
.tableformat tr:nth-child(even) {
  background: var(--gs-surface)
}

.tableformat tr:nth-child(odd) {
  background: var(--gs-surface-2);
}

/*.tableformatnoborder tr:nth-child(even) {background: #FFF}
.tableformatnoborder tr:nth-child(odd) {background: #f0f0f0}*/
.tbl-header {
  position: fixed;
  top: 0px;
}

.tableformatnoborder {
  border: solid 1px #e5ecf9;
  color: #016783;
}

.tableformatnoborder td {
  color: #016783;
  padding: 3px;
}

.tableformat {
  margin-top: 5px;
  border: solid 0px #e5ecf9;
  border-collapse: collapse;
}

.tableformat td {
  border: solid 1px #e5ecf9;
  color: #016783;
  padding: 3px;
}

.table-td-p-5 td {
  padding: 5px;
}

.table-td-p-8 td {
  padding: 8px;
}

.table-th-p-5 th {
  padding: 5px;
}

.table-th-p-8 th {
  padding: 8px;
}

.trheader th {
  text-align: left;
  background-color: #e8eef4;
  border: solid 0px #e5ecf9;
}

.table-row-hover tr:hover {
  background: var(--gs-surface-3);
}

/*orange:#FC6*/

/*.bg-white { background-color: white !important; }*/
/*.bg-light-dark {
  background-color: #ececec !important;
}

.bg-black {
  background-color: #3c3c3c !important;
}

.bg-black-light {
  background-color: #5d5d5d !important;
}

.bg-default {
  background-color: #eee !important;
}
.bg-secondary {
    --bs-bg-opacity: 1;
    background-color: #eee !important;
}

.bg-primary{ background-color: #007bff !important; }
.bg-primary-dark {
  background-color: #2196f3 !important;
}

.bg-success{ background-color: #5cb85c !important; }
.bg-success-light {
  background-color: #00c097 !important;
}

.bg-success-dark {
  background-color: #009688 !important;
}

.bg-info{ background-color:    #5bc0de !important; }
.bg-info-dark {
  background-color: #03a9f4 !important
}

.bg-warning{ background-color: #f0ad4e !important; }
.bg-warning-dark {
  background-color: #ff9800 !important;
}

.bg-danger{ background-color:  #d9534f !important; }
.bg-danger-light {
  background-color: #ff5722 !important;
}

.bg-gray-darker {
  background-color: #222 !important;
}

.bg-gray-dark {
  background-color: #333 !important;
}

.bg-gray {
  background-color: #555 !important;
}

.bg-gray-light {
  background-color: #777 !important;
}

.bg-gray-lighter {
  background-color: #eee !important;
}

.bg-gray-light1 {
  background-color: #e5ecf9 !important;
}

.bg-gray-light2 {
  background-color: #f0f0f0 !important;
}

.bg-gray-light3 {
  background-color: #fafafa !important;
}

.selected {
  background-color: #5bc0de !important;
}

.bg-green {
  background-color: #00c097 !important;
}

.bg-red-light {
  background-color: #F1948A !important;
}

.bg-red {
  background-color: #ff5e8f !important;
}

.bg-yellow {
  background-color: #ffd300 !important;
}

.bg-grass {
  background-color: #84cd1b !important;
}

.bg-red {
  background-color: #F6402C !important;
}

.bg-pink {
  background-color: #EB1460 !important;
}

.bg-pink-light {
  background-color: #eb5885 !important;
}

.bg-pink-dark {
  background-color: #ea497b !important;
}

.bg-purple {
  background-color: #9C1AB1 !important;
}

.bg-deep-purple {
  background-color: #6633B9 !important;
}

.bg-indigo {
  background-color: #3D4DB7 !important;
}

.bg-blue {
  background-color: #1093F5 !important;
}

.bg-light-blue {
  background-color: #00A6F6 !important;
}

.bg-cyan {
  background-color: #00BBD5 !important;
}

.bg-teal {
  background-color: #009687 !important;
}

.bg-light-green {
  background-color: #88C440 !important;
}

.bg-lime {
  background-color: #CCDD1E !important;
}

.bg-amber {
  background-color: #FFC100 !important;
}

.bg-orange {
  background-color: #FF9800 !important;
}

.bg-deep-orange {
  background-color: #FF5505 !important;
}

.bg-brown {
  background-color: #7A5547 !important;
}

.bg-grey {
  background-color: #9D9D9D !important;
}

.bg-blue-grey {
  background-color: #5E7C8B !important;
}

.bg-blue-light {
  background-color: #5E7C8B !important;
}

.bg-blue-dark {
  background-color: #005eb8 !important;
}

.bg-white-50 {
  background-color: rgba(255, 255, 255, 0.8);
}*/
/* ==============================================
   GIMCORE MODERN BACKGROUND PALETTE
   ============================================== */
/* --- NEUTRALS / GRAYSCALE --- */
/*.bg-light-dark { background-color: #f1f5f9 !important; }*/ /* Slate 100 */
/*.bg-black { background-color: #0f172a !important; }*/ /* Slate 900 */
/*.bg-black-light { background-color: #334155 !important; }*/ /* Slate 700 */
/*.bg-default { background-color: #f8fafc !important; }*/ /* Slate 50 */
/*.bg-secondary { --bs-bg-opacity: 1; background-color: #e2e8f0 !important; }*/ /* Slate 200 */
/*.bg-gray-darker { background-color: #1e293b !important; }*/ /* Slate 800 */
/*.bg-gray-dark { background-color: #334155 !important; }*/ /* Slate 700 */
/*.bg-gray { background-color: #64748b !important; }*/ /* Slate 500 */
/*.bg-gray-light { background-color: #94a3b8 !important; }*/ /* Slate 400 */
/*.bg-gray-lighter { background-color: #e2e8f0 !important; }*/ /* Slate 200 */
/*.bg-gray-light1 { background-color: #f1f5f9 !important; }*/ /* Slate 100 */
/*.bg-gray-light2 { background-color: #f8fafc !important; }*/ /* Slate 50 */
/*.bg-gray-light3 { background-color: #ffffff !important; } 
.bg-grey { background-color: #94a3b8 !important; } 
.bg-blue-grey { background-color: #64748b !important; }*/
/* --- BLUES & CYANS --- */
/*.bg-primary-dark { background-color: #2563eb !important; }*/ /* Blue 600 - Mềm hơn #2196f3 */
/*.bg-info-dark { background-color: #0284c7 !important; }*/ /* Sky 600 - Sâu hơn #03a9f4 */
/*.bg-blue { background-color: #3b82f6 !important; }*/ /* Blue 500 */
/*.bg-light-blue { background-color: #0ea5e9 !important; }*/ /* Sky 500 */
/*.bg-blue-dark { background-color: #1d4ed8 !important; }*/ /* Blue 700 */
/*.bg-blue-light { background-color: #cbd5e1 !important; }*/ /* Slate 300 */
/*.bg-cyan { background-color: #06b6d4 !important; }*/ /* Cyan 500 */
/*.selected { background-color: #0ea5e9 !important; }*/
/* --- GREENS --- */
/*.bg-success-light { background-color: #10b981 !important; }*/ /* Emerald 500 - Xanh ngọc rất sang */
/*.bg-success-dark { background-color: #059669 !important; }*/ /* Emerald 600 */
/*.bg-green { background-color: #10b981 !important; } 
.bg-teal { background-color: #14b8a6 !important; }*/ /* Teal 500 */
/*.bg-grass { background-color: #84cc16 !important; }*/ /* Lime 500 - Xanh cỏ mềm */
/*.bg-light-green { background-color: #a3e635 !important; }*/ /* Lime 400 */
/*.bg-lime { background-color: #bef264 !important; }*/ /* Lime 300 */
/* --- REDS & PINKS --- */
/*.bg-danger-light { background-color: #f97316 !important; }*/ /* Orange 500 (Bản gốc của anh đang dùng tông cam đỏ) */
/*.bg-red-light { background-color: #fca5a5 !important; }*/ /* Red 300 */
/*.bg-red { background-color: #ef4444 !important; }*/ /* Red 500 - Đỏ tươi nhưng không gắt */
/*.bg-pink { background-color: #ec4899 !important; }*/ /* Pink 500 */
/*.bg-pink-light { background-color: #f472b6 !important; }*/ /* Pink 400 */
/*.bg-pink-dark { background-color: #db2777 !important; }*/ /* Pink 600 */
/* --- YELLOWS, ORANGES & BROWNS --- */
/*.bg-warning-dark { background-color: #d97706 !important; }*/ /* Amber 600 - Chuẩn màu warning */
/*.bg-yellow { background-color: #eab308 !important; }*/ /* Yellow 500 */
/*.bg-amber { background-color: #f59e0b !important; }*/ /* Amber 500 */
/*.bg-orange { background-color: #f97316 !important; }*/ /* Orange 500 */
/*.bg-deep-orange { background-color: #ea580c !important; }*/ /* Orange 600 */
/*.bg-brown { background-color: #78350f !important; }*/ /* Amber 900 */
/* --- PURPLES & INDIGOS --- */
/*.bg-purple { background-color: #9333ea !important; }*/ /* Purple 600 */
/*.bg-deep-purple { background-color: #7e22ce !important; }*/ /* Purple 700 */
/*.bg-indigo { background-color: #6366f1 !important; }*/ /* Indigo 500 - Xanh tím cực đẹp */
/* --- UTILS --- */
/*.bg-white-50 { background-color: rgba(255, 255, 255, 0.8); }*/

/*--blue: #007bff;
--indigo: #6610f2;
--purple: #6f42c1;
--pink: #e83e8c;
--red: #dc3545;
--orange: #fd7e14;
--yellow: #ffc107;
--green: #28a745;
--teal: #20c997;
--cyan: #17a2b8;
--white: #fff;
--gray: #6c757d;
--gray-dark: #343a40;
--primary: #007bff;
--secondary: #6c757d;
--success: #28a745;
--info: #17a2b8;
--warning: #ffc107;
--danger: #dc3545;
--light: #f8f9fa;
--dark: #343a40;*/

/*Workflow Color*/
.wf-bg-white {
  fill: #FFF;
  stroke: #FFF;
}

.wf-bg-light-dark {
  fill: #ececec;
  stroke: #ececec;
}

.wf-bg-black {
  fill: #3c3c3c;
  stroke: #3c3c3c;
}

.wf-bg-default {
  fill: #eee;
  stroke: #eee;
}

.wf-bg-primary {
  fill: #007bff;
  stroke: #007bff;
}

.wf-bg-success {
  fill: #5cb85c;
  stroke: #5cb85c;
}

.wf-bg-info {
  fill: #5bc0de;
  stroke: #5bc0de;
}

.wf-bg-warning {
  fill: #f0ad4e;
  stroke: #f0ad4e;
}

.wf-bg-danger {
  fill: #d9534f;
  stroke: #d9534f;
}

.wf-bg-gray-darker {
  fill: #222;
  stroke: #222;
}

.wf-bg-gray-dark {
  fill: #333;
  stroke: #333;
}

.wf-bg-gray {
  fill: #555;
  stroke: #555;
}

.wf-bg-gray-gray {
  fill: #f3f3f3;
  stroke: #f3f3f3;
}

.wf-bg-gray-light {
  fill: #777;
  stroke: #777;
}

.wf-bg-gray-lighter {
  fill: #eee;
  stroke: #eee;
}

/*Workflow End*/
.nodecoration {
  text-decoration: none;
}

.nodisplay {
  display: none;
}

.input-validation-error {
  border: 2px solid red;
  background: #FFC;
}

.error {
  color: Red;
  font-style: italic;
  background-color: #fee !important;
}

label.error {
  display: none !important;
}

.validation-summary-errors {
  color: Red;
}

.float-start {
  float: left !important;
}

.float-end {
  float: right !important;
}

.align-left {
  text-align: left !important;
}

.align-center {
  text-align: center !important;
}

.align-right {
  text-align: right !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-top {
  vertical-align: top !important;
}

.gt-m-0 {
  margin: 0px !important;
}

.gt-m-2 {
  margin: 2px !important;
}

.gt-m-5 {
  margin: 5px !important;
}

.gt-m-10 {
  margin: 10px !important;
}

.gt-m-20 {
  margin: 20px !important;
}

.gt-m-30 {
  margin: 30px !important;
}

.gt-m-center {
  margin: 0px auto !important;
}

.gt-m-b-2 {
  margin-bottom: 2px !important;
}

.gt-m-b-3 {
  margin-bottom: 3px !important;
}

.gt-m-b-5 {
  margin-bottom: 5px !important;
}

.gt-m-b-10 {
  margin-bottom: 10px !important;
}

.gt-m-b-50 {
  margin-bottom: 50px !important;
}

.gt-m-b-60 {
  margin-bottom: 60px !important;
}

.gt-m-t-2 {
  margin-top: 2px !important;
}

.gt-m-t-5 {
  margin-top: 5px !important;
}

.gt-m-t-10 {
  margin-top: 10px !important;
}

.gt-m-l-2 {
  margin-left: 2px !important;
}

.gt-m-l-5 {
  margin-left: 5px !important;
}

.gt-m-l-10 {
  margin-left: 10px !important;
}

.gt-m-r-10 {
  margin-right: 10px !important;
}

.gt-m-r-2 {
  margin-right: 2px !important;
}

.gt-m-r-5 {
  margin-right: 5px !important;
}

.gt-p-0 {
  padding: 0px !important;
}

.gt-p-2 {
  padding: 2px !important;
}

.gt-p-3 {
  padding: 3px !important;
}

.gt-p-4 {
  padding: 4px !important;
}

.gt-p-5 {
  padding: 5px !important;
}

.gt-p-6 {
  padding: 6px !important;
}

.gt-p-7 {
  padding: 7px !important;
}

.gt-p-8 {
  padding: 8px !important;
}

.gt-p-9 {
  padding: 9px !important;
}

.gt-p-10 {
  padding: 10px !important;
}

.gt-p-20 {
  padding: 20px !important;
}

.gt-p-30 {
  padding: 30px !important;
}

.gt-p-40 {
  padding: 40px !important;
}

.gt-p-50 {
  padding: 50px !important;
}

.gt-p-60 {
  padding: 60px !important;
}

.gt-p-70 {
  padding: 70px !important;
}

.gt-p-80 {
  padding: 80px !important;
}

.gt-p-l-3 {
  padding-left: 3px !important;
}

.gt-p-l-5 {
  padding-left: 5px !important;
}

.gt-p-l-10 {
  padding-left: 10px !important;
}

.gt-p-l-15 {
  padding-left: 15px !important;
}

.gt-p-l-20 {
  padding-left: 20px !important;
}

.gt-p-t-3 {
  padding-top: 3px !important;
}

.gt-p-t-5 {
  padding-top: 5px !important;
}

.gt-p-t-10 {
  padding-top: 10px !important;
}

.gt-p-t-15 {
  padding-top: 15px !important;
}

.gt-p-t-20 {
  padding-top: 20px !important;
}

.gt-p-r-3 {
  padding-right: 3px !important;
}

.gt-p-r-5 {
  padding-right: 5px !important;
}

.gt-p-r-10 {
  padding-right: 10px !important;
}

.gt-p-r-15 {
  padding-right: 15px !important;
}

.gt-p-r-20 {
  padding-right: 20px !important;
}

.gt-p-b-5 {
  padding-bottom: 5px !important;
}

.gt-p-b-10 {
  padding-bottom: 10px !important;
}

.gt-p-b-15 {
  padding-bottom: 15px !important;
}

.gt-p-b-20 {
  padding-bottom: 20px !important;
}

.gt-p-lr-3 {
  padding-left: 3px !important;
  padding-right: 3px !important;
}

.gt-p-lr-5 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.gt-p-lr-10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.gt-p-lr-20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.gt-p-lr-30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.gt-p-lr-40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.gt-p-lr-50 {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.gt-p-lr-60 {
  padding-left: 60px !important;
  padding-right: 60px !important;
}

.gt-p-lr-70 {
  padding-left: 70px !important;
  padding-right: 70px !important;
}

.gt-p-lr-80 {
  padding-left: 80px !important;
  padding-right: 80px !important;
}

.gt-p-lr-90 {
  padding-left: 90px !important;
  padding-right: 90px !important;
}

.gt-p-lr-100 {
  padding-left: 100px !important;
  padding-right: 100px !important;
}

.b-red {
  background-color: Red !important;
}

.b-green {
  background-color: Green !important;
}

.b-blue {
  background-color: Blue !important;
}

.b-gray {
  background-color: Gray !important;
}

.b-abc {
  background-color: #abc !important;
}

.gt-w-auto {
  width: auto !important;
}

.gt-w-16 {
  width: 16px !important;
}

.gt-w-20 {
  width: 20px !important;
}

.gt-w-25 {
  width: 25px !important;
}

.gt-w-30 {
  width: 30px !important;
}

.gt-w-32 {
  width: 32px !important;
}

.gt-w-35 {
  width: 35px !important;
}

.gt-w-40 {
  width: 40px !important;
}

.gt-w-48 {
  width: 48px !important;
}

.gt-w-50 {
  width: 50px !important;
}

.gt-w-60 {
  width: 60px !important;
}

.gt-w-70 {
  width: 70px !important;
}

.gt-w-80 {
  width: 80px !important;
}

.gt-w-90 {
  width: 90px !important;
}

.gt-w-100 {
  width: 100px !important;
}

.gt-w-130 {
  width: 130px !important;
}

.gt-w-140 {
  width: 140px !important;
}

.gt-w-150 {
  width: 150px !important;
}

.gt-w-160 {
  width: 160px !important;
}

.gt-w-170 {
  width: 170px !important;
}

.gt-w-180 {
  width: 180px !important;
}

.gt-w-200 {
  width: 200px !important;
}

.gt-w-230 {
  width: 230px !important;
}

.gt-w-240 {
  width: 240px !important;
}

.gt-w-250 {
  width: 250px !important;
}

.gt-w-300 {
  width: 300px !important;
}

.gt-w-350 {
  width: 350px !important;
}

.gt-w-400 {
  width: 400px !important;
}

.gt-w-450 {
  width: 450px !important;
}

.gt-w-500 {
  width: 500px !important;
}

.gt-w-550 {
  width: 550px !important;
}

.gt-w-600 {
  width: 600px !important;
}

.gt-w-650 {
  width: 650px !important;
}

.gt-w-700 {
  width: 700px !important;
}

.gt-w-750 {
  width: 750px !important;
}

.gt-w-800 {
  width: 800px !important;
}

.gt-w-850 {
  width: 850px !important;
}

.gt-w-900 {
  width: 900px !important;
}

.gt-w-950 {
  width: 950px !important;
}

.gt-w-1000 {
  width: 1000px !important;
}

.gt-w-1100 {
  width: 1100px !important;
}

.gt-w-1150 {
  width: 1150px !important;
}

.gt-w-1200 {
  width: 1200px !important;
}

.gt-w-min-30 {
  min-width: 30px !important;
}

.gt-w-min-50 {
  min-width: 50px !important;
}

.gt-w-min-80 {
  min-width: 80px !important;
}

.gt-w-min-100 {
  min-width: 100px !important;
}

.gt-w-min-140 {
  min-width: 140px !important;
}

.gt-w-min-150 {
  min-width: 150px !important;
}

.gt-w-min-160 {
  min-width: 160px !important;
}

.gt-w-min-200 {
  min-width: 200px !important;
}

.gt-w-min-250 {
  min-width: 250px !important;
}

.gt-w-min-300 {
  min-width: 300px !important;
}

.gt-w-min-350 {
  min-width: 350px !important;
}

.gt-w-min-400 {
  min-width: 400px !important;
}

.gt-w-min-450 {
  min-width: 450px !important;
}

.gt-w-min-500 {
  min-width: 500px !important;
}

.gt-w-min-550 {
  min-width: 550px !important;
}

.gt-w-min-600 {
  min-width: 600px !important;
}

.gt-w-min-650 {
  min-width: 650px !important;
}

.gt-w-min-700 {
  min-width: 700px !important;
}

.gt-w-min-750 {
  min-width: 750px !important;
}

.gt-w-min-800 {
  min-width: 800px !important;
}

.gt-w-min-850 {
  min-width: 850px !important;
}

.gt-w-min-900 {
  min-width: 900px !important;
}

.gt-w-min-950 {
  min-width: 950px !important;
}

.gt-w-min-1000 {
  min-width: 1000px !important;
}

.gt-w-max-50 {
  max-width: 50px !important;
}

.gt-w-max-70 {
  max-width: 70px !important;
}

.gt-w-max-100 {
  max-width: 100px !important;
}

.gt-w-max-150 {
  max-width: 150px !important;
}

.gt-w-max-160 {
  max-width: 160px !important;
}

.gt-w-max-200 {
  max-width: 200px !important;
}

.gt-w-max-250 {
  max-width: 250px !important;
}

.gt-w-max-300 {
  max-width: 300px !important;
}

.gt-w-max-350 {
  max-width: 350px !important;
}

.gt-w-max-400 {
  max-width: 400px !important;
}

.gt-w-max-450 {
  max-width: 450px !important;
}

.gt-w-max-500 {
  max-width: 500px !important;
}

.gt-w-max-550 {
  max-width: 550px !important;
}

.gt-w-max-600 {
  max-width: 600px !important;
}

.gt-w-max-650 {
  max-width: 650px !important;
}

.gt-w-max-700 {
  max-width: 700px !important;
}

.gt-w-max-750 {
  max-width: 750px !important;
}

.gt-w-max-800 {
  max-width: 800px !important;
}

.gt-w-max-850 {
  max-width: 850px !important;
}

.gt-w-max-900 {
  max-width: 900px !important;
}

.gt-w-max-950 {
  max-width: 950px !important;
}

.gt-w-max-1000 {
  max-width: 1000px !important;
}

.gt-w-max-1100 {
  max-width: 1100px !important;
}

.gt-w-max-1150 {
  max-width: 1150px !important;
}

.gt-w-max-1170 {
  max-width: 1170px !important;
}

.gt-w-max-1200 {
  max-width: 1200px !important;
}

.gt-w-max-1400 {
  max-width: 1400px !important;
}

.gt-w-max-1500 {
  max-width: 1500px !important;
}

.gt-w-max-1600 {
  max-width: 1600px !important;
}

.gt-w-max-1800 {
  max-width: 1800px !important;
}

.gt-w-max-2000 {
  max-width: 2000px !important;
}

.gt-w-max-2500 {
  max-width: 2500px !important;
}

/*percentage*/
.gt-w-50p {
  width: 50% !important;
}

.gt-w-60p {
  width: 60% !important;
}

.gt-w-70p {
  width: 70% !important;
}

.gt-w-80p {
  width: 80% !important;
}

.gt-w-90p {
  width: 90% !important;
}

.gt-w-100p {
  width: 100% !important;
}

.gt-w-max-90p {
  max-width: 90% !important;
}

/**/
.table-layout {
  display: table;
  width: 100%;
}

.table-cell {
  display: table-cell;
  vertical-align: top;
}

.flex {
  display: flex;
  /*justify-content: center;
    align-items: center;*/
  flex-wrap: wrap;
  align-content: flex-start;
}

.flex-center {
  display: flex;
  /*justify-content: center;*/
  align-items: center;
  flex-wrap: wrap;
}

.gt-h-5 {
  height: 5px !important;
}

.gt-h-10 {
  height: 10px !important;
}

.gt-h-15 {
  height: 15px !important;
}

.gt-h-20 {
  height: 20px !important;
}

.gt-h-25 {
  height: 25px !important;
}

.gt-h-30 {
  height: 30px !important;
}

.gt-h-35 {
  height: 35px !important;
}

.gt-h-40 {
  height: 40px !important;
}

.gt-h-45 {
  height: 45px !important;
}

.gt-h-50 {
  height: 50px !important;
}

.gt-h-60 {
  height: 60px !important;
}

.gt-h-70 {
  height: 70px !important;
}

.gt-h-80 {
  height: 80px !important;
}

.gt-h-90 {
  height: 90px !important;
}

.gt-h-100 {
  height: 100px !important;
}

.gt-h-110 {
  height: 110px !important;
}

.gt-h-130 {
  height: 130px !important;
}

.gt-h-150 {
  height: 150px !important;
}

.gt-h-160 {
  height: 160px !important;
}

.gt-h-170 {
  height: 170px !important;
}

.gt-h-180 {
  height: 180px !important;
}

.gt-h-200 {
  height: 200px !important;
}

.gt-h-230 {
  height: 230px !important;
}

.gt-h-250 {
  height: 250px !important;
}

.gt-h-270 {
  height: 270px !important;
}

.gt-h-300 {
  height: 300px !important;
}

.gt-h-310 {
  height: 310px !important;
}

.gt-h-350 {
  height: 350px !important;
}

.gt-h-400 {
  height: 400px !important;
}

.gt-h-450 {
  height: 450px !important;
}

.gt-h-500 {
  height: 500px !important;
}

.gt-h-550 {
  height: 550px !important;
}

.gt-h-600 {
  height: 600px !important;
}

.gt-h-min-20 {
  min-height: 20px !important;
}

.gt-h-min-30 {
  min-height: 30px !important;
}

.gt-h-min-35 {
  min-height: 35px !important;
}

.gt-h-min-40 {
  min-height: 40px !important;
}

.gt-h-min-50 {
  min-height: 50px !important;
}

.gt-h-min-70 {
  min-height: 72px !important;
}

.gt-h-min-100 {
  min-height: 100px !important;
}

.gt-h-min-130 {
  min-height: 130px !important;
}

.gt-h-min-150 {
  min-height: 150px !important;
}

.gt-h-min-160 {
  min-height: 160px !important;
}

.gt-h-min-200 {
  min-height: 200px !important;
}

.gt-h-min-280 {
  min-height: 280px !important;
}

.gt-h-min-300 {
  min-height: 300px !important;
}

.gt-h-min-400 {
  min-height: 400px !important;
}

.gt-h-min-500 {
  min-height: 500px !important;
}

.gt-h-min-600 {
  min-height: 600px !important;
}

.gt-h-min-700 {
  min-height: 700px !important;
}

.gt-h-min-800 {
  min-height: 800px !important;
}

.gt-h-min-900 {
  min-height: 900px !important;
}

.gt-h-min-1000 {
  min-height: 1000px !important;
}

.gt-h-max-50 {
  max-height: 50px !important;
}

.gt-h-max-100 {
  max-height: 100px !important;
}

.gt-h-max-150 {
  max-height: 150px !important;
}

.gt-h-max-200 {
  max-height: 200px !important;
}

.gt-h-max-300 {
  max-height: 300px !important;
}

.gt-h-max-400 {
  max-height: 400px !important;
}

.gt-h-max-500 {
  max-height: 500px !important;
}

.gt-h-max-600 {
  max-height: 600px !important;
}

.gt-h-max-700 {
  max-height: 700px !important;
}

.gt-h-max-800 {
  max-height: 800px !important;
}

.gt-h-max-900 {
  max-height: 900px !important;
}

.gt-h-max-1000 {
  max-height: 1000px !important;
}

.capacity0 {
  opacity: 0;
}

.capacity1 {
  opacity: 1;
}

.default {
  color: #eee !important;
}

.primary {
  color: #007bff !important;
}

.primary-dark {
  color: #2196f3 !important;
}

.info {
  color: #5bc0de !important;
}

.info-dark {
  color: #03a9f4 !important
}

.success {
  color: #5cb85c !important;
}

.success-light {
  color: #00c097 !important;
}

.success-dark {
  color: #009688 !important;
}

.warning {
  color: #f0ad4e !important;
}

.warning-dark {
  color: #ff9800 !important;
}

.danger {
  color: #d9534f !important;
}

.danger-light {
  color: #ff5722 !important;
}

.blue {
  color: Blue !important;
}

.gray {
  color: Gray !important;
}

.gray-dark {
  color: var(--gs-ink-3) !important;
}

.yellow {
  color: Yellow !important;
}

.white {
  color: White !important;
}

.black {
  color: Black !important;
}

.green {
  color: #00c097 !important;
}

/* removed 2026-08-01: shadowed by the .red below it, so #ff5e8f never rendered.
   Both this session and General measured it as "the .red colour" before checking
   which rule wins — Design_Standard.md §4.3e. */

.yellow {
  color: #ffd300 !important;
}

.grass {
  color: #84cd1b !important;
}

.red {
  /* var(--gs-danger-ink): #F6402C was 3.69:1 on white. Design_Standard.md §4.3e */
  color: var(--gs-danger-ink) !important;
}

.pink {
  color: #EB1460 !important;
}

.pink-dark {
  color: #ea497b !important;
}

.purple {
  color: #9C1AB1 !important;
}

.deep_purple {
  color: #6633B9 !important;
}

.indigo {
  color: #3D4DB7 !important;
}

.light_blue {
  color: #00A6F6 !important;
}

.cyan {
  color: #00BBD5 !important;
}

.teal {
  color: #009687 !important;
}

.light_green {
  color: #88C440 !important;
}

.lime {
  color: #CCDD1E !important;
}

.amber {
  color: #FFC100 !important;
}

.orange {
  color: #FF9800 !important;
}

.deep_orange {
  color: #FF5505 !important;
}

.brown {
  color: #7A5547 !important;
}

.grey {
  color: grey !important;
}

.blue_grey {
  color: #5E7C8B !important;
}

.bold {
  font-weight: bold;
}

.normal {
  font-weight: normal;
}

.line-through {
  text-decoration: line-through;
}

.underline {
  text-decoration: underline;
}

.nonedecorate {
  text-decoration: none;
}

/*.blink{ text-decoration:blink;}*/
.italic {
  font-style: italic;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

.text-right {
  text-align: right;
}

.text-top {
  vertical-align: top;
}

.text-middle {
  vertical-align: middle;
}

.textxsmall {
  font-size: x-small;
}

.textsmall {
  font-size: small;
}

.textsmaller {
  font-size: smaller;
}

.text10 {
  font-size: 10px;
}

.text12 {
  font-size: 12px;
}

.text13 {
  font-size: 13px;
}

.text14 {
  font-size: 14px;
}

.text15 {
  font-size: 15px;
}

.text16 {
  font-size: 16px;
}

.text18 {
  font-size: 18px;
}

.text20 {
  font-size: 20px;
}

.text22 {
  font-size: 22px;
}

.text25 {
  font-size: 25px;
}

.text30 {
  font-size: 30px;
}

.text40 {
  font-size: 40px;
}

.text50 {
  font-size: 50px;
}

.text60 {
  font-size: 60px;
}

.field-validation-error {
  color: Red;
}

.absolute {
  position: absolute;
}

.sticky-top {
  position: fixed;
  top: 0;
  border-bottom: solid 1px red;
}

.relative {
  position: relative;
}

.display-inline,
.inline {
  display: inline-block;
}

.block {
  display: block;
}

.auto-overflow {
  overflow: auto;
}

.none-overflow {
  overflow: hidden;
}

.border {
  border: 1px solid #abc;
}

.none-border {
  border: 0px !important
}

/*border*/
.border-gray {
  border: 1px solid var(--gs-line) !important;
}

.border-top {
  border-top: 1px solid var(--gs-line) !important;
}

.border-bottom {
  border-bottom: 1px solid var(--gs-line) !important;
}

.border-left {
  border-left: 1px solid var(--gs-line) !important;
}

.border-right {
  border-right: 1px solid var(--gs-line) !important;
}

.border-right-light {
  border-right: 1px solid var(--gs-line) !important;
}

.border-red {
  border: 1px solid red !important;
}

.border-bottom-white {
  border-bottom: 1px solid #fff !important;
}

/**/
.img-middle {
  display: block;
  margin: 0 auto;
}

.top-5 {
  top: 5px;
}

.top-10 {
  top: 10px;
}

.top-15 {
  top: 15px;
}

.circle {
  /*border:1px solid #abc;*/
  -moz-border-radius: 50%;
  border-radius: 50%;
  -webkit-border-radius: 50%;
}

.round-nocolor {
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

.round {
  border: 1px solid var(--gs-line);
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

.round-w {
  border: 1px solid #fff;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

.round-g {
  border: 1px solid Gray;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

.round-r {
  border: 2px solid #666;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

.roundtop {
  border: 1px solid #abc;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  -moz-border-radius-topright: 3px;
  -moz-border-radius-topleft: 3px;
  -webkit-border-top-left-radius: 3px;
  -webkit-border-top-right-radius: 3px;
}

textarea {
  width: 99%;
}

.editor-container .editor-label,
.display-label {
  clear: both;
  float: left;
  width: 150px;
  margin: 1em 0 0 0;
}

.editor-container .editor-field,
.display-field {
  width: auto;
  margin: 0.5em 0 0 0;
  overflow: auto;
  min-height: 2em;
}

.editor-container input,
select option,
textarea {
  font-size: 13px;
}

/* begin easy tabs  */
.tabcontainer ul.tabs {
  list-style: none;
  margin: 0 !important;
  padding: 0;
  border-bottom: 1px solid #666;
  height: 30px;
}

/* single tab */
.tabcontainer ul.tabs li {
  float: left;
  text-indent: 0;
  padding: 0;
  margin: 0 !important;
  list-style-image: none !important;
}

/* link inside the tab. uses a background image */
.tabcontainer ul.tabs a {
  background: url('/content/images/site/tabblue.png') no-repeat -420px 0;
  display: block;
  height: 30px;
  line-height: 30px;
  width: 134px;
  text-align: center;
  text-decoration: none;
  color: var(--gs-ink);
  padding: 0px;
  margin: 0px;
  position: relative;
  top: 1px;
}

/*.tabcontainer ul.tabs a:active {
	outline:none;		
}*/

/* when mouse enters the tab move the background image */
.tabcontainer ul.tabs a:hover {
  background-position: -420px -31px;
  color: #fff;
}

/* active tab uses a class name "current". its highlight is also done by moving the background image. */
.tabcontainer ul.tabs a.current,
ul.tabs a.current:hover,
ul.tabs li.current a {
  background-position: -420px -62px;
  cursor: default !important;
  color: var(--gs-ink) !important;
}

/* Different widths for tabs: use a class name: w1, w2, w3 or w2 */


/* width 1 */
.tabcontainer ul.tabs a.s {
  background-position: -553px 0;
  width: 81px;
}

.tabcontainer ul.tabs a.s:hover {
  background-position: -553px -31px;
}

.tabcontainer ul.tabs a.s.current {
  background-position: -553px -62px;
}

.tabcontainer ul.tabs a.m {
  background-position: -420px 0;
  width: 134px;
}

.tabcontainer ul.tabs a.m:hover {
  background-position: -420px -31px;
}

.tabcontainer ul.tabs a.m.current {
  background-position: -420px -62px;
}

/* width 2 */
.tabcontainer ul.tabs a.l {
  background-position: -248px -0px;
  width: 174px;
}

.tabcontainer ul.tabs a.l:hover {
  background-position: -248px -31px;
}

.tabcontainer ul.tabs a.l.current {
  background-position: -248px -62px;
}


/* width 3 */
.tabcontainer ul.tabs a.xl {
  background-position: 0 -0px;
  width: 248px;
}

.tabcontainer ul.tabs a.xl:hover {
  background-position: 0 -31px;
}

.tabcontainer ul.tabs a.xl.current {
  background-position: 0 -62px;
}


/* tab pane styling */
.tabcontainer div.tab_content {
  display: none;
  padding: 15px 10px;
  border: 1px solid #999;
  border-top: 0;
  /*background-color:#fff;*/
}

/* initially all panes are hidden */
.panes .pane {
  display: none;
}

/* tab pane styling */

/*end easy tab*/

/*begin accordion*/
.accordioncontainer h3 {
  cursor: pointer;
  border: 1px solid var(--gs-line);
  /*background: #EFEFEF;*/
  padding: 4px 8px;
  font-size: 12px;
}

.accordioncontainer.accordion {
  padding: 5px 5px 5px 20px;
  font-size: 12px;
}

/*end accordion*/


/* Pager */
.pager {
  margin: 4px 1px;
  padding: 1px;
  text-align: center;
}

.pager .disabled {
  border: 1px solid var(--gs-line);
  color: #999;
  margin-top: 4px;
  padding: 3px;
  text-align: center;
}

.pager .current {
  /* was #6ea9bf: white on it measured 2.60, the worst pair the rendered sweep
     found. One rule, and `.pager` is rendered by 8 views (MySender x3, Pages x3,
     User, ProjectQuery) -- all of them carried the same 2.60, so all 8 improve
     together and none needed a separate decision. Now 5.00. */
  background-color: #42768c;
  border: 1px solid #6e99aa;
  color: #fff;
  font-weight: bold;
  margin-top: 4px;
  padding: 3px 8px;
  text-align: center;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

.pager span,
.pager a {
  margin: 4px 3px;
}

.pager a {

  padding: 3px 8px;
  text-align: center;
  text-decoration: none;
  border: 1px solid var(--gs-line);
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

/*Clear textbox icon*/
.cleartextbox {
  position: absolute;
  right: 2px;
  top: 0px;
  bottom: 0;
  height: 14px;
  margin: auto;
  font-size: 14px;
  cursor: pointer;
  color: #ccc;
  z-index: 10;
}

input.watermark {
  color: #999;
}

/*page loading indicator*/
#pageloading {
  position: fixed;
  left: 40%;
  /*right:50%;*/
  top: 45%;
  /*bottom:50%;*/
  margin: 0px auto;
}

#message {
  position: fixed;
  width: 100%;
  text-align: center;
  color: blue;
  font-weight: bold;
  top: 50%;
  left: 0px;
  /*bottom:50%;*/
  margin: 0px auto;
  text-decoration: blink;
}

#socialLoginList button {
  -moz-border-radius: 4px;
  -khtml-border-radius: 4px;
  -webkit-border-radius: 4px;
  display: inline;
  height: 48px;
  margin-bottom: 12px;
  cursor: pointer;
  border-color: #000;
  border-radius: 4px;
  border-style: solid;
  border-width: 1px;
  text-align: center;
  text-decoration: none;
  vertical-align: central;
  width: 175px;
}

#socialLoginList button:hover {
  background-color: var(--gs-surface);
}

/*end social login*/

.img-responsive {
  max-width: 100%;
  max-height: 100%;
}

/*wrap long text, url*/
.syntaxhighlighter {
  white-space: pre;
  /* CSS 2.0 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3.0 */
  white-space: -pre-wrap;
  /* Opera 4-6 */
  white-space: -o-pre-wrap;
  /* Opera 7 */
  white-space: -moz-pre-wrap;
  /* Mozilla */
  white-space: -hp-pre-wrap;
  /* HP Printers */
  word-wrap: break-word;
  /* IE 5+ */
  padding: 0.1em 0.5em 0.3em 0.7em;
  border-left: 11px solid var(--gs-line);
  margin: 1.7em 0 1.7em 0.3em;
  overflow: auto !important;
  width: 93% !important;
  font-family: "Courier New", Courier, monospace, sans-serif;
}

.fixed-bottom {
  padding-top: 5px;
  bottom: -16px;
  padding-bottom: 5px;
}

.back-to-top {
  position: fixed;
  bottom: 5px;
  right: 15px;
  width: 40px;
  /*height: 40px;*/
  z-index: 5000;
  color: #aaaaaa;
  background: #aaaaaa;
  background: var(--gs-surface);
  border-radius: 3px;
  border: 2px solid var(--gs-line);
  font-size: 30px;
  line-height: 30px;
  text-align: center;
  display: none;
  opacity: 0.5;
}

.back-to-top:hover {
  background-color: rgba(135, 135, 135, 0.50);
  text-decoration: none;
}

/*gldr color*/
.gldr-gray-noborder {
  background-color: var(--gs-surface-2);
  border-width: 0;
}

.gldr-gray {
  background-color: var(--gs-surface-2);
  border-width: 0;
  box-shadow: 0 1px 0 0 #abc;
  transition: background-color 200ms linear 0s;
}

.gldr-blue {
  background-color: #049cdb;
  border-width: 0;
  box-shadow: 0 2px 0 0 #336c9b;
  transition: background-color 200ms linear 0s;
  color: #fff;
}

.gldr-orange {
  background-color: #FFD119;
  border-width: 0;
  box-shadow: 0 2px 0 0 #FFDF5E;
  transition: background-color 200ms linear 0s;
  color: #fff;
}

.gldr-red {
  background-color: #ee5f5d;
  border-width: 0;
  box-shadow: 0 2px 0 0 #bd362f;
  transition: background-color 200ms linear 0s;
  color: #fff;
}

.gldr-green {
  background-color: #7cb228;
  border-width: 0;
  box-shadow: 0 2px 0 0 #7cb228;
  transition: background-color 200ms linear 0s;
  color: #fff;
}

.gldr-module {
  background-color: white;
  border: 1px solid var(--gs-line);
  border-radius: 2px;
  box-shadow: 0 1px 1px -1px rgba(153, 153, 153, 0.3);
  box-sizing: border-box;
  margin: 0 0 14px;
  padding: 14px;
}

dl.list::after {
  clear: both;
  content: ".";
  display: block;
  font-size: 1px;
  line-height: 1px;
  visibility: hidden;
}

.clearfix::after {
  clear: both;
  content: ".";
  display: block;
  font-size: 0;
  height: 0;
  visibility: hidden;
}

dl.list {
  /*border-bottom: 1px solid #eee;*/
  margin: 1em 0.5em 0;
}

dl.list dt {
  clear: both;
  color: var(--gs-ink-3);
  width: 45%;
}

dl.list dt,
dl.list dd {
  border-top: 1px solid var(--gs-line);
  float: left;
  margin: 0;
  padding: 0.4em 0 0.3em;
}

dl.list dd {
  width: 55%;
}

/*remove context*/
.onclick-menu {
  position: relative;
  display: inline-block;
}

/*md-top margin, padding*/
/*.md-center, .md-bottom, .md-top, .md-top-item > div, .md-top-item > p {
    margin:0px;
    padding:0px;
}

.md-left, .md-center, .md-right, .md-bottom {
    margin-bottom: 10px;
}

.md-left-item, .md-center-item, .md-right-item, .md-bottom-item {
    margin-bottom:15px;
    padding-top:15px;
    padding-bottom:15px;
}*/
/*for module left and module right flow down on large screen*/
/*@media (min-width:992px)
{
    .md-left {
        padding-left:0px;
    }
    .md-right {
        padding-right:0px;
    }
}*/
/*for module left and module right flow down on small screen*/
/*@media (max-width:992px)
{
    .md-left {
        padding:0px;
    }
    .md-right {
        padding:0px;
    }
}*/

/*admin menu*/
#leftAdminMenu .menu-title {
  display: none;
}

#leftAdminMenu {
  /*width: 40px;*/
  border: 0;
  z-index: 10;
  position: relative;
}

#leftAdminMenu ul {
  background: #536878;
  position: relative;
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
}

#leftAdminMenu ul ul {
  margin-left: 0px;
  border-left: solid 1px #fff;
  width: 150px;
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
}

#leftAdminMenu ul li {
  position: relative;
  width: 100%;
  padding: 10px;
}

#leftAdminMenu ul li:hover {
  background: #708090;
}

#leftAdminMenu ul li:hover>ul {
  display: block;
}

#leftAdminMenu .menu-title {
  padding-left: 10px;
}

#leftAdminMenu a {
  display: block;
  text-decoration: none;
  font-size: 15px;
  color: #fff;
}

/*#leftAdminMenu.menuExpanded {
    width: 200px;
}*/

#leftAdminMenu.menuExpanded .menu-title {
  display: inline-block;
}

/*checkbox*/
input[type=checkbox] {
  transform: scale(1.3);
}

/*drop tip*/
.dropToolTip {
  display: none;
  max-width: 300px;
  background-color: #808080;
  color: #fff;
  text-align: center;
  padding: 5px;
  border-radius: 6px;
  position: absolute;
  z-index: 100000;
}

.dropToolTip .arrow-down {
  position: absolute;
  left: 45%;
  top: -8px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 8px solid #808080;
}

.dropToolTip .arrow-top {
  position: absolute;
  left: 45%;
  top: -8px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid #808080;
}

.dropToolTip .arrow-right {
  position: absolute;
  top: 45%;
  left: -8px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 8px solid #808080;
}

.dropToolTip .arrow-left {
  position: absolute;
  top: 45%;
  right: -8px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #808080;
}

/*end droptip*/
/*drop pop*/
.dropPop {
  display: none;
  position: fixed;
  z-index: 10000;
  width: 500px;
  min-height: 30px;
  background: white;
  border-bottom: 1px solid #aaa;
  border-radius: 4px;
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(0, 0, 0, 0.1);
  background-clip: padding-box;
}

.dropAttach-header {
  background-color: #007bff;
}

.dropAttach-header a.close-header {
  line-height: 1;
  font-size: 1em;
  text-decoration: none;
  color: rgba(0, 0, 0, .3);
  border: solid 1px #abc;
  padding: 5px 8px;
  opacity: 1;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

.dropPop .dropPop-header {
  padding: 10px;
  min-height: 15px;
  border-bottom: 1px solid var(--gs-line);
  text-align: center;
  background-color: #007bff;
  color: #fff;
}

.dropPop .dropPop-header span {
  font-weight: bold;
  margin: 0 auto;
}

.dropPop .dropPop-body {
  padding: 10px;
}

.dropPop .dropPop-footer {
  padding: 10px;
  border-top: 1px solid var(--gs-line);
  background: rgba(0, 0, 0, 0.02);
  text-align: right;
  min-height: 20px;
}

.dropPop-overlay {
  display: none;
  opacity: 0;
  filter: alpha(opacity=0);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 900;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3) !important;
}

.dropPop a.close-header {
  line-height: 1;
  font-size: 1em;
  position: absolute;
  /*top: 5px;*/
  right: 5px;
  text-decoration: none;
  color: rgba(0, 0, 0, .3);
  border: solid 1px #abc;
  padding: 2px 8px 8px 8px;
  opacity: 1;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

.dropPop a.close:hover {
  border: solid 1px var(--gs-line);
  -webkit-transition: color 1s ease;
  -moz-transition: color 1s ease;
  transition: color 1s ease;
}

.dropPop .close-footer {
  line-height: 1;
  font-size: 1.5em;
  position: absolute;
  bottom: 10px;
  right: 15px;
  text-decoration: none;
  color: #bbb;
}

/*end drop pop*/
.hover-highlight:hover {
  background-color: #ccc;
}

div#overlay {
  position: fixed;
  z-index: 10000;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  /*background-color: rgba(0, 0, 0, 0.1);*/
  text-align: center;
  color: var(--gs-ink);
  display: none;
  transition: all ease-out 0.3s;
  /*cursor: wait;*/
}

div#overlay img {
  position: fixed;
  left: 47%;
  /*right:50%;*/
  top: 47%;
  /*bottom:50%;*/
  margin: 0px auto;
}

/*.loading img{
    position:absolute;
    top:50%;
    left:48%;
}*/

/* File Extensions*/
.ext_3gp {
  background: url(/content/images/extensions/film.png) left top no-repeat;
}

.ext_afp {
  background: url(/content/images/extensions/code.png) left top no-repeat;
}

.ext_afpa {
  background: url(/content/images/extensions/code.png) left top no-repeat;
}

.ext_asp {
  background: url(/content/images/extensions/code.png) left top no-repeat;
}

.ext_aspx {
  background: url(/content/images/extensions/code.png) left top no-repeat;
}

.ext_avi {
  background: url(/content/images/extensions/film.png) left top no-repeat;
}

.ext_bat {
  background: url(/content/images/extensions/application.png) left top no-repeat;
}

.ext_bmp {
  background: url(/content/images/extensions/picture.png) left top no-repeat;
}

.ext_c {
  background: url(/content/images/extensions/code.png) left top no-repeat;
}

.ext_cfm {
  background: url(/content/images/extensions/code.png) left top no-repeat;
}

.ext_cgi {
  background: url(/content/images/extensions/code.png) left top no-repeat;
}

.ext_com {
  background: url(/content/images/extensions/application.png) left top no-repeat;
}

.ext_cpp {
  background: url(/content/images/extensions/code.png) left top no-repeat;
}

.ext_css {
  background: url(/content/images/extensions/css.png) left top no-repeat;
}

.ext_doc {
  background: url(/content/images/extensions/doc.png) left top no-repeat;
}

.ext_docx {
  background: url(/content/images/extensions/doc.png) left top no-repeat;
}

.ext_exe {
  background: url(/content/images/extensions/application.png) left top no-repeat;
}

.ext_msi {
  background: url(/content/images/extensions/application.png) left top no-repeat;
}

.ext_gif {
  background: url(/content/images/extensions/picture.png) left top no-repeat;
}

.ext_fla {
  background: url(/content/images/extensions/flash.png) left top no-repeat;
}

.ext_h {
  background: url(/content/images/extensions/code.png) left top no-repeat;
}

.ext_htm {
  background: url(/content/images/extensions/html.png) left top no-repeat;
}

.ext_html {
  background: url(/content/images/extensions/html.png) left top no-repeat;
}

.ext_cshtml {
  background: url(/content/images/extensions/html.png) left top no-repeat;
}

.ext_jar {
  background: url(/content/images/extensions/java.png) left top no-repeat;
}

.ext_jpg {
  background: url(/content/images/extensions/picture.png) left top no-repeat;
}

.ext_jpeg {
  background: url(/content/images/extensions/picture.png) left top no-repeat;
}

.ext_js {
  background: url(/content/images/extensions/script.png) left top no-repeat;
}

.ext_lasso {
  background: url(/content/images/extensions/code.png) left top no-repeat;
}

.ext_log {
  background: url(/content/images/extensions/txt.png) left top no-repeat;
}

.ext_m4p {
  background: url(/content/images/extensions/music.png) left top no-repeat;
}

.ext_mov {
  background: url(/content/images/extensions/film.png) left top no-repeat;
}

.ext_mp3 {
  background: url(/content/images/extensions/music.png) left top no-repeat;
}

.ext_mp4 {
  background: url(/content/images/extensions/film.png) left top no-repeat;
}

.ext_mpg {
  background: url(/content/images/extensions/film.png) left top no-repeat;
}

.ext_mpeg {
  background: url(/content/images/extensions/film.png) left top no-repeat;
}

.ext_ogg {
  background: url(/content/images/extensions/music.png) left top no-repeat;
}

.ext_pcx {
  background: url(/content/images/extensions/picture.png) left top no-repeat;
}

.ext_pdf {
  background: url(/content/images/extensions/pdf.png) left top no-repeat;
}

.ext_php {
  background: url(/content/images/extensions/php.png) left top no-repeat;
}

.ext_png {
  background: url(/content/images/extensions/picture.png) left top no-repeat;
}

.ext_ppt {
  background: url(/content/images/extensions/ppt.png) left top no-repeat;
}

.ext_pptx {
  background: url(/content/images/extensions/ppt.png) left top no-repeat;
}

.ext_psd {
  background: url(/content/images/extensions/psd.png) left top no-repeat;
}

.ext_pl {
  background: url(/content/images/extensions/script.png) left top no-repeat;
}

.ext_py {
  background: url(/content/images/extensions/script.png) left top no-repeat;
}

.ext_rb {
  background: url(/content/images/extensions/ruby.png) left top no-repeat;
}

.ext_rbx {
  background: url(/content/images/extensions/ruby.png) left top no-repeat;
}

.ext_rhtml {
  background: url(/content/images/extensions/ruby.png) left top no-repeat;
}

.ext_rpm {
  background: url(/content/images/extensions/linux.png) left top no-repeat;
}

.ext_ruby {
  background: url(/content/images/extensions/ruby.png) left top no-repeat;
}

.ext_sql {
  background: url(/content/images/extensions/db.png) left top no-repeat;
}

.ext_swf {
  background: url(/content/images/extensions/flash.png) left top no-repeat;
}

.ext_tif {
  background: url(/content/images/extensions/picture.png) left top no-repeat;
}

.ext_tiff {
  background: url(/content/images/extensions/picture.png) left top no-repeat;
}

.ext_txt {
  background: url(/content/images/extensions/txt.png) left top no-repeat;
}

.ext_vb {
  background: url(/content/images/extensions/code.png) left top no-repeat;
}

.ext_wav {
  background: url(/content/images/extensions/music.png) left top no-repeat;
}

.ext_wmv {
  background: url(/content/images/extensions/film.png) left top no-repeat;
}

.ext_csv {
  background: url(/content/images/extensions/xls.png) left top no-repeat;
}

.ext_xls {
  background: url(/content/images/extensions/xls.png) left top no-repeat;
}

.ext_xlsx {
  background: url(/content/images/extensions/xls.png) left top no-repeat;
}

.ext_xml {
  background: url(/content/images/extensions/code.png) left top no-repeat;
}

.ext_zip {
  background: url(/content/images/extensions/zip.png) left top no-repeat;
}

/* File Extensions End*/
/*grid view*/
.grid-item {
  height: 280px;
  text-align: left;
  margin: 10px 0px;
  padding: 0 5px;
  border: 1px solid var(--gs-line);
  overflow: hidden;
}

.grid-img {
  height: 200px;
  width: 100vw;
  padding: 2px;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
}

.grid-img .none-img {
  /*padding-top: 100px;*/
  font-size: 35px;
  color: #eee;
}

.grid-title h4 {
  overflow: hidden;
  line-height: 1.2;
}

.navbar-togglerr-icon-gt {
  color: #fff;
  font-size: 25px;
}

.navbar-default .navbar-togglerr-icon-gt {
  font-size: 25px;
  color: rgba(0, 0, 0, .3);
}

/*theme default*/
.navbar-default {
  background-color: var(--gs-surface-2);
  border-color: var(--gs-line);
}

.navbar-default .navbar-brand {
  color: var(--gs-ink-3) !important;
}

.navbar-default .nav-link {
  color: var(--gs-ink-3) !important;
}

.navbar-default .nav-link:hover {
  color: var(--gs-ink-3) !important;
}

.navbar-default .btn-link {
  color: var(--gs-ink-3) !important;
}

.navbar-default .dropdown-submenu>a:after {
  border-left-color: #777 !important;
}

.navbar-default .navbar-nav .dropdown-menu {
  background-color: var(--gs-surface);
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(9, 30, 66, 0.15);
  padding: 4px 0;
}


.navbar-default .navbar-nav .dropdown-menu a {
  color: #1e293b;
  font-size: 13px;
  font-weight: 500;
  padding: 7px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}


.navbar-default .navbar-nav .dropdown-menu a:hover {
  background-color: #f1f5f9;
  color: #2563eb;
}


.navbar-default .navbar-text {
  color: var(--gs-ink-3);
}

.navbar-default .navbar-nav .nav-link {
  color: var(--gs-ink-3);
}

.navbar-default .navbar-nav .nav-link:hover,
.navbar-default .navbar-nav .nav-link:focus {
  background-color: var(--gs-surface-2);
}

.navbar-default .navbar-nav .nav-link.active,
.navbar-default .navbar-nav .nav-link.active:hover,
.navbar-default .navbar-nav .nav-link.active:focus {
  background-color: var(--gs-surface-2);
}

.navbar-default .navbar-toggler {
  border-color: #777;
}

.navbar-default .navbar-toggler:hover,
.navbar-default .navbar-toggler:focus {
  background-color: #777;
}

.navbar-default .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); background-color: transparent; }

.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: var(--gs-line);
}

.navbar-default .navbar-nav .nav-item.show .nav-link,
.navbar-default .navbar-nav .nav-item.show .nav-link:hover,
.navbar-default .navbar-nav .nav-item.show .nav-link:focus {
  background-color: var(--gs-surface-2);
}


/*theme green blue*/
.navbar-green-blue {
  background-color: #0F65AE;
  border-color: #007bff;
}

.navbar-green-blue .navbar-brand {
  color: #fff !important;
}

.navbar-green-blue .nav-link {
  color: #fff !important;
}

.navbar-green-blue .nav-link:hover {
  color: #fff !important;
}

.navbar-green-blue .btn-link {
  color: #fff !important;
}



.navbar-green-blue .navbar-nav .dropdown-menu {
  background-color: var(--gs-surface);
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(9, 30, 66, 0.15);
  padding: 4px 0;
}


.navbar-green-blue .navbar-nav .dropdown-menu a {
  color: #1e293b;
  font-size: 13px;
  font-weight: 500;
  padding: 7px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}


.navbar-green-blue .navbar-nav .dropdown-menu a:hover {
  background-color: #f1f5f9;
  color: #2563eb;
}


.navbar-green-blue .navbar-text {
  color: #fff;
}

.navbar-green-blue .navbar-nav .nav-link {
  color: #fff;
}

/*.navbar-green-blue .navbar-nav .nav-link:hover,
.navbar-green-blue .navbar-nav .nav-link:focus {
  background-color: #007bff;
}
*/
.navbar-green-blue .navbar-nav .nav-link.active,
.navbar-green-blue .navbar-nav .nav-link.active:hover,
.navbar-green-blue .navbar-nav .nav-link.active:focus {
  background-color: #0F65AE;
}

.navbar-green-blue .navbar-toggler {
  border-color: #fff;
}

.navbar-green-blue .navbar-toggler:hover,
.navbar-green-blue .navbar-toggler:focus {
  background-color: transparent;
}

.navbar-green-blue .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); background-color: transparent; }

.navbar-green-blue .navbar-collapse,
.navbar-green-blue .navbar-form {
  border-color: #007bff;
}

.navbar-green-blue .navbar-nav .nav-item.show .nav-link,
.navbar-green-blue .navbar-nav .nav-item.show .nav-link:hover,
.navbar-green-blue .navbar-nav .nav-item.show .nav-link:focus {
  background-color: #0F65AE;
}

/*theme turquoise*/
.navbar-turquoise {
  background-color: #5bc8ac;
  border-color: #98dbc6;
}

.navbar-turquoise .navbar-brand {
  color: #fff !important;
}

.navbar-turquoise .nav-link {
  color: #fff !important;
}

.navbar-turquoise .nav-link:hover {
  color: #fff !important;
}

.navbar-turquoise .btn-link {
  color: #fff !important;
}



.navbar-turquoise .navbar-nav .dropdown-menu {
  background-color: var(--gs-surface);
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(9, 30, 66, 0.15);
  padding: 4px 0;
}


.navbar-turquoise .navbar-nav .dropdown-menu a {
  color: #1e293b;
  font-size: 13px;
  font-weight: 500;
  padding: 7px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}


.navbar-turquoise .navbar-nav .dropdown-menu a:hover {
  background-color: #f1f5f9;
  color: #2563eb;
}


.navbar-turquoise .navbar-text {
  color: #fff;
}

.navbar-turquoise .navbar-nav .nav-link {
  color: #fff;
}

.navbar-turquoise .navbar-nav .nav-link:hover,
.navbar-turquoise .navbar-nav .nav-link:focus {
  background-color: #98dbc6;
}

.navbar-turquoise .navbar-nav .nav-link.active,
.navbar-turquoise .navbar-nav .nav-link.active:hover,
.navbar-turquoise .navbar-nav .nav-link.active:focus {
  background-color: #98dbc6;
}

.navbar-turquoise .navbar-toggler {
  border-color: #fff;
}

.navbar-turquoise .navbar-toggler:hover,
.navbar-turquoise .navbar-toggler:focus {
  background-color: transparent;
}

.navbar-turquoise .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); background-color: transparent; }

.navbar-turquoise .navbar-collapse,
.navbar-turquoise .navbar-form {
  border-color: #98dbc6;
}

.navbar-turquoise .navbar-nav .nav-item.show .nav-link,
.navbar-turquoise .navbar-nav .nav-item.show .nav-link:hover,
.navbar-turquoise .navbar-nav .nav-item.show .nav-link:focus {
  background-color: #98dbc6;
}

/*theme raspberry*/
.navbar-raspberry {
  background-color: #ed5752;
  border-color: #fa6e59;
}

.navbar-raspberry .navbar-brand {
  color: #fff !important;
}

.navbar-raspberry .nav-link {
  color: #fff !important;
}



.navbar-raspberry .nav-link:hover {
  color: #fff !important;
}

.navbar-raspberry .btn-link {
  color: #fff !important;
}

.navbar-raspberry .navbar-nav .dropdown-menu {
  background-color: var(--gs-surface);
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(9, 30, 66, 0.15);
  padding: 4px 0;
}


.navbar-raspberry .navbar-nav .dropdown-menu a {
  color: #1e293b;
  font-size: 13px;
  font-weight: 500;
  padding: 7px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}


.navbar-raspberry .navbar-nav .dropdown-menu a:hover {
  background-color: #f1f5f9;
  color: #2563eb;
}


.navbar-raspberry .navbar-text {
  color: #fff;
}

.navbar-raspberry .navbar-nav .nav-link {
  color: #fff;
}

.navbar-raspberry .navbar-nav .nav-link:hover,
.navbar-raspberry .navbar-nav .nav-link:focus {
  background-color: #fa6e59;
}

.navbar-raspberry .navbar-nav .nav-link.active,
.navbar-raspberry .navbar-nav .nav-link.active:hover,
.navbar-raspberry .navbar-nav .nav-link.active:focus {
  background-color: #fa6e59;
}

.navbar-raspberry .navbar-toggler {
  border-color: #fff;
}

.navbar-raspberry .navbar-toggler:hover,
.navbar-raspberry .navbar-toggler:focus {
  background-color: transparent;
}

.navbar-raspberry .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); background-color: transparent; }

.navbar-raspberry .navbar-collapse,
.navbar-raspberry .navbar-form {
  border-color: #fa6e59;
}

.navbar-raspberry .navbar-nav .nav-item.show .nav-link,
.navbar-raspberry .navbar-nav .nav-item.show .nav-link:hover,
.navbar-raspberry .navbar-nav .nav-item.show .nav-link:focus {
  background-color: #fa6e59;
}

/*theme electric blue*/
.navbar-electric-blue {
  background-color: #007bff;
  border-color: #007bff;
}

.navbar-electric-blue .navbar-brand {
  color: #fff !important;
}

.navbar-electric-blue .nav-link {
  color: #fff !important;
}



.navbar-electric-blue .nav-link:hover {
  color: #fff !important;
}

.navbar-electric-blue .btn-link {
  color: #fff !important;
}

.navbar-electric-blue .navbar-nav .dropdown-menu {
  background-color: var(--gs-surface);
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(9, 30, 66, 0.15);
  padding: 4px 0;
}

.navbar-electric-blue .navbar-nav .dropdown-menu a {
  color: #1e293b;
  font-size: 13px;
  font-weight: 500;
  padding: 7px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.navbar-electric-blue .navbar-nav .dropdown-menu a:hover {
  background-color: #f1f5f9;
  color: #2563eb;
}

.navbar-electric-blue .navbar-text {
  color: #fff;
}

.navbar-electric-blue .navbar-nav .nav-link {
  color: #fff;
}

.navbar-electric-blue .navbar-nav .nav-link:hover,
.navbar-electric-blue .navbar-nav .nav-link:focus {
  background-color: #007bff;
}

.navbar-electric-blue .navbar-nav .nav-link.active,
.navbar-electric-blue .navbar-nav .nav-link.active:hover,
.navbar-electric-blue .navbar-nav .nav-link.active:focus {
  background-color: #007bff;
}

.navbar-electric-blue .navbar-toggler {
  border-color: #fff;
}

.navbar-electric-blue .navbar-toggler:hover,
.navbar-electric-blue .navbar-toggler:focus {
  background-color: transparent;
}

.navbar-electric-blue .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); background-color: transparent; }

.navbar-electric-blue .navbar-collapse,
.navbar-electric-blue .navbar-form {
  border-color: #007bff;
}

.navbar-electric-blue .navbar-nav .nav-item.show .nav-link,
.navbar-electric-blue .navbar-nav .nav-item.show .nav-link:hover,
.navbar-electric-blue .navbar-nav .nav-item.show .nav-link:focus {
  background-color: #007bff;
}

/*theme electric blue*/
.navbar-electric-blue-dark {
  background-color: #005eb8;
  border-color: #007bff;
}

.navbar-electric-blue-dark .navbar-brand {
  color: #fff !important;
}

.navbar-electric-blue-dark .nav-link {
  color: #fff !important;
}



.navbar-electric-blue-dark .nav-link:hover {
  color: #fff !important;
}

.navbar-electric-blue-dark .btn-link {
  color: #fff !important;
}

.navbar-electric-blue-dark .navbar-nav .dropdown-menu {
  background-color: var(--gs-surface);
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(9, 30, 66, 0.15);
  padding: 4px 0;
}


.navbar-electric-blue-dark .navbar-nav .dropdown-menu a {
  color: #1e293b;
  font-size: 13px;
  font-weight: 500;
  padding: 7px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}


.navbar-electric-blue-dark .navbar-nav .dropdown-menu a:hover {
  background-color: #f1f5f9;
  color: #2563eb;
}


.navbar-electric-blue-dark .navbar-text {
  color: #fff;
}

.navbar-electric-blue-dark .navbar-nav .nav-link {
  color: #fff;
}

.navbar-electric-blue-dark .navbar-nav .nav-link:hover,
.navbar-electric-blue-dark .navbar-nav .nav-link:focus {
  background-color: #005eb8;
}

.navbar-electric-blue-dark .navbar-nav .nav-link.active,
.navbar-electric-blue-dark .navbar-nav .nav-link.active:hover,
.navbar-electric-blue-dark .navbar-nav .nav-link.active:focus {
  background-color: #005eb8;
}

.navbar-electric-blue-dark .navbar-toggler {
  border-color: #fff;
}

.navbar-electric-blue-dark .navbar-toggler:hover,
.navbar-electric-blue .navbar-toggler:focus {
  background-color: transparent;
}

.navbar-electric-blue-dark .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); background-color: transparent; }

.navbar-electric-blue .navbar-collapse,
.navbar-electric-blue .navbar-form {
  border-color: #007bff;
}

.navbar-electric-blue-dark .navbar-nav .nav-item.show .nav-link,
.navbar-electric-blue-dark .navbar-nav .nav-item.show .nav-link:hover,
.navbar-electric-blue-dark .navbar-nav .nav-item.show .nav-link:focus {
  background-color: #005eb8;
}

/*Decrease navbar height*/
.navbar-nav .nav-link {
  padding-top: 7px !important;
  padding-bottom: 5px !important;
  line-height: 27px;
}

/*.navbar {
    min-height: 50px !important;
    margin-bottom: 5px;
    padding-top: 5px;
}*/

.navbar .container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

/*.navbar-brand {
    padding-top: 10px !important;
    max-height: 24px;*/
/*margin-left: -25px !important;*/
/*}*/

.navbar .navbar-toggler {
  padding: 4px;
}

table td {
  padding: 5px;
}

.table-wrapper {
  background: var(--gs-surface);
  padding: 10px;
  margin: 20px 0;
  border-radius: 3px;
}

.table-title {
  padding-bottom: 15px;
  background: #5bc0de;
  color: #fff;
  padding: 5px 15px;
  margin: -20px -25px 10px;
  border-radius: 3px 3px 0 0;
}

.table-title h2 {
  margin: 5px 0 0;
  font-size: 24px;
  float: left;
}

.table-title .btn-group {
  float: right;
}

.table-title .btn {
  color: #fff;
  float: right;
  font-size: 13px;
  border: none;
  min-width: 50px;
  border-radius: 2px;
  border: none;
  outline: none !important;
  margin-left: 10px;
}

.table-title .btn i {
  float: left;
  font-size: 21px;
  margin-right: 5px;
}

.table-title .btn span {
  float: left;
  margin-top: 2px;
}

/*Paging*/
.pagination {
  /*float: right;*/
  margin: 0 0 5px;
}

.pagination li a {
  border: none;
  font-size: 13px;
  min-width: 30px;
  min-height: 30px;
  color: #999;
  margin: 0 2px;
  line-height: 30px;
  border-radius: 2px !important;
  text-align: center;
  padding: 0 6px;
}

.pagination li a:hover {
  color: var(--gs-ink-3);
}

.pagination li.active a,
.pagination li.active a.page-link {
  background: #03A9F4;
  pointer-events: none;
}

.pagination li.active a:hover {
  background: #0397d6;
}

.pagination li.disabled i {
  color: #ccc;
}

.pagination li i {
  font-size: 16px;
  padding-top: 6px
}

.hint-text {
  float: left;
  margin-top: 10px;
  font-size: 13px;
}

/* Custom checkbox */
.custom-checkbox {
  position: relative;
}

.custom-checkbox input[type="checkbox"] {
  opacity: 0;
  position: absolute;
  margin: 5px 0 0 3px;
  z-index: 9;
}

.custom-checkbox label:before {
  width: 18px;
  height: 18px;
}

.custom-checkbox label:before {
  content: '';
  margin-right: 10px;
  display: inline-block;
  vertical-align: text-top;
  background: white;
  border: 1px solid #bbb;
  border-radius: 2px;
  box-sizing: border-box;
  z-index: 2;
}

.custom-checkbox input[type="checkbox"]:checked+label:after {
  content: '';
  position: absolute;
  left: 6px;
  top: 3px;
  width: 6px;
  height: 11px;
  border: solid #000;
  border-width: 0 3px 3px 0;
  transform: inherit;
  z-index: 3;
  transform: rotateZ(45deg);
}

.custom-checkbox input[type="checkbox"]:checked+label:before {
  border-color: #03A9F4;
  background: #03A9F4;
}

.custom-checkbox input[type="checkbox"]:checked+label:after {
  border-color: #fff;
}

.custom-checkbox input[type="checkbox"]:disabled+label:before {
  color: #b8b8b8;
  cursor: auto;
  box-shadow: none;
  background: #ddd;
}



/*colors*/
/*let colors = ["#f44336", "#e91e63", "#9c27b0", "#673ab7", "#3f51b5", "#2196f3", "#03a9f4", "#00bcd4", "#009688", "#4caf50", "#8bc34a", "#cddc39", "#ffeb3b", "#ffc107", "#ff9800", "#ff5722", "#795548", "#607d8b", "#00c097", "#FF5E8F"];*/
.modal-overlay {
  background-color: #424242;
  background-color: rgba(0, 0, 0, 0.3);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
  content: '';
  /*pointer-events: none;*/
  z-index: -1;
}

.modal-overlay.active {
  opacity: 1;
  z-index: 2000;
}

.modal-body .title {
  padding-top: 10px;
  color: blue;
}

.formScreen .input-group,
.formScreen .form-group {
  margin-bottom: 10px;
}

#formScreen .screen-field {
  margin: 5px;
}

/*screen*/
#widgetForm .screen-field {
  /*padding: 15px;*/
  /*border: 1px solid Gray;*/
  margin: 5px;
}

/*#widgetForm .field-item:hover {
    border: 1px solid #ccc;
}*/
#widgetForm .field-item .field-label {
  padding: 7px;
  height: 35px;
  background-color: #03a9f4;
  color: #fff;
}

#widgetForm .field-item .widget {
  border: solid 1px var(--gs-line);
}

#widgetForm .field-fullscreen {
  display: block;
  z-index: 9999;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: auto;
  background-color: var(--gs-surface);
}

#widgetForm .field-minimize>.widget {
  display: none;
}

/*Tag Input*/
.bootstrap-tagsinput {
  min-height: 35px !important;
  width: 100% !important;
}

.bootstrap-tagsinput .label {
  font-weight: normal;
  font-size: 85%;
  padding-top: 3px;
  padding-bottom: 3px;
}

/*tiny mce*/
.mce-content-body {
  padding: 10px;
}

.mce-content-body p {
  margin: 10px;
}

/*Menu hover*/
/*.navbar-nav li:hover > ul.dropdown-menu {
    display: block;
}*/
.dropdown-menu>li>a {
  padding: 6px 20px !important;
}

/*Nav multi dropdown level*/
.dropdown-submenu {
  position: relative;
}

.dropdown-submenu>.dropdown-menu {
  color: #fff;
  top: 0;
  left: 100%;
  margin-top: -1px;
  margin-left: 1px;
  -webkit-border-radius: 0 6px 6px 6px;
  -moz-border-radius: 0 6px 6px;
  border-radius: 0 6px 6px 6px;
}

.dropdown-submenu:hover>.dropdown-menu {
  display: block;
}

.dropdown-submenu>a:after {
  display: block;
  content: " ";
  float: right;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  /*border-left-color: #999;*/
  margin-top: 8px;
  margin-right: -10px;
}

/*.dropdown-submenu:hover > a:after {
    border-left-color: #fff;
}*/
@media (max-width: 767px) {
  .dropdown-submenu>.dropdown-menu {
    margin-left: 20px;
  }
}

/*Calandar*/
.gcalendar-month {
  width: 100%;
}

.gcalendar-month td,
.gcalendar-month th {
  border-left: 1px solid #999;
  border-bottom: 1px solid #999;
  min-width: 35px;
  max-width: 50px;
  padding: 3px 0;
  text-align: center !important;
}

.gcalendar-month .current-day {
  background: #ff6a00;
  color: #fff;
  text-decoration: underline;
}

.gcalendar-month .selected-day {
  font-weight: bold;
  text-decoration: underline;
}

table.gcalendar-month {
  border-right: 1px solid #999;
  border-top: 1px solid #999;
}

.gcalendar-month th {
  background: #666;
  color: #fff;
}

.gcalendar-month .other-month {
  background: var(--gs-surface-3);
}

.gcalendar-month td.monthDay:hover {
  font-weight: bold;
  text-decoration: underline;
}

/*Pop calendar*/
/*Pop calendar (Modernized)*/
.calendar-container {
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
  border-radius: 8px;
  border: 1px solid var(--gs-line);
  background-color: var(--gs-surface);
  overflow: hidden;
  font-family: inherit;
}

.calendar-month {
  width: 100%;
  border-collapse: collapse;
}

.calendar-month td,
.calendar-month th {
  min-width: 35px;
  max-width: 45px;
  height: 35px;
  text-align: center !important;
  vertical-align: middle;
  border: none;
  font-size: 13.5px;
}

.calendar-month .calendar-year-month {
  font-weight: 600;
  font-size: 14.5px;
  color: var(--gs-ink);
}

.calendar-month .calendar-month-prev,
.calendar-month .calendar-month-next {
  color: #888;
  font-weight: 600;
  border-radius: 4px;
  transition: background-color 0.2s;
}

.calendar-month .calendar-month-prev:hover,
.calendar-month .calendar-month-next:hover {
  background-color: var(--gs-surface-3);
  color: var(--gs-ink);
}

.calendar-month .weekday {
  color: var(--gs-ink-3);
  font-weight: 500;
  font-size: 12px;
  text-transform: uppercase;
}

.calendar-month .weekend-day {
  color: #ef4444; /* Subtle red for weekends */
}

.calendar-month td.monthDay {
  cursor: pointer;
  padding: 2px 0;
}

.calendar-month td.monthDay span.day {
  transition: background-color 0.15s, color 0.15s;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.calendar-month td.monthDay:hover span.day {
  background-color: var(--gs-surface-3);
  font-weight: 500;
}

.calendar-month .current-day span.day {
  background: #eff6ff;
  color: #2563eb;
  font-weight: 600;
}

.calendar-month .selected-day span.day {
  background-color: #0ea5e9;
  color: #fff !important;
  font-weight: 600;
  box-shadow: 0 2px 5px rgba(14, 165, 233, 0.4);
}

table.calendar-month {
  border: none;
  padding: 8px;
}

.calendar-month .other-month {
  color: #d1d5db;
}

/*End pop calendar*/
.admin-left-menu {
  background: #536878;
}

/*Nestable*/
.dd {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  /*max-width: 600px;*/
  list-style: none;
  /*    font-size: 13px;
    line-height: 20px;*/
}

.dd-list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dd-list .dd-list {
  padding-left: 30px;
}

.dd-item,
.dd-empty,
.dd-placeholder {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 20px;
  /*    font-size: 13px;
    line-height: 20px;*/
}

.dd-handle {
  display: block;
  height: 30px;
  margin: 5px 0;
  padding: 5px 10px;
  color: var(--gs-ink);
  text-decoration: none;
  /*    font-weight: bold;
    border: 1px solid #ccc;
    background: #fafafa;*/
  border-radius: 3px;
  box-sizing: border-box;
  cursor: move;
}

.dd-handle:hover {
  color: #2ea8e5;
  background: var(--gs-surface);
}

.dd-item>button {
  position: relative;
  cursor: pointer;
  float: left;
  width: 25px;
  height: 20px;
  margin: 5px 0;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border: 0;
  background: transparent;
  /*    font-size: 12px;
    line-height: 1;*/
  text-align: center;
  /*font-weight: bold;*/
}

.dd-item>button:before {
  display: block;
  position: absolute;
  width: 100%;
  text-align: center;
  text-indent: 0;
}

/*+*/
.dd-item>button.dd-expand:before {
  font-family: 'FontAwesome';
  content: '\f067';
  color: var(--gs-ink-3);
  font-size: 12px;
}

/*-*/
.dd-item>button.dd-collapse:before {
  font-family: 'FontAwesome';
  content: '\f068';
  color: var(--gs-ink-3);
  font-size: 12px;
}

.dd-expand {
  display: none;
}

.dd-collapsed .dd-list,
.dd-collapsed .dd-collapse {
  display: none;
}

.dd-collapsed .dd-expand {
  display: block;
}

.dd-empty,
.dd-placeholder {
  margin: 5px 0;
  padding: 0;
  min-height: 30px;
  background: #f2fbff;
  border: 1px dashed #b6bcbf;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.dd-empty {
  border: 1px dashed #bbb;
  min-height: 100px;
  background-color: #e5e5e5;
  background-size: 60px 60px;
  background-position: 0 0, 30px 30px;
}

.dd-dragel {
  position: absolute;
  pointer-events: none;
  z-index: 9999;
}

.dd-dragel>.dd-item .dd-handle {
  margin-top: 0;
}

.dd-dragel .dd-handle {
  box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1);
}

.dd-nochildren .dd-placeholder {
  display: none;
}

/*Star rating*/
.jq-stars {
  display: inline-block;
  position: relative;
  top: 7px;
}

.jq-rating-label {
  font-size: 22px;
  display: inline-block;
  position: relative;
  vertical-align: top;
  font-family: helvetica, arial, verdana;
}

.jq-star {
  width: 100px;
  height: 100px;
  display: inline-block;
  cursor: pointer;
}

.jq-star-svg {
  padding-left: 3px;
  width: 100%;
  height: 100%;
}


.jq-star-svg path {
  /* stroke: #000; */
  stroke-linejoin: round;
}

/* un-used */
.jq-shadow {
  -webkit-filter: drop-shadow(-2px -2px 2px #888);
  filter: drop-shadow(-2px -2px 2px #888);
}

/*Topper Top*/
.topper-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: auto;
  background-color: #3498db;
  color: #fff;
  z-index: 60009022;
}

/*  */
.topper-success {
  background-color: #2ecc71;
  color: #fff;
}

.topper-info {
  background-color: #5bc0de;
  color: #fff;
}

.topper-primary {
  background-color: #3498db;
  color: #fff;
}

.topper-warning {
  background-color: #f39c12;
  color: var(--gs-ink);
}

.topper-danger {
  background-color: #e74c3c;
  color: #fff;
}

/* Topper-top */

.topper-top .topper-title {
  float: left;
  font-weight: bold;
}

.topper-top .topper-text {
  float: left;
  margin-left: 15px;
}

.topper-top .topper-close {
  position: absolute;
  right: 15px;
  top: 15px;
  font-size: 28px;
  cursor: pointer;
  transition: opacity 200ms ease;
}

.topper-top .topper-close:hover {
  opacity: 0.7;
}

.topper-top .topper-content:after {
  content: "";
  display: table;
  clear: both;
}

.topper-top .topper-content {
  padding: 13px;
  text-align: center;
}

/*End Topper Top*/
@media print {
  .noprint {
    display: none !important;
  }
}

.body-content-fixed-top {
  margin-top: 57px !important;
}

/*#region Design Block*/

.lead {
  font-size: 1.4rem;
  font-weight: 400;
}

.display-1 {
  font-size: 6rem;
  font-weight: 300;
  line-height: 1.2;
}

.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.2;
}

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: var(--gs-ink-3);
}

.blockquote-footer::before {
  content: "\2014 \00A0";
}

.btn-outline-primary {
  color: #0873cb;
  background-color: transparent;
  background-image: none;
  border-color: #0873cb;
}

.btn-outline-primary:hover {
  color: #fff;
  background-color: #0873cb;
  border-color: #0873cb;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(50, 158, 247, 0.5);
}

.btn-outline-primary.disabled,
.btn-outline-primary:disabled {
  color: #0873cb;
  background-color: transparent;
}

.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show>.btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #0873cb;
  border-color: #0873cb;
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus,
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(50, 158, 247, 0.5);
}

.btn-outline-secondary {
  color: #e11801;
  background-color: transparent;
  background-image: none;
  border-color: #e11801;
}

.btn-outline-secondary:hover {
  color: #fff;
  background-color: #e11801;
  border-color: #e11801;
}

.btn-outline-secondary:focus,
.btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(254, 102, 85, 0.5);
}

.btn-outline-secondary.disabled,
.btn-outline-secondary:disabled {
  color: #e11801;
  background-color: transparent;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.show>.btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: #e11801;
  border-color: #e11801;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(254, 102, 85, 0.5);
}

.btn-outline-success {
  color: #208336;
  background-color: transparent;
  background-image: none;
  border-color: #208336;
}

.btn-outline-success:hover {
  color: #fff;
  background-color: #208336;
  border-color: #208336;
}

.btn-outline-success:focus,
.btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-success.disabled,
.btn-outline-success:disabled {
  color: #208336;
  background-color: transparent;
}

.btn-outline-success:not(:disabled):not(.disabled):active,
.btn-outline-success:not(:disabled):not(.disabled).active,
.show>.btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #208336;
  border-color: #208336;
}

.btn-outline-success:not(:disabled):not(.disabled):active:focus,
.btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-info {
  color: #117d8f;
  background-color: transparent;
  background-image: none;
  border-color: #117d8f;
}

.btn-outline-info:hover {
  color: #fff;
  background-color: #117d8f;
  border-color: #117d8f;
}

.btn-outline-info:focus,
.btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-info.disabled,
.btn-outline-info:disabled {
  color: #117d8f;
  background-color: transparent;
}

.btn-outline-info:not(:disabled):not(.disabled):active,
.btn-outline-info:not(:disabled):not(.disabled).active,
.show>.btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #117d8f;
  border-color: #117d8f;
}

.btn-outline-info:not(:disabled):not(.disabled):active:focus,
.btn-outline-info:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-warning {
  color: #ffc107;
  background-color: transparent;
  background-image: none;
  border-color: #ffc107;
}

.btn-outline-warning:hover {
  color: var(--gs-ink);
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:focus,
.btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-warning.disabled,
.btn-outline-warning:disabled {
  color: #ffc107;
  background-color: transparent;
}

.btn-outline-warning:not(:disabled):not(.disabled):active,
.btn-outline-warning:not(:disabled):not(.disabled).active,
.show>.btn-outline-warning.dropdown-toggle {
  color: var(--gs-ink);
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:not(:disabled):not(.disabled):active:focus,
.btn-outline-warning:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-danger {
  color: #da293a;
  background-color: transparent;
  background-image: none;
  border-color: #da293a;
}

.btn-outline-danger:hover {
  color: #fff;
  background-color: #da293a;
  border-color: #da293a;
}

.btn-outline-danger:focus,
.btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-danger.disabled,
.btn-outline-danger:disabled {
  color: #da293a;
  background-color: transparent;
}

.btn-outline-danger:not(:disabled):not(.disabled):active,
.btn-outline-danger:not(:disabled):not(.disabled).active,
.show>.btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #da293a;
  border-color: #da293a;
}

.btn-outline-danger:not(:disabled):not(.disabled):active:focus,
.btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-light {
  color: #f8f9fa;
  background-color: transparent;
  background-image: none;
  border-color: var(--gs-line);
}

.btn-outline-light:hover {
  color: var(--gs-ink);
  background-color: var(--gs-surface-2);
  border-color: var(--gs-line);
}

.btn-outline-light:focus,
.btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-outline-light.disabled,
.btn-outline-light:disabled {
  color: #f8f9fa;
  background-color: transparent;
}

.btn-outline-light:not(:disabled):not(.disabled):active,
.btn-outline-light:not(:disabled):not(.disabled).active,
.show>.btn-outline-light.dropdown-toggle {
  color: var(--gs-ink);
  background-color: var(--gs-surface-2);
  border-color: var(--gs-line);
}

.btn-outline-light:not(:disabled):not(.disabled):active:focus,
.btn-outline-light:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-outline-dark {
  color: var(--gs-ink);
  background-color: transparent;
  background-image: none;
  border-color: #343a40;
}

.btn-outline-dark:hover {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:focus,
.btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-outline-dark.disabled,
.btn-outline-dark:disabled {
  color: var(--gs-ink);
  background-color: transparent;
}

.btn-outline-dark:not(:disabled):not(.disabled):active,
.btn-outline-dark:not(:disabled):not(.disabled).active,
.show>.btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:not(:disabled):not(.disabled):active:focus,
.btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.show>.btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-link {
  font-weight: 400;
  /* was #329ef7 -- 2.85 on white, 2.70 on the near-white grounds. It never
     rendered: all 8 .btn-link sites in views/scripts pair it with a colour
     utility (text-secondary x4, text-info, text-muted, text-danger), which is
     why the 939/939 sweep was clean and no measurement could see this.
     A loaded gun rather than a defect -- the day someone writes
     <a class="btn btn-link"> with no utility they get 2.85 and nothing catches
     it, because the sweep only measures what renders today and the static
     ratchet counts literals without judging them.
     --gs-accent-ink is the token already carrying "accent text that must stay
     readable" for .paging and the active nav item: 5.93 / 5.73 / 5.67 / 5.63. */
  color: var(--gs-accent-ink);
  background-color: transparent;
}

.btn-link:hover {
  color: #0056b3;
  text-decoration: underline;
  background-color: transparent;
  border-color: transparent;
}

.btn-link:focus,
.btn-link.focus {
  text-decoration: underline;
  border-color: transparent;
  box-shadow: none;
}

.btn-link:disabled,
.btn-link.disabled {
  color: var(--gs-ink-3);
  pointer-events: none;
}

.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow {
  box-shadow: 0 0.3125rem 0.875rem 0 rgba(129, 129, 129, 0.2) !important;
}

.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.shadow-none {
  box-shadow: none !important;
}

/* `.rounded` is a stock Bootstrap utility that sets border-radius and NOTHING else.
   Overriding it with overflow:hidden made every rounded box clip its own overflowing
   children, so a dropdown opening inside one was cut off with no way to reach the options -
   Bill hit it on the report builder's FISCAL YEAR filter, where #field-filter carries
   `rounded` purely for the corners and inherited the clip. A datepicker in the same panel
   was fine because it appends its panel to <body> and escapes every ancestor; dropboxsearch
   builds its menu in place and cannot.

   Measured before removing, because this class is shared - and CORRECTED afterwards by #10-UX,
   who owns this stylesheet and measured the same question independently:

     I first counted 71 `rounded` occurrences across 28 views. The number is right and it is
     the WRONG POPULATION. `.rounded { }` matches the BARE token only; `rounded-circle`,
     `rounded-3` and `rounded-pill` are different class names it never selected. Re-counted:
     28 bare (43 by their regex: 23/48 - we split the same 71 slightly differently and agree
     on the shape). So the real exposure was ~a third of what I published.

     Of the bare ones, exactly one pairs with a child that could overflow - Routing/Index.cshtml:99,
     `<div class="border rounded" style="...; overflow:hidden;">` - and it declares the property
     inline, so it is untouched. That somebody hand-wrote it is itself evidence they did not
     trust `.rounded` to supply it.

     I also cited SpaceComment.cshtml as "the media case, safe because border-radius clips an
     <img> natively". True about CSS, irrelevant here: that file has 0 bare `.rounded` and 3
     `rounded-circle`, so it was never in scope. A right conclusion reached through a reason
     that does not hold is not a checked case.

   AND THE CONTROL WAS WEAKER THAN IT LOOKED, which is #10's point and the one worth keeping:
   112 elements with a radius and zero spilling past their box answers "is anything broken
   NOW". It cannot answer "would anything break under different data", because a child only
   spills once it is long enough to. That is exactly this defect: #field-filter was 145.6px
   because that is what its content happened to be, and the failure appeared only when a 355px
   menu opened inside it. The durable check is a DECLARED overflow rule, not an observed
   absence of spill - and Routing/Index.cshtml is the line that satisfies it. */


.rounded-bottom-0 {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.bg-dark {
  background-color: #2d313c;
  color: #f2f2f2;
}

.bg-dark p.lead {
  color: white;
}

.bg-gray {
  background-color: #f4f7fe;
  /* chip: the background is a fixed light value, so the ink must not follow the
     theme either. --gs-ink-2 flips (#4a5568 light, #cbd5e1 dark) and the guard
     caught it at 1.38 the moment group 2c substituted it in. See §4g. */
  color: var(--gs-chip-ink);
}


/*#endregion */
.form-control:disabled,
.form-control[readonly] {
  background-color: var(--gs-surface-3) !important;
  opacity: 1;
}

/* The track for the fake scrollbar */
.sticky-scrollbar {
  position: fixed;
  bottom: 0;
  /* Sticks to bottom of screen */
  height: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  z-index: 4999;
  /* on top of everything */
  display: none;
  /* Hidden by default */
  background: rgba(255, 255, 255, 0.9);
  /* Semi-transparent background */
  border-top: 1px solid var(--gs-line);
}

/* The inner content to force the scrollbar to appear */
.sticky-scrollbar div {
  height: 1px;
}

/* Mobile Optimization: Unlock the Scroll */
@media screen and (max-width: 768px) {

  /* 1. UNLOCK the Container */
  /* We override your existing 'overflow: hidden' so mobile users can swipe */
  .hover-scroll {
    overflow-x: auto !important;
    /* Forces scroll capability */
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    /* Enables smooth iOS swiping */
    padding-bottom: 5px;
    /* Optional: Space for the scrollbar */
  }

  /* 2. UNLOCK the Table */
  /* Ensure the table itself isn't hiding anything */
  .hover-scroll table.table-responsive {
    overflow: visible !important;
    min-width: 1000px;
    /* Force it wide so you have something to scroll into */
  }

  /* 3. Disable the "Fake" Scrollbar on mobile */
  /* It's hard to use on phones, so we hide it and rely on the native swipe above */
  .sticky-scrollbar {
    display: none !important;
  }

}

/* Hide FilePond Credits */
.filepond--credits {
  display: none !important;
}

/* ============================================
   BACKWARD COMPATIBILITY ALIASES
   These map old class names (stored in database)
   to the same styles as the gt- prefixed versions.
   Remove these after updating database records.
   ============================================ */
.m-0 {
  margin: 0px !important;
}

.m-2 {
  margin: 2px !important;
}

.m-5 {
  margin: 5px !important;
}

.m-10 {
  margin: 10px !important;
}

.m-20 {
  margin: 20px !important;
}

.m-30 {
  margin: 30px !important;
}

.m-center {
  margin: 0px auto !important;
}

.m-b-2 {
  margin-bottom: 2px !important;
}

.m-b-3 {
  margin-bottom: 3px !important;
}

.m-b-5 {
  margin-bottom: 5px !important;
}

.m-b-10 {
  margin-bottom: 10px !important;
}

.m-b-50 {
  margin-bottom: 50px !important;
}

.m-b-60 {
  margin-bottom: 60px !important;
}

.m-t-2 {
  margin-top: 2px !important;
}

.m-t-5 {
  margin-top: 5px !important;
}

.m-t-10 {
  margin-top: 10px !important;
}

.m-l-2 {
  margin-left: 2px !important;
}

.m-l-5 {
  margin-left: 5px !important;
}

.m-l-10 {
  margin-left: 10px !important;
}

.m-r-10 {
  margin-right: 10px !important;
}

.m-r-2 {
  margin-right: 2px !important;
}

.m-r-5 {
  margin-right: 5px !important;
}

.p-0 {
  padding: 0px !important;
}

.p-2 {
  padding: 2px !important;
}

.p-3 {
  padding: 3px !important;
}

.p-4 {
  padding: 4px !important;
}

.p-5 {
  padding: 5px !important;
}

.p-6 {
  padding: 6px !important;
}

.p-7 {
  padding: 7px !important;
}

.p-8 {
  padding: 8px !important;
}

.p-9 {
  padding: 9px !important;
}

.p-10 {
  padding: 10px !important;
}

.p-20 {
  padding: 20px !important;
}

.p-30 {
  padding: 30px !important;
}

.p-40 {
  padding: 40px !important;
}

.p-50 {
  padding: 50px !important;
}

.p-60 {
  padding: 60px !important;
}

.p-70 {
  padding: 70px !important;
}

.p-80 {
  padding: 80px !important;
}

.p-l-3 {
  padding-left: 3px !important;
}

.p-l-5 {
  padding-left: 5px !important;
}

.p-l-10 {
  padding-left: 10px !important;
}

.p-l-15 {
  padding-left: 15px !important;
}

.p-l-20 {
  padding-left: 20px !important;
}

.p-t-3 {
  padding-top: 3px !important;
}

.p-t-5 {
  padding-top: 5px !important;
}

.p-t-10 {
  padding-top: 10px !important;
}

.p-t-15 {
  padding-top: 15px !important;
}

.p-t-20 {
  padding-top: 20px !important;
}

.p-r-3 {
  padding-right: 3px !important;
}

.p-r-5 {
  padding-right: 5px !important;
}

.p-r-10 {
  padding-right: 10px !important;
}

.p-r-15 {
  padding-right: 15px !important;
}

.p-r-20 {
  padding-right: 20px !important;
}

.p-b-5 {
  padding-bottom: 5px !important;
}

.p-b-10 {
  padding-bottom: 10px !important;
}

.p-b-15 {
  padding-bottom: 15px !important;
}

.p-b-20 {
  padding-bottom: 20px !important;
}

.p-lr-3 {
  padding-left: 3px !important;
  padding-right: 3px !important;
}

.p-lr-5 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.p-lr-10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.p-lr-20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.p-lr-30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.p-lr-40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.p-lr-50 {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.p-lr-60 {
  padding-left: 60px !important;
  padding-right: 60px !important;
}

.p-lr-70 {
  padding-left: 70px !important;
  padding-right: 70px !important;
}

.p-lr-80 {
  padding-left: 80px !important;
  padding-right: 80px !important;
}

.p-lr-90 {
  padding-left: 90px !important;
  padding-right: 90px !important;
}

.p-lr-100 {
  padding-left: 100px !important;
  padding-right: 100px !important;
}

.w-auto {
  width: auto !important;
}

.w-16 {
  width: 16px !important;
}

.w-20 {
  width: 20px !important;
}

.w-25 {
  width: 25px !important;
}

.w-30 {
  width: 30px !important;
}

.w-32 {
  width: 32px !important;
}

.w-35 {
  width: 35px !important;
}

.w-40 {
  width: 40px !important;
}

.w-48 {
  width: 48px !important;
}

.w-50 {
  width: 50px !important;
}

.w-60 {
  width: 60px !important;
}

.w-70 {
  width: 70px !important;
}

.w-80 {
  width: 80px !important;
}

.w-90 {
  width: 90px !important;
}

.w-100 {
  width: 100px !important;
}

.w-130 {
  width: 130px !important;
}

.w-140 {
  width: 140px !important;
}

.w-150 {
  width: 150px !important;
}

.w-160 {
  width: 160px !important;
}

.w-170 {
  width: 170px !important;
}

.w-180 {
  width: 180px !important;
}

.w-200 {
  width: 200px !important;
}

.w-230 {
  width: 230px !important;
}

.w-240 {
  width: 240px !important;
}

.w-250 {
  width: 250px !important;
}

.w-300 {
  width: 300px !important;
}

.w-350 {
  width: 350px !important;
}

.w-400 {
  width: 400px !important;
}

.w-450 {
  width: 450px !important;
}

.w-500 {
  width: 500px !important;
}

.w-550 {
  width: 550px !important;
}

.w-600 {
  width: 600px !important;
}

.w-650 {
  width: 650px !important;
}

.w-700 {
  width: 700px !important;
}

.w-750 {
  width: 750px !important;
}

.w-800 {
  width: 800px !important;
}

.w-850 {
  width: 850px !important;
}

.w-900 {
  width: 900px !important;
}

.w-950 {
  width: 950px !important;
}

.w-1000 {
  width: 1000px !important;
}

.w-1100 {
  width: 1100px !important;
}

.w-1150 {
  width: 1150px !important;
}

.w-1200 {
  width: 1200px !important;
}

.w-min-30 {
  min-width: 30px !important;
}

.w-min-50 {
  min-width: 50px !important;
}

.w-min-80 {
  min-width: 80px !important;
}

.w-min-100 {
  min-width: 100px !important;
}

.w-min-140 {
  min-width: 140px !important;
}

.w-min-150 {
  min-width: 150px !important;
}

.w-min-160 {
  min-width: 160px !important;
}

.w-min-200 {
  min-width: 200px !important;
}

.w-min-250 {
  min-width: 250px !important;
}

.w-min-300 {
  min-width: 300px !important;
}

.w-min-350 {
  min-width: 350px !important;
}

.w-min-400 {
  min-width: 400px !important;
}

.w-min-450 {
  min-width: 450px !important;
}

.w-min-500 {
  min-width: 500px !important;
}

.w-min-550 {
  min-width: 550px !important;
}

.w-min-600 {
  min-width: 600px !important;
}

.w-min-650 {
  min-width: 650px !important;
}

.w-min-700 {
  min-width: 700px !important;
}

.w-min-750 {
  min-width: 750px !important;
}

.w-min-800 {
  min-width: 800px !important;
}

.w-min-850 {
  min-width: 850px !important;
}

.w-min-900 {
  min-width: 900px !important;
}

.w-min-950 {
  min-width: 950px !important;
}

.w-min-1000 {
  min-width: 1000px !important;
}

.w-max-50 {
  max-width: 50px !important;
}

.w-max-70 {
  max-width: 70px !important;
}

.w-max-100 {
  max-width: 100px !important;
}

.w-max-150 {
  max-width: 150px !important;
}

.w-max-160 {
  max-width: 160px !important;
}

.w-max-200 {
  max-width: 200px !important;
}

.w-max-250 {
  max-width: 250px !important;
}

.w-max-300 {
  max-width: 300px !important;
}

.w-max-350 {
  max-width: 350px !important;
}

.w-max-400 {
  max-width: 400px !important;
}

.w-max-450 {
  max-width: 450px !important;
}

.w-max-500 {
  max-width: 500px !important;
}

.w-max-550 {
  max-width: 550px !important;
}

.w-max-600 {
  max-width: 600px !important;
}

.w-max-650 {
  max-width: 650px !important;
}

.w-max-700 {
  max-width: 700px !important;
}

.w-max-750 {
  max-width: 750px !important;
}

.w-max-800 {
  max-width: 800px !important;
}

.w-max-850 {
  max-width: 850px !important;
}

.w-max-900 {
  max-width: 900px !important;
}

.w-max-950 {
  max-width: 950px !important;
}

.w-max-1000 {
  max-width: 1000px !important;
}

.w-max-1100 {
  max-width: 1100px !important;
}

.w-max-1150 {
  max-width: 1150px !important;
}

.w-max-1170 {
  max-width: 1170px !important;
}

.w-max-1200 {
  max-width: 1200px !important;
}

.w-max-1400 {
  max-width: 1400px !important;
}

.w-max-1500 {
  max-width: 1500px !important;
}

.w-max-1600 {
  max-width: 1600px !important;
}

.w-max-1800 {
  max-width: 1800px !important;
}

.w-max-2000 {
  max-width: 2000px !important;
}

.w-max-2500 {
  max-width: 2500px !important;
}

.w-50p {
  width: 50% !important;
}

.w-60p {
  width: 60% !important;
}

.w-70p {
  width: 70% !important;
}

.w-80p {
  width: 80% !important;
}

.w-90p {
  width: 90% !important;
}

.w-100p {
  width: 100% !important;
}

.w-max-90p {
  max-width: 90% !important;
}

.h-5 {
  height: 5px !important;
}

.h-10 {
  height: 10px !important;
}

.h-15 {
  height: 15px !important;
}

.h-20 {
  height: 20px !important;
}

.h-25 {
  height: 25px !important;
}

.h-30 {
  height: 30px !important;
}

.h-35 {
  height: 35px !important;
}

.h-40 {
  height: 40px !important;
}

.h-45 {
  height: 45px !important;
}

.h-50 {
  height: 50px !important;
}

.h-60 {
  height: 60px !important;
}

.h-70 {
  height: 70px !important;
}

.h-80 {
  height: 80px !important;
}

.h-90 {
  height: 90px !important;
}

/* REMOVED 2026-08-02: `.h-100 { height: 100px !important }`.
   It collided with Bootstrap's `.h-100 { height: 100% !important }`, and being
   bundled after Bootstrap it won every time — so `h-100` meant 100 PIXELS
   product-wide. /learn showed it plainly: twelve course cards clamped to 100px
   with their meta chips spilling 28-68px out of the box and under the next row.
   Found by looking at the page, not by any tool. The sweep measured contrast on
   it and was right; nothing measured layout.

   Safe to delete, measured rather than assumed:
     * bare `h-100` is used 10 times in views and EVERY one wants Bootstrap's
       100% -- `card h-100`, `card shadow-sm border-0 h-100`, `d-flex ... h-100`
     * the rest of this pixel scale (h-5 .. h-90) has ZERO users; the codebase
       uses the gt-h-* prefix for pixel heights, which is why the collision only
       ever bit at 100.
   The dead h-5..h-90 rules are left for a separate sweep; this is the one that
   was doing damage. */

.h-110 {
  height: 110px !important;
}

.h-130 {
  height: 130px !important;
}

.h-150 {
  height: 150px !important;
}

.h-160 {
  height: 160px !important;
}

.h-170 {
  height: 170px !important;
}

.h-180 {
  height: 180px !important;
}

.h-200 {
  height: 200px !important;
}

.h-230 {
  height: 230px !important;
}

.h-250 {
  height: 250px !important;
}

.h-270 {
  height: 270px !important;
}

.h-300 {
  height: 300px !important;
}

.h-310 {
  height: 310px !important;
}

.h-350 {
  height: 350px !important;
}

.h-400 {
  height: 400px !important;
}

.h-450 {
  height: 450px !important;
}

.h-500 {
  height: 500px !important;
}

.h-550 {
  height: 550px !important;
}

.h-600 {
  height: 600px !important;
}

.h-min-20 {
  min-height: 20px !important;
}

.h-min-30 {
  min-height: 30px !important;
}

.h-min-35 {
  min-height: 35px !important;
}

.h-min-40 {
  min-height: 40px !important;
}

.h-min-50 {
  min-height: 50px !important;
}

.h-min-70 {
  min-height: 72px !important;
}

.h-min-100 {
  min-height: 100px !important;
}

.h-min-130 {
  min-height: 130px !important;
}

.h-min-150 {
  min-height: 150px !important;
}

.h-min-160 {
  min-height: 160px !important;
}

.h-min-200 {
  min-height: 200px !important;
}

.h-min-280 {
  min-height: 280px !important;
}

.h-min-300 {
  min-height: 300px !important;
}

.h-min-400 {
  min-height: 400px !important;
}

.h-min-500 {
  min-height: 500px !important;
}

.h-min-600 {
  min-height: 600px !important;
}

.h-min-700 {
  min-height: 700px !important;
}

.h-min-800 {
  min-height: 800px !important;
}

.h-min-900 {
  min-height: 900px !important;
}

.h-min-1000 {
  min-height: 1000px !important;
}

.h-max-50 {
  max-height: 50px !important;
}

.h-max-100 {
  max-height: 100px !important;
}

.h-max-150 {
  max-height: 150px !important;
}

.h-max-200 {
  max-height: 200px !important;
}

.h-max-300 {
  max-height: 300px !important;
}

.h-max-400 {
  max-height: 400px !important;
}

.h-max-500 {
  max-height: 500px !important;
}

.h-max-600 {
  max-height: 600px !important;
}

.h-max-700 {
  max-height: 700px !important;
}

.h-max-800 {
  max-height: 800px !important;
}

.h-max-900 {
  max-height: 900px !important;
}

.h-max-1000 {
  max-height: 1000px !important;
}

/* 
==================================================
   GIMCORE ENTERPRISE DATA GRID (.gc-table)
==================================================
*/
.gc-table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  display: block;
}

.gc-table {
  min-width: 100%;
  border-collapse: collapse;
  border: none;
  background-color: var(--gs-surface);
}

.gc-table thead th,
.gc-table thead td,
.gc-table .gc-table-header th,
.gc-table .gc-table-header td {
  background-color: #f8fafc;
  color: #475569;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
  padding: 10px 16px;
  border-bottom: 2px solid #e2e8f0;
  border-top: none;
  border-left: none;
  border-right: none;
}

.gc-table tbody tr {
  background-color: var(--gs-surface) !important;
}

.gc-table tbody th,
.gc-table tbody td {
  padding: 12px 16px;
  color: #334155;
  border-bottom: 1px solid #e2e8f0;
  border-top: none;
  border-left: none;
  border-right: none;
  vertical-align: middle;
}

.gc-table tbody tr:hover,
.gc-table tbody tr:hover td,
.gc-table tbody tr:hover th {
  background-color: #f1f5f9 !important;
}

.gc-table tfoot th,
.gc-table tfoot td,
.gc-table .gc-table-footer th,
.gc-table .gc-table-footer td,
.gc-table .tr-total td,
.gc-table .tr-total th {
  background-color: var(--gs-surface-2);
  font-weight: 600;
  border-top: 2px solid #cbd5e1;
  border-bottom: none;
  padding: 12px 16px;
  color: #1e293b;
}

.gc-table.gc-table-sm thead th,
.gc-table.gc-table-sm thead td,
.gc-table.gc-table-sm .gc-table-header th,
.gc-table.gc-table-sm .gc-table-header td {
  padding: 8px 10px;
}

.gc-table.gc-table-sm tbody th,
.gc-table.gc-table-sm tbody td,
.gc-table.gc-table-sm tfoot th,
.gc-table.gc-table-sm tfoot td,
.gc-table.gc-table-sm .gc-table-footer th,
.gc-table.gc-table-sm .gc-table-footer td,
.gc-table.gc-table-sm .tr-total td,
.gc-table.gc-table-sm .tr-total th {
  padding: 8px 10px;
}

/* Sticky header for legacy tables injected by enforceGimCoreTableFormat
   Two-div nested structure: .gc-scrollbar (no overflow) > .gc-table-scroll-inner (overflow-x:auto) > table
   Scoped to .gc-scrollbar so SearchGridView clone-headers are NOT affected */
.gc-table-responsive.gc-scrollbar .gc-table-scroll-inner>.gc-table .gc-table-header th,
.gc-table-responsive.gc-scrollbar .gc-table-scroll-inner>.gc-table .gc-table-header td,
.gc-table-responsive.gc-scrollbar .gc-table-scroll-inner>.gc-table thead th,
.gc-table-responsive.gc-scrollbar .gc-table-scroll-inner>.gc-table thead td {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #f8fafc;
  box-shadow: 0 1px 0 #e2e8f0;
}

/* 
==================================================
   GIMCORE ENTERPRISE BADGE (.gc-badge)
==================================================
*/
.gc-badge {

  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  line-height: normal;
  border-radius: 99px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 70px;
  white-space: nowrap;
}


/* The commented-out "pastel wash" experiment that lived here (twice) shipped for
   real on 2026-08-26 as the soft-chip block in override.css - one generator. */

/* 
==================================================
   GIMCORE ENTERPRISE USER AVATAR (.gc-table .user-avatar-image)
==================================================
*/
.gc-table .user-avatar-image {
  width: 24px !important;
  height: 24px !important;
  border-radius: 50%;
  object-fit: cover;
  vertical-align: middle;
  margin-right: 4px;
}

/* 
==================================================
   GIMCORE ENTERPRISE DETAIL SCREEN (FORM LABELS)
==================================================
*/
.field-label,
.field-label span.inline,
.formScreen .field-label,
.formScreen .field-label span.inline {
    /* was #64748B = 4.76:1 on white -- passes AA by 0.26, and this is the primary
       wayfinding text on every form in the product. --gs-ink-2 measures 7.53:1.
       Colour only; size, weight and spacing are unchanged so no layout moves. */
    color: var(--gs-ink-2) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 2px !important;
    line-height: 1.2 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Enforce proximity: Tight gap between label and value, wider gap to next field */
.field-item,
.formScreen .field-item {
  margin-bottom: 2px !important;
}

.field-label+*,
.formScreen .field-label+* {
  margin-top: 0 !important;
}

.field-value,
.formScreen .field-value {
  line-height: 1.3 !important;
}

.field-value.gt-p-t-5,
.formScreen .field-value.gt-p-t-5 {
  padding-top: 0 !important;
}

/* Hyper-compact buttons for childlist actions to match 12px headers */
.btn-childlist {
  padding: 0 6px !important;
  height: 22px !important;
  font-size: 11px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  line-height: 1 !important;
}

/* Normalize Input Controls in Forms: Ignore user display configs (like text20) during data entry for proportion */
.formScreen input.form-control,
.formScreen select.form-control,
.formScreen textarea.form-control {
  font-size: 13px !important;
  color: #334155 !important;
  /* Neutral dark slate */
  font-weight: normal !important;
}

/* 
==================================================
   GIMCORE ENTERPRISE DETAIL SCREEN (FIELD VALUES)
==================================================
*/
.formScreen .field-item {
  /*color: #0f172a;*/
  /* Slate 900 for high contrast */
  /*font-weight: 500;*/
  /*font-size: 14px;*/
}

.formScreen .field-item .gc-badge {
  font-weight: 600;
}

/* 
==================================================
   GIMCORE ENTERPRISE DETAIL SCREEN (UI PADDING)
==================================================
*/
/*.formScreen .field-item {
  margin-bottom: 16px !important;
}*/

.formScreen .user-avatar-image {
  border-radius: 50% !important;
  object-fit: cover;
}

/* 
==================================================
   GIMCORE ENTERPRISE PASTEL WASH (CUSTOM BG-FLAT)
==================================================
*/
.gc-table .gc-badge.bg-flat-orange,
.formScreen .gc-badge.bg-flat-orange {
  background-color: #ffedd5 !important;
  color: #c2410c !important;
  border: none !important;
}

.gc-table .gc-badge.bg-flat-cyan,
.formScreen .gc-badge.bg-flat-cyan {
  background-color: #cffafe !important;
  color: #0891b2 !important;
  border: none !important;
}

.gc-table .gc-badge.bg-flat-green,
.formScreen .gc-badge.bg-flat-green {
  background-color: #dcfce7 !important;
  color: #166534 !important;
  border: none !important;
}

.gc-table .gc-badge.bg-flat-blue,
.formScreen .gc-badge.bg-flat-blue {
  background-color: #dbeafe !important;
  color: #1e40af !important;
  border: none !important;
}

.gc-table .gc-badge.bg-flat-red,
.formScreen .gc-badge.bg-flat-red {
  background-color: #fee2e2 !important;
  color: #b91c1c !important;
  border: none !important;
}

.gc-table .gc-badge.bg-flat-yellow,
.formScreen .gc-badge.bg-flat-yellow {
  background-color: #fef9c3 !important;
  color: #854d0e !important;
  border: none !important;
}

.gc-table .gc-badge.bg-flat-purple,
.formScreen .gc-badge.bg-flat-purple {
  background-color: #f3e8ff !important;
  color: #7e22ce !important;
  border: none !important;
}

/* 
==================================================
   GIMCORE ENTERPRISE AVATAR STACK (FACEPILE)
==================================================
*/
.avatar-group {
  display: inline-flex;
  align-items: center;
  padding-left: 2px;
}

.avatar-group .user-avatar-image {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  border: 2px solid var(--gs-surface);
  margin-left: -10px;
  position: relative;
  transition: transform 0.2s ease, z-index 0.2s ease;
  object-fit: cover;
}

.avatar-group .user-avatar-image:first-child {
  margin-left: 0;
  z-index: 5;
}

.avatar-group .user-avatar-image:hover {
  transform: translateY(-3px);
  z-index: 10 !important;
}

/* Bootstrap 5 compatibility fix for bootstrap-tagsinput
   bootstrap-tagsinput sets display:inline-block which breaks Bootstrap 5 flex input-group
   causing the search button to wrap to a new line */
.input-group .bootstrap-tagsinput {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  min-width: 0;
  border-radius: var(--bs-border-radius, 4px) 0 0 var(--bs-border-radius, 4px) !important;
  border-right: 0 !important;
}

.input-group .bootstrap-tagsinput:focus-within {
  border-color: #86b7fe;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  z-index: 3;
}

/* 
==================================================
   FORM CONTROL PLACEHOLDER STYLING
==================================================
*/
.form-control::placeholder {
  color: #adb5bd !important;
  /* Light gray */
  font-weight: 400 !important;
  /* Normal weight */
  font-size: 13px !important;
  /* Slightly smaller */
  opacity: 1 !important;
  /* Standardize cross-browser opacity */
}

.form-control:-ms-input-placeholder {
  color: #adb5bd !important;
  font-weight: 400 !important;
  font-size: 13px !important;
}

.form-control::-ms-input-placeholder {
  color: #adb5bd !important;
  font-weight: 400 !important;
  font-size: 13px !important;
}

/* 
==================================================
   GIMCORE REPORTING UI MODERNIZATION (TABS & CARDS)
==================================================
*/
#ul-report {
  border-bottom: 1px solid var(--gs-line);
  margin-bottom: 5px;
}

#ul-report .nav-link {
  color: var(--gs-ink-2);
  font-weight: 500;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 8px 15px;
  margin-right: 5px;
  font-size: 13px;
  transition: all 0.2s;
}

#ul-report .nav-link:hover {
  color: #0d6efd;
  border-bottom: 3px solid var(--gs-line);
}

#ul-report .nav-link.underline,
#ul-report .active>.nav-link {
  color: #0d6efd !important;
  border-bottom: 3px solid #0d6efd !important;
  font-weight: 600;
  background: transparent !important;
}

#ul-report .nav-item {
  margin-bottom: -1px;
}

.report-nav-child {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 5px 0 10px 0;
}

.report-nav-child .nav-pill {
  padding: 5px 14px;
  color: var(--gs-ink-3);
  background-color: var(--gs-surface-3);
  border-radius: 16px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s;
  border: 1px solid transparent;
}

.report-nav-child .nav-pill:hover {
  background-color: var(--gs-surface-3);
  color: var(--gs-ink);
}

.report-nav-child .nav-pill.active {
  background-color: #e7f1ff !important;
  color: #0d6efd !important;
  border-color: #b6d4fe !important;
  font-weight: 600;
}

.report-card {
  background: white;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
  padding: 15px;
  margin-top: 15px;
}

/* === Enterprise Report Toolbar === */
.report-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0 6px 0;
  gap: 6px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--gs-line);
  margin-bottom: 2px;
}

.report-toolbar-left,
.report-toolbar-right {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

/* Base toolbar button */
.tb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 28px;
  padding: 0 10px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--gs-ink-2);
  background-color: var(--gs-surface);
  border: 1px solid var(--gs-line);
  border-radius: 5px;
  cursor: pointer;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  box-sizing: border-box;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.tb-btn:hover {
  background-color: var(--gs-surface-3);
  border-color: var(--gs-line);
  color: var(--gs-ink);
}

.tb-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.15);
}

/* Icon-only variant */
.tb-btn-icon {
  padding: 0 8px;
  color: var(--gs-ink-3);
}

.tb-btn-icon:hover {
  color: #0d6efd;
}

/* Pagination meta text */
.tb-meta {
  font-size: 12.5px;
  /* was #6c757d -- 4.48 on --gs-surface-2 #f8fafc, under AA by 0.02. A literal
     that close to the line is the argument for the token: --gs-ink-3 is the
     tertiary-text role, and it is held to AA on all three surfaces by
     contrast_pairs_below_aa. 4.87 here. */
  color: var(--gs-ink-3);
  white-space: nowrap;
}

/* Pagination links. `.paging` is rendered in exactly 4 places, all inside
   #search-paging in _SearchGridView.cshtml, so this reaches one component.
   Unstyled they inherit the default link blue #0d6efd, which is 4.30 on the
   pager's #f8fafc ground -- passing on white, failing on the surface it is
   actually drawn on. --gs-accent-ink is the token already introduced for that
   exact problem on the active nav item (§4.3j). 5.67 here. */
.pager a.paging {
  color: var(--gs-accent-ink);
}

/* Rows-per-page select */
.tb-select {
  height: 28px;
  padding: 2px 6px;
  font-size: 12.5px;
  color: var(--gs-ink-2);
  background-color: var(--gs-surface);
  border: 1px solid var(--gs-line);
  border-radius: 5px;
  cursor: pointer;
}

.tb-select:focus {
  outline: none;
  border-color: #86b7fe;
}

/* Integrated search pill */
.tb-search {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid var(--gs-line);
  border-radius: 5px;
  overflow: hidden;
  height: 31px;
}

.tb-search-input {
  border: none;
  outline: none;
  padding: 4px 10px;
  font-size: 13px;
  color: var(--gs-ink-2);
  background: var(--gs-surface);
  width: 190px;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.tb-search-input:focus {
  width: 240px;
}

.tb-search-input::placeholder {
  color: #adb5bd;
  font-style: italic;
  font-size: 12px;
}

.tb-search-btn {
  border: none;
  background: var(--gs-surface-3);
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gs-ink-3);
  cursor: pointer;
  border-left: 1px solid var(--gs-line);
  transition: background 0.15s;
}

.tb-search-btn:hover {
  background: var(--gs-surface-3);
  color: #0d6efd;
}

.dropdown-menu-sm .dropdown-item {
  font-size: 12.5px;
  padding: 5px 14px;
}

/* === Filter Field Label Row === */
.filter-field-label {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 0 4px 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--gs-ink);
}

.filter-field-label .field-name-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--gs-ink);
  font-weight: 600;
}

/* Include / Exclude compact select pill */
.filter-op-select {
  height: 22px;
  padding: 0 6px;
  font-size: 11.5px;
  font-weight: 500;
  color: #fff;
  background-color: #5a8a9f;
  border: none;
  border-radius: 11px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  flex-shrink: 0;
  text-align: center;
  text-align-last: center;
}

.filter-op-select:hover {
  background-color: #4a7a8f;
}

.filter-op-select option {
  background-color: var(--gs-surface);
  color: var(--gs-ink);
  font-weight: 500;
}

/* === Fix dropdown-menu link colors to neutral === */
.report-toolbar .dropdown-menu .dropdown-item a,
.report-toolbar .dropdown-menu a.dropdown-item {
  color: var(--gs-ink);
  text-decoration: none;
}

.report-toolbar .dropdown-menu .dropdown-item a:hover,
.report-toolbar .dropdown-menu a.dropdown-item:hover {
  color: #0d6efd;
  background-color: var(--gs-surface-3);
}

/* Dropdown items inside toolbar - override bootstrap link blue */
.report-toolbar .dropdown-menu li a {
  color: var(--gs-ink);
  font-size: 12.5px;
}

.report-toolbar .dropdown-menu li a:hover {
  color: #0d6efd;
}

/* === Grid row action dropdown === */
.grid-action-icon {
  color: var(--gs-ink-3);
  width: 14px;
  text-align: center;
}

.dropdown-menu .dropdown-item a {
  color: var(--gs-ink);
  text-decoration: none;
}

.dropdown-menu .dropdown-item a:hover {
  color: #0d6efd;
}

.dropdown-menu li a {
  color: var(--gs-ink);
}

.dropdown-menu li a:hover {
  color: #0d6efd;
}

/* === Report Title Bar === */
.report-title-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  /*margin: 8px 0 6px 0;*/
  flex-wrap: wrap;
}

.report-title {
  /*font-size: 20px;*/
  font-weight: 500;
  color: #1e293b;
  /*margin: 0;*/
  line-height: 1.3;
}

/* Shared base for delete and configure buttons */
.report-title-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-size: 13px;
  border-radius: 5px;
  color: #9ca3af;
  background: transparent;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.15s, background 0.15s;
  flex-shrink: 0;
}

.report-title-btn:hover {
  color: #3b82f6;
  background: #eff6ff;
}

/* Delete button — danger on hover */
.report-title-btn-delete:hover {
  color: #ef4444 !important;
  background: #fef2f2 !important;
}

/* Author chip */
.report-title-author {
  font-size: 11.5px;
  /* var(--gs-ink-2), not --gs-ink-3. The muted token is #8792a5 and reaches only
     3.00:1 on this card's #f8fafc — the role named "muted" cannot carry 11.5px
     text on the product's own surface. #9ca3af was 2.43:1. Design_Standard §4.3f */
  color: var(--gs-ink-2);
  font-style: italic;
  margin-left: 2px;
  font-weight: 400;
}

/* === ReportBuilder panel and child pills === */
.report-card {
  background: var(--gs-surface-2);
  border: 1px solid var(--gs-line);
  border-radius: 8px;
  padding: 12px 14px;
  margin: 8px 0;
}

.report-nav-child {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 6px 0 4px 0;
}

.nav-pill {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 12px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--gs-ink-2);
  background-color: var(--gs-surface);
  border: 1px solid var(--gs-line);
  border-radius: 13px;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.nav-pill:hover {
  background-color: #e7f1ff;
  border-color: #3b82f6;
  color: #1d4ed8;
}

.nav-pill.active {
  background-color: #3b82f6;
  border-color: #3b82f6;
  color: #fff;
}

/* === Nav dropdown icons (Board / Timeline / Add / Opportunities) === */
.nav-dd-icon {
  width: 16px;
  text-align: center;
  color: #8b95a2;
  font-size: 13px;
  margin-right: 6px;
  flex-shrink: 0;
}

.nav-dd-icon-add {
  width: 16px;
  text-align: center;
  color: #16a34a;
  font-size: 13px;
  margin-right: 6px;
  flex-shrink: 0;
}

.dropdown-item:hover .nav-dd-icon {
  color: #3b82f6;
}
/* GIMCORE gc-table OVERRIDES ADDED SECURELY */




GIMCORE ENTERPRISE DATA GRID (.gc-table)
==================================================
*/
.gc-table-responsive {
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
display: block;
}

.gc-table {
min-width: 100%;
border-collapse: collapse;
border: none;
background-color: var(--gs-surface);
}

.gc-table thead th,
.gc-table thead td,
.gc-table .gc-table-header th,
.gc-table .gc-table-header td {
background-color: #f8fafc;
color: #475569;
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
white-space: nowrap;
padding: 10px 16px;
border-bottom: 2px solid #e2e8f0;
border-top: none;
border-left: none;
border-right: none;
}

.gc-table tbody tr {
background-color: var(--gs-surface) !important;
}

.gc-table tbody th,
.gc-table tbody td {
padding: 12px 16px;
color: #334155;
border-bottom: 1px solid #e2e8f0;
border-top: none;
border-left: none;
border-right: none;
vertical-align: middle;
}

.gc-table tbody tr:hover,
.gc-table tbody tr:hover td,
.gc-table tbody tr:hover th {
background-color: #f1f5f9 !important;
}

.gc-table tfoot th,
.gc-table tfoot td,
.gc-table .gc-table-footer th,
.gc-table .gc-table-footer td,
.gc-table .tr-total td,
.gc-table .tr-total th {
background-color: var(--gs-surface-2);
font-weight: 600;
border-top: 2px solid #cbd5e1;
border-bottom: none;
padding: 12px 16px;
color: #1e293b;
}

.gc-table.gc-table-sm thead th,
.gc-table.gc-table-sm thead td,
.gc-table.gc-table-sm .gc-table-header th,
.gc-table.gc-table-sm .gc-table-header td {
padding: 8px 10px;
}

.gc-table.gc-table-sm tbody th,
.gc-table.gc-table-sm tbody td,
.gc-table.gc-table-sm tfoot th,
.gc-table.gc-table-sm tfoot td,
.gc-table.gc-table-sm .gc-table-footer th,
.gc-table.gc-table-sm .gc-table-footer td,
.gc-table.gc-table-sm .tr-total td,
.gc-table.gc-table-sm .tr-total th {
padding: 8px 10px;
}

/* Sticky header for legacy tables injected by enforceGimCoreTableFormat
Two-div nested structure: .gc-scrollbar (no overflow) > .gc-table-scroll-inner (overflow-x:auto) > table
Scoped to .gc-scrollbar so SearchGridView clone-headers are NOT affected */
.gc-table-responsive.gc-scrollbar .gc-table-scroll-inner>.gc-table .gc-table-header th,
.gc-table-responsive.gc-scrollbar .gc-table-scroll-inner>.gc-table .gc-table-header td,
.gc-table-responsive.gc-scrollbar .gc-table-scroll-inner>.gc-table thead th,
.gc-table-responsive.gc-scrollbar .gc-table-scroll-inner>.gc-table thead td {
position: sticky;
top: 0;
z-index: 10;
background: #f8fafc;
box-shadow: 0 1px 0 #e2e8f0;
}

/* 
==================================================
GIMCORE ENTERPRISE BADGE (.gc-badge)
==================================================
*/
.gc-badge {

/* Declared, not inherited — Design_Standard.md §4.3d.
   This is the value the badge already rendered at, but it came from
   `body { color }`, so a .gc-badge inside a dark panel became dark-on-dark.
   The component now carries its own text colour on every background it
   defines below. Do NOT pair it with .white or text-white: measured, white
   on every one of those backgrounds is 2.15-3.68:1, all below AA.
   var(--gs-ink), not a literal: §3, and the guard failed the build over the
   literal on the first attempt. #212529 is a shade darker than the #1e293b it
   used to inherit, so every contrast figure improves rather than moves. */
color: var(--gs-chip-ink);
padding: 4px 10px;
font-size: 11px;
font-weight: 600;
line-height: normal;
border-radius: 99px;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 70px;
white-space: nowrap;
}
/* (0,2,0) — this beats the .bg-primary rule above, so the token has to be
   repeated here or badges keep the old #3b82f6. Design_Standard.md §4.3e. */
.gc-badge.bg-primary { background-color: var(--gs-chip-primary) !important; }
.gc-badge.bg-success { background-color: #10b981 !important; } /* Emerald xanh ngọc sang hơn */
.gc-badge.bg-info { background-color: #0ea5e9 !important; } /* Light blue dễ chịu */
.gc-badge.bg-warning { background-color: #f59e0b !important; }

/* Dark chip surfaces take WHITE text. .gc-badge declares var(--gs-ink) for the
   light ones, and these were moved DOWN out of the dead zone (§4.3i), so the ink
   it inherits would now be 1.0-3.4:1 on them. Measured after this rule:
   red 6.47 · pink 6.04 · deep-orange 7.31 · success-dark 7.68 · info-dark 7.56
   primary-dark 5.17 · pink-dark 4.60 · dark 13.78

   THE LAST THREE WERE MISSING, and the omission only becomes visible when a
   chip gains .gc-badge — which is exactly what the Pages patch does. Measured
   on :5098 / app.min.css before adding them, ink on each:
       bg-primary-dark #2563eb   ink 2.98   (white was 5.17)
       bg-pink-dark    #db2777   ink 3.36   (white was 4.60)
       bg-dark         #212529   ink 1.00   (white was 13.78 — invisible)
   The original comment said "these five", and five is what was enumerated; the
   stylesheet defines eight dark chip backgrounds. CLAUDE.md §3: when a search
   returns N sites, say why the other N-1 need no change. Nobody wrote that
   sentence here, so three sites kept a defect that had no symptom until now.

   bg-secondary #6c757d added 2026-08-01, and it arrived from a DATA change, not
   a CSS one: #8's 8afd8d00 rewrote 61 field options from `gc-secondary` — a class
   with no rule in any stylesheet, so those chips rendered with no background at
   all — to `bg-secondary`, which is Bootstrap grey-600. Measured on :5098:
       ink   #212529 on #6c757d   3.29  fails
       white #ffffff on #6c757d   4.69  passes, thinly
   So it belongs here and not with the light backgrounds. The background is NOT
   darkened to widen that margin: §4.3c deliberately gave `.bg-secondary` back to
   Bootstrap, and moving it would take it away again.

   This entry is why the list needs re-checking when DATA changes and not only
   when CSS does. "Ink is correct at this site" is a verdict conditioned on which
   backgrounds the stored options actually carry — see Design_Standard §4.3k, and
   §4.3l for the four sites this rule cannot reach. */
.gc-badge.bg-red,
.gc-badge.bg-secondary,
.gc-badge.bg-pink,
.gc-badge.bg-pink-dark,
.gc-badge.bg-deep-orange,
.gc-badge.bg-success-dark,
.gc-badge.bg-info-dark,
.gc-badge.bg-primary-dark,
.gc-badge.bg-dark,
.badge.bg-red,
.badge.bg-secondary,
.badge.bg-pink,
.badge.bg-pink-dark,
.badge.bg-deep-orange,
.badge.bg-success-dark,
.badge.bg-info-dark,
.badge.bg-primary-dark,
.badge.bg-dark {
    /* (0,2,0) beats .gc-badge's (0,1,0), so no !important is needed here */
    color: var(--gs-chip-ink-inverse);
} /* Cam Amber không bị chói */

/* The same white, for the four chip sites §4.3i's selector cannot reach — they
   carry neither .gc-badge nor .badge, so `.gc-badge.bg-secondary` above misses
   them and they compute ink #212529 on #6c757d = 3.29 (3.12 on the Kanban card,
   which inherits #1e293b instead of the body colour).

       Views/Pages/WorkflowStep.cshtml:12              .btn
       Views/Favourite/RecentFavourite.cshtml:166      .btn-sm, no .btn
       Views/ProjectKanban/KanbanBoardColumn.cshtml:346  .item-status
       Scripts/project/filter-kanban-board.js:518      .item-status, script-built

   COLOUR ONLY. Adding .gc-badge to those views would fix the contrast too, but
   it also carries min-width:70px, inline-flex and font-size:11px — on a Kanban
   card that is a layout change, and a layout change is Bill's call (§2b). This
   rule changes nothing a user can see except the text becoming legible.

   Why nothing else is touched, measured rather than assumed (CLAUDE.md §3):

     `bg-secondary` appears in 0 literal sites across Views/, Scripts/, Gim.Modules/
     and Gim.Core/ — it reaches the DOM only through stored data. Of the five
     tables with a CssClass column on gimcore_dev_ui, it appears in exactly one:

         ProjectFieldOptions   61 rows      <- all chip render paths
         ProjectScreenGroups   group-info / group-primary only
         ProjectScreenFields   text20 / primary / bold / hidden only
         PageCategories        bg-* white   (no secondary)
         PageClassifies        bg-* white   (no secondary)

     ProjectScreenGroups is the one that would have hurt: ScreenById.cshtml:883
     renders it on the `.fsg-group` CONTAINER, where a colour would cascade to
     every label and input inside. It carries `group-*` and never `bg-*`, so the
     container path is closed — checked, not assumed.

   Scoped to the three shapes rather than bare `.bg-secondary` so a future data
   change cannot silently put this colour on a container. 2026-08-01. */
/* The Kanban status chip declares its own ink, like every other chip.
   `.item-status` is rendered in exactly two places -- KanbanBoardColumn.cshtml:346
   and its script twin filter-kanban-board.js:518 -- so this reaches one component
   and nothing else. Unstyled it inherits the board's #334155, which is 3.25-4.08
   on seven light chip backgrounds; var(--gs-ink) #212529 is 4.84-7.18 on the same
   seven. (0,1,0), so the dark-background rule below still wins on the nine where
   white is right. Colour only: no min-width, no inline-flex, no font-size, so the
   card geometry is untouched -- the objection that kept .gc-badge off it (§4.3l). */
.item-status {
    color: var(--gs-chip-ink);
}

/* Extended 2026-08-01 from bg-secondary alone to all NINE dark chip backgrounds.
   The rendered sweep found the same shape one component over: a grid chip built
   at _SearchGridView.cshtml:1177 inherited the cell's #334155 and measured 1.37
   on bg-info-dark. These three shapes carry neither .gc-badge nor .badge, so the
   rule above cannot reach them, and dark backgrounds are exactly where inherited
   ink collapses. Colour only -- no min-width, no inline-flex, no font-size, so a
   Kanban card keeps its geometry (§4.3l). */
.item-status.bg-red,
.btn.bg-red,
.btn-sm.bg-red,
.item-status.bg-pink,
.btn.bg-pink,
.btn-sm.bg-pink,
.item-status.bg-pink-dark,
.btn.bg-pink-dark,
.btn-sm.bg-pink-dark,
.item-status.bg-deep-orange,
.btn.bg-deep-orange,
.btn-sm.bg-deep-orange,
.item-status.bg-success-dark,
.btn.bg-success-dark,
.btn-sm.bg-success-dark,
.item-status.bg-info-dark,
.btn.bg-info-dark,
.btn-sm.bg-info-dark,
.item-status.bg-primary-dark,
.btn.bg-primary-dark,
.btn-sm.bg-primary-dark,
.item-status.bg-dark,
.btn.bg-dark,
.btn-sm.bg-dark,
.item-status.bg-secondary,
.btn.bg-secondary,
.btn-sm.bg-secondary {
    color: var(--gs-chip-ink-inverse);
}

/* `.white` in a STORED CssClass beats every chip rule above, because
   site.css:1680 is `.white { color: White !important }`. Measured on :5098:
   a (0,3,0) selector without !important does NOT win — !important beats
   specificity — so all five light backgrounds stayed at white:

       "bg-info white"          2.77      "bg-primary white"     2.54
       "bg-indigo white"        1.99      "bg-danger-light white" 2.80
       "bg-warning white"       2.15

   Those are PageCategories (6 rows) and PageClassifies (4 rows) on
   gimcore_dev_ui. Tools/fix_option_css_white.sql stripped `white` from
   ProjectFieldOptions and from nothing else — its title says "stored field
   options", which describes its scope accurately and reads like it describes
   the problem. One table of the three carrying the pattern. CLAUDE.md §3's N-1
   rule, inside the repair script for the very same defect.

   SCOPED PER BACKGROUND, never `.gc-badge.white` in general: ink on
   bg-info-dark #075985 is ~1.4, so a blanket rule would fix the light chips and
   destroy every dark one. Only backgrounds measured as ink-wins are listed —
   including five that carry no `white` row today, so a future seed writing
   `bg-grass white` is already covered rather than discovered.

   This does NOT remove the need to fix the seed (#8's lane, e397e1db). It makes
   the RENDER correct whatever the seed writes, which a data repair cannot do —
   a restore or a rebuild puts `white` straight back. 2026-08-01. */
.gc-badge.bg-primary.white,
.badge.bg-primary.white,
.gc-badge.bg-warning.white,
.badge.bg-warning.white,
.gc-badge.bg-danger.white,
.badge.bg-danger.white,
.gc-badge.bg-success.white,
.badge.bg-success.white,
.gc-badge.bg-info.white,
.badge.bg-info.white,
.gc-badge.bg-danger-light.white,
.badge.bg-danger-light.white,
.gc-badge.bg-success-light.white,
.badge.bg-success-light.white,
.gc-badge.bg-warning-dark.white,
.badge.bg-warning-dark.white,
.gc-badge.bg-indigo.white,
.badge.bg-indigo.white,
.gc-badge.bg-grass.white,
.badge.bg-grass.white {
    color: var(--gs-chip-ink) !important;
}


/* Đè lại class white đi kèm trong DB (Ví dụ: bg-success white) để chữ không bị trắng tiệp với nền */
/*.gc-table .gc-badge.white,
.report-table .gc-badge.white {
    color: var(--gc-color, inherit) !important;
}*/
/* HIỆU ỨNG KHI HOVER: Phủ full màu Solid, đổi chữ sang trắng */
/*.gc-table .gc-badge:hover,
.report-table .gc-badge:hover {
    background-color: var(--gc-color) !important;
    color: #ffffff !important;
    cursor: pointer;
    box-shadow: 0 3px 6px rgba(0,0,0,0.1);*/ /* Nổi nhẹ lên chút xíu */
/*}*/

/* ==============================================
   2. SOFT BADGE (UI UX PRO MAX)
   Tự động chuyển đổi mọi class bg-* thành chuẩn Soft Enterprise
   ============================================== */
.gc-badge.gc-badge-soft {
    /* Ép ghi đè nền solid của bg-* thành trong suốt */
    background-color: transparent !important;
    /* Lấy chính biến màu gốc làm màu chữ */
    color: var(--gc-color) !important;
    position: relative;
    z-index: 1;
    border: none;
    overflow: hidden;
}
    /* Lấy chính biến màu gốc làm nền nhưng giảm Opacity xuống 15% */
    .gc-badge.gc-badge-soft::before {
        content: "";
        position: absolute;
        inset: 0;
        background-color: var(--gc-color);
        opacity: 0.15;
        border-radius: inherit;
        z-index: -1;
    }

/* ─── Bootstrap Icons: the animation classes Font Awesome had and BI does not ───
   Bootstrap Icons ships 2,078 glyph classes and NO animation classes. `fa-spin`
   is not an icon, it is `animation: fa-spin 2s infinite linear`, and there is no
   `bi-spin` to migrate it to -- checked against every name in
   bootstrap-icons.css.

   This has to exist BEFORE any icon batch, not alongside one. Without it a
   migrated spinner keeps its glyph and silently stops turning, and
   **a spinner that is not turning looks exactly like one that is still loading**.
   No error, no log line, nothing to report. It surfaces only when somebody sits
   waiting for work that finished long ago.

   Timing copied from font-awesome.min.css so a half-migrated page cannot show two
   spinners at different speeds: 2s linear, 0->359deg. `fa-pulse` is the stepped
   variant, included for the same reason.

   prefers-reduced-motion is honoured, which Font Awesome 4.7 predates. The glyph
   stays visible and simply does not rotate. */
@keyframes gs-icon-spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(359deg); }
}

.bi-spin  { animation: gs-icon-spin 2s infinite linear; }
.bi-pulse { animation: gs-icon-spin 1s infinite steps(8); }

@media (prefers-reduced-motion: reduce) {
  .bi-spin,
  .bi-pulse { animation: none; }
}

/* ============================================================================
   /learn — course catalogue and course detail
   ----------------------------------------------------------------------------
   Bill, 2026-08-02, looking at screenshots: "chưa đẹp, thiếu hình ảnh, format
   nhìn cũ kỹ … lessons format chưa đặt và cũng nhìn cũ không hiện đại".

   NO IMAGE FILES. The thumbnail is generated from tokens, because a real image
   needs a host and `external_hosts_in_product` is ratcheted at 10 — and because
   a missing <img> renders as a broken-image box, which reads as a fault, while a
   generated cover reads as deliberate until real art replaces it.

   Every colour here is a var(). `colour_literals_outside_tokens` sits at 3748 and
   new work may not raise it, so there is not one hex value below.
   ========================================================================== */

.gc-course-grid { display: grid; gap: 1.25rem;
  grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); }

.gc-course-card {
  display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid var(--gs-line); border-radius: .75rem;
  background: var(--gs-surface); height: 100%;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.gc-course-card:hover, .gc-course-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 .75rem 1.5rem color-mix(in srgb, var(--gs-ink) 12%, transparent);
  border-color: var(--gs-brand);
}
@media (prefers-reduced-motion: reduce) {
  .gc-course-card { transition: none; }
  .gc-course-card:hover, .gc-course-card:focus-visible { transform: none; }
}

/* The cover. Ten deterministic variants keyed off the course id, so a course
   keeps the same cover on every visit — a cover that changes per request reads
   as a glitch. Title sits BELOW the cover, never on it: text over a generated
   gradient is a contrast pair nobody can measure ahead of time. */
.gc-course-cover {
  position: relative; display: grid; place-items: center;
  aspect-ratio: 16 / 9; color: var(--gs-ink-inverse);
  /* Both stops are mixed toward ink, not just the far one. With a PURE hue at the
     near stop the white glyph measured --gs-cat-7 (yellow) 1.63 and --gs-cat-10
     (cyan) 1.96 -- far below the 3:1 non-text floor of WCAG 1.4.11.

     ⚠️ This was 78%/42%, and at 78% yellow is 2.45 and cyan 2.89 -- STILL below the
     floor the comment claimed to have cleared. The numbers previously written here
     as the reason for the fix (2.50 and 2.95) are the values measured AFTER it: the
     post-change reading was recorded as the pre-change one, so the note read as
     "fixed, and here is what it used to be" while quoting the failing values.
     Re-measured from the resolved background-image of the real element, all ten
     covers, 2026-08-03. 60%/42% puts the worst (cover-7) at 3.58. */
  background-image: linear-gradient(135deg,
      color-mix(in srgb, var(--gc-cover-a, var(--gs-brand)) 60%, var(--gs-ink)),
      color-mix(in srgb, var(--gc-cover-a, var(--gs-brand)) 42%, var(--gs-ink)));
}
.gc-course-cover .bi { font-size: 2.75rem; opacity: .92; }
.gc-course-cover-1  { --gc-cover-a: var(--gs-cat-1); }
.gc-course-cover-2  { --gc-cover-a: var(--gs-cat-2); }
.gc-course-cover-3  { --gc-cover-a: var(--gs-cat-3); }
.gc-course-cover-4  { --gc-cover-a: var(--gs-cat-4); }
.gc-course-cover-5  { --gc-cover-a: var(--gs-cat-5); }
.gc-course-cover-6  { --gc-cover-a: var(--gs-cat-6); }
.gc-course-cover-7  { --gc-cover-a: var(--gs-cat-7); }
.gc-course-cover-8  { --gc-cover-a: var(--gs-cat-8); }
.gc-course-cover-9  { --gc-cover-a: var(--gs-cat-9); }
.gc-course-cover-10 { --gc-cover-a: var(--gs-cat-10); }

.gc-course-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 1rem; }
.gc-course-title {
  font-size: 1rem; font-weight: 600; line-height: 1.35; margin-bottom: .35rem;
  color: var(--gs-ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.gc-course-desc {
  font-size: .8125rem; line-height: 1.5; color: var(--gs-ink-3); margin-bottom: .75rem;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.gc-course-meta {
  display: flex; flex-wrap: wrap; gap: .75rem; margin-top: auto;
  font-size: .75rem; color: var(--gs-ink-2);
}
.gc-course-meta > span { display: inline-flex; align-items: center; gap: .3rem; }
.gc-course-meta .bi { color: var(--gs-ink-3); }

/* Enrolment is the one number Bill asked for by name. It is the social proof on
   a Udemy card, so it is the only meta item that carries the accent. */
.gc-enrolled { color: var(--gs-accent-ink); font-weight: 600; }
.gc-enrolled .bi { color: var(--gs-accent-ink); }

/* ── course detail ──────────────────────────────────────────────────────── */

.gc-learn-hero {
  border-radius: .75rem; padding: 1.5rem; margin-bottom: 1.5rem;
  color: var(--gs-ink-inverse);
  /* The near stop was the PURE hue, which is exactly the defect .gc-course-cover
     above had already been changed for -- and the hero is the stricter of the two:
     the card carries a decorative glyph (3:1 floor), the hero carries the course
     title plus a 13px description and meta row (4.5:1). White on --gs-cat-7 at the
     pure hue is 1.63. Covers 6, 7, 9 and 10 were below 3.0, so four of every ten
     courses -- the id's last digit picks the cover -- rendered an unreadable hero.

     45%/30% puts the worst (cover-7) at 5.09. Not 50%/35%, which lands on 4.51:
     gimcore-tokens.css already records what a value sitting exactly on the AA
     threshold costs when something upstream moves. Measured across all ten covers
     from the resolved background-image, 2026-08-03. */
  background-image: linear-gradient(135deg,
      color-mix(in srgb, var(--gc-cover-a, var(--gs-brand)) 45%, var(--gs-ink)),
      color-mix(in srgb, var(--gc-cover-a, var(--gs-brand)) 30%, var(--gs-ink)));
}
.gc-learn-hero h1 { color: var(--gs-ink-inverse); font-size: 1.5rem; font-weight: 700; }
.gc-learn-hero p  { color: var(--gs-ink-inverse); opacity: .92; margin-bottom: 0; }
.gc-learn-hero-meta {
  display: flex; flex-wrap: wrap; gap: 1rem; margin-top: .85rem; font-size: .8125rem;
}
.gc-learn-hero-meta > span { display: inline-flex; align-items: center; gap: .35rem; }

/* Modules as a numbered timeline. Bill's note was that lessons "format chưa đặt"
   — they were an undifferentiated list, so nothing said which came first or what
   belonged to what. The rail and the number do that work. */
.gc-module { border: 1px solid var(--gs-line); border-radius: .625rem; margin-bottom: .75rem;
  background: var(--gs-surface); overflow: hidden; }
.gc-module-head {
  display: flex; align-items: center; gap: .75rem; padding: .85rem 1rem;
  background: var(--gs-surface-2); border-bottom: 1px solid var(--gs-line);
}
.gc-module-num {
  flex: 0 0 auto; width: 1.75rem; height: 1.75rem; border-radius: 50%;
  display: grid; place-items: center; font-size: .8125rem; font-weight: 700;
  background: var(--gs-brand); color: var(--gs-brand-fg);
}
.gc-module-title { font-weight: 600; font-size: .9375rem; color: var(--gs-ink); flex: 1 1 auto; }
.gc-module-count { font-size: .75rem; color: var(--gs-ink-3); }

.gc-lesson-list { list-style: none; margin: 0; padding: 0; }
.gc-lesson-row {
  display: flex; align-items: center; gap: .75rem; padding: .7rem 1rem;
  border-bottom: 1px solid var(--gs-line); color: var(--gs-ink);
  text-decoration: none; transition: background-color .12s ease;
}
.gc-lesson-row:last-child { border-bottom: 0; }
.gc-lesson-row:hover, .gc-lesson-row:focus-visible { background: var(--gs-surface-2); }
/* Hover underline on /learn is NOT fixed here, and a rule at this specificity cannot
   fix it. Bootstrap ships `a:not([class*="btn"]):hover { text-decoration: underline }`,
   which is (0,2,1); `.gc-lesson-row:hover` is (0,2,0) and loses. The course card looked
   fixed only because its markup already carried `.text-decoration-none`, whose !important
   wins -- so the first version of this rule changed nothing on either element while
   appearing to work.

   The rows now carry that same utility in markup, which is the precedent the card set. */
.gc-lesson-row .bi { color: var(--gs-accent-ink); font-size: 1.05rem; }
.gc-lesson-name { flex: 1 1 auto; font-size: .875rem; }
.gc-lesson-time { font-size: .75rem; color: var(--gs-ink-3); white-space: nowrap; }

/* ── quiz ───────────────────────────────────────────────────────────────── */

.gc-quiz-q { border: 1px solid var(--gs-line); border-radius: .625rem;
  background: var(--gs-surface); margin-bottom: 1rem; }
.gc-quiz-q-head { display: flex; gap: .75rem; padding: 1rem 1rem .5rem; }
.gc-quiz-num {
  flex: 0 0 auto; width: 1.6rem; height: 1.6rem; border-radius: 50%;
  display: grid; place-items: center; font-size: .75rem; font-weight: 700;
  background: var(--gs-brand); color: var(--gs-brand-fg);
}
.gc-quiz-text { font-weight: 600; font-size: .9375rem; color: var(--gs-ink); }
.gc-quiz-opts { padding: 0 1rem 1rem 3.35rem; }
.gc-quiz-opt {
  display: flex; align-items: flex-start; gap: .6rem; padding: .5rem .75rem;
  border: 1px solid var(--gs-line); border-radius: .5rem; margin-bottom: .5rem;
  font-size: .875rem; color: var(--gs-ink); cursor: pointer;
  transition: border-color .12s ease, background-color .12s ease;
}
.gc-quiz-opt:hover { border-color: var(--gs-brand); background: var(--gs-surface-2); }

/* Carousel controls in the page macro — #11 found the chevrons almost invisible.
   ----------------------------------------------------------------------------
   Measured before touching: white glyph, 13.5px, inside `.carousel-control-prev`
   which Bootstrap gives `opacity: .5`, over a transparent background. The markup
   before the icon migration was `<span class="fa fa-chevron-left">` in the SAME
   control with the same parent and size, so this is not a regression from that
   pass -- it is a defect that was always there and has just been looked at.

   Bootstrap 5 draws its own carousel controls as background SVGs sized 2rem. This
   macro puts a FONT icon inside the control instead, so it inherits the half
   opacity and keeps body font-size.

   Opacity alone would not fix it. A white chevron sits over whatever slide image
   the author uploaded, so there is no background to measure against -- the scrim
   is what makes it legible on any of them, rather than on the ones we happened
   to test. Scoped to the macro so other carousels in the product are untouched. */
[data-macro-type="bscarousel"] .carousel-control-prev,
[data-macro-type="bscarousel"] .carousel-control-next { opacity: 1; }

[data-macro-type="bscarousel"] .carousel-control-prev .bi,
[data-macro-type="bscarousel"] .carousel-control-next .bi {
  display: grid; place-items: center;
  width: 2.25rem; height: 2.25rem; border-radius: 50%;
  font-size: 1.25rem; line-height: 1;
  color: var(--gs-ink-inverse);
  /* 66%, not 62%. The scrim is translucent, so the number that matters is the
     COMPOSITE over the worst slide an author might upload -- a white one. At 62%
     that composites to rgb(117,120,122) and gives 4.45:1; at 66% it is 5.05:1 and
     clears 4.5 even judged as text, which a chevron is not. Every darker slide is
     better, so the white case is the only one worth pinning. */
  background: color-mix(in srgb, var(--gs-ink) 66%, transparent);
  transition: background-color .15s ease;
}
[data-macro-type="bscarousel"] .carousel-control-prev:hover .bi,
[data-macro-type="bscarousel"] .carousel-control-next:hover .bi,
[data-macro-type="bscarousel"] .carousel-control-prev:focus-visible .bi,
[data-macro-type="bscarousel"] .carousel-control-next:focus-visible .bi {
  background: color-mix(in srgb, var(--gs-ink) 85%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  [data-macro-type="bscarousel"] .carousel-control-prev .bi,
  [data-macro-type="bscarousel"] .carousel-control-next .bi { transition: none; }
}


/* Primary button — pinned to a first-party token instead of inheriting --bs-primary.
   Set through Bootstrap's own --bs-btn-* properties, so hover, active and disabled all
   derive from the pinned value rather than needing separate overrides. */
.btn-primary {
  --bs-btn-bg: var(--gs-brand-btn);
  --bs-btn-border-color: var(--gs-brand-btn);
  --bs-btn-hover-bg: color-mix(in srgb, var(--gs-brand-btn) 88%, var(--gs-ink));
  --bs-btn-hover-border-color: color-mix(in srgb, var(--gs-brand-btn) 88%, var(--gs-ink));
  --bs-btn-active-bg: color-mix(in srgb, var(--gs-brand-btn) 80%, var(--gs-ink));
  --bs-btn-active-border-color: color-mix(in srgb, var(--gs-brand-btn) 80%, var(--gs-ink));
  --bs-btn-disabled-bg: var(--gs-brand-btn);
  --bs-btn-disabled-border-color: var(--gs-brand-btn);
}
/* ── AI Report Builder chart card ─────────────────────────────────────────────
   One class for the container every LLM-generated chart is wrapped in. It exists
   because the prompt specified this card TWICE, differently -- radius 8px/padding
   15px/border/one shadow in its layout example, and radius 12px/padding 20px/no
   border/two shadows forty lines later -- so a single dashboard could render both.

   The larger reason is Docs/UI/AI_Report_Builder_Visual_Audit.md §5.2: everything
   else in a generated chart is an inline literal inside a JavaScript string, which
   no selector and therefore no token can reach. This class is the one part of that
   output a stylesheet CAN reach, so it is also the only part that will follow dark
   mode without regenerating every stored report.

   Values are the §4d pair (the more considered of the two), on tokens. */
.gc-chart-card {
  background: var(--gs-surface);
  border: 1px solid var(--gs-line);
  border-radius: .75rem;
  padding: 1.25rem;
  box-shadow: var(--gs-shadow-card);
  margin-bottom: 1.25rem;
}


/* ── workflow and post-action visuals in generated guides ─────────────────────

   Bill, 2026-09-03: "cach nao nhung/embed workflow truc tiep hay ve mui ten vao

   noi mo ta workflow thay vi text?" The guides emit SEMANTIC markup only - state

   chips and labelled arrows - and this styles it. Chosen over an iframe of the

   live chart (needs a session, dies in export/print, and embeds a per-database

   workflow ID that a rebuild silently kills) and over LLM-drawn SVG (models

   break coordinates at this size, and nothing can verify the drawing).

   Degrades to readable text where the stylesheet is absent: Open Submit Pending.

   Tokens only - the colour-literal ratchet counts hex, and these add none. */

.gc-wf { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; margin:.5rem 0 .9rem; }

.gc-wf-state {

  display:inline-block; padding:.25rem .7rem; border-radius:999px;

  background: var(--gs-surface-2); border:1px solid var(--gs-line);

  color: var(--gs-ink); font-size:.8125rem; font-weight:600; white-space:nowrap;

}

.gc-wf-start { background: var(--gs-brand); border-color: var(--gs-brand); color: var(--gs-brand-fg); }

.gc-wf-terminal { border-style: double; border-width: 3px; }

.gc-wf-arrow {

  display:inline-flex; align-items:center; gap:.25rem;

  color: var(--gs-ink-3); font-size:.71rem; white-space:nowrap;

}

.gc-wf-arrow::after { content:"\2192"; font-size:1rem; color: var(--gs-ink-3); }




.gc-pa {

  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem;

  border:1px solid var(--gs-line); border-left:4px solid var(--gs-brand);

  border-radius:.5rem; padding:.5rem .75rem; margin:.4rem 0; font-size:.8438rem;

}

.gc-pa-when { color: var(--gs-ink); font-weight:600; }

.gc-pa-then { color: var(--gs-ink); }

/* App Guide embeds: a readonly screen form shown as a visual reference, and the mermaid
   diagram fallback. The readonly form is loaded as a fragment (no field scripts) and made
   inert here so it reads as a picture of the screen, not an input the reader might try. */
.gc-embed { margin:.6rem 0 1rem; }

/* Readonly form: text/number fields inert (cannot be edited), but dropdowns and selects stay
   clickable so a reader can open one to see its options. No submit button is rendered. */
.gc-form-readonly form.gc-readonly { pointer-events:none; }
/* Re-enable only real dropdowns. NOTE: `.relation` is GimCore's generic class on plain text
   inputs too (Product Code, Barcode...), so it must NOT be in this list or every text field
   becomes clickable. Native <select> is the "- Select -" dropdown; the dropbox/dropdown-menu
   selectors cover the search-style relation pickers. */
.gc-form-readonly form.gc-readonly select,
.gc-form-readonly form.gc-readonly .dropboxsearch,
.gc-form-readonly form.gc-readonly [class*="dropbox"],
.gc-form-readonly form.gc-readonly .dropdown-toggle,
.gc-form-readonly form.gc-readonly .dropdown-menu,
.gc-form-readonly form.gc-readonly .dropdown-menu * {
  pointer-events:auto;
}

.gc-form-readonly {
  border:1px solid var(--gs-line); border-radius:.5rem; padding:.75rem 1rem;
  background: var(--gs-surface-2);
}

.gc-form-readonly form.gc-readonly { background:transparent; }

/* Tab name shown above each stacked tab in a readonly embed (the tab strip itself is dropped). */
.gc-form-readonly .gc-embed-tab {
  margin:.9rem 0 .4rem; padding-bottom:.25rem; font-size:.9375rem; font-weight:700;
  color: var(--gs-ink); border-bottom:1px solid var(--gs-line);
}
.gc-form-readonly .gc-embed-tab:first-child { margin-top:0; }

/* App Guide dossier: the small label above a screen's workflow, and the modal-preview
   placeholder shown where the real form renders once the guide is published. */
.gc-scr-sublabel { margin:.6rem 0 .2rem; font-size:.8125rem; color: var(--gs-ink-3); }
.gc-scr-desc, .gc-scr-auto { margin:.3rem 0 .5rem; }
.gc-form-placeholder {
  border:1px dashed var(--gs-line); border-radius:.5rem; padding:.6rem .8rem;
  background: var(--gs-surface-2); color: var(--gs-ink-3); font-size:.8125rem;
}

/* Highlighted identifiers in guide prose: a SCREEN name (bold, brand tint) and a FIELD name
   (a light code chip). Applied by the guide builder so screen/field names stand out. */
.gc-sn { font-weight:700; color: var(--gs-brand); }

/* Data-flow section: the small parent->lines pairs, and the standalone reference screens. */
.gc-flow-pairs { margin:.4rem 0 .6rem; }
.gc-flow-alone { color: var(--gs-ink-3); font-size:.875rem; margin:.3rem 0 .6rem; }
code.gc-fn {
  background: var(--gs-surface-2); border:1px solid var(--gs-line); border-radius:.25rem;
  padding:.02em .35em; color: var(--gs-ink); font-size:.92em;
}

/* Mermaid centres its svg by default, which leaves a guide diagram floating in the middle of
   the column while every heading and paragraph starts at the left. Pin it to the left edge and
   let a wide graph scroll rather than shrink. */
[data-macro-type="bsmermaid"], .mermaid { text-align: left; overflow-x: auto; }
[data-macro-type="bsmermaid"] svg, .mermaid svg { display: block; margin-left: 0; margin-right: auto; }

/* A macro whose stored source is damaged says so, rather than rendering as an odd empty block.
   Silent degradation is how seven destroyed diagrams reached a customer-facing page unnoticed. */
.gc-macro-damaged {
  border:1px solid var(--gs-line); border-left:4px solid var(--gs-warning); border-radius:.5rem;
  background: var(--gs-surface-3); color: var(--gs-ink); padding:.7rem .9rem; margin:.5rem 0;
  font-size:.875rem;
}

.gc-mermaid-fallback {
  border:1px solid var(--gs-line); border-radius:.5rem; padding:.6rem .8rem;
  background: var(--gs-surface-2); color: var(--gs-ink); overflow-x:auto;
  font-size:.8125rem; white-space:pre;
}


/* â”€â”€ GimCore Pages Enterprise UI â”€â”€ */
.gim-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 4px 0 20px;
}

.gim-page-header h5 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #1e293b;
    letter-spacing: .01em;
}

.btn-new-page {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 8px;
    font-size: .87rem;
    letter-spacing: .02em;
}

.gim-status-tabs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 16px;
}

.gim-status-tab {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: .77rem;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: .04em;
    transition: opacity .15s, box-shadow .15s;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .1);
}

.gim-status-tab:hover {
    opacity: .82;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .15);
    text-decoration: none;
}

.gim-status-tab .cnt {
    background: rgba(255, 255, 255, .3);
    border-radius: 10px;
    padding: 0 7px;
    font-size: .72rem;
    font-weight: 800;
}

.gim-bulk-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 16px;
    background: #f8f9fb;
    border: 1px solid #e4e8ef;
    border-radius: 10px;
    margin-bottom: 16px;
}

.gim-bulk-bar select.form-control {
    font-size: .84rem;
    height: 34px;
    border-radius: 7px;
    min-width: 160px;
}

.gim-bulk-bar .btn {
    font-size: .83rem;
    height: 34px;
    border-radius: 7px;
    padding: 0 15px;
}

.gim-search-box {
    margin-left: auto;
}

.gim-search-box .form-control {
    font-size: .85rem;
    border-right: none;
}

.gim-search-box .input-group {
    border-radius: 8px;
    border: 1px solid var(--gs-line);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .06);
}

.gim-search-box .input-group .form-control {
    border: none;
    border-radius: 8px 0 0 8px;
    box-shadow: none;
    font-size: .87rem;
}

.gim-search-box .input-group .form-control:focus {
    box-shadow: none;
}

.gim-search-box .input-group .input-group-text {
    border: none;
    border-radius: 0 8px 8px 0;
    background: var(--gs-surface);
    border-left: 1px solid var(--gs-line);
}

/* Table */
.gim-pages-table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.gim-pages-table thead tr {
    background: #f1f4f9;
}

.gim-pages-table thead th {
    font-size: .71rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--gs-ink-3);
    padding: 10px 13px;
    border-bottom: 2px solid #dde3ee;
    white-space: nowrap;
}

.gim-pages-table tbody tr {
    border-bottom: 1px solid #edf0f7;
    transition: background .12s;
}

.gim-pages-table tbody tr:last-child {
    border-bottom: none;
}

.gim-pages-table tbody tr:hover {
    background: #f5f7fc;
}

.gim-pages-table td {
    padding: 9px 13px;
    vertical-align: middle;
    font-size: .87rem;
}

/* Title cell */
.gim-page-row-title {
    display: flex;
    align-items: center;
    gap: 9px;
}

.gim-page-icon {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: #e8f0fe;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: .8rem;
    color: #1a56db;
}

.gim-page-name {
    font-weight: 600;
    color: #1a56db;
    font-size: .9rem;
    text-decoration: none;
}

.gim-page-name:hover {
    color: #1140a8;
    text-decoration: underline;
}

.gim-page-name.trashed {
    text-decoration: line-through;
    color: #9ca3af;
}

.gim-page-name.archived {
    color: #7c3aed;
}

/* Space vs Page color distinction */
.gim-page-name.is-space {
    color: #0e7490;
    font-style: italic;
}

/* teal-ish for spaces */
.gim-page-icon.is-space {
    background: #cffafe;
    color: #0e7490;
}

.space-label {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    padding: 1px 6px;
    border-radius: 4px;
    background: #cffafe;
    color: #0e7490;
    vertical-align: middle;
    margin-left: 5px;
}

/* Row action dropdown */
.gim-action-btn {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    border: 1px solid #e2e6ed;
    background: var(--gs-surface);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--gs-ink-3);
    cursor: pointer;
    transition: background .12s, color .12s;
    font-size: 1rem;
}

.gim-action-btn:hover {
    background: #f1f5f9;
    color: #1a56db;
    border-color: #c7d2e0;
}

.gim-action-menu {
    min-width: 180px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    padding: 5px 0;
}

.gim-action-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: .82rem;
    padding: 7px 14px;
    color: #374151;
    transition: background .1s;
}

.gim-action-menu .dropdown-item:hover {
    background: #f1f5f9;
    color: #1a56db;
}

.gim-action-menu .dropdown-item .di-icon {
    width: 18px;
    text-align: center;
}

.gim-action-menu .dropdown-item.item-danger {
    color: #dc2626;
}

.gim-action-menu .dropdown-item.item-danger:hover {
    background: #fef2f2;
    color: #b91c1c;
}

.gim-action-menu .dropdown-divider {
    margin: 4px 0;
}

/* Inputs */
.order-input {
    width: 54px;
    text-align: center;
    font-size: .84rem;
    border: 1px solid var(--gs-line);
    border-radius: 6px;
    padding: 3px 6px;
    color: #374151;
    transition: border-color .15s;
    background: var(--gs-surface);
}

.order-input:focus {
    outline: none;
    border-color: #60a5fa;
    box-shadow: 0 0 0 2px rgba(96, 165, 250, .2);
}

/* Badges */
.gpill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .71rem;
    font-weight: 700;
    letter-spacing: .05em;
    padding: 3px 10px;
    border-radius: 20px;
}

.gpill-pub {
    background: #d1fae5;
    color: #065f46;
}

.gpill-draft {
    background: #fef3c7;
    color: #92400e;
}

.gpill-arch {
    background: #ede9fe;
    color: #4c1d95;
}

.gpill-trash {
    background: #fee2e2;
    color: #991b1b;
}

.gpill-page {
    background: #f1f5f9;
    color: #475569;
}

.gim-pager {
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 768px) {
    .gim-bulk-bar {
        flex-direction: column;
        align-items: flex-start;
    }

    .gim-search-box {
        margin-left: 0;
        width: 100%;
    }
}

/*===== Vertical Timeline =====*/
/*@import url("https://fonts.googleapis.com/css?family=Oswald|Roboto:400,700");*/
/*@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700);


/* Global Custom Scrollbar system-wide */
/*::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #94a3b8;
}*/

/** {
    font-family: 'Open Sans', sans-serif, Arial, Helvetica;
}*/

.dropdown-item {
    padding: .25rem .5rem !important;
}

.dropdown-menu>li>a {
    padding: 5px 20px 5px 10px !important;
}

.note-toolbar .dropdown-style {
    line-height: 0.5 !important;
    padding-left: 10px !important;
}

.note-toolbar .dropdown-style>li {
    padding: 5px !important;
    min-width: 200px !important;
}

.note-toolbar .dropdown-style>li>a {
    padding: 5px !important;
}

.page-tree-view .fa-angle-right,
.fa-angle-down {
    margin-right: 5px;
    cursor: pointer;
}

.has-feedback {
    position: relative;
}

.form-control-feedback {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    display: block;
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    pointer-events: none;
}


.timeline-item {
    padding: 3em 2em 2em;
    position: relative;
    color: rgba(0, 0, 0, 0.7);
    border-left: 2px solid rgba(0, 0, 0, 0.3);
}

.timeline-item p {
    font-size: 1em;
}

.timeline-item::before {
    content: attr(date-is);
    position: absolute;
    left: 2em;
    font-weight: bold;
    top: 10px;
    display: block;
}

.timeline-item::after {
    width: 10px;
    height: 10px;
    display: block;
    top: 1em;
    position: absolute;
    left: -6px;
    border-radius: 10px;
    content: '';
    border: 2px solid rgba(0, 0, 0, 0.3);
    background: white;
}

.timeline-item:first-child {
    -o-border-image: linear-gradient(to top, rgba(0, 0, 0, 0.3) 60%, transparent) 1 100%;
    border-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.3) 60%, transparent) 1 100%;
    border-image: linear-gradient(to top, rgba(0, 0, 0, 0.3) 60%, transparent) 1 100%;
}

.timeline-item:last-child {
    -o-border-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 60%, transparent) 1 100%;
    border-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.3) 60%, transparent) 1 100%;
    border-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 60%, transparent) 1 100%;
}

/*===== // Resonsive Vertical Timeline =====*/

/*===== // SQL Condition Rules*/
.rule-container::after {
    content: 'AND';
    position: absolute;
    left: 2em;
    font-weight: bold;
    top: 10px;
    display: block;
}

.typeahead-w-100p .twitter-typeahead {
    width: 100% !important;
}

.twitter-typeahead .tt-menu {
    min-width: 200px;
    margin-top: 2px;
    padding: 8px 0;
    background-color: var(--gs-surface);
    border: 1px solid var(--gs-line);
    border: 1px solid rgba(0, 0, 0, 0.2);
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
}

.twitter-typeahead .tt-suggestion {
    padding: 3px 10px;
}

/*typeahead markup*/
.twitter-typeahead .tt-query,
.twitter-typeahead .tt-hint {
    margin-bottom: 0;
}

.twitter-typeahead .tt-hint {
    display: none;
}

.tt-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0;
    margin: 2px 0 0;
    list-style: none;
    font-size: 14px;
    background-color: var(--gs-surface);
    border: 1px solid var(--gs-line);
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    background-clip: padding-box;
    cursor: pointer;
}

.tt-open {
    z-index: 10000;
}

.tt-suggestion {
    /*display: block;*/
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 1.428571429;
    color: #333333;
    white-space: normal;
}

.tt-suggestion:hover,
.tt-suggestion:focus {
    color: #ffffff;
    text-decoration: none;
    outline: 0;
    background-color: #007bff;
}

/*End type ahead*/

/*table responsive*/
/*.table-responsive tr:nth-child(even) {
    background: #FFF
}

.table-responsive tr:nth-child(odd) {
    background: #F9F9F9;
}*/

.table-responsive {
    border: solid 0px #e5ecf9;
    border-collapse: collapse;
}

.table-responsive td {
    border: solid 1px #e5ecf9;
    color: #016783;
    padding: 7px;
}

/*@media(max-width:800px) {*/
/* Force table to not be like tables anymore */
/*.table-responsive table,
    .table-responsive thead,
    .table-responsive tbody,
    .table-responsive th,
    .table-responsive td,
    .table-responsive tr {
        display: block;
    }*/

/* Hide table headers (but not display: none;, for accessibility) */
/*.table-responsive tr.thead {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .table-responsive tr {
        border-bottom: 1px solid #ccc;
        margin-top:10px;
    }

    .table-responsive td {*/
/* Behave  like a "row" */
/*border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-top:5px;
        padding-left: 50%;
        white-space: normal;
        text-align: left;
        vertical-align: middle;
        min-height: 35px;
        width:100%;
    }

    .table-responsive td:before {*/
/* Now like a table header */
/*position: absolute;*/
/* Top/left values mimic padding */
/*top: 6px;
        left: 6px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: bold;
    }*/

/*Label the data*/
/*.table-responsive td:before {
        content: attr(data-label);
    }
}*/
.page-tree-view>ul {
    padding-left: 0;
    padding-right: 10px;
    list-style: none;
    margin: 0;
}

.page-tree-view ul:not(:first-child) {
    padding-left: 15px;
}

.page-tree-view .glyphicon {
    position: relative;
    top: -1px;
    font-size: 10px;
    padding-right: 7px;
    color: #9f9a9a;
    cursor: pointer;
}

.page-tree-view .single {
    position: relative;
    top: -2px;
    font-size: 10px;
    padding-left: 2px;
    padding-right: 10px;
    color: #9f9a9a;
}

.page-tree-view .single:before {
    content: 'o'
}

.page-tree-view li {
    padding: 2px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-tree-view li.actived>a {
    font-weight: bold;
}

/*Assignee dropdown image*/
.img-30 {
    max-width: 30px !important;
}

.img-25 {
    max-width: 25px !important;
}

.hover-scroll {
    overflow: hidden;
}

.hover-scroll:hover {
    overflow: auto;
}

.hover-scroll-x {
    overflow: hidden;
}

.hover-scroll-x:hover {
    overflow-y: auto;
}

.hover-scroll-y {
    overflow: hidden;
}

.hover-scroll-y:hover {
    overflow-y: auto;
}

.alert {
    margin-top: 10px;
}

/*hide select arrow*/
.select-hide-arrow {
    overflow: hidden;
}

.select-hide-arrow select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: var(--gs-surface);
}

/* Screen tabs
   ---------------------------------------------------------------------------------------------
   Was two hardcoded Bootstrap 3 blues -- #5bc0de filled chips with #007bff for the active one --
   so every tab read as a button and the selected one was just a darker button. Bill, 2026-08-16,
   on the first screen ever to carry tabs: "cần làm lại tab cho pro hơn".

   Underline tabs instead: the label carries the meaning, the rule under it carries the state.
   Only the active tab spends any colour, which is what makes a 5-tab bar look calm and a 13-tab
   bar survivable -- and 13 is real, `Project` declares that many Childlists.

   Every value is a token, so this follows the theme into dark mode instead of staying light-blue
   there. The old #5bc0de did not. */
.screen-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--gs-space-3, .75rem);
    margin: 0 0 var(--gs-space-4, 1rem);
    padding: 0;
    list-style: none;
    border-bottom: 1px solid var(--gs-line);
    /* 13 tabs do not fit. Scroll the bar rather than wrapping it into a second row that pushes
       the form down and makes the tab strip look like content. */
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

.screen-tabs li {
    margin: 0;
    flex: 0 0 auto;
}

/* The strip is not only tabs — it also carries ACTIONS, and they were being styled as tabs.
   ---------------------------------------------------------------------------------------------
   Bill, 2026-08-23: "nút add tab, add fields không đẹp, chuẩn enterprise và các tab groups, ...
   mất top border".

   Everything lives inside one `ul.screen-tabs`: the tabs, the `+` that adds a tab, an `Add Field`
   link, and a `btn-group` of view modes (Form View / Table View / Groups / Pathline). Three
   separate faults followed from treating that whole list as tabs:

   1. THE TOP BORDER WAS BEING CUT OFF, and that one is mine. The view had
      `style="margin-top: -5px"` on the button group, and the strip carries `overflow-y: hidden` —
      added when it was made to scroll horizontally, to stop a vertical scrollbar appearing. A
      negative margin plus a clipping container removes exactly the 5px the buttons' top border sits
      in. The inline margin is gone from the view and the strip centres its items instead, which is
      what that margin was approximating by hand.

   2. `Add Field` is an `<a>` WITH NO CLASS, and `.field-add` has no stylesheet entry anywhere. So
      it inherited the underline-tab rule and read as a tab you could select. It is a command.

   3. `float-end` on the button group does nothing — `float` is ignored on a flex item, and this
      list became `display:flex` when it was made scrollable. `margin-left: auto` is the flex way
      to push it to the trailing edge, and it is what kept the group from drifting into the tabs. */
.screen-tabs {
    align-items: center;
    /* Bill, 2026-08-23: "khoãng cách 2 buttons hơi xa nhìn rời rạc".
       One `gap` serves both kinds of item, and 16px is right for tabs and far too much for two
       adjacent buttons. Measured: `+` to `Add Field` and `Add Field` to the view-mode group were
       both 16px, the same as tab to tab.

       Halving the gap and giving the tab links back the 4px in padding keeps the TABS looking
       exactly as they did -- label to label was 4 + 16 + 4 = 24px and is now 8 + 8 + 8 = 24px --
       while the buttons, which have their own padding inside a border, close from 16px to 8px.
       Changing `gap` alone would have tightened the tabs too. */
    gap: var(--gs-space-2, .5rem);
}

/* The tabs answer "which part am I looking at". These answer "do something". A vertical rule
   separates the two groups, so the actions stop reading as more tabs. */
.screen-tabs li:has(> a[data-id="0"]),
.screen-tabs li:has(.field-add) {
    align-self: center;
}

.screen-tabs li > a[data-id="0"],
.screen-tabs a:has(.field-add) {
    display: inline-flex;
    align-items: center;
    gap: var(--gs-space-1, .25rem);
    padding: var(--gs-space-1, .25rem) var(--gs-space-2, .5rem);
    border: 1px solid var(--gs-line);
    border-radius: var(--gs-radius, .25rem);
    color: var(--gs-ink-2);
    font-weight: 500;
    line-height: 1.4;
    background: var(--gs-surface);
}

/* The underline belongs to tabs. An action must never look selected. */
.screen-tabs li > a[data-id="0"],
.screen-tabs li > a[data-id="0"]:hover,
.screen-tabs a:has(.field-add),
.screen-tabs a:has(.field-add):hover {
    border-bottom-color: var(--gs-line);
}

.screen-tabs li > a[data-id="0"]:hover,
.screen-tabs a:has(.field-add):hover {
    color: var(--gs-ink);
    background: var(--gs-surface-2, var(--gs-surface));
    border-color: var(--gs-ink-3);
}

/* The view-mode group had a spacing scheme of its own, and it disagreed with the strip's.
   ---------------------------------------------------------------------------------------------
   Bill, 2026-08-23, pointing at the Form View / Table View join: "khoãng cách nên bằng khoãng cách
   giữa các tab". Measured, everything in the strip sat at 8px -- tab to tab, `+` to `Add Field`,
   `Add Field` to this group -- while INSIDE the group it was:

       Form View -> Table View    3px    Bootstrap's `.btn-group > .btn + .btn { margin-left: -1px }`
       everything after that      4px    an inline `margin-left: 4px` on seven elements

   Two different mechanisms producing two values, neither of them the strip's. The inline margins
   are gone from the view -- inline styles cannot be beaten from a stylesheet without `!important`,
   and adding seven of those to win an argument with markup is the wrong trade -- and the group now
   simply uses `gap`, which it can, being `inline-flex`.

   Bootstrap's -1px has to be cancelled too, or every pair sits at 7px instead of 8.

   ⚠️ Written first as `.screen-tabs li.float-end .btn-group > *`, which LOST and produced exactly
   that 7px. `*` contributes nothing to specificity, so that selector is (0,3,1), while Bootstrap's
   `.btn-group > :not(.btn-check:first-child) + .btn` is (0,4,0) — `:not()` takes the specificity of
   its argument, and `.btn-check:first-child` is worth two classes on its own. Naming the class
   instead of matching anything makes it (0,4,1) and it wins without `!important`. */
.screen-tabs .btn-group {
    gap: var(--gs-space-2, .5rem);
}

.screen-tabs li.float-end .btn-group > .btn,
.screen-tabs li.float-end .btn-group > .form-select,
.screen-tabs li.float-end .btn-group > .btn-group {
    margin-left: 0;
}

/* The view-mode group stays IN the strip and scrolls with it, which is where the markup puts it.
   `margin-left: auto` pushes it to the trailing edge whenever the strip has room to spare, and is
   simply inert when it does not -- an auto margin distributes free space and an overflowing strip
   has none. That is why the markup's `float-end` never did anything: float is ignored on a flex
   item, and this list became flex when it was made scrollable. */
.screen-tabs li.float-end {
    margin-left: auto;
    align-self: center;
}

.screen-tabs li.float-end .btn-group {
    margin-top: 0;
}

.screen-tabs a,
.screen-tabs li.active a {
    display: block;
    /* The horizontal padding was `--gs-space-1` and moved here to `--gs-space-2` when the strip's
       `gap` halved. Label to label stays 24px -- 8 + 8 + 8 where it used to be 4 + 16 + 4 -- so the
       tabs look unchanged while the ACTION buttons, which have their own border, close from 16px to
       8px. Changing the gap alone would have tightened the tabs too.

       ⚠️ Written first as a separate `.screen-tabs a { padding-left/right }` block placed ABOVE this
       one. Equal specificity, so this rule won and the override did nothing: the gap halved, the
       padding did not, and the tabs came out at 16px instead of 24. Same-specificity CSS is decided
       by ORDER, and an override sitting earlier in the file is not an override at all. */
    padding: var(--gs-space-2, .5rem) var(--gs-space-2, .5rem);
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    color: var(--gs-ink-3);
    font-weight: 500;
    white-space: nowrap;
    text-decoration: none;
    /* The active tab goes from 500 to 600. Without this the whole bar shifts by a pixel or two
       when you change tab, because bolder text is wider. */
    transition: color .12s ease, border-color .12s ease;
}

.screen-tabs a:hover,
.screen-tabs a:focus-visible {
    color: var(--gs-ink);
    border-bottom-color: var(--gs-line);
}

.screen-tabs a:focus-visible {
    outline: 2px solid var(--gs-brand);
    outline-offset: 2px;
}

.screen-tabs li.active a {
    color: var(--gs-ink);
    font-weight: 600;
    border-bottom-color: var(--gs-brand);
}

/* Child-count badges: "Task(7)" on a tab whose content is a childlist.
   ---------------------------------------------------------------------------------------------
   The number is computed and kept current by screen-tabs.js -- this only styles the span it
   appends inside `a.screen-tab`. Muted and un-bolded on purpose: the tab NAME is what a user
   scans for, the count is a secondary fact next to it, not a second label competing for
   attention. `font-variant-numeric: tabular-nums` keeps the tab from twitching sideways as a
   count goes from a single digit to two while a childlist is being edited. */
.screen-tab .tab-child-badge {
    margin-left: var(--gs-space-1, .25rem);
    color: var(--gs-ink-3);
    font-weight: 400;
    font-variant-numeric: tabular-nums;
}

.screen-tabs li.active .tab-child-badge {
    color: var(--gs-ink-2);
}

@media (prefers-reduced-motion: reduce) {
    .screen-tabs a { transition: none; }
}

.issue-screen-tabs {
    border-bottom: 1px solid var(--gs-line);
}

/* Screen tabs, part 2: a strip that overflows must SAY it overflows.
   ---------------------------------------------------------------------------------------------
   The rule above chose scrolling over wrapping, and that was right -- a second row pushes the form
   down and makes the tab strip read as content. What it did not do is tell you there is anything
   to scroll to. Measured on `gimcore_dev_test` @ DESKTOP-P84FJR0, 2026-08-23, viewport 1440:

     runtime  /apps/project-management/project/new   14 tabs, strip 1200px, content 1538px
                                                     ->  3 of 14 tabs INVISIBLE, no affordance
     editor   /projectscreen/index/34808             17 tabs, strip 1200px, content 3238px
                                                     ->  9 of 17 tabs INVISIBLE
                                                     ->  634px -- a FIFTH of the strip -- is the
                                                         pencil+trash icons, 30 of them, all at rest

   Silent truncation is the defect, not the scrolling. A user who cannot see `Project Phases` has
   no reason to believe it exists, and the native scrollbar (11px, sitting under the labels) reads
   as damage rather than as an invitation.

   43 screens carry a tab strip, 17 of them have 6+ tabs and 7 have 10+, so this is the normal case
   for a real app rather than an edge one. `Project` declares 14 and AI Governance 12.

   PROGRESSIVE ENHANCEMENT, DELIBERATELY. Everything here hangs off `.screen-tabs-scroller`, a
   wrapper that only exists once screen-tabs.js has run. If the script is absent the strip keeps its
   native scrollbar and behaves exactly as before -- which matters, because hiding the scrollbar
   without providing arrows would leave a strip that is truncated AND has no way out. */
.screen-tabs-scroller {
    position: relative;
    display: flex;
    align-items: stretch;
    /* The border moves here from the <ul>: the arrows sit outside the scrolling area, and a rule
       that stops short of them looks like a mistake. */
    border-bottom: 1px solid var(--gs-line);
    margin: 0 0 var(--gs-space-4, 1rem);
}

.screen-tabs-scroller > .screen-tabs {
    margin: 0;
    border-bottom: 0;
    /* ⚠️ `flex: 1 1 0` and `min-width: 0` are load-bearing, and their absence was invisible.
       The scroller holds four children -- prev arrow, this list, next arrow, and the pinned action
       buttons. With the list left at its default `flex: 0 1 auto` it lost the fight for space to a
       847px button group inside a 504px scroller and was squeezed to `clientWidth: 0`. The tabs
       vanished and every arrow click moved `clientWidth * 0.8` = ZERO pixels.
       Caught only by driving the arrows -- on a wide window there is enough room that nothing looks
       wrong, so the fault hides at exactly the widths where the scroller matters most.
       `min-width: 0` is the half people omit: a flex item refuses to shrink below its content
       without it, and this item's content is the full tab strip. */
    flex: 1 1 0;
    min-width: 0;
    /* The arrows are the affordance now, so the scrollbar is redundant -- and it was stealing 11px
       of height under every label. Scrolling by wheel, trackpad, touch and keyboard all still work;
       only the visible bar goes. */
    scrollbar-width: none;
    -ms-overflow-style: none;
    /* NO `scroll-behavior: smooth` HERE, and the reason is measured rather than stylistic.
       Setting it made `ul.scrollLeft = 500` leave scrollLeft at 0; removing it made the identical
       assignment land on 500. So a failed smooth scroll does not degrade to an instant one -- it
       does not scroll at all, silently. The arrows ask for smoothness in JS instead, where the
       result can be checked and forced. See screen-tabs.js. */
}

.screen-tabs-scroller > .screen-tabs::-webkit-scrollbar {
    display: none;
}

/* The fades are what make a cut-off label read as "continues" rather than "ends". They are
   pointer-events:none so they never eat a click on the tab underneath, and they are attached to the
   SCROLLER rather than to the <ul> so they do not scroll away with the content. */
.screen-tabs-scroller::before,
.screen-tabs-scroller::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 1px;
    width: var(--gs-space-6, 2rem);
    pointer-events: none;
    opacity: 0;
    transition: opacity .12s ease;
    z-index: 1;
}

.screen-tabs-scroller::before {
    left: 0;
    background: linear-gradient(to right, var(--gs-surface), transparent);
}

.screen-tabs-scroller::after {
    right: 0;
    background: linear-gradient(to left, var(--gs-surface), transparent);
}

.screen-tabs-scroller.can-scroll-left::before,
.screen-tabs-scroller.can-scroll-right::after {
    opacity: 1;
}

.screen-tabs-arrow {
    flex: 0 0 auto;
    display: none;
    align-items: center;
    justify-content: center;
    width: var(--gs-space-6, 2rem);
    padding: 0;
    background: var(--gs-surface);
    border: 0;
    color: var(--gs-ink-3);
    cursor: pointer;
    z-index: 2;
}

/* Both arrows appear together, and only when the strip actually overflows. An arrow that appears
   and disappears as you scroll shifts every tab sideways under the cursor. */
.screen-tabs-scroller.is-overflowing > .screen-tabs-arrow {
    display: flex;
}

.screen-tabs-arrow:hover:not(:disabled) {
    color: var(--gs-ink);
}

.screen-tabs-arrow:disabled {
    opacity: .35;
    cursor: default;
}

.screen-tabs-arrow:focus-visible {
    outline: 2px solid var(--gs-brand);
    outline-offset: -2px;
}

/* A record region with nothing in it must not reserve 100px.
   ---------------------------------------------------------------------------------------------
   Bill, 2026-08-23, on Employee #4: "tại sao có tab thứ 2 trở đi bị khoãng trắng ở trên?"

   Issue.cshtml:1071 renders the centre column unconditionally -- the LEFT column at :1018 is
   guarded by `@if (leftcount > 0)` and the centre one is not -- and it carries `gt-h-min-100`,
   which site.css:1745 defines with `!important`. So a tab whose only field is a childlist renders
   an empty 100px box above the list.

   That is not one screen. Measured, gimcore_dev_test @ DESKTOP-P84FJR0:

       260 tabs in the catalogue
       208 of them, across 37 screens, hold ONLY `bottom` fields -- top, left, centre and right
           are all empty

   Childlists always land in `bottom`, so every child tab of every screen does this. Employee is
   simply where it was noticed: its General tab has 30 centre fields and looks right, and all 12
   child tabs have exactly one bottom field and look broken.

   WHY THE SELECTOR IS THIS NARROW, AND NOT `.gt-h-min-100:not(:has(> *))`
   That class has 25 sites. Five of them are ScreenById's drag-and-drop zones -- `field-top`,
   `field-left`, `field-center`, `field-right`, `field-bottom` -- where an EMPTY region must keep
   its height, because an empty drop target you cannot drop onto is worse than the gap this rule
   removes. The footer, the kanban columns and several textareas are in there too. The broad rule
   would have fixed 3 views and broken 5 sites that had no symptom at all.

   The record regions are separable: only they combine the min-height with the flex triple below.
   The editor's zones read `field-container gt-h-min-100 round-w screen-field` and carry none of it.

   `!important` is required rather than chosen -- the declaration being overridden is itself
   `!important`, so specificity cannot reach it. It raises `important_declarations`, and that
   raise is recorded against this change rather than absorbed silently.

   ⚠️ `:not(.cleared)` IS THE WHOLE RULE, and the first version of this shipped without it and
   changed nothing. Written as `:not(:has(> *))`, reasoned from the Razor -- the centre column's
   content is inside `@foreach (var f in center...)`, so an empty `center` emits no elements and
   the column is empty. It is not. Measured on the rendered page:

       col-md-12 gt-h-min-100 d-flex flex-wrap align-content-start
       innerHTML:  <div class="cleared"></div>
       matches '...:not(:has(> *))'   ->  FALSE
       matches '...' without :has     ->  TRUE

   One float-clearing div, no text, no height of its own -- and it makes the column non-empty for
   every selector that asks the obvious question. So "empty" here means "holds nothing but
   scaffolding", which is a different predicate from "holds no elements", and only the DOM could
   say so. The Razor reads as though it were the same one.

   Proved on the page in three arms rather than reasoned a second time:

       tab with only a childlist   row 100px -> 0     (the fix does enough)
       General tab, 30 fields      2294px   -> 2294   (it does not do too much)
       probe removed               row      -> 100    (that rule is what moved it)

   RESIDUAL, stated rather than fixed: a region holding only HIDDEN fields still has real element
   children, so the 100px stays. The measured class above is regions with no field rows at all,
   which is the common case; the hidden-only case wants a Razor-side count and belongs with
   whoever guards :1071 properly. */
.gt-h-min-30.d-flex.flex-wrap.align-content-start:not(:has(> *:not(.cleared))),
.gt-h-min-100.d-flex.flex-wrap.align-content-start:not(:has(> *:not(.cleared))) {
    min-height: 0 !important;
}

/* The editor's per-tab pencil and trash, on the ACTIVE tab only.
   ---------------------------------------------------------------------------------------------
   30 icons at rest cost 634px of a 3238px strip. Showing them on hover instead would recover that
   width but reflow the whole bar under the pointer, which is worse than the problem. Binding them
   to the active tab costs one click -- select the tab, then rename or delete it -- and that is
   already how you work in this editor, because clicking a tab reloads the page onto it.

   `:focus-within` is kept so the icons are reachable by keyboard without a mouse ever moving. */
.screen-tabs li .tab-update {
    display: none;
}

.screen-tabs li.active .tab-update,
.screen-tabs li:focus-within .tab-update,
.screen-tabs li > a[data-id="0"] .tab-update {
    display: inline;
}

/* An empty workspace region must not reserve height.
   ---------------------------------------------------------------------------------------------
   Bill, 2026-08-16, on the Performance & Documents tab: "tab cuối không biết tại sao có khoãng
   trống ở trên". Measured: that tab is the only one whose fields all sit in `bottom` -- top,
   left, center and right are all empty -- and Edit.cshtml:597 renders the top region on
   `topcount != 0 || project.RoleId != ""`, so a project with a role renders the box with nothing
   in it. Two empty flex containers stack, each with its own margin, and that is the gap.

   The condition is left alone: the second arm exists so role-dependent content can appear there,
   and a screen where it does must keep its container. Collapsing on ACTUAL emptiness is the
   narrower statement -- if anything renders inside, this rule stops applying by itself.

   :empty would not work; these containers hold whitespace and comments. */
.workspace-4-regions > div:not(:has(> *)) {
    display: none;
}

/* `.workspace-bottom` is not empty, so the rule above never touches it -- and it carries its own
   top-of-block spacing (`gt-m-t-20 mt-3 pt-3 border-top`, Edit.cshtml:808), meant to separate it
   from real content in top/middle. On a tab where top and middle collapse to nothing (any tab
   whose only field is a childlist -- which is every childlist field since this morning, when
   Edit.cshtml started rendering them at all), that spacing has nothing to separate FROM and reads
   as an unexplained ~33px gap plus a stray rule line above the childlist's own heading.

   Bill, 2026-08-24, on the "Tasks" tab of a Project record: "chỗ edit load child list ở tab khác
   general đang dư top line". Measured: margin-top 16px + padding-top 16px + border-top 0.8px
   before ANY of the childlist's own markup.

   `!important` is required, not chosen: Bootstrap's `.mt-3`, `.pt-3` and `.border-top` are all
   `!important` in this build (checked in the loaded stylesheet before writing this, not assumed),
   so nothing without it can win regardless of specificity.

   Proved in three arms on the live page: top empty -> 0/0/0. A fake element appended into
   `.workspace-top` -> the rule stops matching and the gap returns to 16px/16px/0.8px, unchanged
   -- a tab that genuinely has content above the childlist keeps its separator. Removing the fake
   element restores 0/0/0. */
.workspace-4-regions:not(:has(> .workspace-top > *, > .workspace-middle > *)) > .workspace-bottom {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top-width: 0 !important;
}

/*Override bootstrap tooltip color*/
.tooltip .tooltip-inner {
    background-color: #34495E;
    color: white;
}

.tooltip.top .tooltip-arrow {
    border-top-color: #34495E;
}

/*Page Content Layout*/
/*.page-content-path-container span:first-child{
    padding-left: 0px !important;
}*/
.page-content-left {
    overflow: hidden;
    position: relative;
    width: fit-content;
    block-size: fit-content;
}

.page-content-left-resizer {
    cursor: col-resize;
    height: 100%;
    right: 0;
    top: 0;
    width: 10px;
    position: absolute;
}

@media(max-width:700px) {
    .page-content-left {
        width: 100%;
        max-height: 500px;
        overflow-y: auto;
        margin-bottom: 30px;
    }

    .hideLeft {
        display: none;
    }
}

@media(min-width:701px) {
    .page-content-container {
        display: table;
        width: 100%;
    }

    .page-content-left {
        /*        min-width: 300px;
        max-width: 300px;*/
        width: 300px;
        display: table-cell;
        vertical-align: top;
        min-height: 100vh;
    }

    .page-content-right {
        display: table-cell;
        vertical-align: top;
    }
}

#highlight_menu {
    font-size: 18px;
    color: #fff;
    border-radius: 5px;
    /*background: rgba(0,0,0,.5);*/
    position: absolute;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    z-index: 1;
}

#highlight_menu ul {
    list-style-type: none;
    padding: 0px;
}

#highlight_menu li {
    float: left;
    padding: 1px;
}

.highlight_menu_animate {
    transition: top 75ms ease-out, left 75ms ease-out;
}

#highlight_menu .caret {
    border-style: solid;
    border-width: 10px 10px 0px 10px;
    border-bottom-color: transparent;
    border-left-color: transparent;
    border-top-color: rgba(0, 0, 0, .5);
    border-right-color: transparent;
    width: 0px;
    height: 0px;
    display: block;
    position: absolute;
    top: 35px;
    left: 72px;
}

/*End Page Content Layout*/

/*large radio*/
.radio-large {
    height: 25px;
    width: 25px;
    display: inline-block;
    cursor: pointer;
    vertical-align: middle;
    background: var(--gs-surface);
    /*border: 1px solid #d2d2d2;*/
    border-radius: 100%;
}

.checkbox-middle {
    height: 15px;
    width: 15px;
    display: inline-block;
    cursor: pointer;
    vertical-align: middle;
    background: var(--gs-surface);
    /*border: 1px solid #d2d2d2;*/
    border-radius: 100%;
}

.checkbox-large {
    height: 20px;
    width: 20px;
    display: inline-block;
    cursor: pointer;
    vertical-align: middle;
    background: var(--gs-surface);
    /*border: 1px solid #d2d2d2;*/
    border-radius: 100%;
}

/*custom autocomplete*/
.gt-autocomplete-items {
    position: absolute;
    border: 1px solid var(--gs-line);
    border-top: none;
    background-color: var(--gs-surface);
    z-index: 10000;
    /*position the autocomplete items to be the same width as the container:*/
    top: 100%;
    left: 0;
    right: 0;
}

.gt-autocomplete-items div {
    padding: 10px;
    cursor: pointer;
    background-color: var(--gs-surface);
    border-bottom: 1px solid var(--gs-line);
}

/*when hovering an item:*/
.autocomplete-items div:hover {
    background-color: var(--gs-surface-3);
}

/*when navigating through the items using the arrow keys:*/
.gt-autocomplete-active {
    background-color: DodgerBlue !important;
    color: #ffffff;
}

/*script edit - remove central line*/
.ace_print-margin {
    display: none;
}

/*wizard steps*/
.wizard {
    display: flex;
    text-align: center;
}

.wizard__step {
    /* Make all steps have the same width */
    flex: 1;
}

.wizard__dot {
    /* Center the content */
    align-items: center;
    display: flex;
    justify-content: center;
}

.wizard__connector {
    flex: 1;
    height: 1px;
    background-color: rgba(0, 0, 0, .3);
}

.wizard__step:first-child .wizard__connector,
.wizard__step:last-child .wizard__connector {
    /*background-color: transparent;*/
}

.wizard__number {
    /* Center the content */
    align-items: center;
    display: flex;
    justify-content: center;
    /* Rounded border */
    /*background-color: rgba(0, 0, 0, 0.3);*/
    background-color: var(--gs-surface-3) !important;
    border-radius: 9999px;
    height: 25px;
    width: 25px;
    /*    border: solid 1px #abc;*/
    /* OPTIONAL: Spacing between it and connectors */
    margin-left: 4px;
    margin-right: 4px;
    padding: 0 5px 0 5px;
    /*    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-border-radius: 5px;*/
}

.wizard__number.active {
    background-color: #5cb85c !important;
    color: #fff;
}

/*dropboxsearch*/
/*:not(.input-group) > .dropboxsearch.form-control:not([class*=col-]) {
    width: 100%;
}
.dropboxsearch:not(.input-group-btn), .dropboxsearch[class*=col-] {
    float: none;
    display: inline-block;
    margin-left: 0;
}*/
/*.btn-secondary {
    background-color: #eee;
    border-color: #eee;
}

.btn-group > .btn.btn-secondary.radius-left {
    border-top-left-radius: 4px !important;
    border-bottom-left-radius: 4px !important;
}

.btn-group > .btn.btn-secondary.radius-right {
    border-top-right-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
}*/
.btn-secondary {
    color: var(--gs-ink);
    background-color: var(--gs-surface);
    border-color: var(--gs-line)
}

.btn-secondary.focus,
.btn-secondary:focus {
    color: var(--gs-ink);
    background-color: #e6e6e6;
    border-color: #8c8c8c
}

.btn-secondary:hover {
    color: var(--gs-ink);
    background-color: #e6e6e6;
    border-color: #adadad
}

.btn-secondary.active,
.btn-secondary:active,
.open>.dropdown-toggle.btn-secondary {
    color: var(--gs-ink);
    background-color: #e6e6e6;
    background-image: none;
    border-color: #adadad
}

.btn-secondary.active.focus,
.btn-secondary.active:focus,
.btn-secondary.active:hover,
.btn-secondary:active.focus,
.btn-secondary:active:focus,
.btn-secondary:active:hover,
.open>.dropdown-toggle.btn-secondary.focus,
.open>.dropdown-toggle.btn-secondary:focus,
.open>.dropdown-toggle.btn-secondary:hover {
    color: var(--gs-ink);
    background-color: #d4d4d4;
    border-color: #8c8c8c
}

.btn-secondary.disabled.focus,
.btn-secondary.disabled:focus,
.btn-secondary.disabled:hover,
.btn-secondary[disabled].focus,
.btn-secondary[disabled]:focus,
.btn-secondary[disabled]:hover,
fieldset[disabled] .btn-secondary.focus,
fieldset[disabled] .btn-secondary:focus,
fieldset[disabled] .btn-secondary:hover {
    background-color: var(--gs-surface);
    border-color: var(--gs-line)
}

.btn-secondary .badge {
    color: #fff;
    background-color: #333
}

.dropboxsearch.form-control {
    margin-bottom: 0;
    padding: 0 0 0 2px;
    /*border: none;*/
}

.dropboxsearch>select {
    position: absolute !important;
    bottom: 0;
    left: 50%;
    display: block !important;
    width: .5px !important;
    height: 100% !important;
    padding: 0 !important;
    opacity: 0 !important;
    border: none;
}

.dropboxsearch>.dropdown-toggle {
    position: relative;
    width: 100%;
    height: 34px;
    padding-top: 4px;
    padding-bottom: 4px;
    z-index: 1;
    text-align: right;
    white-space: nowrap;
    border: none;
    background: transparent;
    box-shadow: none;
    outline: none;
}

.dropboxsearch .dropboxsearch-option.validation-error {
    border: 2px solid red;
    border-radius: 4px;
    z-index: -1;
}

.dropboxsearch .dropdown-toggle .dropboxsearch-option {
    position: absolute;
    top: 0;
    left: 0;
    padding-top: inherit;
    padding-right: inherit;
    padding-bottom: inherit;
    padding-left: inherit;
    height: 100%;
    width: 100%;
    text-align: left;
}

.dropboxsearch .dropdown-toggle .dropboxsearch-option-inner {
    padding-right: inherit;
}

.dropboxsearch .dropdown-toggle .dropboxsearch-option-inner-inner {
    overflow: hidden;
}

.dropboxsearch .dropboxsearch-search {
    margin: 10px 10px 0px 10px;
}

.dropboxsearch .dropboxsearch-search a {
    padding: 0px 0px 5px 0px;
}

.dropboxsearch .dropboxsearch-result {
    margin: 0px 0px 5px 10px;
}

.dropboxsearch .dropboxsearch-selected {
    padding: 0px 5px 0px 0px;
    width: 100%;
    box-sizing: border-box;
}

.dropboxsearch .dropboxsearch-suggestion {
    overflow-y: auto;
    padding: 0px 5px 0px 0px;
    width: 100%;
    box-sizing: border-box;
}

.dropboxsearch>.dropdown-toggle.placeholder,
.dropboxsearch>.dropdown-toggle.placeholder:active,
.dropboxsearch>.dropdown-toggle.placeholder:focus,
.dropboxsearch>.dropdown-toggle.placeholder:hover {
    color: #999;
}

.dropboxsearch .item:hover {
    background-color: #fcf7ef;
    color: #42526e;
}

.dropboxsearch .item {
    margin-bottom: 0px;
    padding: 3px;
    cursor: pointer;
    border-bottom: solid 1px var(--gs-line);
    color: #25383C;
}

.dropboxsearch i,
.dropboxsearch img {
    font-size: 14px;
    max-width: 16px;
    max-height: 16px;
    vertical-align: middle;
    margin-right: 4px;
}

.dropboxsearch span {
    display: inline-block;
    vertical-align: middle;
}

.dropboxsearch .item.disabled {
    background-color: #e5e5e5;
    color: var(--gs-ink-3);
}

.dropboxsearch .item.disabled:hover {
    background-color: transparent;
    cursor: not-allowed;
}
form.formScreen {
    background-color: var(--gs-surface) !important;
    padding: 24px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
/* Fix excessive vertical gap below field labels in the Issue Detail View */
.formScreen .field-item .field-label {
    margin-bottom: 2px !important;
}

.formScreen .field-item .field-label+div,
.formScreen .field-item .field-label+div[style] {
    margin-top: 0px !important;
    padding-top: 0px !important;
}

.formScreen .field-item .field-label+div .gt-h-min-35,
.formScreen .field-item .field-label+div>div {
    margin-top: 0px !important;
    padding-top: 0px !important;
}

.dropboxsearch .item.checked {
    background-color: #08c;
    color: #fff;
}

.dropboxsearch .btn-secondary {
    border: none;
}

/*remove time input icon*/
input[type="time"]::-webkit-calendar-picker-indicator {
    /*    background: none;
    display: none;*/
    right: 10px;
}

.text-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*begin customize for tiny fa font and macro*/
.mce-ico.mce-i-fa {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/*.panel-heading .accordion-toggle {
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: "\f107";
}
.panel-heading .accordion-toggle:after {
    border: solid black;
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.panel-heading .accordion-toggle.collapsed:after {
    border: solid black;
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}*/
/*li > * {
    vertical-align: text-top;
}*/
li p {
    margin: 0px;
}

/*end customize for tiny fa font and macro*/

/*custom macro tab height*/
.tab-title a {
    padding: 5px 15px !important;
}

/*.tab-title.active{
    border-top: 1px solid black;
}*/
/*end custom macro tab height*/

/*User avatar & Inline Task*/
/* Báº¯t táº¥t cáº£ cÃ¡c áº£nh cÃ³ Ä‘Æ°á»ng dáº«n chá»©a "/attach/avatar" */
img[src*="/attach/avatar"] {
    width: 25px !important;
    height: 25px !important;
    border-radius: 50% !important; /* Äáº£m báº£o luÃ´n bo trÃ²n (circle) */
    object-fit: cover !important; /* TrÃ¡nh bá»‹ mÃ©o hÃ¬nh náº¿u áº£nh gá»‘c khÃ´ng vuÃ´ng */
}
.user-avatar,
.inline-task-temp {
    background: #f1f5f9;
    color: #475569;
    padding: 3px 8px 3px 6px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: all 0.2s;
    line-height: 1.2;
}

.user-avatar:hover {
    background: #e2e8f0;
    color: #334155;
    text-decoration: none;
}

.user-avatar.me {
    background: #eff6ff;
    color: #2563eb;
    border-color: #bfdbfe;
}

.user-avatar.me:hover {
    background: #dbeafe;
    color: #1d4ed8;
}

.user-avatar.bg-success,
.user-avatar.bg-success.me {
    background: #ecfdf5 !important;
    color: #059669 !important;
    border-color: #a7f3d0 !important;
}

.user-avatar.bg-success:hover,
.user-avatar.bg-success.me:hover {
    background: #d1fae5 !important;
    color: #047857 !important;
}

.user-avatar.bg-danger,
.user-avatar.bg-danger.me {
    background: #fef2f2 !important;
    color: #b91c1c !important;
    border-color: #fecaca !important;
}

.user-avatar.bg-danger:hover,
.user-avatar.bg-danger.me:hover {
    background: #fee2e2 !important;
    color: #991b1b !important;
}

.user-avatar>.mention-task {
    font-size: 14px;
    margin: 0;
    top: 0;
}

.inline-comment-temp,
.inline-comment {
    background-color: rgba(250, 204, 21, 0.25);
    border-bottom: 2px solid #facc15;
    padding: 2px 0;
    border-radius: 3px;
    cursor: pointer;
    transition: background-color 0.2s;
    color: inherit;
}

.inline-comment:hover {
    background-color: rgba(250, 204, 21, 0.4);
}

#page-comment {
    border-left: solid 3px #facc15;
}

.site-footer .row {
    margin-right: auto;
    margin-left: auto;
}

.macro-title-hidden {
    display: none;
}

.fa-6x {
    font-size: 6em !important;
}

.fa-7x {
    font-size: 7em !important;
}

.fa-8x {
    font-size: 8em !important;
}

.fa-9x {
    font-size: 9em !important;
}

.fa-10x {
    font-size: 10em !important;
}

.hideTextPart-100 {
    overflow: hidden;
    max-height: 100px;
}

.hidden {
    display: none !important;
}

.hide {
    display: none !important;
}

.hide-display {
    width: 0px !important;
    border: 0px !important;
    padding: 0px !important;
    bottom: 0px !important;
    position: absolute !important;
}

.label {
    display: inline;
    padding: 0.2em 0.6em 0.3em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.25em;
}

.label-info {
    background-color: #5bc0de;
}

/*bootstrap 3.4*/
.panel-heading {
    padding: 10px 15px;
    border-bottom: 1px solid transparent;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

.collapse.show {
    display: block;
}

/* BS5 modal close button polyfill */
.modal-header .close,
.modal-header .btn-close {
    position: absolute;
    right: 1rem;
    top: 1rem;
    padding: 0.5rem;
    margin: -0.5rem -0.5rem -0.5rem auto;
    background: transparent;
    border: 0;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--gs-ink);
    opacity: .5;
    cursor: pointer;
}

.modal-header .close:hover,
.modal-header .btn-close:hover {
    opacity: 1;
}

.modal-header {
    position: relative;
}

/* BS5 default select styling (Issue 3) */
select.form-control {
    appearance: auto;
    -webkit-appearance: auto;
    -moz-appearance: auto;
}

/* BS4 input-group-prepend/append polyfill for BS5 */
.input-group-prepend,
.input-group-append {
    display: flex;
}

.input-group-prepend .btn,
.input-group-append .btn {
    position: relative;
    z-index: 2;
}

.input-group-prepend .btn+.btn,
.input-group-append .btn+.btn {
    margin-left: -1px;
}

/* BS4 form-inline polyfill for BS5 */
.form-inline {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 0.5rem;
}

.form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
}

.form-inline .input-group {
    width: auto;
}

/* BS4 navbar-right polyfill for BS5 */
.navbar-right {
    margin-left: auto !important;
}

/* BS4 float polyfill (for DB-stored classes) */
.float-right {
    float: right !important;
}

.float-left {
    float: left !important;
}

/* BS4 badge classes polyfill */
.badge-primary {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
}

.badge-secondary {
    background-color: var(--bs-secondary) !important;
    color: #fff !important;
}

.badge-success {
    background-color: var(--bs-success) !important;
    color: #fff !important;
}

.badge-danger {
    background-color: var(--bs-danger) !important;
    color: #fff !important;
}

.badge-warning {
    background-color: var(--bs-warning) !important;
    color: var(--gs-ink) !important;
}

.badge-info {
    background-color: var(--bs-info) !important;
    color: #fff !important;
}

/* BS4 close button polyfill */
.close {
    float: right;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--gs-ink);
    text-shadow: 0 1px 0 #fff;
    opacity: .5;
    background-color: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.close:hover {
    opacity: .75;
}

/* FINAL BS4 -> BS5 FIXES (Form Spacing, Links, Layout) */

/* Restore link non-underlined state from BS4 */
a:not([class*="btn"]) {
    text-decoration: none;
}

a:not([class*="btn"]):hover {
    text-decoration: underline;
}

/* Links in navbar should not underline */
.navbar a:hover {
    text-decoration: none;
}

/* Nor should items in a dropdown menu — Bill, 2026-09-03, on the issue Actions menu and
   the row context menu.

   ⚠️ `.dropdown-item:hover` DOES NOT WORK HERE and would look like a no-op. The BS4->BS5
   restoration rule six lines up is `a:not([class*="btn"]):hover`, which is (0,2,1);
   `.dropdown-item:hover` is (0,2,0) and loses. site.css:7511 records the same trap costing
   a wasted fix on /learn, where a rule was written, changed nothing, and appeared to work
   because the neighbouring element already carried `.text-decoration-none` in markup.

   `.dropdown-menu a:hover` is (0,2,1) — it MATCHES the rule it has to beat and wins on
   source order, which is exactly how the .navbar line above works. Same shape, same file,
   no !important, so the ratchet's important_declarations does not move. */
.dropdown-menu a:hover {
    text-decoration: none;
}

/* Restore form-group spacing from BS4 */
.form-group {
    margin-bottom: 1rem;
}

/* Ensure FontAwesome icons work properly inside BS5 .btn classes */
.fa,
.fas {
    font-family: FontAwesome !important;
}

/* Ensure input-group buttons properly align their border colors with inputs */
.input-group>.btn {
    border-color: var(--gs-line);
}

.input-group>.btn-primary {
    border-color: #0d6efd;
    /* Keep primary buttons blue */
}

.input-group>.btn-danger {
    border-color: #dc3545;
    /* Keep danger buttons red */
}

.input-group>.btn-success {
    border-color: #198754;
    /* Keep success buttons green */
}

/* Customize form control heights to approximate BS4 */
.form-control,
.bootstrap-select>.dropdown-toggle {
    min-height: 36px;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

select.form-control {
    padding: .375rem .75rem;
}

/* GimCore Layout Flex Hooks */
.gt-flex {
    display: flex;
}

.gt-flex-col {
    display: flex;
    flex-direction: column;
}

.gt-flex-wrap {
    flex-wrap: wrap;
}

.gt-h-min-100 {
    min-height: 100%;
}

.gt-w-100p {
    width: 100%;
}

/* Fix AroGantt inside forms */
.childlist-container .js-gantt-bar-task span,
.childlist-container .js-gantt-bar-project span,
.childlist-container .js-gantt-bar-summary span {
    display: inline-block !important;
}

.childlist-container .ag-planning-label {
    display: inline-block !important;
}

.childlist-container .js-gantt-bar-task,
.childlist-container .js-gantt-bar-project,
.childlist-container .js-gantt-bar-summary {
    flex-wrap: nowrap !important;
    font-weight: 400 !important;
}

/* Fix font weight override from .formScreen .field-item */
.formScreen .field-item .childlist-container * {
    font-weight: 400;
}
/* -------------------------------------------------------------------
   Field Section Group (FSG) - Enterprise Card Groups
   v1.0 — Phase 2 Field Grouping
   ------------------------------------------------------------------- */
.fsg-group {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    margin-bottom: 14px;
    overflow: visible;
    background: var(--gs-surface);
    box-shadow: 0 1px 4px rgba(15,23,42,.06);
    transition: box-shadow .2s;
    clear: both;
}
.fsg-group:hover { box-shadow: 0 2px 8px rgba(15,23,42,.1); }

.fsg-group-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 12px 0px 12px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    /*border-bottom: 1px solid #e2e8f0;*/
    user-select: none;
    min-height: 40px;
}
.fsg-group-header.fsg-collapsible { cursor: pointer; }
.fsg-group-header.fsg-collapsible:hover { background: linear-gradient(135deg,#eef2f7,#e8edf4); }

.fsg-group-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 600;
    color: #374151;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.fsg-group-title .ph { font-size: 15px; color: #6366f1; }
.fsg-group-subtitle {
    font-size: 11px; font-weight: 400; color: #9ca3af; margin-left: 4px;
}

.fsg-group-chevron {
    color: #9ca3af; transition: transform .22s ease; font-size: 14px;
}
.fsg-group-chevron.fsg-chevron-closed { transform: rotate(-90deg); }

.fsg-group-content { padding: 12px 14px 4px; }

/* --- Color Variants --- */
.fsg-group.group-primary .fsg-group-header {
    background: linear-gradient(135deg,#eff6ff,#dbeafe);
    border-bottom-color: #bfdbfe;
}
.fsg-group.group-primary .fsg-group-title .ph { color: #2563eb; }

.fsg-group.group-success .fsg-group-header {
    background: linear-gradient(135deg,#f0fdf4,#dcfce7);
    border-bottom-color: #bbf7d0;
}
.fsg-group.group-success .fsg-group-title .ph { color: #16a34a; }

.fsg-group.group-warning .fsg-group-header {
    background: linear-gradient(135deg,#fffbeb,#fef3c7);
    border-bottom-color: #fde68a;
}
.fsg-group.group-warning .fsg-group-title .ph { color: #d97706; }

.fsg-group.group-danger .fsg-group-header {
    background: linear-gradient(135deg,#fef2f2,#fee2e2);
    border-bottom-color: #fecaca;
}
.fsg-group.group-danger .fsg-group-title .ph { color: #dc2626; }

.fsg-group.group-info .fsg-group-header {
    background: linear-gradient(135deg,#f0f9ff,#e0f2fe);
    border-bottom-color: #bae6fd;
}
.fsg-group.group-info .fsg-group-title .ph { color: #0284c7; }

.fsg-group.group-purple .fsg-group-header {
    background: linear-gradient(135deg,#faf5ff,#ede9fe);
    border-bottom-color: #c4b5fd;
}
.fsg-group.group-purple .fsg-group-title .ph { color: #7c3aed; }

/* --- Admin Modal Styles for Group Management --- */
.fsg-admin-group-item {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 12px; border: 1px solid var(--gs-line); border-radius: 8px;
    margin-bottom: 6px; background: var(--gs-surface);
    transition: background .15s;
}
.fsg-admin-group-item:hover { background: #f9fafb; }
.fsg-admin-group-drag { cursor: move; color: #9ca3af; font-size: 16px; flex-shrink: 0; }
.fsg-admin-group-name { flex: 1; font-size: 13px; font-weight: 500; color: #374151; }
.fsg-admin-group-meta { font-size: 11px; color: #9ca3af; }
.fsg-admin-field-chip {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 2px 8px; border-radius: 12px; font-size: 11px;
    background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0;
    margin: 2px 2px 2px 0; cursor: pointer; user-select: none;
    transition: all .15s;
}
.fsg-admin-field-chip:hover { background: #e0f2fe; border-color: #7dd3fc; color: #0369a1; }
.fsg-admin-field-chip.assigned { background: #dbeafe; color: #1e40af; border-color: #93c5fd; }
.fsg-admin-field-chip.assigned:hover { background: #fee2e2; color: #dc2626; border-color: #fca5a5; }

/* -- FSG Admin WYSIWYG Card (ScreenById inline groups) -- */
.fsg-admin-card {
    border: 1.5px solid #bae6fd;
    border-radius: 10px;
    margin: 10px 0;
    background: #f0f9ff;
    overflow: hidden;
}
.fsg-admin-card-header {
    background: linear-gradient(90deg,#0ea5e9 0%,#38bdf8 100%);
    color: #fff;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fsg-admin-card-edit { opacity:.8; cursor:pointer; }
.fsg-admin-card-edit:hover { opacity:1; }
.fsg-admin-card-body { padding: 8px 10px; min-height: 50px; }
.fsg-admin-field-in-group .field-label { font-size: 11px; background: var(--gs-surface); border:1px solid #e0f2fe; border-radius:6px; padding:2px 6px; margin-bottom:2px; }
.fsg-remove-from-group { font-size: 13px; line-height: 1; }
.fsg-remove-from-group:hover { color: #dc2626 !important; }
.fsg-add-field-to-group { border-top: 1px dashed #bae6fd; padding-top: 5px; margin-top: 4px; }
.fsg-assign-btn { cursor: pointer; padding: 2px 3px; border-radius: 4px; }
.fsg-assign-btn:hover { background: #e0f2fe; }
.fsg-admin-group-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border: 1px solid var(--gs-line);
    border-radius: 7px;
    margin-bottom: 5px;
    background: var(--gs-surface);
    font-size: 12px;
}
.fsg-admin-group-drag { cursor: grab; color: #9ca3af; }
.fsg-admin-group-name { flex: 1; font-weight: 500; }
.fsg-admin-card {
    border: 1.5px solid #bae6fd;
    border-radius: 10px;
    margin: 10px 0;
    background: #f0f9ff;
    overflow: visible;
    clear: both;
    width: 100%;
    display: block;
    float: none;
}
.fsg-admin-card-header {
    border-radius: 8px 8px 0 0;
}
.fsg-admin-card-body {
    overflow: visible;
    position: relative;
}
.fsg-add-field-to-group {
    clear: both;
}


/* Fix for dropdowns getting clipped inside groups */
.fsg-group {
    overflow: visible !important;
}

/* Force standard Bootstrap collapse animation in case core CSS is missing it */
.fsg-group .collapsing {
    position: relative;
    height: 0;
    overflow: hidden !important;
    transition: height 0.35s ease;
}

.childlist-container .js-gantt-bar-summary {
    flex-wrap: nowrap !important;
    font-weight: 400 !important;
}

/* Fix font weight override from .formScreen .field-item */
.formScreen .field-item .childlist-container * {
    font-weight: 400;
}
/* -------------------------------------------------------------------
   Field Section Group (FSG) - Enterprise Card Groups
   v1.0 — Phase 2 Field Grouping
   ------------------------------------------------------------------- */
.fsg-group {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    margin-bottom: 14px;
    overflow: visible;
    background: var(--gs-surface);
    box-shadow: 0 1px 4px rgba(15,23,42,.06);
    transition: box-shadow .2s;
    clear: both;
}
.fsg-group:hover { box-shadow: 0 2px 8px rgba(15,23,42,.1); }

.fsg-group-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 12px 0px 12px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    /*border-bottom: 1px solid #e2e8f0;*/
    user-select: none;
    min-height: 40px;
}
.fsg-group-header.fsg-collapsible { cursor: pointer; }
.fsg-group-header.fsg-collapsible:hover { background: linear-gradient(135deg,#eef2f7,#e8edf4); }

.fsg-group-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 600;
    color: #374151;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.fsg-group-title .ph { font-size: 15px; color: #6366f1; }
.fsg-group-subtitle {
    font-size: 11px; font-weight: 400; color: #9ca3af; margin-left: 4px;
}

.fsg-group-chevron {
    color: #9ca3af; transition: transform .22s ease; font-size: 14px;
}
.fsg-group-chevron.fsg-chevron-closed { transform: rotate(-90deg); }

.fsg-group-content { padding: 12px 14px 4px; }

/* --- Color Variants --- */
.fsg-group.group-primary .fsg-group-header {
    background: linear-gradient(135deg,#eff6ff,#dbeafe);
    border-bottom-color: #bfdbfe;
}
.fsg-group.group-primary .fsg-group-title .ph { color: #2563eb; }

.fsg-group.group-success .fsg-group-header {
    background: linear-gradient(135deg,#f0fdf4,#dcfce7);
    border-bottom-color: #bbf7d0;
}
.fsg-group.group-success .fsg-group-title .ph { color: #16a34a; }

.fsg-group.group-warning .fsg-group-header {
    background: linear-gradient(135deg,#fffbeb,#fef3c7);
    border-bottom-color: #fde68a;
}
.fsg-group.group-warning .fsg-group-title .ph { color: #d97706; }

.fsg-group.group-danger .fsg-group-header {
    background: linear-gradient(135deg,#fef2f2,#fee2e2);
    border-bottom-color: #fecaca;
}
.fsg-group.group-danger .fsg-group-title .ph { color: #dc2626; }

.fsg-group.group-info .fsg-group-header {
    background: linear-gradient(135deg,#f0f9ff,#e0f2fe);
    border-bottom-color: #bae6fd;
}
.fsg-group.group-info .fsg-group-title .ph { color: #0284c7; }

.fsg-group.group-purple .fsg-group-header {
    background: linear-gradient(135deg,#faf5ff,#ede9fe);
    border-bottom-color: #c4b5fd;
}
.fsg-group.group-purple .fsg-group-title .ph { color: #7c3aed; }

/* --- Admin Modal Styles for Group Management --- */
.fsg-admin-group-item {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 12px; border: 1px solid var(--gs-line); border-radius: 8px;
    margin-bottom: 6px; background: var(--gs-surface);
    transition: background .15s;
}
.fsg-admin-group-item:hover { background: #f9fafb; }
.fsg-admin-group-drag { cursor: move; color: #9ca3af; font-size: 16px; flex-shrink: 0; }
.fsg-admin-group-name { flex: 1; font-size: 13px; font-weight: 500; color: #374151; }
.fsg-admin-group-meta { font-size: 11px; color: #9ca3af; }
.fsg-admin-field-chip {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 2px 8px; border-radius: 12px; font-size: 11px;
    background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0;
    margin: 2px 2px 2px 0; cursor: pointer; user-select: none;
    transition: all .15s;
}
.fsg-admin-field-chip:hover { background: #e0f2fe; border-color: #7dd3fc; color: #0369a1; }
.fsg-admin-field-chip.assigned { background: #dbeafe; color: #1e40af; border-color: #93c5fd; }
.fsg-admin-field-chip.assigned:hover { background: #fee2e2; color: #dc2626; border-color: #fca5a5; }

/* -- FSG Admin WYSIWYG Card (ScreenById inline groups) -- */
.fsg-admin-card {
    border: 1.5px solid #bae6fd;
    border-radius: 10px;
    margin: 10px 0;
    background: #f0f9ff;
    overflow: hidden;
}
.fsg-admin-card-header {
    background: linear-gradient(90deg,#0ea5e9 0%,#38bdf8 100%);
    color: #fff;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fsg-admin-card-edit { opacity:.8; cursor:pointer; }
.fsg-admin-card-edit:hover { opacity:1; }
.fsg-admin-card-body { padding: 8px 10px; min-height: 50px; }
.fsg-admin-field-in-group .field-label { font-size: 11px; background: var(--gs-surface); border:1px solid #e0f2fe; border-radius:6px; padding:2px 6px; margin-bottom:2px; }
.fsg-remove-from-group { font-size: 13px; line-height: 1; }
.fsg-remove-from-group:hover { color: #dc2626 !important; }
.fsg-add-field-to-group { border-top: 1px dashed #bae6fd; padding-top: 5px; margin-top: 4px; }
.fsg-assign-btn { cursor: pointer; padding: 2px 3px; border-radius: 4px; }
.fsg-assign-btn:hover { background: #e0f2fe; }
.fsg-admin-group-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border: 1px solid var(--gs-line);
    border-radius: 7px;
    margin-bottom: 5px;
    background: var(--gs-surface);
    font-size: 12px;
}
.fsg-admin-group-drag { cursor: grab; color: #9ca3af; }
.fsg-admin-group-name { flex: 1; font-weight: 500; }
.fsg-admin-card {
    border: 1.5px solid #bae6fd;
    border-radius: 10px;
    margin: 10px 0;
    background: #f0f9ff;
    overflow: visible;
    clear: both;
    width: 100%;
    display: block;
    float: none;
}
.fsg-admin-card-header {
    border-radius: 8px 8px 0 0;
}
.fsg-admin-card-body {
    overflow: visible;
    position: relative;
}
.fsg-add-field-to-group {
    clear: both;
}


/* Fix for dropdowns getting clipped inside groups */
.fsg-group {
    overflow: visible !important;
}

/* Force standard Bootstrap collapse animation in case core CSS is missing it */
.fsg-group .collapsing {
    position: relative;
    height: 0;
    overflow: hidden !important;
    transition: height 0.35s ease;
}



/* ── Soft status chips — the Jira/Asana read: tinted surface + strong same-hue ink ──
   Bill, 2026-08-26, round 2: the 100-level tints vanished against the white page, so
   every surface moved one step deeper and all chips gained a hairline border. Every
   text pair re-MEASURED >= 4.5 (AA); light/dark family variants stay distinguishable.
   !important is required - Bootstrap's bg-* utilities are themselves !important. */
.gc-badge[class*="bg-"], .item-status[class*="bg-"] { border: 1px solid rgba(15, 23, 42, .14) !important; }
.gc-badge.bg-primary, .item-status.bg-primary { background-color: #bfdbfe !important; color: #1e40af !important; }
.gc-badge.bg-primary-dark, .item-status.bg-primary-dark { background-color: #93c5fd !important; color: #1e3a8a !important; }
.gc-badge.bg-info, .item-status.bg-info { background-color: #bae6fd !important; color: #075985 !important; }
.gc-badge.bg-info-dark, .item-status.bg-info-dark { background-color: #7dd3fc !important; color: #0c4a6e !important; }
.gc-badge.bg-success, .item-status.bg-success, .gc-badge.bg-grass, .item-status.bg-grass { background-color: #a7f3d0 !important; color: #065f46 !important; }
.gc-badge.bg-success-light, .item-status.bg-success-light { background-color: #d1fae5 !important; color: #047857 !important; }
.gc-badge.bg-success-dark, .item-status.bg-success-dark { background-color: #6ee7b7 !important; color: #064e3b !important; }
.gc-badge.bg-warning, .item-status.bg-warning { background-color: #fde68a !important; color: #78350f !important; }
.gc-badge.bg-warning-dark, .item-status.bg-warning-dark { background-color: #fcd34d !important; color: #78350f !important; }
.gc-badge.bg-danger, .item-status.bg-danger { background-color: #fecaca !important; color: #991b1b !important; }
.gc-badge.bg-danger-light, .item-status.bg-danger-light { background-color: #fee2e2 !important; color: #b91c1c !important; }
.gc-badge.bg-secondary, .item-status.bg-secondary { background-color: #e2e8f0 !important; color: #334155 !important; }
.gc-badge.bg-indigo, .item-status.bg-indigo { background-color: #c7d2fe !important; color: #3730a3 !important; }
.gc-badge.bg-pink, .item-status.bg-pink { background-color: #fbcfe8 !important; color: #9d174d !important; }
.gc-badge.bg-pink-dark, .item-status.bg-pink-dark { background-color: #f9a8d4 !important; color: #831843 !important; }

/* An option with NO CssClass used to render as a bare white chip (To Do, most
   Resolution values). Default: the neutral slate pair, same border as every soft
   chip - a status never disappears just because nobody picked it a colour.
   Measured: #334155 on #e2e8f0 = 8.40 (AA). btn-* excluded: those are buttons. */
.gc-badge:not([class*="bg-"]):not([class*="btn-"]),
.item-status:not([class*="bg-"]):not([class*="btn-"]) {
    background-color: #e2e8f0;
    color: #334155;
    border: 1px solid rgba(15, 23, 42, .14);
}

/* Grid links: ONE calm accent, and :visited stays the same colour. The browser's
   default visited-purple is what made whole description columns render maroon and
   the grid read ten years old. Chips inside links keep their own ink. */
.gc-table tbody td a { color: var(--gs-accent-ink, #0369a1); text-decoration: none; }
.gc-table tbody td a:visited { color: var(--gs-accent-ink, #0369a1); }
.gc-table tbody td a:hover { text-decoration: underline; color: var(--gs-accent-ink, #0369a1); }

/* ── Grid text cells: bounded, readable, one rhythm ──────────────────────────────
   Bill, 2026-08-26. td-nowrap-ellipsis was referenced by seven <td> sites and a
   tooltip script but DEFINED NOWHERE - long text ballooned rows five lines tall on
   one report and the "clip + hover to read" of another was the only alternative.
   The standard both converge on:
   - every clipped text cell is ONE line with ellipsis and a bounded width;
   - textarea-type cells (descriptions) instead show TWO clamped lines - readable
     without hovering, rows still bounded;
   - the tooltip stays as a bonus, and reading in full is the record's job. */
.gc-table td.td-nowrap-ellipsis {
    max-width: 360px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gc-table td.td-nowrap-ellipsis[data-type*="area"] {
    white-space: normal;
    min-width: 260px;
}
.gc-table td.td-nowrap-ellipsis[data-type*="area"] > .gc-clamp2,
.gc-clamp2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

/* ── Card view: ONE definitive block (rounds 1-3 were layered patches whose order
   fought itself - flex vs block on the same cells). The report's column order is the
   card template; a script marks the first two data cells as chip + title. ── */
.gc-card-mode { overflow: visible; }
.gc-card-mode .report-table { display: block; width: 100%; min-width: 0 !important; }
.gc-card-mode .report-table tbody { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; width: 100%; }
.gc-card-mode .tr-report-header, .gc-card-mode .tr-total { display: none !important; }
.gc-card-mode tr.tr-report {
    position: relative;
    display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; align-content: start;
    background: var(--gs-surface, #fff) !important;
    border: 1px solid var(--gs-line, #dee2e6); border-radius: 8px;
    padding: 14px 16px 12px; box-shadow: var(--gs-shadow-card, 0 1px 3px rgba(0,0,0,.06));
}
.gc-card-mode tr.tr-report:hover { border-color: #94a3b8; }
.gc-card-mode tr.tr-report td {
    display: block; border: 0 !important; padding: 0 !important;
    max-width: none; white-space: normal; min-width: 0;
}
.gc-card-mode tr.tr-report td::before {
    content: attr(data-label); display: block; margin-bottom: 2px;
    font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    color: var(--gs-ink-3, #656f7d); text-align: left;
}
.gc-card-mode tr.tr-report td:first-child { position: absolute; top: 8px; right: 10px; width: auto; }
.gc-card-mode tr.tr-report td[data-label=""]::before { display: none; }
.gc-card-mode tr.tr-report td:empty { display: none; }
.gc-card-mode tr.tr-report td.gc-card-chip, .gc-card-mode tr.tr-report td.gc-card-title { grid-column: 1 / -1; }
.gc-card-mode tr.tr-report td.gc-card-chip::before, .gc-card-mode tr.tr-report td.gc-card-title::before { display: none; }
.gc-card-mode tr.tr-report td.gc-card-title { font-size: 15px; font-weight: 650; margin-top: -4px; }
.gc-card-mode tr.tr-report td[data-type*="area"] { grid-column: 1 / -1; }
.gc-card-mode tr.tr-report td.text-right { text-align: left; } /* the table's numeric right-align reads ragged under stacked labels */
/* Same reason, the site the earlier fix missed. A LIST column centres a narrow value under a
   narrow header and that is right there; in card mode every label is text-align:left via
   ::before, so a centred value sits indented from the column its label starts - which is what
   Bill's arrow points at on ATTACHMENTS. Two cells carry it and both are real card cells:
   the attachment link (_SearchGridView:814) and the checkbox (:810). The other four
   text-center cells in that view have no data-label, so card mode never labels them.
   Fixed on the CARD CONTAINER rather than on the attachment cell: nudging one partial is how
   the next centred field type inherits the same bug - the checkbox already had. */
.gc-card-mode tr.tr-report td.text-center { text-align: left !important; }
/* !important is REQUIRED here and is not required one line above, which looks inconsistent and
   is not. Measured through the CSSOM on the running app, not by reading the file:
       .text-right  { text-align: right }              <- no !important, so specificity wins
       .text-center { text-align: center !important }  <- utility, so specificity CANNOT win
   Without it this rule is completely inert: the cell still computed `center`. */
/* Card footer: progress-type fields (taskprogress renders a raw number in the
   list; the tail script rebuilds it as a bar) sit last, full-width, above a
   hairline — the reference layout's "task progress" strip. Grid `order` does
   the moving; the declared column order stays untouched for every other cell. */
.gc-card-mode tr.tr-report td[data-type="taskprogress"],
.gc-card-mode tr.tr-report td[data-type="progress"] {
    grid-column: 1 / -1;
    order: 99;
}
/* The card's base td rule is border:0/padding:0 !important (it strips list
   styling), so the footer hairline lives on the ::before label instead. */
.gc-card-mode tr.tr-report td[data-type="taskprogress"]::before,
.gc-card-mode tr.tr-report td[data-type="progress"]::before {
    border-top: 1px solid var(--gs-surface-3);
    padding-top: 8px;
    margin-top: 2px;
}
.gc-card-mode .gc-card-progress-row { display: flex; align-items: center; gap: 8px; }
/* Unscoped from .gc-card-mode on 2026-09-02. The kanban board's card footer needs the
   same bar, and the alternative was a second copy of three rules under a second selector -
   which is how the two field-exclusion lists in this codebase came to disagree. The class
   names are only ever emitted by the two card renderers, so widening the selector adds no
   site that did not already opt in by using the class. */
.gc-card-progressbar { flex: 1; height: 6px; border-radius: 3px; background: var(--gs-surface-3); overflow: hidden; }
.gc-card-progressfill { height: 100%; border-radius: 3px; background: var(--gs-brand-btn); }
.gc-card-progressval { font-size: 12px; font-weight: 600; }
.gc-card-mode tr.tr-report td[data-type="progress"] .progress { flex: 1; height: 6px; border-radius: 3px; }
/* The bar's inner text is the raw decimal value — the rounded % lives in the
   .gc-card-progressval span beside the bar instead. */
.gc-card-mode tr.tr-report td[data-type="progress"] .progress-bar { font-size: 0; }
/* Status summary strip above the cards: the tail script counts the chip cell
   per value over the current page and reuses that value's own badge classes,
   so the strip's colours always match the cards below it. */
.gc-card-summary { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0; }
.gc-card-summary-chip { white-space: nowrap; cursor: pointer; user-select: none; }
.gc-card-summary-chip:hover { filter: brightness(0.96); }
.gc-card-summary-chip.gc-chip-active { box-shadow: 0 0 0 1px var(--gs-accent-ink); }
.gc-card-mode tr.tr-report.gc-card-filtered { display: none; }
/* Childlist header chips sit first inside an overflow (hover-scroll) wrapper whose
   top edge coincides with theirs, so the chip border and the active ring - drawn
   1px OUTSIDE the box - were clipped. Two px of breathing room keeps them whole. */
.gc-child-chips { padding: 2px 0; }

/* Active-filter count beside the filter toggles (grid toolbar and the board/timeline
   bar). Rendered only when at least one condition is on - zero draws nothing.
   Spacing is contextual: the grid toolbar button is a flex with its own 5px gap
   (an extra margin pushed the badge 9px out), the board/timeline funnel anchor has
   no padding at all (the badge sat flush against the icon and the bar edge). */
.gc-filter-count { display: inline-block; min-width: 16px; height: 16px; line-height: 16px; border-radius: 999px; background: var(--gs-brand-btn); color: var(--gs-ink-inverse); font-size: 11px; font-weight: 600; text-align: center; padding: 0 4px; vertical-align: text-top; }
/* The board/timeline funnel is a 30px bordered icon button (_WorkspaceTabs.cshtml);
   when the count is present that box widens (see the :has rule there) and the badge
   sits INSIDE it beside the icon - same composition as List's toolbar button. */

/* Bootstrap Icons has no spin utility - `bi-spin` was borrowed from Font Awesome's
   naming and animated nothing. Two live sites rely on it: the AI Chart analyzing
   modal and the footer-sum Loading cell. */
.bi-spin { display: inline-block; animation: gc-spin 1s linear infinite; }
@keyframes gc-spin { to { transform: rotate(360deg); } }
/* AroGantt sets its container 12px wider than the wrapper's content box, and the
   wrapper's overflow:hidden then clips the timeline's vertical scrollbar to a
   sliver. Clamp the container; filter-timeline.js kicks one resize after render
   so the library relayouts from the clamped width. */
#queryResult { max-width: 100%; }

/* The visible half of the timeline's default 30-day window: an unfiltered load is
   narrowed server-side, and this strip is the only thing on screen saying so.
   The button reloads with the narrowing off. */
.gt-default-window { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 4px 8px; font-size: 12.5px; color: var(--gs-ink-2); }
.gt-default-window-off { border: 1px solid var(--gs-line); background: var(--gs-surface); border-radius: 999px; padding: 1px 10px; font-size: 12px; font-weight: 600; cursor: pointer; }
.gt-default-window-off:hover { filter: brightness(0.96); }
/* The footer sum rows have no table to sit in when the rows are cards — without
   this the Σ cell renders as a stray first card. The values still reach the
   user: the footer script re-emits them as .gc-card-sum-chip in the strip. */
.gc-card-mode .tr-footer, .gc-card-mode .tr-footer-top { display: none; }
.gc-card-sum-chip { white-space: nowrap; padding: 2px 10px; border-radius: 999px; border: 1px solid var(--gs-line); background: var(--gs-surface); font-size: 12px; font-weight: 600; text-transform: uppercase; }
.tb-btn-active { background: var(--gs-surface-3, #f1f4f8) !important; color: var(--gs-brand-btn, #0b5ed7) !important; }

/* ── Column resize (task #9). The grid keeps auto layout until a width is stored
   or dragged; then _SearchGridView's script pins every header cell and adds
   .gc-col-resized, so table-layout:fixed reproduces the exact look and only the
   dragged column moves. Width lives inline on the header cells; the table's own
   inline width is kept equal to their sum so narrowing works below container
   width (fixed layout + width:100% would hand the slack back to the columns). */
.result-header-sort { position: relative; }
.gc-col-resizer {
    position: absolute;
    top: 0;
    right: -5px;
    width: 10px;
    height: 100%;
    cursor: col-resize;
    user-select: none;
    z-index: 3;
}
.gc-col-resizer::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 15%;
    height: 70%;
    width: 2px;
    border-radius: 1px;
    background: transparent;
}
.gc-col-resizer:hover::after,
body.gc-col-resizing .gc-col-resizer::after { background: var(--gs-accent-ink); }
/* The script also removes gt-w-min-600 while resized (its min-width is !important,
   and a pinned table must be free to go narrower); reset restores it. */
table.gc-col-resized { table-layout: fixed; }
.gc-col-resized tr.tr-report td { overflow: hidden; overflow-wrap: break-word; }
/* ⚠️ The row's caret menu lives INSIDE its cell, so the clip above ate it: from the day column
   resize shipped, clicking the caret in the NO. column opened a dropdown nobody could see.
   Reported by Bill 2026-09-11.

   Measured before fixing, because the obvious repair is wrong. `overflow: hidden` looks
   redundant next to `overflow-wrap: break-word` and for TEXT it is - a 71-character unbroken
   word gives an identical 291px cell either way. But for content that cannot wrap it is doing
   real work: a `white-space: nowrap` status pill in a 60px cell paints 40px PAST the cell edge
   once the clip is removed, over the next column. Deleting the line would have traded an
   invisible menu for every status pill in the grid overlapping its neighbour.

   So the clip stays and the cells that host a menu are excused. Keyed on `.dropdown-menu`
   rather than on `.btnContainer`, so a menu added to any other cell later is covered without
   anyone remembering this rule exists. `:has()` is already used 13 times in this file. */
.gc-col-resized tr.tr-report td:has(.dropdown-menu) { overflow: visible; }
body.gc-col-resizing { cursor: col-resize; user-select: none; }
/* Card mode re-lays the tbody as a grid: pinned widths and handles are meaningless there. */
.gc-card-mode .gc-col-resizer { display: none; }
.gc-card-mode table.gc-col-resized { table-layout: auto; }

/* ============================================================================
   NOTICE  -  the full-page state block: "login required", "content removed",
   "no field on this screen", and eleven more.

   Before this, each of those was its own copy of `alert alert-info text-center`,
   which is a MESSAGE BAR: a coloured strip meant to sit above content the user
   can still work with. Fifteen files used it as a whole-page state, so a person
   who is simply not signed in was met with a cyan warning strip and two saturated
   buttons. Bill pointed at it; the shape was wrong, not the colour.

   Built on the container so the sixteenth state inherits it. Tokens only - no hex,
   no !important - so dark mode arrives through gimcore-tokens.css for free.
   ========================================================================== */
.gc-notice {
  max-width: 34rem;
  margin: var(--gs-space-5) auto;
  padding: var(--gs-space-4);
  text-align: center;
}

.gc-notice-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: var(--gs-space-3);
  border-radius: var(--gs-radius-pill);
  font-size: 1.5rem;
  line-height: 1;
  background: var(--gc-badge-info-bg);
  color: var(--gc-badge-info-fg);
}

.gc-notice-title {
  margin-bottom: var(--gs-space-2);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--gs-ink);
}

/* --gs-ink-3 and not --gc-muted-light: the token file records #999 measuring 2.85
   on --gs-surface-3, and ink-3 was re-valued to #656f7d precisely so secondary text
   clears AA on all three light surfaces. A state page is mostly this one sentence. */
.gc-notice-text {
  margin-bottom: 0;
  color: var(--gs-ink-3);
}

.gc-notice-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gs-space-2);
  justify-content: center;
  margin-top: var(--gs-space-4);
}

/* info is also the base .gc-notice-icon value. Declared anyway so all five tones read
   as one set, and so a reader who greps the tone the partial emits finds a rule. */
.gc-notice-info   .gc-notice-icon { background: var(--gc-badge-info-bg);    color: var(--gc-badge-info-fg); }
.gc-notice-warn   .gc-notice-icon { background: var(--gc-badge-warn-bg);    color: var(--gc-badge-warn-fg); }
.gc-notice-danger .gc-notice-icon { background: var(--gc-badge-crit-bg);    color: var(--gc-badge-crit-fg); }
.gc-notice-ok     .gc-notice-icon { background: var(--gc-badge-ok-bg);      color: var(--gc-badge-ok-fg); }
.gc-notice-mute   .gc-notice-icon { background: var(--gc-badge-neutral-bg); color: var(--gc-badge-neutral-fg); }

/**
 * alertifyjs 1.10.0 http://alertifyjs.com
 * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.
 * Copyright 2017 Mohammad Younes <Mohammad@alertifyjs.com> (http://alertifyjs.com) 
 * Licensed under GPL 3 <https://opensource.org/licenses/gpl-3.0>*/
.alertify .ajs-dimmer,.alertify .ajs-modal{position:fixed;padding:0;z-index:1981;top:0;right:0;bottom:0;left:0}.alertify .ajs-dimmer{margin:0;background-color:#252525;opacity:.5}.alertify .ajs-modal{overflow-y:auto}.alertify .ajs-dialog{position:relative;margin:5% auto;min-height:110px;max-width:500px;padding:24px 24px 0;outline:0;background-color:#fff}.alertify .ajs-dialog.ajs-capture:before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;display:block;z-index:1}.alertify .ajs-reset{position:absolute!important;display:inline!important;width:0!important;height:0!important;opacity:0!important}.alertify .ajs-commands{position:absolute;right:4px;margin:-14px 24px 0 0;z-index:2}.alertify .ajs-commands button{display:none;width:10px;height:10px;margin-left:10px;padding:10px;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.alertify .ajs-commands button.ajs-close{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC)}.alertify .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC)}.alertify .ajs-header{margin:-24px -24px 0;padding:16px 24px;background-color:#fff}.alertify .ajs-body{min-height:56px}.alertify .ajs-body .ajs-content{padding:16px 24px 16px 16px}.alertify .ajs-footer{padding:4px;margin-left:-24px;margin-right:-24px;min-height:43px;background-color:#fff}.alertify.ajs-maximized .ajs-dialog,.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content,.alertify.ajs-resizable .ajs-dialog{padding:0}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button,.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons.ajs-primary{text-align:right}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary{float:left;clear:none;text-align:left}.alertify .ajs-footer .ajs-buttons .ajs-button{min-width:88px;min-height:35px}.alertify .ajs-handle{position:absolute;display:none;width:10px;height:10px;right:0;bottom:0;z-index:1;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==);-webkit-transform:scaleX(1);transform:scaleX(1);cursor:se-resize}.alertify.ajs-no-overflow .ajs-body .ajs-content{overflow:hidden!important}.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content{left:0;right:0;padding:0}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body{margin-left:-24px;margin-right:-24px}.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content{left:0;right:0}.alertify.ajs-closable .ajs-commands button.ajs-close,.alertify.ajs-maximizable .ajs-commands button.ajs-maximize,.alertify.ajs-maximizable .ajs-commands button.ajs-restore{display:inline-block}.alertify.ajs-maximized .ajs-dialog{width:100%!important;height:100%!important;max-width:none!important;margin:0 auto!important;top:0!important;left:0!important}.alertify.ajs-maximized.ajs-modeless .ajs-modal{position:fixed!important;min-height:100%!important;max-height:none!important;margin:0!important}.alertify.ajs-maximized .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=)}.alertify.ajs-maximized .ajs-commands,.alertify.ajs-resizable .ajs-commands{margin:14px 24px 0 0}.alertify.ajs-maximized .ajs-header,.alertify.ajs-resizable .ajs-header{position:absolute;top:0;left:0;right:0;margin:0;padding:16px 24px}.alertify.ajs-maximized .ajs-body,.alertify.ajs-resizable .ajs-body{min-height:224px;display:inline-block}.alertify.ajs-maximized .ajs-body .ajs-content,.alertify.ajs-resizable .ajs-body .ajs-content{position:absolute;top:50px;right:24px;bottom:50px;left:24px;overflow:auto}.alertify.ajs-maximized .ajs-footer,.alertify.ajs-resizable .ajs-footer{position:absolute;left:0;right:0;bottom:0;margin:0}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog{min-width:548px}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle{display:block}.alertify.ajs-movable:not(.ajs-maximized) .ajs-header{cursor:move}.alertify.ajs-modeless .ajs-dimmer,.alertify.ajs-modeless .ajs-reset{display:none}.alertify.ajs-modeless .ajs-modal{overflow:visible;max-width:none;max-height:0}.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin{display:inline-block;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC)}.alertify.ajs-modeless.ajs-unpinned .ajs-modal{position:absolute}.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=)}.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body{max-height:500px;overflow:auto}.alertify.ajs-basic .ajs-header{opacity:0}.alertify.ajs-basic .ajs-footer{visibility:hidden}.alertify.ajs-frameless .ajs-header{position:absolute;top:0;left:0;right:0;min-height:60px;margin:0;padding:0;opacity:0;z-index:1}.alertify.ajs-frameless .ajs-footer{display:none}.alertify.ajs-frameless .ajs-body .ajs-content{position:absolute;top:0;right:0;bottom:0;left:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog{padding-top:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands{margin-top:0}.ajs-no-overflow{overflow:hidden!important;outline:0}.ajs-no-overflow.ajs-fixed{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:scroll!important}.ajs-no-selection,.ajs-no-selection *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width:568px){.alertify .ajs-dialog{min-width:150px}.alertify:not(.ajs-maximized) .ajs-modal{padding:0 5%}.alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog{min-width:initial;min-width:auto}}@-moz-document url-prefix(){.alertify button:focus{outline:#3593D2 dotted 1px}}.alertify .ajs-dimmer,.alertify .ajs-modal{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);transition-property:opacity,visibility;transition-timing-function:linear;transition-duration:250ms}.alertify.ajs-hidden .ajs-dimmer,.alertify.ajs-hidden .ajs-modal{visibility:hidden;opacity:0}.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-duration:.5s;animation-duration:.5s}.alertify.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-duration:250ms;animation-duration:250ms}.alertify .ajs-dialog.ajs-shake{-webkit-animation-name:ajs-shake;animation-name:ajs-shake;-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-slideIn;animation-name:ajs-slideIn;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1.275);animation-timing-function:cubic-bezier(.175,.885,.32,1.275)}.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-slideOut;animation-name:ajs-slideOut;-webkit-animation-timing-function:cubic-bezier(.6,-.28,.735,.045);animation-timing-function:cubic-bezier(.6,-.28,.735,.045)}.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-zoomIn;animation-name:ajs-zoomIn}.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-zoomOut;animation-name:ajs-zoomOut}.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-fadeIn;animation-name:ajs-fadeIn}.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-fadeOut;animation-name:ajs-fadeOut}.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-pulseIn;animation-name:ajs-pulseIn}.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-pulseOut;animation-name:ajs-pulseOut}.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInX;animation-name:ajs-flipInX}.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutX;animation-name:ajs-flipOutX}.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInY;animation-name:ajs-flipInY}.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutY;animation-name:ajs-flipOutY}@-webkit-keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@-webkit-keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@-webkit-keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@-webkit-keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@-webkit-keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@-webkit-keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}@keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}.alertify-notifier{position:fixed;width:0;overflow:visible;z-index:1982;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.alertify-notifier .ajs-message{position:relative;width:260px;max-height:0;padding:0;opacity:0;margin:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);transition-duration:250ms;transition-timing-function:linear}.alertify-notifier .ajs-message.ajs-visible{transition-duration:.5s;transition-timing-function:cubic-bezier(.175,.885,.32,1.275);opacity:1;max-height:100%;padding:15px;margin-top:10px}.alertify-notifier .ajs-message.ajs-success{background:rgba(91,189,114,.95)}.alertify-notifier .ajs-message.ajs-error{background:rgba(217,92,92,.95)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95)}.alertify-notifier .ajs-message .ajs-close{position:absolute;top:0;right:0;width:16px;height:16px;cursor:pointer;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:center center;background-color:rgba(0,0,0,.5);border-top-right-radius:2px}.alertify-notifier.ajs-top{top:10px}.alertify-notifier.ajs-bottom{bottom:10px}.alertify-notifier.ajs-right{right:10px}.alertify-notifier.ajs-right .ajs-message{right:-320px}.alertify-notifier.ajs-right .ajs-message.ajs-visible{right:290px}.alertify-notifier.ajs-left{left:10px}.alertify-notifier.ajs-left .ajs-message{left:-300px}.alertify-notifier.ajs-left .ajs-message.ajs-visible{left:0}
/**
 * alertifyjs 1.10.0 http://alertifyjs.com
 * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.
 * Copyright 2017 Mohammad Younes <Mohammad@alertifyjs.com> (http://alertifyjs.com) 
 * Licensed under GPL 3 <https://opensource.org/licenses/gpl-3.0>*/
.alertify .ajs-dialog{background-color:#fff;box-shadow:0 15px 20px 0 rgba(0,0,0,.25);border-radius:2px}.alertify .ajs-header{color:#000;font-weight:700;background:#fafafa;border-bottom:#eee 1px solid;border-radius:2px 2px 0 0}.alertify .ajs-body{color:#000}.alertify .ajs-body .ajs-content .ajs-input{display:block;width:100%;padding:8px;margin:4px;border-radius:2px;border:1px solid #CCC}.alertify .ajs-body .ajs-content p{margin:0}.alertify .ajs-footer{background:#fbfbfb;border-top:#eee 1px solid;border-radius:0 0 2px 2px}.alertify .ajs-footer .ajs-buttons .ajs-button{background-color:transparent;color:#000;border:0;font-size:14px;font-weight:700;text-transform:uppercase}.alertify .ajs-footer .ajs-buttons .ajs-button.ajs-ok{color:#3593D2}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:1px solid #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999}
/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+aspnet+csharp+json+powershell+sql */
/**
 * prism.js default theme for JavaScript, CSS and HTML
 * Based on dabblet (http://dabblet.com)
 * @author Lea Verou
 */

code[class*="language-"],
pre[class*="language-"] {
	color: black;
	background: none;
	text-shadow: 0 1px white;
	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
	text-shadow: none;
	background: #b3d4fc;
}

pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
	text-shadow: none;
	background: #b3d4fc;
}

@media print {
	code[class*="language-"],
	pre[class*="language-"] {
		text-shadow: none;
	}
}

/* Code blocks */
pre[class*="language-"] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) > code[class*="language-"],
pre[class*="language-"] {
	background: #f5f2f0;
}

/* Inline code */
:not(pre) > code[class*="language-"] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: slategray;
}

.token.punctuation {
	color: #999;
}

.namespace {
	opacity: .7;
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
	color: #905;
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
	color: #690;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
	color: #a67f59;
	background: hsla(0, 0%, 100%, .5);
}

.token.atrule,
.token.attr-value,
.token.keyword {
	color: #07a;
}

.token.function {
	color: #DD4A68;
}

.token.regex,
.token.important,
.token.variable {
	color: #e90;
}

.token.important,
.token.bold {
	font-weight: bold;
}
.token.italic {
	font-style: italic;
}

.token.entity {
	cursor: help;
}


/*!
 * Bootstrap-select v1.14.0-beta2 (https://developer.snapappointments.com/bootstrap-select)
 *
 * Copyright 2012-2021 SnapAppointments, LLC
 * Licensed under MIT (https://github.com/snapappointments/bootstrap-select/blob/master/LICENSE)
 */@-webkit-keyframes bs-notify-fadeOut{0%{opacity:.9}100%{opacity:0}}@-o-keyframes bs-notify-fadeOut{0%{opacity:.9}100%{opacity:0}}@keyframes bs-notify-fadeOut{0%{opacity:.9}100%{opacity:0}}.bootstrap-select>select.bs-select-hidden,select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px\0;vertical-align:middle}.bootstrap-select>.dropdown-toggle{position:relative;width:100%;text-align:right;white-space:nowrap;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.bootstrap-select>.dropdown-toggle:after{margin-top:-1px}.bootstrap-select>.dropdown-toggle.bs-placeholder,.bootstrap-select>.dropdown-toggle.bs-placeholder:active,.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder:hover{color:#999}.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-danger:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-dark:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-info:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-primary:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary:hover,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:active,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:focus,.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-success:hover{color:rgba(255,255,255,.5)}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:100%!important;padding:0!important;opacity:0!important;border:none;z-index:0!important}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2!important}.bootstrap-select.is-invalid .dropdown-toggle,.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle,.was-validated .bootstrap-select select:invalid+.dropdown-toggle{border-color:#b94a48}.bootstrap-select.is-valid .dropdown-toggle,.was-validated .bootstrap-select select:valid+.dropdown-toggle{border-color:#28a745}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .dropdown-toggle:focus,.bootstrap-select>select.mobile-device:focus+.dropdown-toggle{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none;height:auto}:not(.input-group)>.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{float:none;z-index:auto}.form-inline .bootstrap-select,.form-inline .bootstrap-select.form-control:not([class*=col-]){width:auto}.bootstrap-select:not(.input-group-btn),.bootstrap-select[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.dropdown-menu-right,.bootstrap-select[class*=col-].dropdown-menu-right,.row .bootstrap-select[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select,.form-horizontal .bootstrap-select,.form-inline .bootstrap-select{margin-bottom:0}.form-group-lg .bootstrap-select.form-control,.form-group-sm .bootstrap-select.form-control{padding:0}.form-group-lg .bootstrap-select.form-control .dropdown-toggle,.form-group-sm .bootstrap-select.form-control .dropdown-toggle{height:100%;font-size:inherit;line-height:inherit;border-radius:inherit}.bootstrap-select.form-control-lg .dropdown-toggle,.bootstrap-select.form-control-sm .dropdown-toggle{font-size:inherit;line-height:inherit;border-radius:inherit}.bootstrap-select.form-control-sm .dropdown-toggle{padding:.25rem .5rem}.bootstrap-select.form-control-lg .dropdown-toggle{padding:.5rem 1rem}.form-inline .bootstrap-select .form-control{width:100%}.bootstrap-select.disabled,.bootstrap-select>.disabled{cursor:not-allowed}.bootstrap-select.disabled:focus,.bootstrap-select>.disabled:focus{outline:0!important}.bootstrap-select.bs-container{position:absolute;top:0;left:0;height:0!important;padding:0!important}.bootstrap-select.bs-container .dropdown-menu{z-index:1060}.bootstrap-select .dropdown-toggle .filter-option{position:static;top:0;left:0;float:left;height:100%;width:100%;text-align:left;overflow:hidden;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.bs3.bootstrap-select .dropdown-toggle .filter-option{padding-right:inherit}.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option{position:absolute;padding-top:inherit;padding-bottom:inherit;padding-left:inherit;float:none}.input-group .bs3-has-addon.bootstrap-select .dropdown-toggle .filter-option .filter-option-inner{padding-right:inherit}.bootstrap-select .dropdown-toggle .filter-option-inner-inner{overflow:hidden}.bootstrap-select .dropdown-toggle .filter-expand{width:0!important;float:left;opacity:0!important;overflow:hidden}.bootstrap-select .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select .dropdown-toggle .bs-select-clear-selected{position:relative;display:block;margin-right:5px;text-align:center}.bs3.bootstrap-select .dropdown-toggle .bs-select-clear-selected{padding-right:inherit}.bootstrap-select .dropdown-toggle .bs-select-clear-selected span{position:relative;top:-webkit-calc(((-1em / 1.5) + 1ex)/ 2);top:calc(((-1em / 1.5) + 1ex)/ 2);pointer-events:none}.bs3.bootstrap-select .dropdown-toggle .bs-select-clear-selected span{top:auto}.bootstrap-select .dropdown-toggle.bs-placeholder .bs-select-clear-selected{display:none}.input-group .bootstrap-select.form-control .dropdown-toggle{border-radius:inherit}.bootstrap-select[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select .dropdown-menu>.inner:focus{outline:0!important}.bootstrap-select .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select .dropdown-menu li{position:relative}.bootstrap-select .dropdown-menu li.active small{color:rgba(255,255,255,.5)!important}.bootstrap-select .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bootstrap-select .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select .dropdown-menu li a span.check-mark{display:none}.bootstrap-select .dropdown-menu li a span.text{display:inline-block}.bootstrap-select .dropdown-menu li small{padding-left:.5em}.bootstrap-select .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select .dropdown-menu .notify.fadeOut{-webkit-animation:.3s linear 750ms forwards bs-notify-fadeOut;-o-animation:.3s linear 750ms forwards bs-notify-fadeOut;animation:.3s linear 750ms forwards bs-notify-fadeOut}.bootstrap-select .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.fit-width .dropdown-toggle .filter-option{position:static;display:inline;padding:0}.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner,.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner-inner{display:inline}.bootstrap-select.fit-width .dropdown-toggle .bs-caret:before{content:'\00a0'}.bootstrap-select.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark{position:absolute;display:inline-block;right:15px;top:5px}.bootstrap-select.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select .bs-ok-default:after{content:'';display:block;width:.5em;height:1em;border-style:solid;border-width:0 .26em .26em 0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:before{bottom:auto;top:-4px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after{bottom:auto;top:-4px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle .filter-option:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle .filter-option:before,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle .filter-option:after,.bootstrap-select.show-menu-arrow.show>.dropdown-toggle .filter-option:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group{display:block}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-donebutton .btn-group{display:block}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none}