From 826293e9e07d1111c66eee4f2654585cb133a2c3 Mon Sep 17 00:00:00 2001 From: mrholek Date: Mon, 6 Jan 2025 14:58:31 +0100 Subject: [PATCH] release: v5.9.0 --- dist/css/coreui.css.map | 2 +- dist/css/coreui.min.css.map | 2 +- dist/css/coreui.rtl.css.map | 2 +- dist/css/coreui.rtl.min.css.map | 2 +- dist/js/bootstrap.bundle.js | 778 +++++++++++++++++++------- dist/js/bootstrap.bundle.js.map | 2 +- dist/js/bootstrap.bundle.min.js | 2 +- dist/js/bootstrap.bundle.min.js.map | 2 +- dist/js/bootstrap.esm.js | 778 +++++++++++++++++++------- dist/js/bootstrap.esm.js.map | 2 +- dist/js/bootstrap.esm.min.js | 2 +- dist/js/bootstrap.esm.min.js.map | 2 +- dist/js/bootstrap.js | 778 +++++++++++++++++++------- dist/js/bootstrap.js.map | 2 +- dist/js/bootstrap.min.js | 2 +- dist/js/bootstrap.min.js.map | 2 +- dist/js/coreui.bundle.js | 778 +++++++++++++++++++------- dist/js/coreui.bundle.js.map | 2 +- dist/js/coreui.bundle.min.js | 2 +- dist/js/coreui.bundle.min.js.map | 2 +- dist/js/coreui.esm.js | 778 +++++++++++++++++++------- dist/js/coreui.esm.js.map | 2 +- dist/js/coreui.esm.min.js | 2 +- dist/js/coreui.esm.min.js.map | 2 +- dist/js/coreui.js | 778 +++++++++++++++++++------- dist/js/coreui.js.map | 2 +- dist/js/coreui.min.js | 2 +- dist/js/coreui.min.js.map | 2 +- hugo.yml | 8 +- js/dist/calendar.js | 368 +++++++----- js/dist/calendar.js.map | 2 +- js/dist/date-range-picker.js | 10 +- js/dist/date-range-picker.js.map | 2 +- js/dist/range-slider.js | 2 +- js/dist/range-slider.js.map | 2 +- js/dist/util/calendar.js | 465 +++++++++++---- js/dist/util/calendar.js.map | 2 +- js/dist/util/date-range-picker.js | 33 ++ js/dist/util/date-range-picker.js.map | 1 + js/dist/util/time.js | 2 +- js/dist/util/time.js.map | 2 +- 41 files changed, 4020 insertions(+), 1591 deletions(-) create mode 100644 js/dist/util/date-range-picker.js create mode 100644 js/dist/util/date-range-picker.js.map diff --git a/dist/css/coreui.css.map b/dist/css/coreui.css.map index 99a515612..0cdee9336 100644 --- a/dist/css/coreui.css.map +++ b/dist/css/coreui.css.map @@ -1 +1 @@ -{"version":3,"sources":["coreui.css","../../scss/mixins/_banner.scss","../../scss/_root.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_color-mode.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_ltr-rtl.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-multi-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_loading-button.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_accordion.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/mixins/_backdrop.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/_offcanvas.scss","../../scss/_placeholders.scss","../../scss/_avatar.scss","../../scss/_calendar.scss","../../scss/_callout.scss","../../scss/_date-picker.scss","../../scss/_footer.scss","../../scss/_header.scss","../../scss/_icon.scss","../../scss/mixins/_icon.scss","../../scss/_range-slider.scss","../../scss/_rating.scss","../../scss/sidebar/_sidebar.scss","../../scss/sidebar/_sidebar-nav.scss","../../scss/sidebar/_sidebar-narrow.scss","../../scss/_time-picker.scss","../../scss/helpers/_color-bg.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss","../../scss/utilities/_bg-gradients.scss"],"names":[],"mappings":"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AAA;AL6HF;;AK1HA;EAGE,iBAAA;AL2HF;AKxHE;EACE,UAAA;AL0HJ;;AKnHA;EACE,wBAAA;ALsHF;;AK9GA;;;;EAIE,0BAAA;ALiHF;AK9GI;;;;EACE,eAAA;ALmHN;;AK5GA;EACE,UAAA;EACA,kBAAA;AL+GF;;AK1GA;EACE,gBAAA;AL6GF;;AKnGA;EACE,YAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;ALsGF;;AK9FA;EExbM,WAAA;EF0bJ,WAAA;EACA,UAAA;EACA,qBC4S4B;ED1S5B,oBAAA;EFlNM,iCAAA;AHmTR;AG/cI;EEwWJ;IFrMQ,iBAAA;EHgTN;AACF;AKnGE;EACE,WAAA;ALqGJ;;AK9FA;;;;;;;EAOE,UAAA;ALiGF;;AK9FA;EACE,YAAA;ALiGF;;AKxFA;EACE,6BAAA;EACA,oBAAA;AL2FF;;AKpFE;;;;EAIE,cAAA;ALuFJ;;AKhFA;EACE,wBAAA;ALmFF;;AK9EA;EACE,UAAA;ALiFF;;AK1EA;EACE,aAAA;EACA,0BAAA;AL6EF;;AK/EA;EACE,aAAA;EACA,0BAAA;AL6EF;;AKxEA;EACE,qBAAA;AL2EF;;AKtEA;EACE,SAAA;ALyEF;;AKlEA;EACE,kBAAA;EACA,eAAA;ALqEF;;AK7DA;EACE,wBAAA;ALgEF;;AKxDA;EACE,wBAAA;AL2DF;;AS9nBA;ENmQM,kBALI;EM5PR,gBHguB8B;AN/FhC;;AS5nBE;EAGE,gBHktBkB;EGjtBlB,gBHisB0B;EHrctB,iCAAA;AHkYR;AG9hBI;EMpGF;INuQM,eAAA;EH+XN;AACF;;ASvoBE;EAGE,gBHktBkB;EGjtBlB,gBHisB0B;EHrctB,iCAAA;AH6YR;AGziBI;EMpGF;INuQM,iBAAA;EH0YN;AACF;;ASlpBE;EAGE,gBHktBkB;EGjtBlB,gBHisB0B;EHrctB,iCAAA;AHwZR;AGpjBI;EMpGF;INuQM,eAAA;EHqZN;AACF;;AS7pBE;EAGE,gBHktBkB;EGjtBlB,gBHisB0B;EHrctB,iCAAA;AHmaR;AG/jBI;EMpGF;INuQM,iBAAA;EHgaN;AACF;;ASxqBE;EAGE,gBHktBkB;EGjtBlB,gBHisB0B;EHrct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mBAAA;EjBgxCF;EiBjtCQ;IAhEN,cAAA;IACA,mBAAA;EjBoxCF;EiBrtCQ;IAhEN,cAAA;IACA,WAAA;EjBwxCF;EiBjtCU;IVhDN,cAAA;EPowCJ;EiBptCU;IVhDN,wBAAA;EPuwCJ;EiBvtCU;IVhDN,yBAAA;EP0wCJ;EiB1tCU;IVhDN,gBAAA;EP6wCJ;EiB7tCU;IVhDN,yBAAA;EPgxCJ;EiBhuCU;IVhDN,yBAAA;EPmxCJ;EiBnuCU;IVhDN,gBAAA;EPsxCJ;EiBtuCU;IVhDN,yBAAA;EPyxCJ;EiBzuCU;IVhDN,yBAAA;EP4xCJ;EiB5uCU;IVhDN,gBAAA;EP+xCJ;EiB/uCU;IVhDN,yBAAA;EPkyCJ;EiBlvCU;IVhDN,yBAAA;EPqyCJ;EiB1uCM;;IAEE,iBAAA;EjB4uCR;EiBzuCM;;IAEE,iBAAA;EjB2uCR;EiBlvCM;;IAEE,uBAAA;EjBovCR;EiBjvCM;;IAEE,uBAAA;EjBmvCR;EiB1vCM;;IAEE,sBAAA;EjB4vCR;EiBzvCM;;IAEE,sBAAA;EjB2vCR;EiBlwCM;;IAEE,oBAAA;EjBowCR;EiBjwCM;;IAEE,oBAAA;EjBmwCR;EiB1wCM;;IAEE,sBAAA;EjB4wCR;EiBzwCM;;IAEE,sBAAA;EjB2wCR;EiBlxCM;;IAEE,oBAAA;EjBoxCR;EiBjxCM;;IAEE,oBAAA;EjBmxCR;AACF;Ae90CI;EEUE;IACE,WAAA;EjBu0CN;EiBp0CI;IApCJ,cAAA;IACA,WAAA;EjB22CA;EiB71CA;IACE,cAAA;IACA,WAAA;EjB+1CF;EiBj2CA;IACE,cAAA;IACA,UAAA;EjBm2CF;EiBr2CA;IACE,cAAA;IACA,mBAAA;EjBu2CF;EiBz2CA;IACE,cAAA;IACA,UAAA;EjB22CF;EiB72CA;IACE,cAAA;IACA,UAAA;EjB+2CF;EiBj3CA;IACE,cAAA;IACA,mBAAA;EjBm3CF;EiBp1CI;IAhDJ,cAAA;IACA,WAAA;EjBu4CA;EiBl1CQ;IAhEN,cAAA;IACA,kBAAA;EjBq5CF;EiBt1CQ;IAhEN,cAAA;IACA,mBAAA;EjBy5CF;EiB11CQ;IAhEN,cAAA;IACA,UAAA;EjB65CF;EiB91CQ;IAhE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AA;EACA,wDAAA;EACA,gBAAA;EjB8QI,kBALI;EiBrQR,gBdurB4B;AN06C9B;;AoB7lEA;EACE,mDAAA;EACA,sDAAA;EjBoQI,kBALI;AHk2DV;;AoB7lEA;EACE,oDAAA;EACA,uDAAA;EjB8PI,mBALI;AHw2DV;;AqB9nEA;EACE,mBfs9BsC;EH5rBlC,kBALI;EkBjRR,iCfs9BsC;ANyqCxC;;AsBpoEA;EACE,cAAA;EACA,WAAA;EACA,yBAAA;EnBwRI,eALI;EmBhRR,gBhB0rB4B;EgBzrB5B,gBhBisB4B;EgBhsB5B,4BhBm/BsC;EgBl/BtC,wBAAA;EAAA,qBAAA;EAAA,gBAAA;EACA,oChB4+BsC;EgB3+BtC,4BAAA;EACA,6DAAA;EdGE,uCAAA;EeHE,wEDMJ;AtBkoEF;AuBpoEM;EDhBN;ICiBQ,gBAAA;EvBuoEN;AACF;AsBroEE;EACE,gBAAA;AtBuoEJ;AsBroEI;EACE,eAAA;AtBuoEN;AsBloEE;EACE,4BhB69BoC;EgB59BpC,oChBu9BoC;EgBt9BpC,qBhBq+BoC;EgBp+BpC,UAAA;EAKE,iDhB0mBkB;ANshDxB;AsB5nEE;EAME,eAAA;EAMA,aAAA;EAKA,SAAA;AtBgnEJ;AsB3mEE;EACE,cAAA;EACA,UAAA;AtB6mEJ;AsBzmEE;EACE,qEAAA;EAEA,UAAA;AtB0mEJ;AsB7mEE;EACE,qEAAA;EAEA,UAAA;AtB0mEJ;AsBlmEE;EACE,4BhBq6BoC;EgBp6BpC,yChBq6BoC;EgBp6BpC,qChBq6BoC;EgBn6BpC,UAAA;AtBmmEJ;AsB/lEE;EACE,yBAAA;EACA,0BAAA;EACA,2BhBmxB0B;EgBnxB1B,0BhBmxB0B;EgBlxB1B,4BhB65BoC;EkB3/BtC,wClByzCgC;EgBztC9B,oBAAA;EACA,qBAAA;EACA,mBAAA;EACA,eAAA;EACA,gDhB+xB0B;EgB9xB1B,gBAAA;ECzFE,6ID0FF;EC1FE,qID0FF;AtBimEJ;AsB7mEE;EACE,yBAAA;EACA,0BAAA;EACA,2BhBmxB0B;EgBnxB1B,0BhBmxB0B;EgBlxB1B,4BhB65BoC;EkB3/BtC,wClByzCgC;EgBztC9B,oBAAA;EACA,qBAAA;EACA,mBAAA;EACA,eAAA;EACA,gDhB+xB0B;EgB9xB1B,gBAAA;ECzFE,qID0FF;AtBimEJ;AuBvrEM;ED0EJ;ICzEM,wBAAA;IAAA,gBAAA;EvB0rEN;EsBjnEA;ICzEM,gBAAA;EvB0rEN;AACF;AsBnmEE;EACE,yChBgtC8B;ANq5BlC;AsBtmEE;EACE,yChBgtC8B;ANq5BlC;;AsB5lEA;EACE,cAAA;EACA,WAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBhBglB4B;EgB/kB5B,4BhBk5BsC;EgBj5BtC,6BAAA;EACA,yBAAA;EACA,uCAAA;AtB+lEF;AsB7lEE;EACE,UAAA;AtB+lEJ;AsB5lEE;EAEE,gBAAA;EACA,eAAA;AtB6lEJ;;AsBllEA;EACE,oEhBm4BsC;EgBl4BtC,uBAAA;EnByII,mBALI;EKvQN,0CAAA;AR0tEJ;AsBnlEE;EACE,uBAAA;EACA,wBAAA;EACA,0BhBmuB0B;EgBnuB1B,yBhBmuB0B;ANk3C9B;AsBxlEE;EACE,uBAAA;EACA,wBAAA;EACA,0BhBmuB0B;EgBnuB1B,yBhBmuB0B;ANk3C9B;;AsBjlEA;EACE,kEhBu3BsC;EgBt3BtC,oBAAA;EnB4HI,kBALI;EKvQN,0CAAA;ARsuEJ;AsBllEE;EACE,oBAAA;EACA,qBAAA;EACA,wBhB0tB0B;EgB1tB1B,uBhB0tB0B;AN03C9B;AsBvlEE;EACE,oBAAA;EACA,qBAAA;EACA,wBhB0tB0B;EgB1tB1B,uBhB0tB0B;AN03C9B;;AsB5kEE;EACE,qEhBo2BoC;AN2uCxC;AsB5kEE;EACE,oEhBi2BoC;AN6uCxC;AsB3kEE;EACE,kEhB81BoC;AN+uCxC;;AsBxkEA;EACE,WhB41BsC;EgB31BtC,iEhBq1BsC;EgBp1BtC,iBhBgrB4B;AN25C9B;AsBzkEE;EACE,eAAA;AtB2kEJ;AsBxkEE;EACE,oBAAA;EdvLA,uCAAA;ARkwEJ;AsBvkEE;EACE,oBAAA;Ed5LA,uCAAA;ARswEJ;AsBtkEE;EAAoB,gEhBq0BkB;ANowCxC;AsBxkEE;EAAoB,8DhBq0BkB;ANswCxC;;AyB1xEA;EACE,yPAAA;EAEA,c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AA;APi0FN;A2B7tFI;EpBpGE,oBAAA;EAAA,cAAA;APq0FN;;A2BttFE;EACE,kBAHO;EpB7GL,oBAAA;AP00FN;A2BvtFI;EACE,aARI;EASJ,cARK;EpB7GL,oBAAA;AP+0FN;A2BttFI;EAEE,sCAAA;A3ButFN;;A2BnuFE;EACE,iBAHO;EpB7GL,mBAAA;APu1FN;A2BpuFI;EACE,UARI;EASJ,aARK;EpB7GL,mBAAA;AP41FN;A2BnuFI;EAEE,qCAAA;A3BouFN;;A2B/tFA;EACE,qBAAA;EpBjII,kBAAA;APo2FN;;A2B/tFA;EACE,kBAAA;EACA,sBAAA;EACA,oBAAA;A3BkuFF;A2B9tFI;EACE,oBAAA;EACA,YAAA;EACA,arBguBwB;ANggE9B;;A2BztFI;;EACE,kLAAA;A3B6tFN;;A4Br6FA;EACE,WAAA;EACA,cAAA;EACA,UAAA;EACA,wBAAA;EAAA,qBAAA;EAAA,gBAAA;EACA,6BAAA;A5Bw6FF;A4Bt6FE;EACE,UAAA;A5Bw6FJ;A4Bp6FI;EAA0B,iEtBkyCa;ANqoD3C;A4Bt6FI;EAA0B,iEtBiyCa;ANwoD3C;A4Bt6FE;EACE,SAAA;A5Bw6FJ;A4Br6FE;EACE,WtBmxCuC;EsBlxCvC,YtBkxCuC;EsBjxCvC,oBAAA;EACA,wBAAA;EAAA,gBAAA;EJ1BF,oClByoB4B;EsB7mB1B,StBixCuC;EE9xCvC,mBAAA;EeHE,oHKmBF;ELnBE,4GKmBF;A5Bs6FJ;AuBr7FM;EKMJ;ILLM,wBAAA;IAAA,gBAAA;EvBw7FN;AACF;A4Bz6FI;EJjCF,yBlBkzCyC;AN2pD3C;A4Bv6FE;EACE,WtB4vC8B;EsB3vC9B,ctB4vC8B;EsB3vC9B,kBAAA;EACA,etB2vC8B;EsB1vC9B,yCtB2vC8B;EsB1vC9B,yBAAA;EpB7BA,mBAAA;ARu8FJ;A4Br6FE;EACE,WtBwvCuC;EsBvvCvC,YtBuvCuC;EsBtvCvC,qBAAA;EAAA,gBAAA;EJpDF,oClByoB4B;EsBnlB1B,StBuvCuC;EE9xCvC,mBAAA;EeHE,iHK6CF;EL7CE,4GK6CF;A5Bs6FJ;AuB/8FM;EKiCJ;ILhCM,qBAAA;IAAA,gBAAA;EvBk9FN;AACF;A4Bz6FI;EJ3DF,yBlBkzCyC;ANqrD3C;A4Bv6FE;EACE,WtBkuC8B;EsBjuC9B,ctBkuC8B;EsBjuC9B,kBAAA;EACA,etBiuC8B;EsBhuC9B,yCtBiuC8B;EsBhuC9B,yBAAA;EpBvDA,mBAAA;ARi+FJ;A4Br6FE;EACE,oBAAA;A5Bu6FJ;A4Br6FI;EACE,4CtBouCqC;ANmsD3C;A4Bp6FI;EACE,4CtBguCqC;ANssD3C;;A6B7/FA;EACE,kBAAA;A7BggGF;A6B9/FE;;;EAGE,wDvB4zCoC;EuB3zCpC,4DvB2zCoC;EuB1zCpC,iBvB2zCoC;ANqsDxC;A6B7/FE;EACE,kBAAA;EACA,MAAA;EtB0CE,OAAA;EsBxCF,UAAA;EACA,eAAA;EACA,YAAA;EACA,qBAAA;EACA,gBAAA;EACA,4CAAA;EACA,iBAAA;EACA,uBAAA;EACA,mBAAA;EACA,oBAAA;EACA,iDAAA;EACA,qBAAA;ENVE,gEMWF;A7B+/FJ;AuBtgGM;EMTJ;INUM,gBAAA;EvBygGN;AACF;A6BjgGE;;EAEE,qBAAA;A7BmgGJ;A6BjgGI;EACE,kBAAA;A7BogGN;A6BrgGI;;EACE,kBAAA;A7BogGN;A6BjgGI;EAEE,qBvB8xCkC;EuB7xClC,wBvB8xCkC;ANsuDxC;A6BvgGI;;;EAEE,qBvB8xCkC;EuB7xClC,wBvB8xCkC;ANsuDxC;A6BjgGI;;EACE,qBvByxCkC;EuBxxClC,wBvByxCkC;AN2uDxC;A6BhgGE;EACE,qBvBmxCoC;EuBlxCpC,wBvBmxCoC;AN+uDxC;A6B3/FI;EACE,8DvB8wCkC;ANkvDxC;A6BjgGI;;;;EACE,8DvB8wCkC;ANkvDxC;A6B3/FI;EACE,8DvBwwCkC;ANqvDxC;A6Bx/FI;EACE,kBAAA;EACA,oBAAA;EACA,WAAA;EACA,avB6vCkC;EuB5vClC,WAAA;EACA,oCvB66BkC;EEv+BpC,uCAAA;ARsjGJ;A6BlgGI;;EACE,kBAAA;EACA,oBAAA;EACA,WAAA;EACA,avB6vCkC;EuB5vClC,WAAA;EACA,oCvB66BkC;EEv+BpC,uCAAA;ARsjGJ;A6Bx/FE;EACE,yCvB06BoC;ANglExC;A6Bt/FI;EACE,uCAAA;A7Bw/FN;A6Bp/FE;;EAEE,cvB9EQ;ANokGZ;;A8B/kGA;EACE,kBAAA;EACA,aAAA;EACA,eAAA;EACA,oBAAA;EACA,WAAA;A9BklGF;A8BhlGE;;;EAGE,kBAAA;EACA,cAAA;EACA,SAAA;EACA,YAAA;A9BklGJ;A8B9kGE;;;EAGE,UAAA;A9BglGJ;A8B1kGE;EACE,kBAAA;EACA,UAAA;A9B4kGJ;A8B1kGI;EACE,UAAA;A9B4kGN;;A8BjkGA;EACE,aAAA;EACA,mBAAA;EACA,yBAAA;E3B8OI,eALI;E2BvOR,gBxBipB4B;EwBhpB5B,gBxBwpB4B;EwBvpB5B,gEAAA;EACA,kBAAA;EACA,mBAAA;EACA,yEAAA;EACA,wGAAA;EtBtCE,uCAAA;AR2mGJ;;A8B3jGA;;;;EAIE,oBAAA;E3BwNI,kBALI;EKvQN,0CAAA;ARonGJ;;A8B3jGA;;;;EAIE,uBAAA;E3B+MI,mBALI;EKvQN,0CAAA;AR6nGJ;;A8B3jGA;;EvB9BM,mBAAA;AP8lGN;;A8BjjGI;;;;EvB7CE,0BAAA;EAAA,6BAAA;APsmGN;A8BhjGI;;;;EvBtDE,0BAAA;EAAA,6BAAA;AP6mGN;A8B1iGE;EvBnEI,+CAAA;EAAA,yBAAA;EAAA,4BAAA;APknGN;A8B1iGE;;EvBxEI,yBAAA;EAAA,4BAAA;APunGN;;A+BppGE;EACE,aAAA;EACA,WAAA;EACA,mBzB87BoC;EH5rBlC,kBALI;E4B1PN,kCzBs0CqB;ANg1DzB;;A+BnpGE;EACE,kBAAA;EACA,SAAA;EACA,UAAA;EACA,aAAA;EACA,eAAA;EACA,uBAAA;EACA,kBAAA;E5BqPE,mBALI;E4B7ON,WzByzCqB;EyBxzCrB,oCzBwzCqB;EEn1CrB,uCAAA;ARirGJ;;A+BjpGI;;;;EAEE,cAAA;A/BspGN;;A+BrsGI;EAqDE,gDzB2yCmB;EC/yCnB,oCAAA;EwBQE,0PAAA;EACA,4BAAA;ExBmBF,2DAAA;EwBjBE,gEAAA;A/BkpGR;A+B/oGM;EACE,gDzBgyCiB;EyB3xCf,4DzB2xCe;ANk3DzB;;A+BltGI;ExBiDE,oCAAA;EA4BA,kFAAA;AP0oGN;;A+BvtGI;EAuFE,gDzBywCmB;AN23DzB;A+BjoGQ;EAEE,mQAAA;ExB3CJ,uBAAA;EA4BA,+DAAA;EwBkBI,2EAAA;A/BkoGV;A+B9nGM;EACE,gDzB4vCiB;EyBvvCf,4DzBuvCe;ANq4DzB;;A+BruGI;EAkHI,yCAAA;A/BunGR;;A+BzuGI;EAyHE,gDzBuuCmB;AN64DzB;A+BlnGM;EACE,6CzBouCiB;ANg5DzB;A+BjnGM;EACE,4DzBguCiB;ANm5DzB;A+BhnGM;EACE,kCzB4tCiB;ANs5DzB;;A+B7mGI;ExBxFE,kBAAA;APysGN;;A+B1vGI;;;;;EAoJM,UAAA;A/B8mGV;;A+B9uGE;EACE,aAAA;EACA,WAAA;EACA,mBzB87BoC;EH5rBlC,kBALI;E4B1PN,oCzBs0CqB;AN06DzB;;A+B7uGE;EACE,kBAAA;EACA,SAAA;EACA,UAAA;EACA,aAAA;EACA,eAAA;EACA,uBAAA;EACA,kBAAA;E5BqPE,mBALI;E4B7ON,WzByzCqB;EyBxzCrB,mCzBwzCqB;EEn1CrB,uCAAA;AR2wGJ;;A+B3uGI;;;;EAEE,cAAA;A/BgvGN;;A+B/xGI;EAqDE,kDzB2yCmB;EC/yCnB,oCAAA;EwBQE,4UAAA;EACA,4BAAA;ExBmBF,2DAAA;EwBjBE,gEAAA;A/B4uGR;A+BzuGM;EACE,kDzBgyCiB;EyB3xCf,2DzB2xCe;AN48DzB;;A+B5yGI;ExBiDE,oCAAA;EA4BA,kFAAA;APouGN;;A+BjzGI;EAuFE,kDzBywCmB;ANq9DzB;A+B3tGQ;EAEE,qVAAA;ExB3CJ,uBAAA;EA4BA,+DAAA;EwBkBI,2EAAA;A/B4tGV;A+BxtGM;EACE,kDzB4vCiB;EyBvvCf,2DzBuvCe;AN+9DzB;;A+B/zGI;EAkHI,yCAAA;A/BitGR;;A+Bn0GI;EAyHE,kDzBuuCmB;ANu+DzB;A+B5sGM;EACE,+CzBouCiB;AN0+DzB;A+B3sGM;EACE,2DzBguCiB;AN6+DzB;A+B1sGM;EACE,oCzB4tCiB;ANg/DzB;;A+BvsGI;ExBxFE,kBAAA;APmyGN;;A+Bp1GI;;;;;EAsJM,UAAA;A/BssGV;;AgC91GA;EAEE,4BA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CAAA;AnE2wQJ;AmEzwQI;EAEE,qCAAA;AnE0wQN;;AmErwQA;EACE,gFAAA;EhEwII,kBALI;EgEjIR,sCAAA;EACA,8CAAA;EACA,SAAA;E3DxIE,sDAAA;ARi5QJ;AmEtwQE;EACE,4CAAA;EACA,qBAAA;AnEwwQJ;AmErwQE;EACE,UAAA;AnEuwQJ;AmEnwQE;EACE,eAAA;AnEqwQJ;AmElwQE;EACE,yBAAA;AnEowQJ;;AmEhwQA;EACE,cAAA;EACA,iBAAA;EACA,mDAAA;EACA,4BAAA;EACA,kCAAA;EACA,0BAAA;AnEmwQF;AmEjwQE;EACE,yDAAA;AnEmwQJ;;AoE77QA;EACE,qBAAA;EACA,cAAA;EACA,kBAAA;EACA,yBAAA;EACA,kBAAA;ApEg8QF;AoE/7QE;ECJA,W/D2yBgB;E+D1yBhB,Y/D0yBgB;E+DzyBhB,e/DyyBgB;AN6pPlB;AoEj8QI;ECPF,W/D+yBgB;E+D9yBhB,Y/D8yBgB;E+D7yBhB,e/D6yBgB;AN8pPlB;AoEl8QI;ECXF,a/D8yBgB;E+D7yBhB,c/D6yBgB;E+D5yBhB,iB/D4yBgB;ANoqPlB;AoEn8QI;ECfF,c/D6yBgB;E+D5yBhB,e/D4yBgB;E+D3yBhB,kB/D2yBgB;AN0qPlB;AoEp8QI;ECnBF,e/D4yBgB;E+D3yBhB,gB/D2yBgB;E+D1yBhB,mB/D0yBgB;ANgrPlB;AoEp8QM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;ApEw8Q3B;AoEz8QM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;ApE68Q3B;AoE98QM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;ApEk9Q3B;AoEn9QM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;ApEu9Q3B;AoEx9QM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;ApE49Q3B;AoE79QM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;ApEi+Q3B;AoEl+QM;ECxBJ,WDyByB;ECxBzB,YDwByB;ECvBzB,eDuByB;ApEs+Q3B;;AsEjgRA;EAEE,oCAAA;EACA,uCAAA;EACA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hB;;AyF1qUU;EAcM,2BAAA;AzFgqUhB;;AyF9qUU;EAcM,6BAAA;AzFoqUhB;;AyFlrUU;EAcM,8BAAA;AzFwqUhB;;AyFtrUU;EAcM,6BAAA;AzF4qUhB;;AyF1rUU;EAcM,0BAAA;AzFgrUhB;;AyF9rUU;EAcM,gCAAA;AzForUhB;;AyFlsUU;EAcM,yBAAA;AzFwrUhB;;AyFtsUU;EAcM,wBAAA;AzF4rUhB;;AyF1sUU;EAcM,+BAAA;AzFgsUhB;;AyF9sUU;EAcM,yBAAA;AzFosUhB;;AyFltUU;EAcM,6BAAA;AzFwsUhB;;AyFttUU;EAcM,8BAAA;AzF4sUhB;;AyF1tUU;EAcM,wBAAA;AzFgtUhB;;AyF9tUU;EAcM,+BAAA;AzFotUhB;;AyFluUU;EAcM,wBAAA;AzFwtUhB;;AyFtuUU;EAcM,4CAAA;AzF4tUhB;;AyF1uUU;EAcM,+CAAA;AzFguUhB;;AyF9uUU;EAcM,+CAAA;AzFouUhB;;AyFlvUU;EAcM,2BAAA;AzFwuUhB;;AyFtvUU;EAcM,2BAAA;AzF4uUhB;;AyF1vUU;EAcM,gMAAA;AzFgvUhB;;AyF9vUU;EAcM,gMAAA;AzFovUhB;;AyFlwUU;EAcM,kMAAA;AzFwvUhB;;AyFtwUU;EAcM,sMAAA;AzF4vUhB;;AyF1wUU;EAcM,uMAAA;AzFgwUhB;;AyFtyUU;EACE,mFAAA;AzFyyUZ;;AyF1yUU;EACE,qFAAA;AzF6yUZ;;AyF9yUU;EACE,mFAAA;AzFizUZ;;AyFlzUU;EACE,gFAAA;AzFqzUZ;;AyFtzUU;EACE,mFAAA;AzFyzUZ;;AyF1zUU;EACE,kFAAA;AzF6zUZ;;AyF9zUU;EACE,iFAAA;AzFi0UZ;;AyFl0UU;EACE,gFAAA;AzFq0UZ;;AyF9yUU;EAcM,2BAAA;AzFoyUhB;;AyFlzUU;EAcM,6BAAA;AzFwyUhB;;AyFtzUU;EAcM,6BAAA;AzF4yUhB;;AyF1zUU;EAcM,0BAAA;AzFgzUhB;;AyF9zUU;EAcM,mCAAA;EAAA,2BAAA;AzFozUhB;;AyFl0UU;EAcM,iBAAA;AzFwzUhB;;AyFt0UU;EAcM,mBAAA;AzF4zUhB;;AyF10UU;EAcM,oBAAA;AzFg0UhB;;AyF90UU;EAcM,oBAAA;AzFo0UhB;;AyFl1UU;EAcM,sBAAA;AzFw0UhB;;AyFt1UU;EAcM,uBAAA;AzF40UhB;;AyF11UU;ElFhCJ,kBAAA;AP83UN;;AyF91UU;ElFhCJ,oBAAA;APk4UN;;AyFl2UU;ElFhCJ,qBAAA;APs4UN;;AyFt2UU;ElFhCJ,mBAAA;AP04UN;;AyF12UU;ElFhCJ,qBAAA;AP84UN;;AyF92UU;ElFhCJ,sBAAA;APk5UN;;AyFl3UU;ElFhCJ,2CAAA;APs5UN;;AyFt3UU;ElFhCJ,sCAAA;AP05UN;;AyF13UU;ElFhCJ,sCAAA;AP85UN;;AyF93UU;EAcM,0FAAA;AzFo3UhB;;AyFl4UU;EAcM,oBAAA;AzFw3UhB;;AyFt4UU;EAcM,8FAAA;AzF43UhB;;AyF14UU;EAcM,wBAAA;AzFg4UhB;;AyF94UU;ElFhCJ,gGAAA;APk7UN;;AyFl5UU;ElFhCJ,0BAAA;APs7UN;;AyFt5UU;EAcM,iGAAA;AzF44UhB;;AyF15UU;EAcM,2BAAA;AzFg5UhB;;AyF95UU;ElFhCJ,+FAAA;APk8UN;;AyFl6UU;ElFhCJ,yBAAA;APs8UN;;AyFt6UU;EAIQ,uBAAA;EAUF,gFAAA;AzF65UhB;;AyF36UU;EAIQ,uBAAA;EAUF,kFAAA;AzFk6UhB;;AyFh7UU;EAIQ,uBAAA;EAUF,gFAAA;AzFu6UhB;;AyFr7UU;EAIQ,uBAAA;EAUF,6EAAA;AzF46UhB;;AyF17UU;EAIQ,uBAAA;EAUF,gFAAA;AzFi7UhB;;AyF/7UU;EAIQ,uBAAA;EAUF,+EAAA;AzFs7UhB;;AyFp8UU;EAIQ,uBAAA;EAUF,8EAAA;AzF27UhB;;AyFz8UU;EAIQ,uBAAA;EAUF,6EAAA;AzFg8UhB;;AyF98UU;EAIQ,uBAAA;EAUF,8EAAA;AzFq8UhB;;AyFn9UU;EAIQ,uBAAA;EAUF,8EAAA;AzF08UhB;;AyFx9UU;EAcM,oCAAA;AzF88UhB;;AyF59UU;EAcM,oCAAA;AzFk9UhB;;AyFh+UU;EAcM,oCAAA;AzFs9UhB;;AyFp+UU;EAcM,iCAAA;AzF09UhB;;AyFx+UU;EAcM,oCAAA;AzF89UhB;;AyF5+UU;EAcM,oCAAA;AzFk+UhB;;AyFh/UU;EAcM,oCAAA;AzFs+UhB;;AyFp/UU;EAcM,oCAAA;AzF0+UhB;;AyFx/UU;EAcM,iCAAA;AzF8+UhB;;AyF5/UU;ElFhCJ,sCAAA;APgiVN;;AyFhgVU;ElFhCJ,sCAAA;APoiVN;;AyFpgVU;ElFhCJ,sCAAA;APwiVN;;AyFxgVU;ElFhCJ,mCAAA;AP4iVN;;AyF5gVU;ElFhCJ,sCAAA;APgjVN;;AyFhhVU;ElFhCJ,sCAAA;APojVN;;AyFphVU;ElFhCJ,sCAAA;APwjVN;;AyFxhVU;ElFhCJ,sCAAA;AP4jVN;;AyF5hVU;ElFhCJ,mCAAA;APgkVN;;AyFhiVU;EAcM,uCAAA;AzFshVhB;;AyFpiVU;EAcM,uCAAA;AzF0hVhB;;AyFxiVU;EAcM,uCAAA;AzF8hVhB;;AyF5iVU;EAcM,oCAAA;AzFkiVhB;;AyFhjVU;EAcM,uCAAA;AzFsiVhB;;AyFpjVU;EAcM,uCAAA;AzF0iVhB;;AyFxjVU;EAcM,uCAAA;AzF8iVhB;;AyF5jVU;EAcM,uCAAA;AzFkjVhB;;AyFhkVU;EAcM,oCAAA;AzFsjVhB;;AyFpkVU;ElFhCJ,qCAAA;APwmVN;;AyFxkVU;ElFhCJ,qCAAA;AP4mVN;;AyF5kVU;ElFhCJ,qCAAA;APgnVN;;AyFhlVU;ElFhCJ,kCAAA;APonVN;;AyFplVU;ElFhCJ,qCAAA;APwnVN;;AyFxlVU;ElFhCJ,qCAAA;AP4nVN;;AyF5lVU;ElFhCJ,qCAAA;APgoVN;;AyFhmVU;ElFhCJ,qCAAA;APooVN;;AyFpmVU;ElFhCJ,kCAAA;APwoVN;;AyFxmVU;EAcM,4BAAA;AzF8lVhB;;AyF5mVU;EAcM,4BAAA;AzFkmVhB;;AyFhnVU;EAcM,4BAAA;AzFsmVhB;;AyFpnVU;EAcM,4BAAA;AzF0mVhB;;AyFxnVU;EAcM,4BAAA;AzF8mVhB;;AyF5nVU;EAcM,gCAAA;AzFknVhB;;AyFhoVU;EAcM,gCAAA;AzFsnVhB;;AyFpoVU;EAcM,gCAAA;AzF0nVhB;;AyFxoVU;EAcM,gCAAA;AzF8nVhB;;AyF5oVU;EAcM,gCAAA;AzFkoVhB;;AyFhpVU;ElFhCJ,kCAAA;APorVN;;AyFppVU;ElFhCJ,kCAAA;APwrVN;;AyFxpVU;ElFhCJ,kCAAA;AP4rVN;;AyF5pVU;ElFhCJ,kCAAA;APgsVN;;AyFhqVU;ElFhCJ,kCAAA;APosVN;;AyFpqVU;EAcM,mCAAA;AzF0pVhB;;AyFxqVU;EAcM,mCAAA;AzF8pVhB;;AyF5qVU;EAcM,mCAAA;AzFkqVhB;;AyFhrVU;EAcM,mCAAA;AzFsqVhB;;AyFprVU;EAcM,mCAAA;AzF0qVhB;;AyFxrVU;ElFhCJ,iCAAA;AP4tVN;;AyF5rVU;ElFhCJ,iCAAA;APguVN;;AyFhsVU;ElFhCJ,iCAAA;APouVN;;AyFpsVU;ElFhCJ,iCAAA;APwuVN;;AyFxsVU;ElFhCJ,iCAAA;AP4uVN;;AyF5sVU;EAcM,yDAAA;AzFksVhB;;AyFhtVU;EAcM,2DAAA;AzFssVhB;;AyFptVU;EAcM,yDAAA;AzF0sVhB;;AyFxtVU;EAcM,sDAAA;AzF8sVhB;;AyF5tVU;EAcM,yDAAA;AzFktVhB;;AyFhuVU;EAcM,wDAAA;AzFstVhB;;AyFpuVU;EAcM,uDAAA;AzF0tVhB;;AyFxuVU;EAcM,sDAAA;AzF8tVhB;;AyFpwVU;EACE,yBAAA;AzFuwVZ;;AyFxwVU;EACE,0BAAA;AzF2wVZ;;AyF5wVU;EACE,yBAAA;AzF+wVZ;;AyFhxVU;EACE,0BAAA;AzFmxVZ;;AyFpxVU;EACE,uBAAA;AzFuxVZ;;AyFhwVU;EAcM,qBAAA;AzFsvVhB;;AyFpwVU;EAcM,qBAAA;AzF0vVhB;;AyFxwVU;EAcM,qBAAA;AzF8vVhB;;AyF5wVU;EAcM,sBAAA;AzFkwVhB;;AyFhxVU;EAcM,sBAAA;AzFswVhB;;AyFpxVU;EAcM,0BAAA;AzF0wVhB;;AyFxxVU;EAcM,uBAAA;AzF8wVhB;;AyF5xVU;EAcM,2BAAA;AzFkxVhB;;AyFhyVU;EAcM,sBAAA;AzFsxVhB;;AyFpyVU;EAcM,sBAAA;AzF0xVhB;;AyFxyVU;EAcM,sBAAA;AzF8xVhB;;AyF5yVU;EAcM,uBAAA;AzFkyVhB;;AyFhzVU;EAcM,uBAAA;AzFsyVhB;;AyFpzVU;EAcM,2BAAA;AzF0yVhB;;AyFxzVU;EAcM,wBAAA;AzF8yVhB;;AyF5zVU;EAcM,4BAAA;AzFkzVhB;;AyFh0VU;EAcM,yBAAA;AzFszVhB;;AyFp0VU;EAcM,8BAAA;AzF0zVhB;;AyFx0VU;EAcM,iCAAA;AzF8zVhB;;AyF50VU;EAcM,sCAAA;AzFk0VhB;;AyFh1VU;EAcM,yCAAA;AzFs0VhB;;AyFp1VU;EAcM,uBAAA;AzF00VhB;;AyFx1VU;EAcM,uBAAA;AzF80VhB;;AyF51VU;EAcM,yBAAA;AzFk1VhB;;AyFh2VU;EAcM,yBAAA;AzFs1VhB;;AyFp2VU;EAcM,0BAAA;AzF01VhB;;AyFx2VU;EAcM,4BAAA;AzF81VhB;;AyF52VU;EAcM,kCAAA;AzFk2VhB;;AyFh3VU;EAcM,sCAAA;AzFs2VhB;;AyFp3VU;EAcM,oCAAA;AzF02VhB;;AyFx3VU;EAcM,kCAAA;AzF82VhB;;AyF53VU;EAcM,yCAAA;AzFk3VhB;;AyFh4VU;EAcM,wCAAA;AzFs3VhB;;AyFp4VU;EAcM,wCAAA;AzF03VhB;;AyFx4VU;EAcM,kCAAA;AzF83VhB;;AyF54VU;EAcM,gCAAA;AzFk4VhB;;AyFh5VU;EAcM,8BAAA;AzFs4VhB;;AyFp5VU;EAcM,gCAAA;AzF04VhB;;AyFx5VU;EAcM,+BAAA;AzF84VhB;;AyF55VU;EAcM,oCAAA;AzFk5VhB;;AyFh6VU;EAcM,kCAAA;AzFs5VhB;;AyFp6VU;EAcM,gCAAA;AzF05VhB;;AyFx6VU;EAcM,uCAAA;AzF85VhB;;AyF56VU;EAcM,sCAAA;AzFk6VhB;;AyFh7VU;EAcM,iCAAA;AzFs6VhB;;AyFp7VU;EAcM,2BAAA;AzF06VhB;;AyFx7VU;EAcM,iCAAA;AzF86VhB;;AyF57VU;EAcM,+BAAA;AzFk7VhB;;AyFh8VU;EAcM,6BAAA;AzFs7VhB;;AyFp8VU;EAcM,+BAAA;AzF07VhB;;AyFx8VU;EAcM,8BAAA;AzF87VhB;;AyF58VU;EAcM,oBAAA;AzFk8VhB;;AyFh9VU;EAcM,mBAAA;AzFs8VhB;;AyFp9VU;EAcM,mBAAA;AzF08VhB;;AyFx9VU;EAcM,mBAAA;AzF88VhB;;AyF59VU;EAcM,mBAAA;AzFk9VhB;;AyFh+VU;EAcM,mBAAA;AzFs9VhB;;AyFp+VU;EAcM,mBAAA;AzF09VhB;;AyFx+VU;EAcM,mBAAA;AzF89VhB;;AyF5+VU;EAcM,oBAAA;AzFk+VhB;;AyFh/VU;EAcM,0BAAA;AzFs+VhB;;AyFp/VU;EAcM,yBAAA;AzF0+VhB;;AyFx/VU;EAcM,uBAAA;AzF8+VhB;;AyF5/VU;EAcM,yBAAA;AzFk/VhB;;AyFhgWU;EAcM,uBAAA;AzFs/VhB;;AyFpgWU;EAcM,uBAAA;AzF0/VhB;;AyFxgWU;EAcM,0BAAA;EAAA,yBAAA;AzF+/VhB;;AyF7gWU;EAcM,gCAAA;EAAA,+BAAA;AzFogWhB;;AyFlhWU;EAcM,+BAAA;EAAA,8BAAA;AzFygWhB;;AyFvhWU;EAcM,6BAAA;EAAA,4BAAA;AzF8gWhB;;AyF5hWU;EAcM,+BAAA;EAAA,8BAAA;AzFmhWhB;;AyFjiWU;EAcM,6BAAA;EAAA,4BAAA;AzFwhWhB;;AyFtiWU;EAcM,6BAAA;EAAA,4BAAA;AzF6hWhB;;AyF3iWU;EAcM,wBAAA;EAAA,2BAAA;AzFkiWhB;;AyFhjWU;EAcM,8BAAA;EAAA,iCAAA;AzFuiWhB;;AyFrjWU;EAcM,6BAAA;EAAA,gCAAA;AzF4iWhB;;AyF1jWU;EAcM,2BAAA;EAAA,8BAAA;AzFijWhB;;AyF/jWU;EAcM,6BAAA;EAAA,gCAAA;AzFsjWhB;;AyFpkWU;EAcM,2BAAA;EAAA,8BAAA;AzF2jWhB;;AyFzkWU;EAcM,2BAAA;EAAA,8BAAA;AzFgkWhB;;AyF9kWU;EAcM,wBAAA;AzFokWhB;;AyFllWU;EAcM,8BAAA;AzFwkWhB;;AyFtlWU;EAcM,6BAAA;AzF4kWhB;;AyF1lWU;EAcM,2BAAA;AzFglWhB;;AyF9lWU;EAcM,6BAAA;AzFolWhB;;AyFlmWU;EAcM,2BAAA;AzFwlWhB;;AyFtmWU;EAcM,2BAAA;AzF4lWhB;;AyF1mWU;ElFhCJ,0BAAA;AP8oWN;;AyF9mWU;ElFhCJ,gCAAA;APkpWN;;AyFlnWU;ElFhCJ,+BAAA;APspWN;;AyFtnWU;ElFhCJ,6BAAA;AP0pWN;;AyF1nWU;ElFhCJ,+BAAA;AP8pWN;;AyF9nWU;ElFhCJ,6BAAA;APkqWN;;AyFloWU;ElFhCJ,6BAAA;APsqWN;;AyFtoWU;EAcM,2BAAA;AzF4nWhB;;AyF1oWU;EAcM,iCAAA;AzFgoWhB;;AyF9oWU;EAcM,gCAAA;AzFooWhB;;AyFlpWU;EAcM,8BAAA;AzFwoWhB;;AyFtpWU;EAcM,gCAAA;AzF4oWhB;;AyF1pWU;EAcM,8BAAA;AzFgpWhB;;AyF9pWU;EAcM,8BAAA;AzFopWhB;;AyFlqWU;ElFhCJ,yBAAA;APssWN;;AyFtqWU;ElFhCJ,+BAAA;AP0sWN;;AyF1qWU;ElFhCJ,8BAAA;AP8sWN;;AyF9qWU;ElFhCJ,4BAAA;APktWN;;AyFlrWU;ElFhCJ,8BAAA;APstWN;;AyFtrWU;ElFhCJ,4BAAA;AP0tWN;;AyF1rWU;ElFhCJ,4BAAA;AP8tWN;;AyF9rWU;EAcM,qBAAA;AzForWhB;;AyFlsWU;EAcM,2BAAA;AzFwrWhB;;AyFtsWU;EAcM,0BAAA;AzF4rWhB;;AyF1sWU;EAcM,wBAAA;AzFgsWhB;;AyF9sWU;EAcM,0BAAA;AzFosWhB;;AyFltWU;EAcM,wBAAA;AzFwsWhB;;AyFttWU;EAcM,2BAAA;EAAA,0BAAA;AzF6sWhB;;AyF3tWU;EAcM,iCAAA;EAAA,gCAAA;AzFktWhB;;AyFhuWU;EAcM,gCAAA;EAAA,+BAAA;AzFutWhB;;AyFruWU;EAcM,8BAAA;EAAA,6BAAA;AzF4tWhB;;AyF1uWU;EAcM,gCAAA;EAAA,+BAAA;AzFiuWhB;;AyF/uWU;EAcM,8BAAA;EAAA,6BAAA;AzFsuWhB;;AyFpvWU;EAcM,yBAAA;EAAA,4BAAA;AzF2uWhB;;AyFzvWU;EAcM,+BAAA;EAAA,kCAAA;AzFgvWhB;;AyF9vWU;EAcM,8BAAA;EAAA,iCAAA;AzFqvWhB;;AyFnwWU;EAcM,4BAAA;EAAA,+BAAA;AzF0vWhB;;AyFxwWU;EAcM,8BAAA;EAAA,iCAAA;AzF+vWhB;;AyF7wWU;EAcM,4BAAA;EAAA,+BAAA;AzFowWhB;;AyFlxWU;EAcM,yBAAA;AzFwwWhB;;AyFtxWU;EAcM,+BAAA;AzF4wWhB;;AyF1xWU;EAcM,8BAAA;AzFgxWhB;;AyF9xWU;EAcM,4BAAA;AzFoxWhB;;AyFlyWU;EAcM,8BAAA;AzFwxWhB;;AyFtyWU;EAcM,4BAAA;AzF4xWhB;;AyF1yWU;ElFhCJ,2BAAA;AP80WN;;AyF9yWU;ElFhCJ,iCAAA;APk1WN;;AyFlzWU;ElFhCJ,gCAAA;APs1WN;;AyFtzWU;ElFhCJ,8BAAA;AP01WN;;AyF1zWU;ElFhCJ,gCAAA;AP81WN;;AyF9zWU;ElFhCJ,8BAAA;APk2WN;;AyFl0WU;EAcM,4BAAA;AzFwzWhB;;AyFt0WU;EAcM,kCAAA;AzF4zWhB;;AyF10WU;EAcM,iCAAA;AzFg0WhB;;AyF90WU;EAcM,+BAAA;AzFo0WhB;;AyFl1WU;EAcM,iCAAA;AzFw0WhB;;AyFt1WU;EAcM,+BAAA;AzF40WhB;;AyF11WU;ElFhCJ,0BAAA;AP83WN;;AyF91WU;ElFhCJ,gCAAA;APk4WN;;AyFl2WU;ElFhCJ,+BAAA;APs4WN;;AyFt2WU;ElFhCJ,6BAAA;AP04WN;;AyF12WU;ElFhCJ,+BAAA;AP84WN;;AyF92WU;ElFhCJ,6BAAA;APk5WN;;AyFl3WU;EAcM,iBAAA;AzFw2WhB;;AyFt3WU;EAcM,uBAAA;AzF42WhB;;AyF13WU;EAcM,sBAAA;AzFg3WhB;;AyF93WU;EAcM,oBAAA;AzFo3WhB;;AyFl4WU;EAcM,sBAAA;AzFw3WhB;;AyFt4WU;EAcM,oBAAA;AzF43WhB;;AyF14WU;EAcM,qBAAA;AzFg4WhB;;AyF94WU;EAcM,2BAAA;AzFo4WhB;;AyFl5WU;EAcM,0BAAA;AzFw4WhB;;AyFt5WU;EAcM,wBAAA;AzF44WhB;;AyF15WU;EAcM,0BAAA;AzFg5WhB;;AyF95WU;EAcM,wBAAA;AzFo5WhB;;AyFl6WU;EAcM,6BAAA;EAAA,wBAAA;AzFw5WhB;;AyFt6WU;EAcM,mCAAA;EAAA,8BAAA;AzF45WhB;;AyF16WU;EAcM,kCAAA;EAAA,6BAAA;AzFg6WhB;;AyF96WU;EAcM,gCAAA;EAAA,2BAAA;AzFo6WhB;;AyFl7WU;EAcM,kCAAA;EAAA,6BAAA;AzFw6WhB;;AyFt7WU;EAcM,gCAAA;EAAA,2BAAA;AzF46WhB;;AyF17WU;EAcM,iDAAA;AzFg7WhB;;AyF97WU;EAcM,4CAAA;AzFo7WhB;;AyFl8WU;EAcM,4CAAA;AzFw7WhB;;AyFt8WU;EAcM,0CAAA;AzF47WhB;;AyF18WU;EAcM,4CAAA;AzFg8WhB;;AyF98WU;EAcM,6BAAA;AzFo8WhB;;AyFl9WU;EAcM,0BAAA;AzFw8WhB;;AyFt9WU;EAcM,6BAAA;AzF48WhB;;AyF19WU;EAcM,6BAAA;AzFg9WhB;;AyF99WU;EAcM,+BAAA;AzFo9WhB;;AyFl+WU;EAcM,2BAAA;AzFw9WhB;;AyFt+WU;EAcM,2BAAA;AzF49WhB;;AyF1+WU;EAcM,2BAAA;AzFg+WhB;;AyF9+WU;EAcM,2BAAA;AzFo+WhB;;AyFl/WU;EAcM,2BAAA;AzFw+WhB;;AyFt/WU;EAcM,8BAAA;AzF4+WhB;;AyF1/WU;EAcM,yBAAA;AzFg/WhB;;AyF9/WU;EAcM,4BAAA;AzFo/WhB;;AyFlgXU;EAcM,2BAAA;AzFw/WhB;;AyFtgXU;EAcM,yBAAA;AzF4/WhB;;AyF1gXU;ElFhCJ,2BAAA;AP8iXN;;AyF9gXU;ElFhCJ,4BAAA;APkjXN;;AyFlhXU;ElFhCJ,6BAAA;APsjXN;;AyFthXU;EAcM,gCAAA;AzF4gXhB;;AyF1hXU;EAcM,qCAAA;AzFghXhB;;AyF9hXU;EAcM,wCAAA;AzFohXhB;;AyFliXU;EAcM,oCAAA;AzFwhXhB;;AyFtiXU;EAcM,oCAAA;AzF4hXhB;;AyF1iXU;EAcM,qCAAA;AzFgiXhB;;AyF9iXU;EAcM,8BAAA;AzFoiXhB;;AyFljXU;EAcM,8BAAA;AzFwiXhB;;AyFxlXQ,qBAAA;AAkCE;EAcM,gCAAA;EAAA,iCAAA;AzF8iXhB;;AyFzhXQ,mBAAA;AA/CE;;EAKQ,qBAAA;EAGJ,uEAAA;AzFukXd;;AyF/kXU;;EAKQ,qBAAA;EAGJ,yEAAA;AzF6kXd;;AyFrlXU;;EAKQ,qBAAA;EAGJ,uEAAA;AzFmlXd;;AyF3lXU;;EAKQ,qBAAA;EAGJ,oEAAA;AzFylXd;;AyFjmXU;;EAKQ,qBAAA;EAGJ,uEAAA;AzF+lXd;;AyFvmXU;;EAKQ,qBAAA;EAGJ,sEAAA;AzFqmXd;;AyF7mXU;;EAKQ,qBAAA;EAGJ,qEAAA;AzF2mXd;;AyFnnXU;;EAKQ,qBAAA;EAGJ,oEAAA;AzFinXd;;AyFznXU;;EAKQ,qBAAA;EAGJ,qEAAA;AzFunXd;;AyF/nXU;;EAKQ,qBAAA;EAGJ,qEAAA;AzF6nXd;;AyFroXU;;EAKQ,qBAAA;EAGJ,0EAAA;AzFmoXd;;AyF3oXU;;EAKQ,qBAAA;EAGJ,4CAAA;AzFyoXd;;AyFjpXU;;EAKQ,qBAAA;EAGJ,sCAAA;AzF+oXd;;AyFvpXU;;EAKQ,qBAAA;EAGJ,0CAAA;AzFqpXd;;AyF7pXU;;EAKQ,qBAAA;EAGJ,4CAAA;AzF2pXd;;AyFnqXU;;EAKQ,qBAAA;EAGJ,2CAAA;AzFiqXd;;AyFzqXU;;EAKQ,qBAAA;EAGJ,2CAAA;AzFuqXd;;AyF/qXU;;EAKQ,qBAAA;EAGJ,yBAAA;AzF6qXd;;AyFrrXU;;EAKQ,qBAAA;EAGJ,kDAAA;AzFmrXd;;AyF3rXU;;EAKQ,qBAAA;EAGJ,oDAAA;AzFyrXd;;AyFjsXU;;EAKQ,qBAAA;EAGJ,6CAAA;AzF+rXd;;AyFvsXU;;EAKQ,qBAAA;EAGJ,0CAAA;AzFqsXd;;AyF7sXU;;EAKQ,qBAAA;EAGJ,4CAAA;AzF2sXd;;AyFntXU;;EAKQ,qBAAA;EAGJ,qCAAA;AzFitXd;;AyFruXU;EACE,wBAAA;AzFwuXZ;;AyFzuXU;EACE,uBAAA;AzF4uXZ;;AyF7uXU;EACE,wBAAA;AzFgvXZ;;AyFjvXU;EACE,qBAAA;AzFovXZ;;AyF7tXU;EAcM,kDAAA;AzFmtXhB;;AyFjuXU;EAcM,oDAAA;AzFutXhB;;AyFruXU;EAcM,kDAAA;AzF2tXhB;;AyFzuXU;EAcM,+CAAA;AzF+tXhB;;AyF7uXU;EAcM,kDAAA;AzFmuXhB;;AyFjvXU;EAcM,iDAAA;AzFuuXhB;;AyFrvXU;EAcM,gDAAA;AzF2uXhB;;AyFzvXU;EAcM,+CAAA;AzF+uXhB;;AyFrxXU;EACE,uBAAA;AzFwxXZ;;AyFnxXU;EACE,uBAAA;AzFsxXZ;;AyF7xXU;EACE,wBAAA;AzFgyXZ;;AyF3xXU;EACE,wBAAA;AzF8xXZ;;AyFryXU;EACE,uBAAA;AzFwyXZ;;AyFnyXU;EACE,uBAAA;AzFsyXZ;;AyF7yXU;EACE,wBAAA;AzFgzXZ;;AyF3yXU;EACE,wBAAA;AzF8yXZ;;AyFrzXU;EACE,qBAAA;AzFwzXZ;;AyFnzXU;EACE,qBAAA;AzFszXZ;;AyFryXU;EAcM,yCAAA;AzF2xXhB;;AyFpxXU;EAOI,yCAAA;AzFixXd;;AyF7yXU;EAcM,wCAAA;AzFmyXhB;;AyF5xXU;EAOI,wCAAA;AzFyxXd;;AyFrzXU;EAcM,yCAAA;AzF2yXhB;;AyFpyXU;EAOI,yCAAA;AzFiyXd;;AyF7zXU;EAIQ,+BAAA;EAUF,yGAAA;EAAA,iGAAA;AzFozXhB;;AyFl0XU;EAIQ,+BAAA;EAUF,2GAAA;EAAA,mGAAA;AzFyzXhB;;AyFv0XU;EAIQ,+BAAA;EAUF,yGAAA;EAAA,iGAAA;AzF8zXhB;;AyF50XU;EAIQ,+BAAA;EAUF,sGAAA;EAAA,8FAAA;AzFm0XhB;;AyFj1XU;EAIQ,+BAAA;EAUF,yGAAA;EAAA,iGAAA;AzFw0XhB;;AyFt1XU;EAIQ,+BAAA;EAUF,wGAAA;EAAA,gGAAA;AzF60XhB;;AyF31XU;EAIQ,+BAAA;EAUF,uGAAA;EAAA,+FAAA;AzFk1XhB;;AyFh2XU;EAIQ,+BAAA;EAUF,sGAAA;EAAA,8FAAA;AzFu1XhB;;AyFr2XU;EAIQ,+BAAA;EAUF,+GAAA;EAAA,uGAAA;AzF41XhB;;AyFl4XU;EACE,+BAAA;AzFq4XZ;;AyFh4XU;EACE,+BAAA;AzFm4XZ;;AyF14XU;EACE,iCAAA;AzF64XZ;;AyFx4XU;EACE,iCAAA;AzF24XZ;;AyFl5XU;EACE,kCAAA;AzFq5XZ;;AyFh5XU;EACE,kCAAA;AzFm5XZ;;AyF15XU;EACE,iCAAA;AzF65XZ;;AyFx5XU;EACE,iCAAA;AzF25XZ;;AyFl6XU;EACE,kCAAA;AzFq6XZ;;AyFh6XU;EACE,kCAAA;AzFm6XZ;;AyF16XU;EACE,+BAAA;AzF66XZ;;AyFx6XU;EACE,+BAAA;AzF26XZ;;AyFt6XU;;EAKQ,mBAAA;EAGJ,gFAAA;AzFo6Xd;;AyF56XU;;EAKQ,mBAAA;EAGJ,kFAAA;AzF06Xd;;AyFl7XU;;EAKQ,mBAAA;EAGJ,gFAAA;AzFg7Xd;;AyFx7XU;;EAKQ,mBAAA;EAGJ,6EAAA;AzFs7Xd;;AyF97XU;;EAKQ,mBAAA;EAGJ,gFAAA;AzF47Xd;;AyFp8XU;;EAKQ,mBAAA;EAGJ,+EAAA;AzFk8Xd;;AyF18XU;;EAKQ,mBAAA;EAGJ,8EAAA;AzFw8Xd;;AyFh9XU;;EAKQ,mBAAA;EAGJ,6EAAA;AzF88Xd;;AyFt9XU;;EAKQ,mBAAA;EAGJ,8EAAA;AzFo9Xd;;AyF59XU;;EAKQ,mBAAA;EAGJ,8EAAA;AzF09Xd;;AyFl+XU;;EAKQ,mBAAA;EAGJ,gFAAA;AzFg+Xd;;AyFx+XU;;EAKQ,mBAAA;EAGJ,wCAAA;AzFs+Xd;;AyF9+XU;;EAKQ,mBAAA;EAGJ,qFAAA;AzF4+Xd;;AyFp/XU;;EAKQ,mBAAA;EAGJ,oFAAA;AzFk/Xd;;AyFtgYU;EACE,qBAAA;AzFygYZ;;AyF1gYU;EACE,sBAAA;AzF6gYZ;;AyF9gYU;EACE,sBAAA;AzFihYZ;;AyFlhYU;EACE,qBAAA;AzFqhYZ;;AyFthYU;EACE,sBAAA;AzFyhYZ;;AyF1hYU;EACE,mBAAA;AzF6hYZ;;AyFlhYU;;EAQI,yDAAA;AzF+gYd;;AyFvhYU;;EAQI,2DAAA;AzFohYd;;AyF5hYU;;EAQI,yDAAA;AzFyhYd;;AyFjiYU;;EAQI,sDAAA;AzF8hYd;;AyFtiYU;;EAQI,yDAAA;AzFmiYd;;AyF3iYU;;EAQI,wDAAA;AzFwiYd;;AyFhjYU;;EAQI,uDAAA;AzF6iYd;;AyFrjYU;;EAQI,sDAAA;AzFkjYd;;AyF9iYU;EAcM,gDAAA;AzFoiYhB;;AyFljYU;EAcM,mCAAA;EAAA,gCAAA;EAAA,2BAAA;AzFwiYhB;;AyFtjYU;EAcM,oCAAA;EAAA,iCAAA;EAAA,4BAAA;AzF4iYhB;;AyF1jYU;EAcM,oCAAA;EAAA,iCAAA;EAAA,4BAAA;AzFgjYhB;;AyF9jYU;EAcM,+BAAA;AzFojYhB;;AyFlkYU;EAcM,+BAAA;AzFwjYhB;;AyFtkYU;EAcM,kDAAA;AzF4jYhB;;AyF1kYU;EAcM,2BAAA;AzFgkYhB;;AyF9kYU;EAcM,qDAAA;AzFokYhB;;AyFllYU;EAcM,kDAAA;AzFwkYhB;;AyFtlYU;EAcM,qDAAA;AzF4kYhB;;AyF1lYU;EAcM,qDAAA;AzFglYhB;;AyF9lYU;EAcM,sDAAA;AzFolYhB;;AyFlmYU;EAcM,6BAAA;AzFwlYhB;;AyFtmYU;EAcM,uDAAA;AzF4lYhB;;AyF1mYU;EAcM,2DAAA;EAAA,4DAAA;AzFimYhB;;AyF/mYU;EAcM,oCAAA;EAAA,qCAAA;AzFsmYhB;;AyFpnYU;EAcM,8DAAA;EAAA,+DAAA;AzF2mYhB;;AyFznYU;EAcM,2DAAA;EAAA,4DAAA;AzFgnYhB;;AyF9nYU;EAcM,8DAAA;EAAA,+DAAA;AzFqnYhB;;AyFnoYU;EAcM,8DAAA;EAAA,+DAAA;AzF0nYhB;;AyFxoYU;EAcM,+DAAA;EAAA,gEAAA;AzF+nYhB;;AyF7oYU;EAcM,sCAAA;EAAA,uCAAA;AzFooYhB;;AyFlpYU;EAcM,gEAAA;EAAA,iEAAA;AzFyoYhB;;AyFvpYU;ElFhCJ,4DAAA;EAAA,+DAAA;AP4rYN;;AyF5pYU;ElFhCJ,qCAAA;EAAA,wCAAA;APisYN;;AyFjqYU;ElFhCJ,+DAAA;EAAA,kEAAA;APssYN;;AyFtqYU;ElFhCJ,4DAAA;EAAA,+DAAA;AP2sYN;;AyF3qYU;ElFhCJ,+DAAA;EAAA,kEAAA;APgtYN;;AyFhrYU;ElFhCJ,+DAAA;EAAA,kEAAA;APqtYN;;AyFrrYU;ElFhCJ,gEAAA;EAAA,mEAAA;AP0tYN;;AyF1rYU;ElFhCJ,uCAAA;EAAA,0CAAA;AP+tYN;;AyF/rYU;ElFhCJ,iEAAA;EAAA,oEAAA;APouYN;;AyFpsYU;EAcM,+DAAA;EAAA,8DAAA;AzF2rYhB;;AyFzsYU;EAcM,wCAAA;EAAA,uCAAA;AzFgsYhB;;AyF9sYU;EAcM,kEAAA;EAAA,iEAAA;AzFqsYhB;;AyFntYU;EAcM,+DAAA;EAAA,8DAAA;AzF0sYhB;;AyFxtYU;EAcM,kEAAA;EAAA,iEAAA;AzF+sYhB;;AyF7tYU;EAcM,kEAAA;EAAA,iEAAA;AzFotYhB;;AyFluYU;EAcM,mEAAA;EAAA,kEAAA;AzFytYhB;;AyFvuYU;EAcM,0CAAA;EAAA,yCAAA;AzF8tYhB;;AyF5uYU;EAcM,oEAAA;EAAA,mEAAA;AzFmuYhB;;AyFjvYU;ElFhCJ,8DAAA;EAAA,2DAAA;APsxYN;;AyFtvYU;ElFhCJ,uCAAA;EAAA,oCAAA;AP2xYN;;AyF3vYU;ElFhCJ,iEAAA;EAAA,8DAAA;APgyYN;;AyFhwYU;ElFhCJ,8DAAA;EAAA,2DAAA;APqyYN;;AyFrwYU;ElFhCJ,iEAAA;EAAA,8DAAA;AP0yYN;;AyF1wYU;ElFhCJ,iEAAA;EAAA,8DAAA;AP+yYN;;AyF/wYU;ElFhCJ,kEAAA;EAAA,+DAAA;APozYN;;AyFpxYU;ElFhCJ,yCAAA;EAAA,sCAAA;APyzYN;;AyFzxYU;ElFhCJ,mEAAA;EAAA,gEAAA;AP8zYN;;AyF9xYU;EAcM,8BAAA;AzFoxYhB;;AyFlyYU;EAcM,6BAAA;AzFwxYhB;;AyFtyYU;EAcM,sBAAA;AzF4xYhB;;AyF1yYU;EAcM,qBAAA;AzFgyYhB;;AyF9yYU;EAcM,qBAAA;AzFoyYhB;;AyFlzYU;EAcM,qBAAA;AzFwyYhB;;AyFtzYU;EAcM,qBAAA;AzF4yYhB;;Ael1YI;E0EwBM;IlFhCJ,sBAAA;EP+1YJ;EyF/zYQ;IlFhCJ,uBAAA;EPk2YJ;EyFl0YQ;IlFhCJ,sBAAA;EPq2YJ;EyFr0YQ;IAcM,iCAAA;IAAA,8BAAA;EzF0zYd;EyFx0YQ;IAcM,+BAAA;IAAA,4BAAA;EzF6zYd;EyF30YQ;IAcM,8BAAA;IAAA,2BAAA;EzFg0Yd;EyF90YQ;IAcM,oCAAA;IAAA,iCAAA;EzFm0Yd;EyFj1YQ;IAcM,8BAAA;IAAA,2BAAA;EzFs0Yd;EyFp1YQ;IAcM,0BAAA;EzFy0Yd;EyFv1YQ;IAcM,gCAAA;EzF40Yd;EyF11YQ;IAcM,yBAAA;EzF+0Yd;EyF71YQ;IAcM,wBAAA;EzFk1Yd;EyFh2YQ;IAcM,+BAAA;EzFq1Yd;EyFn2YQ;IAcM,yBAAA;EzFw1Yd;EyFt2YQ;IAcM,6BAAA;EzF21Yd;EyFz2YQ;IAcM,8BAAA;EzF81Yd;EyF52YQ;IAcM,wBAAA;EzFi2Yd;EyF/2YQ;IAcM,+BAAA;EzFo2Yd;EyFl3YQ;IAcM,wBAAA;EzFu2Yd;EyFr3YQ;IAcM,yBAAA;EzF02Yd;EyFx3YQ;IAcM,8BAAA;EzF62Yd;EyF33YQ;IAcM,iCAAA;EzFg3Yd;EyF93YQ;IAcM,sCAAA;EzFm3Yd;EyFj4YQ;IAcM,yCAAA;EzFs3Yd;EyFp4YQ;IAcM,uBAAA;EzFy3Yd;EyFv4YQ;IAcM,uBAAA;EzF43Yd;EyF14YQ;IAcM,yBAAA;EzF+3Yd;EyF74YQ;IAcM,yBAAA;EzFk4Yd;EyFh5YQ;IAcM,0BAAA;EzFq4Yd;EyFn5YQ;IAcM,4BAAA;EzFw4Yd;EyFt5YQ;IAcM,kCAAA;EzF24Yd;EyFz5YQ;IAcM,sCAAA;EzF84Yd;EyF55YQ;IAcM,oCAAA;EzFi5Yd;EyF/5YQ;IAcM,kCAAA;EzFo5Yd;EyFl6YQ;IAcM,yCAAA;EzFu5Yd;EyFr6YQ;IAcM,wCAAA;EzF05Yd;EyFx6YQ;IAcM,wCAAA;EzF65Yd;EyF36YQ;IAcM,kCAAA;EzFg6Yd;EyF96YQ;IAcM,gCAAA;EzFm6Yd;EyFj7YQ;IAcM,8BAAA;EzFs6Yd;EyFp7YQ;IAcM,gCAAA;EzFy6Yd;EyFv7YQ;IAcM,+BAAA;EzF46Yd;EyF17YQ;IAcM,oCAAA;EzF+6Yd;EyF77YQ;IAcM,kCAAA;EzFk7Yd;EyFh8YQ;IAcM,gCAAA;EzFq7Yd;EyFn8YQ;IAcM,uCAAA;EzFw7Yd;EyFt8YQ;IAcM,sCAAA;EzF27Yd;EyFz8YQ;IAcM,iCAAA;EzF87Yd;EyF58YQ;IAcM,2BAAA;EzFi8Yd;EyF/8YQ;IAcM,iCAAA;EzFo8Yd;EyFl9YQ;IAcM,+BAAA;EzFu8Yd;EyFr9YQ;IAcM,6BAAA;EzF08Yd;EyFx9YQ;IAcM,+BAAA;EzF68Yd;EyF39YQ;IAcM,8BAAA;EzFg9Yd;EyF99YQ;IAcM,oBAAA;EzFm9Yd;EyFj+YQ;IAcM,mBAAA;EzFs9Yd;EyFp+YQ;IAcM,mBAAA;EzFy9Yd;EyFv+YQ;IAcM,mBAAA;EzF49Yd;EyF1+YQ;IAcM,mBAAA;EzF+9Yd;EyF7+YQ;IAcM,mBAAA;EzFk+Yd;EyFh/YQ;IAcM,mBAAA;EzFq+Yd;EyFn/YQ;IAcM,mBAAA;EzFw+Yd;EyFt/YQ;IAcM,oBAAA;EzF2+Yd;EyFz/YQ;IAcM,0BAAA;EzF8+Yd;EyF5/YQ;IAcM,yBAAA;EzFi/Yd;EyF//YQ;IAcM,uBAAA;EzFo/Yd;EyFlgZQ;IAcM,yBAAA;EzFu/Yd;EyFrgZQ;IAcM,uBAAA;EzF0/Yd;EyFxgZQ;IAcM,uBAAA;EzF6/Yd;EyF3gZQ;IAcM,0BAAA;IAAA,yBAAA;EzFigZd;EyF/gZQ;IAcM,gCAAA;IAAA,+BAAA;EzFqgZd;EyFnhZQ;IAcM,+BAAA;IAAA,8BAAA;EzFygZd;EyFvhZQ;IAcM,6BAAA;IAAA,4BAAA;EzF6gZd;EyF3hZQ;IAcM,+BAAA;IAAA,8BAAA;EzFihZd;EyF/hZQ;IAcM,6BAAA;IAAA,4BAAA;EzFqhZd;EyFniZQ;IAcM,6BAAA;IAAA,4BAAA;EzFyhZd;EyFviZQ;IAcM,wBAAA;IAAA,2BAAA;EzF6hZd;EyF3iZQ;IAcM,8BAAA;IAAA,iCAAA;EzFiiZd;EyF/iZQ;IAcM,6BAAA;IAAA,gCAAA;EzFqiZd;EyFnjZQ;IAcM,2BAAA;IAAA,8BAAA;EzFyiZd;EyFvjZQ;IAcM,6BAAA;IAAA,gCAAA;EzF6iZd;EyF3jZQ;IAcM,2BAAA;IAAA,8BAAA;EzFijZd;EyF/jZQ;IAcM,2BAAA;IAAA,8BAAA;EzFqjZd;EyFnkZQ;IAcM,wBAAA;EzFwjZd;EyFtkZQ;IAcM,8BAAA;EzF2jZd;EyFzkZQ;IAcM,6BAAA;EzF8jZd;EyF5kZQ;IAcM,2BAAA;EzFikZd;EyF/kZQ;IAcM,6BAAA;EzFokZd;EyFllZQ;IAcM,2BAAA;EzFukZd;EyFrlZQ;IAcM,2BAAA;EzF0kZd;EyFxlZQ;IlFhCJ,0BAAA;EP2nZJ;EyF3lZQ;IlFhCJ,gCAAA;EP8nZJ;EyF9lZQ;IlFhCJ,+BAAA;EPioZJ;EyFjmZQ;IlFhCJ,6BAAA;EPooZJ;EyFpmZQ;IlFhCJ,+BAAA;EPuoZJ;EyFvmZQ;IlFhCJ,6BAAA;EP0oZJ;EyF1mZQ;IlFhCJ,6BAAA;EP6oZJ;EyF7mZQ;IAcM,2BAAA;EzFkmZd;EyFhnZQ;IAcM,iCAAA;EzFqmZd;EyFnnZQ;IAcM,gCAAA;EzFwmZd;EyFtnZQ;IAcM,8BAAA;EzF2mZd;EyFznZQ;IAcM,gCAAA;EzF8mZd;EyF5nZQ;IAcM,8BAAA;EzFinZd;EyF/nZQ;IAcM,8BAAA;EzFonZd;EyFloZQ;IlFhCJ,yBAAA;EPqqZJ;EyFroZQ;IlFhCJ,+BAAA;EPwqZJ;EyFxoZQ;IlFhCJ,8BAAA;EP2qZJ;EyF3oZQ;IlFhCJ,4BAAA;EP8qZJ;EyF9oZQ;IlFhCJ,8BAAA;EPirZJ;EyFjpZQ;IlFhCJ,4BAAA;EPorZJ;EyFppZQ;IlFhCJ,4BAAA;EPurZJ;EyFvpZQ;IAcM,qBAAA;EzF4oZd;EyF1pZQ;IAcM,2BAAA;EzF+oZd;EyF7pZQ;IAcM,0BAAA;EzFkpZd;EyFhqZQ;IAcM,wBAAA;EzFqpZd;EyFnqZQ;IAcM,0BAAA;EzFwpZd;EyFtqZQ;IAcM,wBAAA;EzF2pZd;EyFzqZQ;IAcM,2BAAA;IAAA,0BAAA;EzF+pZd;EyF7qZQ;IAcM,iCAAA;IAAA,gCAAA;EzFmqZd;EyFjrZQ;IAcM,gCAAA;IAAA,+BAAA;EzFuqZd;EyFrrZQ;IAcM,8BAAA;IAAA,6BAAA;EzF2qZd;EyFzrZQ;IAcM,gCAAA;IAAA,+BAAA;EzF+qZd;EyF7rZQ;IAcM,8BAAA;IAAA,6BAAA;EzFmrZd;EyFjsZQ;IAcM,yBAAA;IAAA,4BAAA;EzFurZd;EyFrsZQ;IAcM,+BAAA;IAAA,kCAAA;EzF2rZd;EyFzsZQ;IAcM,8BAAA;IAAA,iCAAA;EzF+rZd;EyF7sZQ;IAcM,4BAAA;IAAA,+BAAA;EzFmsZd;EyFjtZQ;IAcM,8BAAA;IAAA,iCAAA;EzFusZd;EyFrtZQ;IAcM,4BAAA;IAAA,+BAAA;EzF2sZd;EyFztZQ;IAcM,yBAAA;EzF8sZd;EyF5tZQ;IAcM,+BAAA;EzFitZd;EyF/tZQ;IAcM,8BAAA;EzFotZd;EyFluZQ;IAcM,4BAAA;EzFutZd;EyFruZQ;IAcM,8BAAA;EzF0tZd;EyFxuZQ;IAcM,4BAAA;EzF6tZd;EyF3uZQ;IlFhCJ,2BAAA;EP8wZJ;EyF9uZQ;IlFhCJ,iCAAA;EPixZJ;EyFjvZQ;IlFhCJ,gCAAA;EPoxZJ;EyFpvZQ;IlFhCJ,8BAAA;EPuxZJ;EyFvvZQ;IlFhCJ,gCAAA;EP0xZJ;EyF1vZQ;IlFhCJ,8BAAA;EP6xZJ;EyF7vZQ;IAcM,4BAAA;EzFkvZd;EyFhwZQ;IAcM,kCAAA;EzFqvZd;EyFnwZQ;IAcM,iCAAA;EzFwvZd;EyFtwZQ;IAcM,+BAAA;EzF2vZd;EyFzwZQ;IAcM,iCAAA;EzF8vZd;EyF5wZQ;IAcM,+BAAA;EzFiwZd;EyF/wZQ;IlFhCJ,0BAAA;EPkzZJ;EyFlxZQ;IlFhCJ,gCAAA;EPqzZJ;EyFrxZQ;IlFhCJ,+BAAA;EPwzZJ;EyFxxZQ;IlFhCJ,6BAAA;EP2zZJ;EyF3xZQ;IlFhCJ,+BAAA;EP8zZJ;EyF9xZQ;IlFhCJ,6BAAA;EPi0ZJ;EyFjyZQ;IAcM,iBAAA;EzFsxZd;EyFpyZQ;IAcM,uBAAA;EzFyxZd;EyFvyZQ;IAcM,sBAAA;EzF4xZd;EyF1yZQ;IAcM,oBAAA;EzF+xZd;EyF7yZQ;IAcM,sBAAA;EzFkyZd;EyFhzZQ;IAcM,oBAAA;EzFqyZd;EyFnzZQ;IAcM,qBAAA;EzFwyZd;EyFtzZQ;IAcM,2BAAA;EzF2yZd;EyFzzZQ;IAcM,0BAAA;EzF8yZd;EyF5zZQ;IAcM,wBAAA;EzFizZd;EyF/zZQ;IAcM,0BAAA;EzFozZd;EyFl0ZQ;IAcM,wBAAA;EzFuzZd;EyFr0ZQ;IAcM,6BAAA;IAAA,wBAAA;EzF0zZd;EyFx0ZQ;IAcM,mCAAA;IAAA,8BAAA;EzF6zZd;EyF30ZQ;IAcM,kCAAA;IAAA,6BAAA;EzFg0Zd;EyF90ZQ;IAcM,gCAAA;IAAA,2BAAA;EzFm0Zd;EyFj1ZQ;IAcM,kCAAA;IAAA,6BAAA;EzFs0Zd;EyFp1ZQ;IAcM,gCAAA;IAAA,2BAAA;EzFy0Zd;EyFv1ZQ;IlFhCJ,2BAAA;EP03ZJ;EyF11ZQ;IlFhCJ,4BAAA;EP63ZJ;EyF71ZQ;IlFhCJ,6BAAA;EPg4ZJ;AACF;Aez3ZI;E0EwBM;IlFhCJ,sBAAA;EPq4ZJ;EyFr2ZQ;IlFhCJ,uBAAA;EPw4ZJ;EyFx2ZQ;IlFhCJ,sBAAA;EP24ZJ;EyF32ZQ;IAcM,iCAAA;IAAA,8BAAA;EzFg2Zd;EyF92ZQ;IAcM,+BAAA;IAAA,4BAAA;EzFm2Zd;EyFj3ZQ;IAcM,8BAAA;IAAA,2BAAA;EzFs2Zd;EyFp3ZQ;IAcM,oCAAA;IAAA,iCAAA;EzFy2Zd;EyFv3ZQ;IAcM,8BAAA;IAAA,2BAAA;EzF42Zd;EyF13ZQ;IAcM,0BAAA;EzF+2Zd;EyF73ZQ;IAcM,gCAAA;EzFk3Zd;EyFh4ZQ;IAcM,yBAAA;EzFq3Zd;EyFn4ZQ;IAcM,wBAAA;EzFw3Zd;EyFt4ZQ;IAcM,+BAAA;EzF23Zd;EyFz4ZQ;IAcM,yBAAA;EzF83Zd;EyF54ZQ;IAcM,6BAAA;EzFi4Zd;EyF/4ZQ;IAcM,8BAAA;EzFo4Zd;EyFl5ZQ;IAcM,wBAAA;EzFu4Zd;EyFr5ZQ;IAcM,+BAAA;EzF04Zd;EyFx5ZQ;IAcM,wBAAA;EzF64Zd;EyF35ZQ;IAcM,yBAAA;EzFg5Zd;EyF95ZQ;IAcM,8BAAA;EzFm5Zd;EyFj6ZQ;IAcM,iCAAA;EzFs5Zd;EyFp6ZQ;IAcM,sCAAA;EzFy5Zd;EyFv6ZQ;IAcM,yCAAA;EzF45Zd;EyF16ZQ;IAcM,uBAAA;EzF+5Zd;EyF76ZQ;IAcM,uBAAA;EzFk6Zd;EyFh7ZQ;IAcM,yBAAA;EzFq6Zd;EyFn7ZQ;IAcM,yBAAA;EzFw6Zd;EyFt7ZQ;IAcM,0BAAA;EzF26Zd;EyFz7ZQ;IAcM,4BAAA;EzF86Zd;EyF57ZQ;IAcM,kCAAA;EzFi7Zd;EyF/7ZQ;IAcM,sCAAA;EzFo7Zd;EyFl8ZQ;IAcM,oCAAA;EzFu7Zd;EyFr8ZQ;IAcM,kCAAA;EzF07Zd;EyFx8ZQ;IAcM,yCAAA;EzF67Zd;EyF38ZQ;IAcM,wCAAA;EzFg8Zd;EyF98ZQ;IAcM,wCAAA;EzFm8Zd;EyFj9ZQ;IAcM,kCAAA;EzFs8Zd;EyFp9ZQ;IAcM,gCAAA;EzFy8Zd;EyFv9ZQ;IAcM,8BAAA;EzF48Zd;EyF19ZQ;IAcM,gCAAA;EzF+8Zd;EyF79ZQ;IAcM,+BAAA;EzFk9Zd;EyFh+ZQ;IAcM,oCAAA;EzFq9Zd;EyFn+ZQ;IAcM,kCAAA;EzFw9Zd;EyFt+ZQ;IAcM,gCAAA;EzF29Zd;EyFz+ZQ;IAcM,uCAAA;EzF89Zd;EyF5+ZQ;IAcM,sCAAA;EzFi+Zd;EyF/+ZQ;IAcM,iCAAA;EzFo+Zd;EyFl/ZQ;IAcM,2BAAA;EzFu+Zd;EyFr/ZQ;IAcM,iCAAA;EzF0+Zd;EyFx/ZQ;IAcM,+BAAA;EzF6+Zd;EyF3/ZQ;IAcM,6BAAA;EzFg/Zd;EyF9/ZQ;IAcM,+BAAA;EzFm/Zd;EyFjgaQ;IAcM,8BAAA;EzFs/Zd;EyFpgaQ;IAcM,oBAAA;EzFy/Zd;EyFvgaQ;IAcM,mBAAA;EzF4/Zd;EyF1gaQ;IAcM,mBAAA;EzF+/Zd;EyF7gaQ;IAcM,mBAAA;EzFkgad;EyFhhaQ;IAcM,mBAAA;EzFqgad;EyFnhaQ;IAcM,mBAAA;EzFwgad;EyFthaQ;IAcM,mBAAA;EzF2gad;EyFzhaQ;IAcM,mBAAA;EzF8gad;EyF5haQ;IAcM,oBAAA;EzFihad;EyF/haQ;IAcM,0BAAA;EzFohad;EyFliaQ;IAcM,yBAAA;EzFuhad;EyFriaQ;IAcM,uBAAA;EzF0had;EyFxiaQ;IAcM,yBAAA;EzF6had;EyF3iaQ;IAcM,uBAAA;EzFgiad;EyF9iaQ;IAcM,uBAAA;EzFmiad;EyFjjaQ;IAcM,0BAAA;IAAA,yBAAA;EzFuiad;EyFrjaQ;IAcM,gCAAA;IAAA,+BAAA;EzF2iad;EyFzjaQ;IAcM,+BAAA;IAAA,8BAAA;EzF+iad;EyF7jaQ;IAcM,6BAAA;IAAA,4BAAA;EzFmjad;EyFjkaQ;IAcM,+BAAA;IAAA,8BAAA;EzFujad;EyFrkaQ;IAcM,6BAAA;IAAA,4BAAA;EzF2jad;EyFzkaQ;IAcM,6BAAA;IAAA,4BAAA;EzF+jad;EyF7kaQ;IAcM,wBAAA;IAAA,2BAAA;EzFmkad;EyFjlaQ;IAcM,8BAAA;IAAA,iCAAA;EzFukad;EyFrlaQ;IAcM,6BAAA;IAAA,gCAAA;EzF2kad;EyFzlaQ;IAcM,2BAAA;IAAA,8BAAA;EzF+kad;EyF7laQ;IAcM,6BAAA;IAAA,gCAAA;EzFmlad;EyFjmaQ;IAcM,2BAAA;IAAA,8BAAA;EzFulad;EyFrmaQ;IAcM,2BAAA;IAAA,8BAAA;EzF2lad;EyFzmaQ;IAcM,wBAAA;EzF8lad;EyF5maQ;IAcM,8BAAA;EzFimad;EyF/maQ;IAcM,6BAAA;EzFomad;EyFlnaQ;IAcM,2BAAA;EzFumad;EyFrnaQ;IAcM,6BAAA;EzF0mad;EyFxnaQ;IAcM,2BAAA;EzF6mad;EyF3naQ;IAcM,2BAAA;EzFgnad;EyF9naQ;IlFhCJ,0BAAA;EPiqaJ;EyFjoaQ;IlFhCJ,gCAAA;EPoqaJ;EyFpoaQ;IlFhCJ,+BAAA;EPuqaJ;EyFvoaQ;IlFhCJ,6BAAA;EP0qaJ;EyF1oaQ;IlFhCJ,+BAAA;EP6qaJ;EyF7oaQ;IlFhCJ,6BAAA;EPgraJ;EyFhpaQ;IlFhCJ,6BAAA;EPmraJ;EyFnpaQ;IAcM,2BAAA;EzFwoad;EyFtpaQ;IAcM,iCAAA;EzF2oad;EyFzpaQ;IAcM,gCAAA;EzF8oad;EyF5paQ;IAcM,8BAAA;EzFipad;EyF/paQ;IAcM,gCAAA;EzFopad;EyFlqaQ;IAcM,8BAAA;EzFupad;EyFrqaQ;IAcM,8BAAA;EzF0pad;EyFxqaQ;IlFhCJ,yBAAA;EP2saJ;EyF3qaQ;IlFhCJ,+BAAA;EP8saJ;EyF9qaQ;IlFhCJ,8BAAA;EPitaJ;EyFjraQ;IlFhCJ,4BAAA;EPotaJ;EyFpraQ;IlFhCJ,8BAAA;EPutaJ;EyFvraQ;IlFhCJ,4BAAA;EP0taJ;EyF1raQ;IlFhCJ,4BAAA;EP6taJ;EyF7raQ;IAcM,qBAAA;EzFkrad;EyFhsaQ;IAcM,2BAAA;EzFqrad;EyFnsaQ;IAcM,0BAAA;EzFwrad;EyFtsaQ;IAcM,wBAAA;EzF2rad;EyFzsaQ;IAcM,0BAAA;EzF8rad;EyF5saQ;IAcM,wBAAA;EzFisad;EyF/saQ;IAcM,2BAAA;IAAA,0BAAA;EzFqsad;EyFntaQ;IAcM,iCAAA;IAAA,gCAAA;EzFysad;EyFvtaQ;IAcM,gCAAA;IAAA,+BAAA;EzF6sad;EyF3taQ;IAcM,8BAAA;IAAA,6BAAA;EzFitad;EyF/taQ;IAcM,gCAAA;IAAA,+BAAA;EzFqtad;EyFnuaQ;IAcM,8BAAA;IAAA,6BAAA;EzFytad;EyFvuaQ;IAcM,yBAAA;IAAA,4BAAA;EzF6tad;EyF3uaQ;IAcM,+BAAA;IAAA,kCAAA;EzFiuad;EyF/uaQ;IAcM,8BAAA;IAAA,iCAAA;EzFquad;EyFnvaQ;IAcM,4BAAA;IAAA,+BAAA;EzFyuad;EyFvvaQ;IAcM,8BAAA;IAAA,iCAAA;EzF6uad;EyF3vaQ;IAcM,4BAAA;IAAA,+BAAA;EzFivad;EyF/vaQ;IAcM,yBAAA;EzFovad;EyFlwaQ;IAcM,+BAAA;EzFuvad;EyFrwaQ;IAcM,8BAAA;EzF0vad;EyFxwaQ;IAcM,4BAAA;EzF6vad;EyF3waQ;IAcM,8BAAA;EzFgwad;EyF9waQ;IAcM,4BAAA;EzFmwad;EyFjxaQ;IlFhCJ,2BAAA;EPozaJ;EyFpxaQ;IlFhCJ,iCAAA;EPuzaJ;EyFvxaQ;IlFhCJ,gCAAA;EP0zaJ;EyF1xaQ;IlFhCJ,8BAAA;EP6zaJ;EyF7xaQ;IlFhCJ,gCAAA;EPg0aJ;EyFhyaQ;IlFhCJ,8BAAA;EPm0aJ;EyFnyaQ;IAcM,4BAAA;EzFwxad;EyFtyaQ;IAcM,kCAAA;EzF2xad;EyFzyaQ;IAcM,iCAAA;EzF8xad;EyF5yaQ;IAcM,+BAAA;EzFiyad;EyF/yaQ;IAcM,iCAAA;EzFoyad;EyFlzaQ;IAcM,+BAAA;EzFuyad;EyFrzaQ;IlFhCJ,0BAAA;EPw1aJ;EyFxzaQ;IlFhCJ,gCAAA;EP21aJ;EyF3zaQ;IlFhCJ,+BAAA;EP81aJ;EyF9zaQ;IlFhCJ,6BAAA;EPi2aJ;EyFj0aQ;IlFhCJ,+BAAA;EPo2aJ;EyFp0aQ;IlFhCJ,6BAAA;EPu2aJ;EyFv0aQ;IAcM,iBAAA;EzF4zad;EyF10aQ;IAcM,uBAAA;EzF+zad;EyF70aQ;IAcM,sBAAA;EzFk0ad;EyFh1aQ;IAcM,oBAAA;EzFq0ad;EyFn1aQ;IAcM,sBAAA;EzFw0ad;EyFt1aQ;IAcM,oBAAA;EzF20ad;EyFz1aQ;IAcM,qBAAA;EzF80ad;EyF51aQ;IAcM,2BAAA;EzFi1ad;EyF/1aQ;IAcM,0BAAA;EzFo1ad;EyFl2aQ;IAcM,wBAAA;EzFu1ad;EyFr2aQ;IAcM,0BAAA;EzF01ad;EyFx2aQ;IAcM,wBAAA;EzF61ad;EyF32aQ;IAcM,6BAAA;IAAA,wBAAA;EzFg2ad;EyF92aQ;IAcM,mCAAA;IAAA,8BAAA;EzFm2ad;EyFj3aQ;IAcM,kCAAA;IAAA,6BAAA;EzFs2ad;EyFp3aQ;IAcM,gCAAA;IAAA,2BAAA;EzFy2ad;EyFv3aQ;IAcM,kCAAA;IAAA,6BAAA;EzF42ad;EyF13aQ;IAcM,gCAAA;IAAA,2BAAA;EzF+2ad;EyF73aQ;IlFhCJ,2BAAA;EPg6aJ;EyFh4aQ;IlFhCJ,4BAAA;EPm6aJ;EyFn4aQ;IlFhCJ,6BAAA;EPs6aJ;AACF;Ae/5aI;E0EwBM;IlFhCJ,sBAAA;EP26aJ;EyF34aQ;IlFhCJ,uBAAA;EP86aJ;EyF94aQ;IlFhCJ,sBAAA;EPi7aJ;EyFj5aQ;IAcM,iCAAA;IAAA,8BAAA;EzFs4ad;EyFp5aQ;IAcM,+BAAA;IAAA,4BAAA;EzFy4ad;EyFv5aQ;IAcM,8BAAA;IAAA,2BAAA;EzF44ad;EyF15aQ;IAcM,oCAAA;IAAA,iCAAA;EzF+4ad;EyF75aQ;IAcM,8BAAA;IAAA,2BAAA;EzFk5ad;EyFh6aQ;IAcM,0BAAA;EzFq5ad;EyFn6aQ;IAcM,gCAAA;EzFw5ad;EyFt6aQ;IAcM,yBAAA;EzF25ad;EyFz6aQ;IAcM,wBAAA;EzF85ad;EyF56aQ;IAcM,+BAAA;EzFi6ad;EyF/6aQ;IAcM,yBAAA;EzFo6ad;EyFl7aQ;IAcM,6BAAA;EzFu6ad;EyFr7aQ;IAcM,8BAAA;EzF06ad;EyFx7aQ;IAcM,wBAAA;EzF66ad;EyF37aQ;IAcM,+BAAA;EzFg7ad;EyF97aQ;IAcM,wBAAA;EzFm7ad;EyFj8aQ;IAcM,yBAAA;EzFs7ad;EyFp8aQ;IAcM,8BAAA;EzFy7ad;EyFv8aQ;IAcM,iCAAA;EzF47ad;EyF18aQ;IAcM,sCAAA;EzF+7ad;EyF78aQ;IAcM,yCAAA;EzFk8ad;EyFh9aQ;IAcM,uBAAA;EzFq8ad;EyFn9aQ;IAcM,uBAAA;EzFw8ad;EyFt9aQ;IAcM,yBAAA;EzF28ad;EyFz9aQ;IAcM,yBAAA;EzF88ad;EyF59aQ;IAcM,0BAAA;EzFi9ad;EyF/9aQ;IAcM,4BAAA;EzFo9ad;EyFl+aQ;IAcM,kCAAA;EzFu9ad;EyFr+aQ;IAcM,sCAAA;EzF09ad;EyFx+aQ;IAcM,oCAAA;EzF69ad;EyF3+aQ;IAcM,kCAAA;EzFg+ad;EyF9+aQ;IAcM,yCAAA;EzFm+ad;EyFj/aQ;IAcM,wCAAA;EzFs+ad;EyFp/aQ;IAcM,wCAAA;EzFy+ad;EyFv/aQ;IAcM,kCAAA;EzF4+ad;EyF1/aQ;IAcM,gCAAA;EzF++ad;EyF7/aQ;IAcM,8BAAA;EzFk/ad;EyFhgbQ;IAcM,gCAAA;EzFq/ad;EyFngbQ;IAcM,+BAAA;EzFw/ad;EyFtgbQ;IAcM,oCAAA;EzF2/ad;EyFzgbQ;IAcM,kCAAA;EzF8/ad;EyF5gbQ;IAcM,gCAAA;EzFigbd;EyF/gbQ;IAcM,uCAAA;EzFogbd;EyFlhbQ;IAcM,sCAAA;EzFugbd;EyFrhbQ;IAcM,iCAAA;EzF0gbd;EyFxhbQ;IAcM,2BAAA;EzF6gbd;EyF3hbQ;IAcM,iCAAA;EzFghbd;EyF9hbQ;IAcM,+BAAA;EzFmhbd;EyFjibQ;IAcM,6BAAA;EzFshbd;EyFpibQ;IAcM,+BAAA;EzFyhbd;EyFvibQ;IAcM,8BAAA;EzF4hbd;EyF1ibQ;IAcM,oBAAA;EzF+hbd;EyF7ibQ;IAcM,mBAAA;EzFkibd;EyFhjbQ;IAcM,mBAAA;EzFqibd;EyFnjbQ;IAcM,mBAAA;EzFwibd;EyFtjbQ;IAcM,mBAAA;EzF2ibd;EyFzjbQ;IAcM,mBAAA;EzF8ibd;EyF5jbQ;IAcM,mBAAA;EzFijbd;EyF/jbQ;IAcM,mBAAA;EzFojbd;EyFlkbQ;IAcM,oBAAA;EzFujbd;EyFrkbQ;IAcM,0BAAA;EzF0jbd;EyFxkbQ;IAcM,yBAAA;EzF6jbd;EyF3kbQ;IAcM,uBAAA;EzFgkbd;EyF9kbQ;IAcM,yBAAA;EzFmkbd;EyFjlbQ;IAcM,uBAAA;EzFskbd;EyFplbQ;IAcM,uBAAA;EzFykbd;EyFvlbQ;IAcM,0BAAA;IAAA,yBAAA;EzF6kbd;EyF3lbQ;IAcM,gCAAA;IAAA,+BAAA;EzFilbd;EyF/lbQ;IAcM,+BAAA;IAAA,8BAAA;EzFqlbd;EyFnmbQ;IAcM,6BAAA;IAAA,4BAAA;EzFylbd;EyFvmbQ;IAcM,+BAAA;IAAA,8BAAA;EzF6lbd;EyF3mbQ;IAcM,6BAAA;IAAA,4BAAA;EzFimbd;EyF/mbQ;IAcM,6BAAA;IAAA,4BAAA;EzFqmbd;EyFnnbQ;IAcM,wBAAA;IAAA,2BAAA;EzFymbd;EyFvnbQ;IAcM,8BAAA;IAAA,iCAAA;EzF6mbd;EyF3nbQ;IAcM,6BAAA;IAAA,gCAAA;EzFinbd;EyF/nbQ;IAcM,2BAAA;IAAA,8BAAA;EzFqnbd;EyFnobQ;IAcM,6BAAA;IAAA,gCAAA;EzFynbd;EyFvobQ;IAcM,2BAAA;IAAA,8BAAA;EzF6nbd;EyF3obQ;IAcM,2BAAA;IAAA,8BAAA;EzFiobd;EyF/obQ;IAcM,wBAAA;EzFoobd;EyFlpbQ;IAcM,8BAAA;EzFuobd;EyFrpbQ;IAcM,6BAAA;EzF0obd;EyFxpbQ;IAcM,2BAAA;EzF6obd;EyF3pbQ;IAcM,6BAAA;EzFgpbd;EyF9pbQ;IAcM,2BAAA;EzFmpbd;EyFjqbQ;IAcM,2BAAA;EzFspbd;EyFpqbQ;IlFhCJ,0BAAA;EPusbJ;EyFvqbQ;IlFhCJ,gCAAA;EP0sbJ;EyF1qbQ;IlFhCJ,+BAAA;EP6sbJ;EyF7qbQ;IlFhCJ,6BAAA;EPgtbJ;EyFhrbQ;IlFhCJ,+BAAA;EPmtbJ;EyFnrbQ;IlFhCJ,6BAAA;EPstbJ;EyFtrbQ;IlFhCJ,6BAAA;EPytbJ;EyFzrbQ;IAcM,2BAAA;EzF8qbd;EyF5rbQ;IAcM,iCAAA;EzFirbd;EyF/rbQ;IAcM,gCAAA;EzForbd;EyFlsbQ;IAcM,8BAAA;EzFurbd;EyFrsbQ;IAcM,gCAAA;EzF0rbd;EyFxsbQ;IAcM,8BAAA;EzF6rbd;EyF3sbQ;IAcM,8BAAA;EzFgsbd;EyF9sbQ;IlFhCJ,yBAAA;EPivbJ;EyFjtbQ;IlFhCJ,+BAAA;EPovbJ;EyFptbQ;IlFhCJ,8BAAA;EPuvbJ;EyFvtbQ;IlFhCJ,4BAAA;EP0vbJ;EyF1tbQ;IlFhCJ,8BAAA;EP6vbJ;EyF7tbQ;IlFhCJ,4BAAA;EPgwbJ;EyFhubQ;IlFhCJ,4BAAA;EPmwbJ;EyFnubQ;IAcM,qBAAA;EzFwtbd;EyFtubQ;IAcM,2BAAA;EzF2tbd;EyFzubQ;IAcM,0BAAA;EzF8tbd;EyF5ubQ;IAcM,wBAAA;EzFiubd;EyF/ubQ;IAcM,0BAAA;EzFoubd;EyFlvbQ;IAcM,wBAAA;EzFuubd;EyFrvbQ;IAcM,2BAAA;IAAA,0BAAA;EzF2ubd;EyFzvbQ;IAcM,iCAAA;IAAA,gCAAA;EzF+ubd;EyF7vbQ;IAcM,gCAAA;IAAA,+BAAA;EzFmvbd;EyFjwbQ;IAcM,8BAAA;IAAA,6BAAA;EzFuvbd;EyFrwbQ;IAcM,gCAAA;IAAA,+BAAA;EzF2vbd;EyFzwbQ;IAcM,8BAAA;IAAA,6BAAA;EzF+vbd;EyF7wbQ;IAcM,yBAAA;IAAA,4BAAA;EzFmwbd;EyFjxbQ;IAcM,+BAAA;IAAA,kCAAA;EzFuwbd;EyFrxbQ;IAcM,8BAAA;IAAA,iCAAA;EzF2wbd;EyFzxbQ;IAcM,4BAAA;IAAA,+BAAA;EzF+wbd;EyF7xbQ;IAcM,8BAAA;IAAA,iCAAA;EzFmxbd;EyFjybQ;IAcM,4BAAA;IAAA,+BAAA;EzFuxbd;EyFrybQ;IAcM,yBAAA;EzF0xbd;EyFxybQ;IAcM,+BAAA;EzF6xbd;EyF3ybQ;IAcM,8BAAA;EzFgybd;EyF9ybQ;IAcM,4BAAA;EzFmybd;EyFjzbQ;IAcM,8BAAA;EzFsybd;EyFpzbQ;IAcM,4BAAA;EzFyybd;EyFvzbQ;IlFhCJ,2BAAA;EP01bJ;EyF1zbQ;IlFhCJ,iCAAA;EP61bJ;EyF7zbQ;IlFhCJ,gCAAA;EPg2bJ;EyFh0bQ;IlFhCJ,8BAAA;EPm2bJ;EyFn0bQ;IlFhCJ,gCAAA;EPs2bJ;EyFt0bQ;IlFhCJ,8BAAA;EPy2bJ;EyFz0bQ;IAcM,4BAAA;EzF8zbd;EyF50bQ;IAcM,kCAAA;EzFi0bd;EyF/0bQ;IAcM,iCAAA;EzFo0bd;EyFl1bQ;IAcM,+BAAA;EzFu0bd;EyFr1bQ;IAcM,iCAAA;EzF00bd;EyFx1bQ;IAcM,+BAAA;EzF60bd;EyF31bQ;IlFhCJ,0BAAA;EP83bJ;EyF91bQ;IlFhCJ,gCAAA;EPi4bJ;EyFj2bQ;IlFhCJ,+BAAA;EPo4bJ;EyFp2bQ;IlFhCJ,6BAAA;EPu4bJ;EyFv2bQ;IlFhCJ,+BAAA;EP04bJ;EyF12bQ;IlFhCJ,6BAAA;EP64bJ;EyF72bQ;IAcM,iBAAA;EzFk2bd;EyFh3bQ;IAcM,uBAAA;EzFq2bd;EyFn3bQ;IAcM,sBAAA;EzFw2bd;EyFt3bQ;IAcM,oBAAA;EzF22bd;EyFz3bQ;IAcM,sBAAA;EzF82bd;EyF53bQ;IAcM,oBAAA;EzFi3bd;EyF/3bQ;IAcM,qBAAA;EzFo3bd;EyFl4bQ;IAcM,2BAAA;EzFu3bd;EyFr4bQ;IAcM,0BAAA;EzF03bd;EyFx4bQ;IAcM,wBAAA;EzF63bd;EyF34bQ;IAcM,0BAAA;EzFg4bd;EyF94bQ;IAcM,wBAAA;EzFm4bd;EyFj5bQ;IAcM,6BAAA;IAAA,wBAAA;EzFs4bd;EyFp5bQ;IAcM,mCAAA;IAAA,8BAAA;EzFy4bd;EyFv5bQ;IAcM,kCAAA;IAAA,6BAAA;EzF44bd;EyF15bQ;IAcM,gCAAA;IAAA,2BAAA;EzF+4bd;EyF75bQ;IAcM,kCAAA;IAAA,6BAAA;EzFk5bd;EyFh6bQ;IAcM,gCAAA;IAAA,2BAAA;EzFq5bd;EyFn6bQ;IlFhCJ,2BAAA;EPs8bJ;EyFt6bQ;IlFhCJ,4BAAA;EPy8bJ;EyFz6bQ;IlFhCJ,6BAAA;EP48bJ;AACF;Aer8bI;E0EwBM;IlFhCJ,sBAAA;EPi9bJ;EyFj7bQ;IlFhCJ,uBAAA;EPo9bJ;EyFp7bQ;IlFhCJ,sBAAA;EPu9bJ;EyFv7bQ;IAcM,iCAAA;IAAA,8BAAA;EzF46bd;EyF17bQ;IAcM,+BAAA;IAAA,4BAAA;EzF+6bd;EyF77bQ;IAcM,8BAAA;IAAA,2BAAA;EzFk7bd;EyFh8bQ;IAcM,oCAAA;IAAA,iCAAA;EzFq7bd;EyFn8bQ;IAcM,8BAAA;IAAA,2BAAA;EzFw7bd;EyFt8bQ;IAcM,0BAAA;EzF27bd;EyFz8bQ;IAcM,gCAAA;EzF87bd;EyF58bQ;IAcM,yBAAA;EzFi8bd;EyF/8bQ;IAcM,wBAAA;EzFo8bd;EyFl9bQ;IAcM,+BAAA;EzFu8bd;EyFr9bQ;IAcM,yBAAA;EzF08bd;EyFx9bQ;IAcM,6BAAA;EzF68bd;EyF39bQ;IAcM,8BAAA;EzFg9bd;EyF99bQ;IAcM,wBAAA;EzFm9bd;EyFj+bQ;IAcM,+BAAA;EzFs9bd;EyFp+bQ;IAcM,wBAAA;EzFy9bd;EyFv+bQ;IAcM,yBAAA;EzF49bd;EyF1+bQ;IAcM,8BAAA;EzF+9bd;EyF7+bQ;IAcM,iCAAA;EzFk+bd;EyFh/bQ;IAcM,sCAAA;EzFq+bd;EyFn/bQ;IAcM,yCAAA;EzFw+bd;EyFt/bQ;IAcM,uBAAA;EzF2+bd;EyFz/bQ;IAcM,uBAAA;EzF8+bd;EyF5/bQ;IAcM,yBAAA;EzFi/bd;EyF//bQ;IAcM,yBAAA;EzFo/bd;EyFlgcQ;IAcM,0BAAA;EzFu/bd;EyFrgcQ;IAcM,4BAAA;EzF0/bd;EyFxgcQ;IAcM,kCAAA;EzF6/bd;EyF3gcQ;IAcM,sCAAA;EzFggcd;EyF9gcQ;IAcM,oCAAA;EzFmgcd;EyFjhcQ;IAcM,kCAAA;EzFsgcd;EyFphcQ;IAcM,yCAAA;EzFygcd;EyFvhcQ;IAcM,wCAAA;EzF4gcd;EyF1hcQ;IAcM,wCAAA;EzF+gcd;EyF7hcQ;IAcM,kCAAA;EzFkhcd;EyFhicQ;IAcM,gCAAA;EzFqhcd;EyFnicQ;IAcM,8BAAA;EzFwhcd;EyFticQ;IAcM,gCAAA;EzF2hcd;EyFzicQ;IAcM,+BAAA;EzF8hcd;EyF5icQ;IAcM,oCAAA;EzFiicd;EyF/icQ;IAcM,kCAAA;EzFoicd;EyFljcQ;IAcM,gCAAA;EzFuicd;EyFrjcQ;IAcM,uCAAA;EzF0icd;EyFxjcQ;IAcM,sCAAA;EzF6icd;EyF3jcQ;IAcM,iCAAA;EzFgjcd;EyF9jcQ;IAcM,2BAAA;EzFmjcd;EyFjkcQ;IAcM,iCAAA;EzFsjcd;EyFpkcQ;IAcM,+BAAA;EzFyjcd;EyFvkcQ;IAcM,6BAAA;EzF4jcd;EyF1kcQ;IAcM,+BAAA;EzF+jcd;EyF7kcQ;IAcM,8BAAA;EzFkkcd;EyFhlcQ;IAcM,oBAAA;EzFqkcd;EyFnlcQ;IAcM,mBAAA;EzFwkcd;EyFtlcQ;IAcM,mBAAA;EzF2kcd;EyFzlcQ;IAcM,mBAAA;EzF8kcd;EyF5lcQ;IAcM,mBAAA;EzFilcd;EyF/lcQ;IAcM,mBAAA;EzFolcd;EyFlmcQ;IAcM,mBAAA;EzFulcd;EyFrmcQ;IAcM,mBAAA;EzF0lcd;EyFxmcQ;IAcM,oBAAA;EzF6lcd;EyF3mcQ;IAcM,0BAAA;EzFgmcd;EyF9mcQ;IAcM,yBAAA;EzFmmcd;EyFjncQ;IAcM,uBAAA;EzFsmcd;EyFpncQ;IAcM,yBAAA;EzFymcd;EyFvncQ;IAcM,uBAAA;EzF4mcd;EyF1ncQ;IAcM,uBAAA;EzF+mcd;EyF7ncQ;IAcM,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yFj4cQ;IlFhCJ,0BAAA;EPo6cJ;EyFp4cQ;IlFhCJ,gCAAA;EPu6cJ;EyFv4cQ;IlFhCJ,+BAAA;EP06cJ;EyF14cQ;IlFhCJ,6BAAA;EP66cJ;EyF74cQ;IlFhCJ,+BAAA;EPg7cJ;EyFh5cQ;IlFhCJ,6BAAA;EPm7cJ;EyFn5cQ;IAcM,iBAAA;EzFw4cd;EyFt5cQ;IAcM,uBAAA;EzF24cd;EyFz5cQ;IAcM,sBAAA;EzF84cd;EyF55cQ;IAcM,oBAAA;EzFi5cd;EyF/5cQ;IAcM,sBAAA;EzFo5cd;EyFl6cQ;IAcM,oBAAA;EzFu5cd;EyFr6cQ;IAcM,qBAAA;EzF05cd;EyFx6cQ;IAcM,2BAAA;EzF65cd;EyF36cQ;IAcM,0BAAA;EzFg6cd;EyF96cQ;IAcM,wBAAA;EzFm6cd;EyFj7cQ;IAcM,0BAAA;EzFs6cd;EyFp7cQ;IAcM,wBAAA;EzFy6cd;EyFv7cQ;IAcM,6BAAA;IAAA,wBAAA;EzF46cd;EyF17cQ;IAcM,mCAAA;IAAA,8BAAA;EzF+6cd;EyF77cQ;IAcM,kCAAA;IAAA,6BAAA;EzFk7cd;EyFh8cQ;IAcM,gCAAA;IAAA,2BAAA;EzFq7cd;EyFn8cQ;IAcM,kCAAA;IAAA,6BAAA;EzFw7cd;EyFt8cQ;IAcM,gCAAA;IAAA,2BAAA;EzF27cd;EyFz8cQ;IlFhCJ,2BAAA;EP4+cJ;EyF58cQ;IlFhCJ,4BAAA;EP++cJ;EyF/8cQ;IlFhCJ,6BAAA;EPk/cJ;AACF;Ae3+cI;E0EwBM;IlFhCJ,sBAAA;EPu/cJ;EyFv9cQ;IlFhCJ,uBAAA;EP0/cJ;EyF19cQ;IlFhCJ,sBAAA;EP6/cJ;EyF79cQ;IAcM,iCAAA;IAAA,8BAAA;EzFk9cd;EyFh+cQ;IAcM,+BAAA;IAAA,4BAAA;EzFq9cd;EyFn+cQ;IAcM,8BAAA;IAAA,2BAAA;EzFw9cd;EyFt+cQ;IAcM,oCAAA;IAAA,iCAAA;EzF29cd;EyFz+cQ;IAcM,8BAAA;IAAA,2BAAA;EzF89cd;EyF5+cQ;IAcM,0BAAA;EzFi+cd;EyF/+cQ;IAcM,gCAAA;EzFo+cd;EyFl/cQ;IAcM,yBAAA;EzFu+cd;EyFr/cQ;IAcM,wBAAA;EzF0+cd;EyFx/cQ;IAcM,+BAAA;EzF6+cd;EyF3/cQ;IAcM,yBAAA;EzFg/cd;EyF9/cQ;IAcM,6BAAA;EzFm/cd;EyFjgdQ;IAcM,8BAAA;EzFs/cd;EyFpgdQ;IAcM,wBAAA;EzFy/cd;EyFvgdQ;IAcM,+BAAA;EzF4/cd;EyF1gdQ;IAcM,wBAAA;EzF+/cd;EyF7gdQ;IAcM,yBAAA;EzFkgdd;EyFhhdQ;IAcM,8BAAA;EzFqgdd;EyFnhdQ;IAcM,iCAAA;EzFwgdd;EyFthdQ;IAcM,sCAAA;EzF2gdd;EyFzhdQ;IAcM,yCAAA;EzF8gdd;EyF5hdQ;IAcM,uBAAA;EzFihdd;EyF/hdQ;IAcM,uBAAA;EzFohdd;EyFlidQ;IAcM,yBAAA;EzFuhdd;EyFridQ;IAcM,yBAAA;EzF0hdd;EyFxidQ;IAcM,0BAAA;EzF6hdd;EyF3idQ;IAcM,4BAAA;EzFgidd;EyF9idQ;IAcM,kCAAA;EzFmidd;EyFjjdQ;IAcM,sCAAA;EzFsidd;EyFpjdQ;IAcM,oCAAA;EzFyidd;EyFvjdQ;IAcM,kCAAA;EzF4idd;EyF1jdQ;IAcM,yCAAA;EzF+idd;EyF7jdQ;IAcM,wCAAA;EzFkjdd;EyFhkdQ;IAcM,wCAAA;EzFqjdd;EyFnkdQ;IAcM,kCAAA;EzFwjdd;EyFtkdQ;IAcM,gCAAA;EzF2jdd;EyFzkdQ;IAcM,8BAAA;EzF8jdd;EyF5kdQ;IAcM,gCAAA;EzFikdd;EyF/kdQ;IAcM,+BAAA;EzFokdd;EyFlldQ;IAcM,oCAAA;EzFukdd;EyFrldQ;IAcM,kCAAA;EzF0kdd;EyFxldQ;IAcM,gCAAA;EzF6kdd;EyF3ldQ;IAcM,uCAAA;EzFgldd;EyF9ldQ;IAcM,sCAAA;EzFmldd;EyFjmdQ;IAcM,iCAAA;EzFsldd;EyFpmdQ;IAcM,2BAAA;EzFyldd;EyFvmdQ;IAcM,iCAAA;EzF4ldd;EyF1mdQ;IAcM,+BAAA;EzF+ldd;EyF7mdQ;IAcM,6BAAA;EzFkmdd;EyFhndQ;IAcM,+BAAA;EzFqmdd;EyFnndQ;IAcM,8BAAA;EzFwmdd;EyFtndQ;IAcM,oBAAA;EzF2mdd;EyFzndQ;IAcM,mBAAA;EzF8mdd;EyF5ndQ;IAcM,mBA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cM,4BAAA;EzFq3dd;EyFn4dQ;IlFhCJ,2BAAA;EPs6dJ;EyFt4dQ;IlFhCJ,iCAAA;EPy6dJ;EyFz4dQ;IlFhCJ,gCAAA;EP46dJ;EyF54dQ;IlFhCJ,8BAAA;EP+6dJ;EyF/4dQ;IlFhCJ,gCAAA;EPk7dJ;EyFl5dQ;IlFhCJ,8BAAA;EPq7dJ;EyFr5dQ;IAcM,4BAAA;EzF04dd;EyFx5dQ;IAcM,kCAAA;EzF64dd;EyF35dQ;IAcM,iCAAA;EzFg5dd;EyF95dQ;IAcM,+BAAA;EzFm5dd;EyFj6dQ;IAcM,iCAAA;EzFs5dd;EyFp6dQ;IAcM,+BAAA;EzFy5dd;EyFv6dQ;IlFhCJ,0BAAA;EP08dJ;EyF16dQ;IlFhCJ,gCAAA;EP68dJ;EyF76dQ;IlFhCJ,+BAAA;EPg9dJ;EyFh7dQ;IlFhCJ,6BAAA;EPm9dJ;EyFn7dQ;IlFhCJ,+BAAA;EPs9dJ;EyFt7dQ;IlFhCJ,6BAAA;EPy9dJ;EyFz7dQ;IAcM,iBAAA;EzF86dd;EyF57dQ;IAcM,uBAAA;EzFi7dd;EyF/7dQ;IAcM,sBAAA;EzFo7dd;EyFl8dQ;IAcM,oBAAA;EzFu7dd;EyFr8dQ;IAcM,sBAAA;EzF07dd;EyFx8dQ;IAcM,oBAAA;EzF67dd;EyF38dQ;IAcM,qBAAA;EzFg8dd;EyF98dQ;IAcM,2BAAA;EzFm8dd;EyFj9dQ;IAcM,0BAAA;EzFs8dd;EyFp9dQ;IAcM,wBAAA;EzFy8dd;EyFv9dQ;IAcM,0BAAA;EzF48dd;EyF19dQ;IAcM,wBAAA;EzF+8dd;EyF79dQ;IAcM,6BAAA;IAAA,wBAAA;EzFk9dd;EyFh+dQ;IAcM,mCAAA;IAAA,8BAAA;EzFq9dd;EyFn+dQ;IAcM,kCAAA;IAAA,6BAAA;EzFw9dd;EyFt+dQ;IAcM,gCAAA;IAAA,2BAAA;EzF29dd;EyFz+dQ;IAcM,kCAAA;IAAA,6BAAA;EzF89dd;EyF5+dQ;IAcM,gCAAA;IAAA,2BAAA;EzFi+dd;EyF/+dQ;IlFhCJ,2BAAA;EPkheJ;EyFl/dQ;IlFhCJ,4BAAA;EPqheJ;EyFr/dQ;IlFhCJ,6BAAA;EPwheJ;AACF;A0F7jeA;EDoEU;IAcM,4BAAA;EzF++dd;EyF7/dQ;IAcM,0BAAA;EzFk/dd;EyFhgeQ;IAcM,6BAAA;EzFq/dd;EyFngeQ;IAcM,4BAAA;EzFw/dd;AACF;A0FxjeA;EDiDU;IAcM,0BAAA;EzF6/dd;EyF3geQ;IAcM,gCAAA;EzFgged;EyF9geQ;IAcM,yBAAA;EzFmged;EyFjheQ;IAcM,wBAAA;EzFsged;EyFpheQ;IAcM,+BAAA;EzFyged;EyFvheQ;IAcM,yBAAA;EzF4ged;EyF1heQ;IAcM,6BAAA;EzF+ged;EyF7heQ;IAcM,8BAAA;EzFkhed;EyFhieQ;IAcM,wBAAA;EzFqhed;EyFnieQ;IAcM,+BAAA;EzFwhed;EyFtieQ;IAcM,wBAAA;EzF2hed;AACF;A2FhoeE;EACE,oCAAA;EACA,mGAAA;A3FkoeJ;;A2FpoeE;EACE,sCAAA;EACA,uGAAA;A3FuoeJ;;A2FzoeE;EACE,oCAAA;EACA,mGAAA;A3F4oeJ;;A2F9oeE;EACE,iCAAA;EACA,6FAAA;A3FipeJ;;A2FnpeE;EACE,oCAAA;EACA,mGAAA;A3FspeJ;;A2FxpeE;EACE,mCAAA;EACA,iGAAA;A3F2peJ;;A2F7peE;EACE,kCAAA;EACA,+FAAA;A3FgqeJ;;A2FlqeE;EACE,iCAAA;EACA,6FAAA;A3FqqeJ","file":"coreui.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n * CoreUI PRO v5.8.1 (https://coreui.io)\n * Copyright (c) 2025 creativeLabs Łukasz Holeczek\n * License (https://coreui.io/pro/license/)\n */\n:root,\n[data-coreui-theme=light] {\n --cui-blue: #0d6efd;\n --cui-indigo: #6610f2;\n --cui-purple: #6f42c1;\n --cui-pink: #d63384;\n --cui-red: #dc3545;\n --cui-orange: #fd7e14;\n --cui-yellow: #ffc107;\n --cui-green: #198754;\n --cui-teal: #20c997;\n --cui-cyan: #0dcaf0;\n --cui-black: #080a0c;\n --cui-white: #fff;\n --cui-gray: #6d7d9c;\n --cui-gray-dark: #323a49;\n --cui-gray-100: #f3f4f7;\n --cui-gray-200: #e7eaee;\n --cui-gray-300: #dbdfe6;\n --cui-gray-400: #cfd4de;\n --cui-gray-500: #aab3c5;\n --cui-gray-600: #6d7d9c;\n --cui-gray-700: #4a566d;\n --cui-gray-800: #323a49;\n --cui-gray-900: #212631;\n --cui-primary: #5856d6;\n --cui-secondary: #6b7785;\n --cui-success: #1b9e3e;\n --cui-info: #39f;\n --cui-warning: #f9b115;\n --cui-danger: #e55353;\n --cui-light: #f3f4f7;\n --cui-dark: #212631;\n --cui-primary-rgb: 88, 86, 214;\n --cui-secondary-rgb: 107, 119, 133;\n --cui-success-rgb: 27, 158, 62;\n --cui-info-rgb: 51, 153, 255;\n --cui-warning-rgb: 249, 177, 21;\n --cui-danger-rgb: 229, 83, 83;\n --cui-light-rgb: 243, 244, 247;\n --cui-dark-rgb: 33, 38, 49;\n --cui-primary-text-emphasis: #3634a3;\n --cui-secondary-text-emphasis: #212233;\n --cui-success-text-emphasis: #0f5722;\n --cui-info-text-emphasis: #184c77;\n --cui-warning-text-emphasis: #764705;\n --cui-danger-text-emphasis: #671414;\n --cui-light-text-emphasis: #4a566d;\n --cui-dark-text-emphasis: #323a49;\n --cui-primary-bg-subtle: #cfc7f3;\n --cui-secondary-bg-subtle: #ced2d8;\n --cui-success-bg-subtle: #cbedd6;\n --cui-info-bg-subtle: #c0e6ff;\n --cui-warning-bg-subtle: #feecc5;\n --cui-danger-bg-subtle: #f9d4d4;\n --cui-light-bg-subtle: #f9fafb;\n --cui-dark-bg-subtle: #cfd4de;\n --cui-primary-border-subtle: #9d92e6;\n --cui-secondary-border-subtle: #9da5b1;\n --cui-success-border-subtle: #96dbad;\n --cui-info-border-subtle: #80c6ff;\n --cui-warning-border-subtle: #fcd88a;\n --cui-danger-border-subtle: #f2a9a9;\n --cui-light-border-subtle: #e7eaee;\n --cui-dark-border-subtle: #aab3c5;\n --cui-white-rgb: 255, 255, 255;\n --cui-black-rgb: 8, 10, 12;\n --cui-primary-start: #5856d6;\n --cui-primary-stop: #6f67db;\n --cui-secondary-start: #c8d2dc;\n --cui-secondary-stop: #fff;\n --cui-success-start: #2eb85c;\n --cui-success-stop: #1b9e3e;\n --cui-info-start: #39f;\n --cui-info-stop: #2982cc;\n --cui-warning-start: #f9b115;\n --cui-warning-stop: #f6960b;\n --cui-danger-start: #e55353;\n --cui-danger-stop: #d93737;\n --cui-light-start: #e3e8ed;\n --cui-light-stop: #fff;\n --cui-dark-start: #3c4b64;\n --cui-dark-stop: #212333;\n --cui-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\";\n --cui-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --cui-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --cui-body-font-family: var(--cui-font-sans-serif);\n --cui-body-font-size: 1rem;\n --cui-body-font-weight: 400;\n --cui-body-line-height: 1.5;\n --cui-body-color: rgba(37, 43, 54, 0.95);\n --cui-body-color-rgb: 37, 43, 54;\n --cui-body-bg: #fff;\n --cui-body-bg-rgb: 255, 255, 255;\n --cui-emphasis-color: #080a0c;\n --cui-emphasis-color-rgb: 8, 10, 12;\n --cui-secondary-color: rgba(37, 43, 54, 0.681);\n --cui-secondary-color-rgb: 37, 43, 54;\n --cui-secondary-bg: #e7eaee;\n --cui-secondary-bg-rgb: 231, 234, 238;\n --cui-tertiary-color: rgba(37, 43, 54, 0.38);\n --cui-tertiary-color-rgb: 37, 43, 54;\n --cui-tertiary-bg: #f3f4f7;\n --cui-tertiary-bg-rgb: 243, 244, 247;\n --cui-body-color-dark: rgba(255, 255, 255, 0.87);\n --cui-body-color-rgb-dark: 255, 255, 255;\n --cui-body-bg-dark: #212631;\n --cui-body-bg-rgb-dark: 33, 38, 49;\n --cui-emphasis-color-dark: #fff;\n --cui-emphasis-color-rgb-dark: 255, 255, 255;\n --cui-secondary-color-dark: rgba(255, 255, 255, 0.6);\n --cui-secondary-color-rgb-dark: 255, 255, 255;\n --cui-secondary-bg-dark: #323a49;\n --cui-secondary-bg-rgb-dark: 50, 58, 73;\n --cui-tertiary-color-dark: rgba(255, 255, 255, 0.38);\n --cui-tertiary-color-rgb-dark: 255, 255, 255;\n --cui-tertiary-bg-dark: #2a303d;\n --cui-tertiary-bg-rgb-dark: 42, 48, 61;\n --cui-high-emphasis: rgba(37, 43, 54, 0.95);\n --cui-medium-emphasis: rgba(37, 43, 54, 0.681);\n --cui-disabled: rgba(37, 43, 54, 0.38);\n --cui-high-emphasis-inverse: rgba(255, 255, 255, 0.87);\n --cui-medium-emphasis-inverse: rgba(255, 255, 255, 0.6);\n --cui-disabled-inverse: rgba(255, 255, 255, 0.38);\n --cui-heading-color: inherit;\n --cui-link-color: #5856d6;\n --cui-link-color-rgb: 88, 86, 214;\n --cui-link-decoration: underline;\n --cui-link-hover-color: #4645ab;\n --cui-link-hover-color-rgb: 70, 69, 171;\n --cui-code-color: #d63384;\n --cui-highlight-color: rgba(37, 43, 54, 0.95);\n --cui-highlight-bg: #fff3cd;\n --cui-border-width: 1px;\n --cui-border-style: solid;\n --cui-border-color: #dbdfe6;\n --cui-border-color-translucent: rgba(8, 10, 12, 0.175);\n --cui-border-radius: 0.375rem;\n --cui-border-radius-sm: 0.25rem;\n --cui-border-radius-lg: 0.5rem;\n --cui-border-radius-xl: 1rem;\n --cui-border-radius-xxl: 2rem;\n --cui-border-radius-2xl: var(--cui-border-radius-xxl);\n --cui-border-radius-pill: 50rem;\n --cui-box-shadow: 0 0.5rem 1rem rgba(8, 10, 12, 0.15);\n --cui-box-shadow-sm: 0 0.125rem 0.25rem rgba(8, 10, 12, 0.075);\n --cui-box-shadow-lg: 0 1rem 3rem rgba(8, 10, 12, 0.175);\n --cui-box-shadow-inset: inset 0 1px 2px rgba(8, 10, 12, 0.075);\n --cui-elevation-base-color: 60, 75, 100;\n --cui-focus-ring-width: 0.25rem;\n --cui-focus-ring-opacity: 0.25;\n --cui-focus-ring-color: rgba(88, 86, 214, 0.25);\n --cui-form-valid-color: #1b9e3e;\n --cui-form-valid-border-color: #1b9e3e;\n --cui-form-invalid-color: #e55353;\n --cui-form-invalid-border-color: #e55353;\n}\n\n.dark-theme,\n[data-coreui-theme=dark] {\n color-scheme: dark;\n --cui-body-color: rgba(255, 255, 255, 0.87);\n --cui-body-color-rgb: 255, 255, 255;\n --cui-body-bg: #212631;\n --cui-body-bg-rgb: 33, 38, 49;\n --cui-emphasis-color: #fff;\n --cui-emphasis-color-rgb: 255, 255, 255;\n --cui-secondary-color: rgba(255, 255, 255, 0.6);\n --cui-secondary-color-rgb: 255, 255, 255;\n --cui-secondary-bg: #323a49;\n --cui-secondary-bg-rgb: 50, 58, 73;\n --cui-tertiary-color: rgba(255, 255, 255, 0.38);\n --cui-tertiary-color-rgb: 255, 255, 255;\n --cui-tertiary-bg: #2a303d;\n --cui-tertiary-bg-rgb: 42, 48, 61;\n --cui-elevation-base-color: 0, 0, 0;\n --cui-high-emphasis: rgba(255, 255, 255, 0.87);\n --cui-medium-emphasis: rgba(255, 255, 255, 0.6);\n --cui-disabled: rgba(255, 255, 255, 0.38);\n --cui-primary: #6261cc;\n --cui-secondary: #6b7785;\n --cui-success: #249542;\n --cui-info: #3d99f5;\n --cui-warning: #edad21;\n --cui-danger: #db5d5d;\n --cui-light: #f3f4f7;\n --cui-dark: #212631;\n --cui-gray-100: #f3f4f7;\n --cui-gray-200: #e7eaee;\n --cui-gray-300: #dbdfe6;\n --cui-gray-400: #cfd4de;\n --cui-gray-500: #aab3c5;\n --cui-gray-600: #6d7d9c;\n --cui-gray-700: #4a566d;\n --cui-gray-800: #323a49;\n --cui-gray-900: #212631;\n --cui-primary-rgb: 98, 97, 204;\n --cui-secondary-rgb: 107, 119, 133;\n --cui-success-rgb: 36, 149, 66;\n --cui-info-rgb: 61, 153, 245;\n --cui-warning-rgb: 237, 173, 33;\n --cui-danger-rgb: 219, 93, 93;\n --cui-light-rgb: 243, 244, 247;\n --cui-dark-rgb: 33, 38, 49;\n --cui-primary-text-emphasis: #403f98;\n --cui-secondary-text-emphasis: #212233;\n --cui-success-text-emphasis: #145224;\n --cui-info-text-emphasis: #1f4b70;\n --cui-warning-text-emphasis: #70460b;\n --cui-danger-text-emphasis: #611a1a;\n --cui-light-text-emphasis: #f3f4f7;\n --cui-dark-text-emphasis: #dbdfe6;\n --cui-primary-bg-subtle: #cfc7f3;\n --cui-secondary-bg-subtle: #ced2d8;\n --cui-success-bg-subtle: #cbedd6;\n --cui-info-bg-subtle: #c0e6ff;\n --cui-warning-bg-subtle: #feecc5;\n --cui-danger-bg-subtle: #f9d4d4;\n --cui-light-bg-subtle: #323a49;\n --cui-dark-bg-subtle: #1d222b;\n --cui-primary-border-subtle: #9d92e6;\n --cui-secondary-border-subtle: #9da5b1;\n --cui-success-border-subtle: #96dbad;\n --cui-info-border-subtle: #80c6ff;\n --cui-warning-border-subtle: #fcd88a;\n --cui-danger-border-subtle: #f2a9a9;\n --cui-light-border-subtle: #4a566d;\n --cui-dark-border-subtle: #323a49;\n --cui-primary-start: #6261cc;\n --cui-primary-stop: #7770d2;\n --cui-secondary-start: #cdd2d8;\n --cui-secondary-stop: white;\n --cui-success-start: #3aad60;\n --cui-success-stop: #249542;\n --cui-info-start: #3d99f5;\n --cui-info-stop: #3581c0;\n --cui-warning-start: #edad21;\n --cui-warning-stop: #e99418;\n --cui-danger-start: #db5d5d;\n --cui-danger-stop: #cd4343;\n --cui-light-start: #e5e8eb;\n --cui-light-stop: white;\n --cui-dark-start: #444d5c;\n --cui-dark-stop: #25262f;\n --cui-heading-color: inherit;\n --cui-link-color: #6261cc;\n --cui-link-hover-color: #8181d6;\n --cui-link-color-rgb: 98, 97, 204;\n --cui-link-hover-color-rgb: 129, 129, 214;\n --cui-code-color: #e685b5;\n --cui-highlight-color: rgba(255, 255, 255, 0.87);\n --cui-highlight-bg: #664d03;\n --cui-border-color: #323a49;\n --cui-border-color-translucent: rgba(255, 255, 255, 0.1);\n --cui-form-valid-color: #75b798;\n --cui-form-valid-border-color: #75b798;\n --cui-form-invalid-color: #ea868f;\n --cui-form-invalid-border-color: #ea868f;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--cui-body-font-family);\n font-size: var(--cui-body-font-size);\n font-weight: var(--cui-body-font-weight);\n line-height: var(--cui-body-line-height);\n color: var(--cui-body-color);\n text-align: var(--cui-body-text-align);\n background-color: var(--cui-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(8, 10, 12, 0);\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n border: 0;\n border-top: var(--cui-border-width) solid;\n opacity: 0.25;\n}\n\nh6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n color: var(--cui-heading-color);\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.1875em;\n color: var(--cui-highlight-color);\n background-color: var(--cui-highlight-bg);\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: rgba(var(--cui-link-color-rgb), var(--cui-link-opacity, 1));\n text-decoration: underline;\n}\na:hover {\n --cui-link-color-rgb: var(--cui-link-hover-color-rgb);\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--cui-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n color: var(--cui-pre-color, unset);\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: var(--cui-code-color);\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.1875rem 0.375rem;\n font-size: 0.875em;\n color: var(--cui-kbd-color, var(--cui-body-bg));\n background-color: var(--cui-kbd-bg, var(--cui-body-color));\n border-radius: 0.25rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--cui-table-caption-color, var(--cui-secondary-color));\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n line-height: inherit;\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n*[dir=rtl] [type=tel],\n*[dir=rtl] [type=url],\n*[dir=rtl] [type=email],\n*[dir=rtl] [type=number] {\n direction: ltr;\n}\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-weight: 300;\n line-height: 1.2;\n font-size: calc(1.625rem + 4.5vw);\n}\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5rem;\n }\n}\n\n.display-2 {\n font-weight: 300;\n line-height: 1.2;\n font-size: calc(1.575rem + 3.9vw);\n}\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5rem;\n }\n}\n\n.display-3 {\n font-weight: 300;\n line-height: 1.2;\n font-size: calc(1.525rem + 3.3vw);\n}\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4rem;\n }\n}\n\n.display-4 {\n font-weight: 300;\n line-height: 1.2;\n font-size: calc(1.475rem + 2.7vw);\n}\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.display-5 {\n font-weight: 300;\n line-height: 1.2;\n font-size: calc(1.425rem + 2.1vw);\n}\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3rem;\n }\n}\n\n.display-6 {\n font-weight: 300;\n line-height: 1.2;\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #6d7d9c;\n}\n.blockquote-footer::before {\n content: \"— \";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: var(--cui-thumbnail-bg, var(--cui-body-bg));\n border: var(--cui-border-width) solid var(--cui-thumbnail-border-color, var(--cui-border-color));\n border-radius: var(--cui-border-radius);\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: var(--cui-figure-caption-color, var(--cui-secondary-color));\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --cui-gutter-x: 1.5rem;\n --cui-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--cui-gutter-x) * 0.5);\n padding-left: calc(var(--cui-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --cui-breakpoint-xs: 0;\n --cui-breakpoint-sm: 576px;\n --cui-breakpoint-md: 768px;\n --cui-breakpoint-lg: 992px;\n --cui-breakpoint-xl: 1200px;\n --cui-breakpoint-xxl: 1400px;\n --cui-mobile-breakpoint: lg;\n}\n\n.row {\n --cui-gutter-x: 1.5rem;\n --cui-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--cui-gutter-y));\n margin-right: calc(-0.5 * var(--cui-gutter-x));\n margin-left: calc(-0.5 * var(--cui-gutter-x));\n}\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--cui-gutter-x) * 0.5);\n padding-left: calc(var(--cui-gutter-x) * 0.5);\n margin-top: var(--cui-gutter-y);\n}\n\n.col {\n flex: 1 0 0;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --cui-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --cui-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --cui-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --cui-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --cui-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --cui-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --cui-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --cui-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --cui-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --cui-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --cui-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --cui-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --cui-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --cui-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --cui-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --cui-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --cui-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --cui-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --cui-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --cui-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --cui-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --cui-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --cui-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --cui-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --cui-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --cui-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --cui-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --cui-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --cui-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --cui-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --cui-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --cui-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --cui-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --cui-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --cui-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --cui-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --cui-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --cui-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --cui-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --cui-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --cui-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --cui-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --cui-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --cui-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --cui-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --cui-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --cui-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --cui-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --cui-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --cui-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --cui-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --cui-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --cui-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --cui-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --cui-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --cui-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --cui-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --cui-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --cui-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --cui-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --cui-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --cui-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --cui-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --cui-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --cui-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --cui-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --cui-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --cui-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --cui-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --cui-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --cui-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --cui-gutter-y: 3rem;\n }\n}\n.table {\n --cui-table-color-type: initial;\n --cui-table-bg-type: initial;\n --cui-table-color-state: initial;\n --cui-table-bg-state: initial;\n --cui-table-color: var(--cui-emphasis-color);\n --cui-table-bg: var(--cui-body-bg);\n --cui-table-border-color: var(--cui-border-color);\n --cui-table-accent-bg: transparent;\n --cui-table-striped-color: var(--cui-emphasis-color);\n --cui-table-striped-bg: rgba(var(--cui-emphasis-color-rgb), 0.05);\n --cui-table-active-color: var(--cui-emphasis-color);\n --cui-table-active-bg: rgba(var(--cui-emphasis-color-rgb), 0.1);\n --cui-table-hover-color: var(--cui-emphasis-color);\n --cui-table-hover-bg: rgba(var(--cui-emphasis-color-rgb), 0.075);\n width: 100%;\n margin-bottom: 1rem;\n vertical-align: top;\n border-color: var(--cui-table-border-color);\n}\n.table > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n color: var(--cui-table-color-state, var(--cui-table-color-type, var(--cui-table-color)));\n background-color: var(--cui-table-bg);\n border-bottom-width: var(--cui-border-width);\n box-shadow: inset 0 0 0 9999px var(--cui-table-bg-state, var(--cui-table-bg-type, var(--cui-table-accent-bg)));\n}\n.table > tbody {\n vertical-align: inherit;\n}\n.table > thead {\n vertical-align: bottom;\n}\n\n.table-group-divider {\n border-top: calc(var(--cui-border-width) * 2) solid currentcolor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: var(--cui-border-width) 0;\n}\n.table-bordered > :not(caption) > * > * {\n border-width: 0 var(--cui-border-width);\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n.table-borderless > :not(:first-child) {\n border-top-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) > * {\n --cui-table-color-type: var(--cui-table-striped-color);\n --cui-table-bg-type: var(--cui-table-striped-bg);\n}\n\n.table-striped-columns > :not(caption) > tr > :nth-child(even) {\n --cui-table-color-type: var(--cui-table-striped-color);\n --cui-table-bg-type: var(--cui-table-striped-bg);\n}\n\n.table-active {\n --cui-table-color-state: var(--cui-table-active-color);\n --cui-table-bg-state: var(--cui-table-active-bg);\n}\n\n.table-hover > tbody > tr:hover > * {\n --cui-table-color-state: var(--cui-table-hover-color);\n --cui-table-bg-state: var(--cui-table-hover-bg);\n}\n\n.table-primary {\n --cui-table-color: #080a0c;\n --cui-table-bg: #deddf7;\n --cui-table-border-color: #b3b3c8;\n --cui-table-striped-bg: #d3d2eb;\n --cui-table-striped-color: #080a0c;\n --cui-table-active-bg: #c9c8e0;\n --cui-table-active-color: #080a0c;\n --cui-table-hover-bg: #cecde5;\n --cui-table-hover-color: #080a0c;\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-secondary {\n --cui-table-color: #080a0c;\n --cui-table-bg: #e1e4e7;\n --cui-table-border-color: #b6b8bb;\n --cui-table-striped-bg: #d6d9dc;\n --cui-table-striped-color: #080a0c;\n --cui-table-active-bg: #cbced1;\n --cui-table-active-color: #080a0c;\n --cui-table-hover-bg: #d1d4d7;\n --cui-table-hover-color: #080a0c;\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-success {\n --cui-table-color: #080a0c;\n --cui-table-bg: #d1ecd8;\n --cui-table-border-color: #a9bfaf;\n --cui-table-striped-bg: #c7e1ce;\n --cui-table-striped-color: #080a0c;\n --cui-table-active-bg: #bdd5c4;\n --cui-table-active-color: #080a0c;\n --cui-table-hover-bg: #c2dbc9;\n --cui-table-hover-color: #080a0c;\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-info {\n --cui-table-color: #080a0c;\n --cui-table-bg: #d6ebff;\n --cui-table-border-color: #adbece;\n --cui-table-striped-bg: #cce0f3;\n --cui-table-striped-color: #080a0c;\n --cui-table-active-bg: #c1d5e7;\n --cui-table-active-color: #080a0c;\n --cui-table-hover-bg: #c7daed;\n --cui-table-hover-color: #080a0c;\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-warning {\n --cui-table-color: #080a0c;\n --cui-table-bg: #feefd0;\n --cui-table-border-color: #cdc1a9;\n --cui-table-striped-bg: #f2e4c6;\n --cui-table-striped-color: #080a0c;\n --cui-table-active-bg: #e5d8bc;\n --cui-table-active-color: #080a0c;\n --cui-table-hover-bg: #ecdec1;\n --cui-table-hover-color: #080a0c;\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-danger {\n --cui-table-color: #080a0c;\n --cui-table-bg: #fadddd;\n --cui-table-border-color: #cab3b3;\n --cui-table-striped-bg: #eed2d3;\n --cui-table-striped-color: #080a0c;\n --cui-table-active-bg: #e2c8c8;\n --cui-table-active-color: #080a0c;\n --cui-table-hover-bg: #e8cdcd;\n --cui-table-hover-color: #080a0c;\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-light {\n --cui-table-color: #080a0c;\n --cui-table-bg: #f3f4f7;\n --cui-table-border-color: #c4c5c8;\n --cui-table-striped-bg: #e7e8eb;\n --cui-table-striped-color: #080a0c;\n --cui-table-active-bg: #dcdde0;\n --cui-table-active-color: #080a0c;\n --cui-table-hover-bg: #e1e2e5;\n --cui-table-hover-color: #080a0c;\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-dark {\n --cui-table-color: #fff;\n --cui-table-bg: #212631;\n --cui-table-border-color: #4d515a;\n --cui-table-striped-bg: #2c313b;\n --cui-table-striped-color: #fff;\n --cui-table-active-bg: #373c46;\n --cui-table-active-color: #fff;\n --cui-table-hover-bg: #323640;\n --cui-table-hover-color: #fff;\n color: var(--cui-table-color);\n border-color: var(--cui-table-border-color);\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n.form-label {\n margin-bottom: 0.5rem;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + var(--cui-border-width));\n padding-bottom: calc(0.375rem + var(--cui-border-width));\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + var(--cui-border-width));\n padding-bottom: calc(0.5rem + var(--cui-border-width));\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + var(--cui-border-width));\n padding-bottom: calc(0.25rem + var(--cui-border-width));\n font-size: 0.875rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--cui-secondary-color);\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: var(--cui-body-color);\n appearance: none;\n background-color: var(--cui-body-bg);\n background-clip: padding-box;\n border: var(--cui-border-width) solid var(--cui-border-color);\n border-radius: var(--cui-border-radius);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n.form-control[type=file] {\n overflow: hidden;\n}\n.form-control[type=file]:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control:focus {\n color: var(--cui-body-color);\n background-color: var(--cui-body-bg);\n border-color: #acabeb;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n}\n.form-control::-webkit-date-and-time-value {\n min-width: 85px;\n height: 1.5em;\n margin: 0;\n}\n.form-control::-webkit-datetime-edit {\n display: block;\n padding: 0;\n}\n.form-control::placeholder {\n color: var(--cui-input-placeholder-color, var(--cui-secondary-color));\n opacity: 1;\n}\n.form-control:disabled {\n color: var(--cui-body-color);\n background-color: var(--cui-secondary-bg);\n border-color: var(--cui-border-color);\n opacity: 1;\n}\n.form-control::file-selector-button {\n padding: 0.375rem 0.75rem;\n margin: -0.375rem -0.75rem;\n margin-inline-end: 0.75rem;\n color: var(--cui-body-color);\n background-color: var(--cui-tertiary-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--cui-border-width);\n border-radius: 0;\n 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;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::file-selector-button {\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: var(--cui-secondary-bg);\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: var(--cui-body-color);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--cui-border-width) 0;\n}\n.form-control-plaintext:focus {\n outline: 0;\n}\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + calc(var(--cui-border-width) * 2));\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: var(--cui-border-radius-sm);\n}\n.form-control-sm::file-selector-button {\n padding: 0.25rem 0.5rem;\n margin: -0.25rem -0.5rem;\n margin-inline-end: 0.5rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + calc(var(--cui-border-width) * 2));\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: var(--cui-border-radius-lg);\n}\n.form-control-lg::file-selector-button {\n padding: 0.5rem 1rem;\n margin: -0.5rem -1rem;\n margin-inline-end: 1rem;\n}\n\ntextarea.form-control {\n min-height: calc(1.5em + 0.75rem + calc(var(--cui-border-width) * 2));\n}\ntextarea.form-control-sm {\n min-height: calc(1.5em + 0.5rem + calc(var(--cui-border-width) * 2));\n}\ntextarea.form-control-lg {\n min-height: calc(1.5em + 1rem + calc(var(--cui-border-width) * 2));\n}\n\n.form-control-color {\n width: 3rem;\n height: calc(1.5em + 0.75rem + calc(var(--cui-border-width) * 2));\n padding: 0.375rem;\n}\n.form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control-color::-moz-color-swatch {\n border: 0 !important;\n border-radius: var(--cui-border-radius);\n}\n.form-control-color::-webkit-color-swatch {\n border: 0 !important;\n border-radius: var(--cui-border-radius);\n}\n.form-control-color.form-control-sm {\n height: calc(1.5em + 0.5rem + calc(var(--cui-border-width) * 2));\n}\n.form-control-color.form-control-lg {\n height: calc(1.5em + 1rem + calc(var(--cui-border-width) * 2));\n}\n\n.form-select {\n --cui-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='%23323a49' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n display: block;\n width: 100%;\n padding: 0.375rem 2.25rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: var(--cui-body-color);\n appearance: none;\n background-color: var(--cui-body-bg);\n background-image: var(--cui-form-select-bg-img), var(--cui-form-select-bg-icon, none);\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: var(--cui-border-width) solid var(--cui-border-color);\n border-radius: var(--cui-border-radius);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-select {\n transition: none;\n }\n}\n.form-select:focus {\n border-color: var(#acabeb);\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n}\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n padding-right: 0.75rem;\n background-image: none;\n}\n.form-select:disabled {\n background-color: var(--cui-secondary-bg);\n border-color: var(--cui-border-color);\n}\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 var(--cui-body-color);\n}\n\n.form-select-sm {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n border-radius: var(--cui-border-radius-sm);\n}\n\n.form-select-lg {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n border-radius: var(--cui-border-radius-lg);\n}\n\n.dark-theme .form-select,\n[data-coreui-theme=dark] .form-select {\n --cui-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='rgba%28255, 255, 255, 0.87%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n}\n\n.form-multi-select,\n*:not(.form-multi-select) > .form-multi-select-dropdown {\n --cui-form-multi-select-zindex: 1000;\n --cui-form-multi-select-font-family: ;\n --cui-form-multi-select-font-size: 1rem;\n --cui-form-multi-select-font-weight: 400;\n --cui-form-multi-select-line-height: 1.5;\n --cui-form-multi-select-color: var(--cui-body-color);\n --cui-form-multi-select-bg: var(--cui-body-bg);\n --cui-form-multi-select-box-shadow: inset 0 1px 2px rgba(8, 10, 12, 0.075);\n --cui-form-multi-select-border-width: var(--cui-border-width);\n --cui-form-multi-select-border-color: var(--cui-border-color);\n --cui-form-multi-select-border-radius: var(--cui-border-radius);\n --cui-form-multi-select-disabled-color: var(--cui-body-color);\n --cui-form-multi-select-disabled-bg: var(--cui-secondary-bg);\n --cui-form-multi-select-disabled-border-color: var(--cui-border-color);\n --cui-form-multi-select-focus-color: var(--cui-body-color);\n --cui-form-multi-select-focus-bg: var(--cui-body-bg);\n --cui-form-multi-select-focus-border-color: #acabeb;\n --cui-form-multi-select-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n --cui-form-multi-select-placeholder-color: var(--cui-secondary-color);\n --cui-form-multi-select-selection-padding-y: 0.375rem;\n --cui-form-multi-select-selection-padding-x: 0.75rem;\n --cui-form-multi-select-cleaner-width: 1.5rem;\n --cui-form-multi-select-cleaner-height: 1.5rem;\n --cui-form-multi-select-cleaner-padding-y: 0;\n --cui-form-multi-select-cleaner-padding-x: 0;\n --cui-form-multi-select-cleaner-icon: 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 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e\");\n --cui-form-multi-select-cleaner-icon-color: var(--cui-tertiary-color);\n --cui-form-multi-select-cleaner-icon-hover-color: var(--cui-body-color);\n --cui-form-multi-select-cleaner-icon-size: 0.625rem;\n --cui-form-multi-select-indicator-width: 1.5rem;\n --cui-form-multi-select-indicator-height: 1.5rem;\n --cui-form-multi-select-indicator-padding-y: 0;\n --cui-form-multi-select-indicator-padding-x: 0;\n --cui-form-multi-select-indicator-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23000'%3e%3cpath d='M256.045 416.136.717 160.807l29.579-29.579 225.749 225.748 225.749-225.748 29.579 29.579-255.328 255.329z'/%3e%3c/svg%3e\");\n --cui-form-multi-select-indicator-icon-color: var(--cui-tertiary-color);\n --cui-form-multi-select-indicator-icon-hover-color: var(--cui-body-color);\n --cui-form-multi-select-indicator-icon-size: 0.75rem;\n --cui-form-multi-select-select-all-padding-y: 0.5rem;\n --cui-form-multi-select-select-all-padding-x: 0.75rem;\n --cui-form-multi-select-select-all-color: var(--cui-body-secondary-color);\n --cui-form-multi-select-select-all-bg: transparent;\n --cui-form-multi-select-select-all-border-width: var(--cui-border-width);\n --cui-form-multi-select-select-all-border-color: var(--cui-border-color);\n --cui-form-multi-select-select-all-hover-color: var(--cui-body-color);\n --cui-form-multi-select-select-all-hover-bg: transparent;\n --cui-form-multi-select-dropdown-min-width: 100%;\n --cui-form-multi-select-dropdown-bg: var(--cui-body-bg);\n --cui-form-multi-select-dropdown-border-width: var(--cui-border-width);\n --cui-form-multi-select-dropdown-border-color: var(--cui-border-color);\n --cui-form-multi-select-dropdown-border-radius: var(--cui-border-radius);\n --cui-form-multi-select-dropdown-box-shadow: var(--cui-box-shadow);\n --cui-form-multi-select-options-padding-y: 0.5rem;\n --cui-form-multi-select-options-padding-x: 0.75rem;\n --cui-form-multi-select-options-font-size: 1rem;\n --cui-form-multi-select-options-font-weight: 400;\n --cui-form-multi-select-options-color: var(--cui-body-color);\n --cui-form-multi-select-optgroup-label-padding-y: 0.5rem;\n --cui-form-multi-select-optgroup-label-padding-x: 0.625rem;\n --cui-form-multi-select-optgroup-label-font-size: 80%;\n --cui-form-multi-select-optgroup-label-font-weight: 700;\n --cui-form-multi-select-optgroup-label-color: var(--cui-tertiary-color);\n --cui-form-multi-select-optgroup-label-text-transform: uppercase;\n --cui-form-multi-select-option-padding-y: 0.5rem;\n --cui-form-multi-select-option-padding-x: 1.25rem;\n --cui-form-multi-select-option-margin-y: 1px;\n --cui-form-multi-select-option-margin-x: 0;\n --cui-form-multi-select-option-border-width: var(--cui-border-width);\n --cui-form-multi-select-option-border-color: transparent;\n --cui-form-multi-select-option-border-radius: var(--cui-border-radius);\n --cui-form-multi-select-option-box-shadow: inset 0 1px 2px rgba(8, 10, 12, 0.075);\n --cui-form-multi-select-option-hover-color: var(--cui-body-color);\n --cui-form-multi-select-option-hover-bg: var(--cui-tertiary-bg);\n --cui-form-multi-select-option-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n --cui-form-multi-select-option-disabled-color: var(--cui-secondary-color);\n --cui-form-multi-select-option-indicator-width: 1em;\n --cui-form-multi-select-option-indicator-bg: var(--cui-body-bg);\n --cui-form-multi-select-option-indicator-border: var(--cui-border-width) solid var(--cui-border-color);\n --cui-form-multi-select-option-indicator-border-radius: 0.25em;\n --cui-form-multi-select-option-selected-bg: var(--cui-secondary-bg);\n --cui-form-multi-select-option-selected-indicator-bg: var(--cui-primary);\n --cui-form-multi-select-option-selected-indicator-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='rgba%28255, 255, 255, 0.87%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\");\n --cui-form-multi-select-option-selected-indicator-border-color: var(--cui-primary);\n --cui-form-multi-select-tag-padding-y: 0.0625rem;\n --cui-form-multi-select-tag-padding-x: 0.5rem;\n --cui-form-multi-select-tag-bg: var(--cui-secondary-bg);\n --cui-form-multi-select-tag-border-width: var(--cui-border-width);\n --cui-form-multi-select-tag-border-color: var(--cui-border-color);\n --cui-form-multi-select-tag-border-radius: 0.25rem;\n --cui-form-multi-select-tag-delete-width: 0.75rem;\n --cui-form-multi-select-tag-delete-height: 0.75rem;\n --cui-form-multi-select-tag-delete-icon: 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 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e\");\n --cui-form-multi-select-tag-delete-icon-color: var(--cui-secondary-color);\n --cui-form-multi-select-tag-delete-icon-hover-color: var(--cui-body-color);\n --cui-form-multi-select-tag-delete-icon-size: 0.5rem;\n --cui-form-multi-select-selection-tags-gap: 0.25rem;\n --cui-form-multi-select-selection-tags-padding-y: 0.25rem;\n --cui-form-multi-select-selection-tags-padding-x: 0.25rem;\n position: relative;\n}\n.was-validated .form-multi-select:invalid + .form-multi-select, .form-multi-select.is-invalid,\n.was-validated .form-multi-select:invalid + *:not(.form-multi-select) > .form-multi-select-dropdown,\n*:not(.form-multi-select) > .form-multi-select-dropdown.is-invalid {\n --cui-form-multi-select-border-color: var(--cui-form-invalid-border-color);\n}\n.was-validated .form-multi-select:valid + .form-multi-select, .form-multi-select.is-valid,\n.was-validated .form-multi-select:valid + *:not(.form-multi-select) > .form-multi-select-dropdown,\n*:not(.form-multi-select) > .form-multi-select-dropdown.is-valid {\n --cui-form-multi-select-border-color: var(--cui-form-valid-border-color);\n}\n\nselect.form-multi-select {\n display: none;\n}\n\n.form-multi-select-input-group {\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n font-family: var(--cui-form-multi-select-font-family);\n font-size: var(--cui-form-multi-select-font-size);\n font-weight: var(--cui-form-multi-select-font-weight);\n line-height: var(--cui-form-multi-select-line-height);\n color: var(--cui-form-multi-select-color);\n background-color: var(--cui-form-multi-select-bg);\n background-clip: padding-box;\n border: var(--cui-form-multi-select-border-width) solid var(--cui-form-multi-select-border-color);\n border-radius: var(--cui-form-multi-select-border-radius);\n}\n.form-multi-select .form-multi-select-input-group {\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-multi-select .form-multi-select-input-group {\n transition: none;\n }\n}\n.form-multi-select.disabled .form-multi-select-input-group {\n color: var(--cui-form-multi-select-disabled-color);\n background-color: var(--cui-form-multi-select-disabled-bg);\n border-color: var(--cui-border-color);\n}\n.form-multi-select.show .form-multi-select-input-group, .form-multi-select-input-group:has(*:focus), .form-multi-select-input-group:focus {\n color: var(--cui-form-multi-select-focus-color);\n background-color: var(--cui-form-multi-select-focus-bg);\n border-color: var(--cui-form-multi-select-focus-border-color);\n outline: 0;\n box-shadow: var(--cui-form-multi-select-focus-box-shadow);\n}\n\n.form-multi-select-selection {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n flex-wrap: wrap;\n width: 1%;\n min-width: 0;\n padding: var(--cui-form-multi-select-selection-padding-y) var(--cui-form-multi-select-selection-padding-x);\n}\n\n.form-multi-select-selection-tags {\n gap: var(--cui-form-multi-select-selection-tags-gap);\n align-content: center;\n padding: var(--cui-form-multi-select-selection-tags-padding-y) var(--cui-form-multi-select-selection-tags-padding-x);\n}\n\n.form-multi-select-search {\n display: flex;\n flex: 0 1 0px;\n max-width: 100%;\n padding: 0;\n background: transparent;\n border: 0;\n}\n.form-multi-select-search:focus {\n outline: 0;\n}\n.form-multi-select-search::placeholder {\n color: var(--cui-form-multi-select-placeholder-color);\n opacity: 1;\n}\n.form-multi-select.show .form-multi-select-search, .form-multi-select-search:placeholder-shown {\n flex: 1 1 auto;\n}\n.form-multi-select-selection-tags .form-multi-select-search {\n padding-inline-start: calc(var(--cui-form-multi-select-selection-padding-x) - 0.25rem);\n}\n\n.form-multi-select-placeholder {\n color: var(--cui-form-multi-select-placeholder-color);\n}\n.form-multi-select-selection-tags .form-multi-select-placeholder {\n padding: calc(var(--cui-form-multi-select-selection-padding-y) - 0.25rem) calc(var(--cui-form-multi-select-selection-padding-x) - 0.25rem);\n}\n\n.form-multi-select-buttons {\n display: flex;\n align-items: center;\n min-height: calc(2 * var(--cui-form-multi-select-selection-padding-y) + var(--cui-form-multi-select-font-size) * var(--cui-form-multi-select-line-height));\n padding: 0 var(--cui-form-multi-select-selection-padding-y);\n}\n\n.form-multi-select-cleaner,\n.form-multi-select-indicator {\n position: relative;\n z-index: 2;\n box-sizing: content-box;\n background-color: transparent;\n background-repeat: no-repeat;\n background-position: center;\n border: 0;\n}\n.form-multi-select-cleaner:focus,\n.form-multi-select-indicator:focus {\n z-index: 5;\n outline: 0;\n box-shadow: var(--cui-focus-ring-x, 0) var(--cui-focus-ring-y, 0) var(--cui-focus-ring-blur, 0) var(--cui-focus-ring-width) var(--cui-focus-ring-color);\n border-radius: 0.375rem;\n}\n.form-multi-select-cleaner::before,\n.form-multi-select-indicator::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n}\n\n.form-multi-select-cleaner {\n width: var(--cui-form-multi-select-cleaner-width);\n height: var(--cui-form-multi-select-cleaner-height);\n padding: var(--cui-form-multi-select-cleaner-padding-y) var(--cui-form-multi-select-cleaner-padding-x);\n}\n.form-multi-select-cleaner::before {\n background-color: var(--cui-form-multi-select-cleaner-icon-color);\n mask: var(--cui-form-multi-select-cleaner-icon) center/var(--cui-form-multi-select-cleaner-icon-size) no-repeat;\n}\n.form-multi-select-cleaner:focus::before, .form-multi-select-cleaner:hover::before {\n background-color: var(--cui-form-multi-select-cleaner-icon-hover-color);\n}\n\n.form-multi-select-indicator {\n width: var(--cui-form-multi-select-indicator-width);\n height: var(--cui-form-multi-select-indicator-height);\n padding: var(--cui-form-multi-select-indicator-padding-y) var(--cui-form-multi-select-indicator-padding-x);\n transition: transform 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-multi-select-indicator {\n transition: none;\n }\n}\n.form-multi-select-indicator::before {\n background-color: var(--cui-form-multi-select-indicator-icon-color);\n mask: var(--cui-form-multi-select-indicator-icon) center/var(--cui-form-multi-select-indicator-icon-size) no-repeat;\n}\n.form-multi-select-indicator:focus::before, .form-multi-select-indicator:hover::before {\n background-color: var(--cui-form-multi-select-indicator-icon-hover-color);\n}\n.form-multi-select.show .form-multi-select-indicator {\n transform: rotate(180deg);\n}\n\n.form-multi-select-tag {\n display: flex;\n align-items: center;\n padding: var(--cui-form-multi-select-tag-padding-y) var(--cui-form-multi-select-tag-padding-x);\n background-color: var(--cui-form-multi-select-tag-bg);\n border: var(--cui-form-multi-select-tag-border-width) solid var(--cui-form-multi-select-tag-border-color);\n border-radius: var(--cui-form-multi-select-tag-border-radius);\n}\n\n.form-multi-select-tag-delete {\n position: relative;\n z-index: 2;\n box-sizing: content-box;\n width: var(--cui-form-multi-select-tag-delete-width);\n height: var(--cui-form-multi-select-tag-delete-height);\n padding: var(--cui-form-multi-select-tag-delete-padding-y) var(--cui-form-multi-select-tag-delete-padding-x);\n margin-inline-start: 0.5rem;\n background-color: transparent;\n border: 0;\n}\n.form-multi-select-tag-delete::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n background-color: var(--cui-form-multi-select-tag-delete-icon-color);\n mask: var(--cui-form-multi-select-tag-delete-icon) center/var(--cui-form-multi-select-tag-delete-icon-size) no-repeat;\n}\n.form-multi-select-tag-delete:focus::before, .form-multi-select-tag-delete:hover::before {\n background-color: var(--cui-form-multi-select-tag-delete-icon-hover-color);\n}\n\n.form-multi-select-dropdown {\n position: absolute;\n z-index: var(--cui-form-multi-select-zindex);\n display: none;\n min-width: var(--cui-form-multi-select-dropdown-min-width);\n background-color: var(--cui-form-multi-select-dropdown-bg);\n background-clip: padding-box;\n border: var(--cui-form-multi-select-dropdown-border-width) solid var(--cui-form-multi-select-dropdown-border-color);\n border-radius: var(--cui-form-multi-select-dropdown-border-radius);\n}\n.form-multi-select.show .form-multi-select-dropdown, .form-multi-select-dropdown.show {\n display: block;\n}\n\n.form-multi-select-all {\n display: block;\n width: 100%;\n padding: var(--cui-form-multi-select-select-all-padding-y) var(--cui-form-multi-select-select-all-padding-x);\n color: var(--cui-form-multi-select-select-all-color);\n text-align: start;\n background-color: var(--cui-form-multi-select-select-all-bg);\n border: 0;\n border-bottom: var(--cui-form-multi-select-select-all-border-width) solid var(--cui-form-multi-select-select-all-border-color);\n}\n.form-multi-select-all:hover {\n color: var(--cui-form-multi-select-select-all-hover-color);\n background-color: var(--cui-form-multi-select-select-all-hover-bg);\n}\n\n.form-multi-select-options {\n padding: var(--cui-form-multi-select-options-padding-y) var(--cui-form-multi-select-options-padding-x);\n font-size: var(--cui-form-multi-select-options-font-size);\n font-weight: var(--cui-form-multi-select-options-font-weight);\n color: var(--cui-form-multi-select-options-color);\n}\n\n.form-multi-select-option {\n position: relative;\n z-index: 2;\n padding: var(--cui-form-multi-select-option-padding-y) var(--cui-form-multi-select-option-padding-x);\n margin: var(--cui-form-multi-select-option-margin-y) var(--cui-form-multi-select-option-margin-x);\n cursor: pointer;\n border: var(--cui-form-multi-select-option-border-width) solid var(--cui-form-multi-select-option-border-color);\n border-radius: var(--cui-form-multi-select-option-border-radius);\n}\n.form-multi-select-option:hover, .form-multi-select-option:focus {\n color: var(--cui-form-multi-select-option-hover-color);\n text-decoration: none;\n background-color: var(--cui-form-multi-select-option-hover-bg);\n}\n.form-multi-select-option:focus {\n z-index: 5;\n border-color: var(--cui-input-focus-border-color, #acabeb);\n outline: 0;\n box-shadow: var(--cui-form-multi-select-focus-box-shadow);\n}\n.form-multi-select-option.disabled {\n color: var(--cui-form-multi-select-option-disabled-color);\n pointer-events: none;\n background-color: transparent;\n}\n.form-multi-select-option.form-multi-select-option-with-checkbox {\n padding: 0.5rem 1.25rem;\n padding-left: calc(var(--cui-form-multi-select-option-padding-x) + var(--cui-form-multi-select-option-indicator-width));\n}\n.form-multi-select-option.form-multi-select-option-with-checkbox::before {\n position: absolute;\n top: 0.7rem;\n left: calc(var(--cui-form-multi-select-option-padding-x) * 0.5);\n display: block;\n width: var(--cui-form-multi-select-option-indicator-width);\n height: var(--cui-form-multi-select-option-indicator-width);\n pointer-events: none;\n content: \"\";\n background-color: var(--cui-form-multi-select-option-indicator-bg);\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: var(--cui-form-multi-select-option-indicator-border);\n border-radius: var(--cui-form-multi-select-option-indicator-border-radius);\n}\n.form-multi-select-option.form-multi-selected {\n background-color: var(--cui-form-multi-select-option-selected-bg);\n}\n.form-multi-select-option.form-multi-selected::before {\n background-color: var(--cui-form-multi-select-option-selected-indicator-bg);\n background-image: var(--cui-form-multi-select-option-selected-indicator-bg-image);\n border-color: var(--cui-form-multi-select-option-selected-indicator-border-color);\n}\n\n.form-multi-select-optgroup-label {\n padding: var(--cui-form-multi-select-options-padding-y) var(--cui-form-multi-select-options-padding-x);\n font-size: var(--cui-form-multi-select-optgroup-label-font-size);\n font-weight: var(--cui-form-multi-select-optgroup-label-font-weight);\n color: var(--cui-form-multi-select-optgroup-label-color);\n text-transform: var(--cui-form-multi-select-optgroup-label-text-transform);\n}\n\n.form-multi-select-options-empty {\n padding: var(--cui-form-multi-select-option-padding-y) var(--cui-form-multi-select-option-padding-x);\n}\n\n.form-multi-select-sm {\n --cui-form-multi-select-selection-padding-y: 0.25rem;\n --cui-form-multi-select-selection-padding-x: 0.5rem;\n --cui-form-multi-select-font-size: 0.875rem;\n --cui-form-multi-select-border-radius: var(--cui-border-radius-sm);\n --cui-form-multi-select-tag-padding-y: 0.075rem;\n --cui-form-multi-select-tag-padding-x: 0.5rem;\n --cui-form-multi-select-tag-border-radius: 0.125rem;\n --cui-form-multi-select-selection-tags-gap: 0.125rem;\n --cui-form-multi-select-selection-tags-padding-y: 0.0625rem;\n --cui-form-multi-select-selection-tags-padding-x: 0.125rem;\n}\n\n.form-multi-select-lg {\n --cui-form-multi-select-selection-padding-y: 0.5rem;\n --cui-form-multi-select-selection-padding-x: 1rem;\n --cui-form-multi-select-font-size: 1.25rem;\n --cui-form-multi-select-border-radius: var(--cui-border-radius-lg);\n --cui-form-multi-select-tag-padding-y: 0.175rem;\n --cui-form-multi-select-tag-padding-x: 0.5rem;\n --cui-form-multi-select-tag-border-radius: 0.375rem;\n --cui-form-multi-select-selection-tags-gap: 0.25rem;\n --cui-form-multi-select-selection-tags-padding-y: 0.25rem;\n --cui-form-multi-select-selection-tags-padding-x: 0.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5em;\n margin-bottom: 0.125rem;\n}\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-reverse {\n padding-right: 1.5em;\n padding-left: 0;\n text-align: right;\n}\n.form-check-reverse .form-check-input {\n float: right;\n margin-right: -1.5em;\n margin-left: 0;\n}\n\n.form-check-input {\n --cui-form-check-bg: var(--cui-body-bg);\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n appearance: none;\n background-color: var(--cui-form-check-bg);\n background-image: var(--cui-form-check-bg-image);\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: var(--cui-border-width) solid var(--cui-border-color);\n print-color-adjust: exact;\n}\n.form-check-input[type=checkbox] {\n border-radius: 0.25em;\n}\n.form-check-input[type=radio] {\n border-radius: 50%;\n}\n.form-check-input:active {\n filter: brightness(90%);\n}\n.form-check-input:focus {\n border-color: #acabeb;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n}\n.form-check-input:checked {\n background-color: var(--cui-form-check-input-checked-bg-color, var(--cui-primary));\n border-color: var(--cui-form-check-input-checked-border-color, var(--cui-primary));\n}\n.form-check-input:checked[type=checkbox] {\n --cui-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='rgba%28255, 255, 255, 0.87%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\");\n}\n.form-check-input:checked[type=radio] {\n --cui-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='rgba%28255, 255, 255, 0.87%29'/%3e%3c/svg%3e\");\n}\n.form-check-input[type=checkbox]:indeterminate {\n background-color: var(--cui-primary);\n border-color: var(--cui-primary);\n --cui-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='rgba%28255, 255, 255, 0.87%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: 0.5;\n}\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n cursor: default;\n opacity: 0.5;\n}\n\n.form-check-label {\n color: var(--cui-form-check-label-color, );\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n.form-switch .form-check-input {\n --cui-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%288, 10, 12, 0.25%29'/%3e%3c/svg%3e\");\n width: 2em;\n margin-left: -2.5em;\n background-image: var(--cui-form-switch-bg);\n background-position: left center;\n border-radius: 2em;\n transition: background-position 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-switch .form-check-input {\n transition: none;\n }\n}\n.form-switch .form-check-input:focus {\n --cui-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='%23acabeb'/%3e%3c/svg%3e\");\n}\n.form-switch .form-check-input:checked {\n background-position: right center;\n --cui-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.87%29'/%3e%3c/svg%3e\");\n}\n.form-switch.form-check-reverse {\n padding-right: 1.5em;\n padding-left: 0;\n}\n.form-switch.form-check-reverse .form-check-input {\n margin-right: -1.5em;\n margin-left: 0;\n}\n\n.form-switch-lg {\n min-height: 1.25em;\n padding-left: 2.25em;\n}\n.form-switch-lg .form-check-input {\n width: 1.75em;\n height: 1.25em;\n margin-left: -2.25em;\n}\n.form-switch-lg .form-check-label {\n padding-top: calc((1.25em - 1rem) / 2);\n}\n\n.form-switch-xl {\n min-height: 1.5em;\n padding-left: 2.5em;\n}\n.form-switch-xl .form-check-input {\n width: 2em;\n height: 1.5em;\n margin-left: -2.5em;\n}\n.form-switch-xl .form-check-label {\n padding-top: calc((1.5em - 1rem) / 2);\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.btn-check[disabled] + .btn, .btn-check:disabled + .btn {\n pointer-events: none;\n filter: none;\n opacity: 0.65;\n}\n\n.dark-theme .form-switch .form-check-input:not(:checked):not(:focus),\n[data-coreui-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {\n --cui-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\");\n}\n\n.form-range {\n width: 100%;\n height: 1.5rem;\n padding: 0;\n appearance: none;\n background-color: transparent;\n}\n.form-range:focus {\n outline: 0;\n}\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n}\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n}\n.form-range::-moz-focus-outer {\n border: 0;\n}\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n appearance: none;\n background-color: var(--cui-primary);\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n.form-range::-webkit-slider-thumb:active {\n background-color: #cdccf3;\n}\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: var(--cui-secondary-bg);\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n appearance: none;\n background-color: var(--cui-primary);\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n.form-range::-moz-range-thumb:active {\n background-color: #cdccf3;\n}\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: var(--cui-secondary-bg);\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range:disabled {\n pointer-events: none;\n}\n.form-range:disabled::-webkit-slider-thumb {\n background-color: var(--cui-secondary-color);\n}\n.form-range:disabled::-moz-range-thumb {\n background-color: var(--cui-secondary-color);\n}\n\n.form-floating {\n position: relative;\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext,\n.form-floating > .form-select {\n height: calc(3.5rem + calc(var(--cui-border-width) * 2));\n min-height: calc(3.5rem + calc(var(--cui-border-width) * 2));\n line-height: 1.25;\n}\n.form-floating > label {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n max-width: 100%;\n height: 100%;\n padding: 1rem 0.75rem;\n overflow: hidden;\n color: rgba(var(--cui-body-color-rgb), 0.65);\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--cui-border-width) solid transparent;\n transform-origin: 0 0;\n transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-floating > label {\n transition: none;\n }\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext {\n padding: 1rem 0.75rem;\n}\n.form-floating > .form-control::placeholder,\n.form-floating > .form-control-plaintext::placeholder {\n color: transparent;\n}\n.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n.form-floating > .form-control-plaintext:focus,\n.form-floating > .form-control-plaintext:not(:placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:-webkit-autofill,\n.form-floating > .form-control-plaintext:-webkit-autofill {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-select {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-control-plaintext ~ label,\n.form-floating > .form-select ~ label {\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control:-webkit-autofill ~ label {\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > textarea:focus ~ label::after,\n.form-floating > textarea:not(:placeholder-shown) ~ label::after {\n position: absolute;\n inset: 1rem 0.375rem;\n z-index: -1;\n height: 1.5em;\n content: \"\";\n background-color: var(--cui-body-bg);\n border-radius: var(--cui-border-radius);\n}\n.form-floating > textarea:disabled ~ label::after {\n background-color: var(--cui-secondary-bg);\n}\n.form-floating > .form-control-plaintext ~ label {\n border-width: var(--cui-border-width) 0;\n}\n.form-floating > :disabled ~ label,\n.form-floating > .form-control:disabled ~ label {\n color: #6d7d9c;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-floating {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-floating:focus-within {\n z-index: 5;\n}\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n.input-group .btn:focus {\n z-index: 5;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: var(--cui-input-group-addon-color, var(--cui-body-color));\n text-align: center;\n white-space: nowrap;\n background-color: var(--cui-input-group-addon-bg, var(--cui-tertiary-bg));\n border: var(--cui-border-width) solid var(--cui-input-group-addon-border-color, var(--cui-border-color));\n border-radius: var(--cui-border-radius);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: var(--cui-border-radius-lg);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: var(--cui-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 3rem;\n}\n\n.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-left: calc(var(--cui-border-width) * -1);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group > .form-floating:not(:first-child) > .form-control,\n.input-group > .form-floating:not(:first-child) > .form-select {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--cui-form-valid-color);\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: var(--cui-success);\n border-radius: var(--cui-border-radius);\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: var(--cui-form-valid-border-color);\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%231b9e3e' 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.1'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: var(--cui-form-valid-border-color);\n box-shadow: 0 0 0 0.25rem rgba(var(--cui-success-rgb), 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: var(--cui-form-valid-border-color);\n}\n.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\"] {\n --cui-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='%231b9e3e' 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.1'/%3e%3c/svg%3e\");\n padding-right: 4.125rem;\n background-position: right 0.75rem center, center right 2.25rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: var(--cui-form-valid-border-color);\n box-shadow: 0 0 0 0.25rem rgba(var(--cui-success-rgb), 0.25);\n}\n\n.was-validated .form-control-color:valid, .form-control-color.is-valid {\n width: calc(3rem + calc(1.5em + 0.75rem));\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: var(--cui-form-valid-border-color);\n}\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: var(--cui-form-valid-color);\n}\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem rgba(var(--cui-success-rgb), 0.25);\n}\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: var(--cui-form-valid-color);\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n.was-validated .input-group > .form-select:not(:focus):valid,\n.input-group > .form-select:not(:focus).is-valid,\n.was-validated .input-group > .form-floating:not(:focus-within):valid,\n.input-group > .form-floating:not(:focus-within).is-valid {\n z-index: 3;\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--cui-form-invalid-color);\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: var(--cui-danger);\n border-radius: var(--cui-border-radius);\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: var(--cui-form-invalid-border-color);\n padding-right: calc(1.5em + 0.75rem);\n 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='%23e55353'%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='%23e55353' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: var(--cui-form-invalid-border-color);\n box-shadow: 0 0 0 0.25rem rgba(var(--cui-danger-rgb), 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: var(--cui-form-invalid-border-color);\n}\n.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\"] {\n --cui-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='%23e55353'%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='%23e55353' stroke='none'/%3e%3c/svg%3e\");\n padding-right: 4.125rem;\n background-position: right 0.75rem center, center right 2.25rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: var(--cui-form-invalid-border-color);\n box-shadow: 0 0 0 0.25rem rgba(var(--cui-danger-rgb), 0.25);\n}\n\n.was-validated .form-control-color:invalid, .form-control-color.is-invalid {\n width: calc(3rem + calc(1.5em + 0.75rem));\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: var(--cui-form-invalid-border-color);\n}\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: var(--cui-form-invalid-color);\n}\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem rgba(var(--cui-danger-rgb), 0.25);\n}\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: var(--cui-form-invalid-color);\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n.was-validated .input-group > .form-select:not(:focus):invalid,\n.input-group > .form-select:not(:focus).is-invalid,\n.was-validated .input-group > .form-floating:not(:focus-within):invalid,\n.input-group > .form-floating:not(:focus-within).is-invalid {\n z-index: 4;\n}\n\n.btn {\n --cui-btn-padding-x: 0.75rem;\n --cui-btn-padding-y: 0.375rem;\n --cui-btn-font-family: ;\n --cui-btn-font-size: 1rem;\n --cui-btn-font-weight: 400;\n --cui-btn-line-height: 1.5;\n --cui-btn-color: var(--cui-body-color);\n --cui-btn-bg: transparent;\n --cui-btn-border-width: var(--cui-border-width);\n --cui-btn-border-color: transparent;\n --cui-btn-border-radius: var(--cui-border-radius);\n --cui-btn-hover-border-color: transparent;\n --cui-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(8, 10, 12, 0.075);\n --cui-btn-disabled-opacity: 0.65;\n --cui-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--cui-btn-focus-shadow-rgb), .5);\n display: inline-block;\n padding: var(--cui-btn-padding-y) var(--cui-btn-padding-x);\n font-family: var(--cui-btn-font-family);\n font-size: var(--cui-btn-font-size);\n font-weight: var(--cui-btn-font-weight);\n line-height: var(--cui-btn-line-height);\n color: var(--cui-btn-color);\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n border: var(--cui-btn-border-width) solid var(--cui-btn-border-color);\n border-radius: var(--cui-btn-border-radius);\n background-color: var(--cui-btn-bg);\n 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;\n}\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n.btn:hover {\n color: var(--cui-btn-hover-color);\n background-color: var(--cui-btn-hover-bg);\n border-color: var(--cui-btn-hover-border-color);\n}\n.btn-check + .btn:hover {\n color: var(--cui-btn-color);\n background-color: var(--cui-btn-bg);\n border-color: var(--cui-btn-border-color);\n}\n.btn:focus-visible {\n color: var(--cui-btn-hover-color);\n background-color: var(--cui-btn-hover-bg);\n border-color: var(--cui-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--cui-btn-focus-box-shadow);\n}\n.btn-check:focus-visible + .btn {\n border-color: var(--cui-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--cui-btn-focus-box-shadow);\n}\n.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {\n color: var(--cui-btn-active-color);\n background-color: var(--cui-btn-active-bg);\n border-color: var(--cui-btn-active-border-color);\n}\n.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 {\n box-shadow: var(--cui-btn-focus-box-shadow);\n}\n.btn-check:checked:focus-visible + .btn {\n box-shadow: var(--cui-btn-focus-box-shadow);\n}\n.btn:disabled, .btn.disabled, fieldset:disabled .btn {\n color: var(--cui-btn-disabled-color);\n pointer-events: none;\n background-color: var(--cui-btn-disabled-bg);\n border-color: var(--cui-btn-disabled-border-color);\n opacity: var(--cui-btn-disabled-opacity);\n}\n\n.btn-primary {\n --cui-btn-color: #fff;\n --cui-btn-bg: #5856d6;\n --cui-btn-border-color: #5856d6;\n --cui-btn-hover-color: #fff;\n --cui-btn-hover-bg: #4b49b6;\n --cui-btn-hover-border-color: #4645ab;\n --cui-btn-focus-shadow-rgb: 113, 111, 220;\n --cui-btn-active-color: #fff;\n --cui-btn-active-bg: #4645ab;\n --cui-btn-active-border-color: #4241a1;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #fff;\n --cui-btn-disabled-bg: #5856d6;\n --cui-btn-disabled-border-color: #5856d6;\n}\n\n.btn-secondary {\n --cui-btn-color: #fff;\n --cui-btn-bg: #6b7785;\n --cui-btn-border-color: #6b7785;\n --cui-btn-hover-color: #fff;\n --cui-btn-hover-bg: #5b6571;\n --cui-btn-hover-border-color: #565f6a;\n --cui-btn-focus-shadow-rgb: 129, 139, 151;\n --cui-btn-active-color: #fff;\n --cui-btn-active-bg: #565f6a;\n --cui-btn-active-border-color: #505964;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #fff;\n --cui-btn-disabled-bg: #6b7785;\n --cui-btn-disabled-border-color: #6b7785;\n}\n\n.btn-success {\n --cui-btn-color: #080a0c;\n --cui-btn-bg: #1b9e3e;\n --cui-btn-border-color: #1b9e3e;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #3dad5b;\n --cui-btn-hover-border-color: #32a851;\n --cui-btn-focus-shadow-rgb: 24, 136, 55;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #49b165;\n --cui-btn-active-border-color: #32a851;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #080a0c;\n --cui-btn-disabled-bg: #1b9e3e;\n --cui-btn-disabled-border-color: #1b9e3e;\n}\n\n.btn-danger {\n --cui-btn-color: #080a0c;\n --cui-btn-bg: #e55353;\n --cui-btn-border-color: #e55353;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #e96d6d;\n --cui-btn-hover-border-color: #e86464;\n --cui-btn-focus-shadow-rgb: 196, 72, 72;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #ea7575;\n --cui-btn-active-border-color: #e86464;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #080a0c;\n --cui-btn-disabled-bg: #e55353;\n --cui-btn-disabled-border-color: #e55353;\n}\n\n.btn-warning {\n --cui-btn-color: #080a0c;\n --cui-btn-bg: #f9b115;\n --cui-btn-border-color: #f9b115;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #fabd38;\n --cui-btn-hover-border-color: #fab92c;\n --cui-btn-focus-shadow-rgb: 213, 152, 20;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #fac144;\n --cui-btn-active-border-color: #fab92c;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #080a0c;\n --cui-btn-disabled-bg: #f9b115;\n --cui-btn-disabled-border-color: #f9b115;\n}\n\n.btn-info {\n --cui-btn-color: #080a0c;\n --cui-btn-bg: #39f;\n --cui-btn-border-color: #39f;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #52a8ff;\n --cui-btn-hover-border-color: #47a3ff;\n --cui-btn-focus-shadow-rgb: 45, 132, 219;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #5cadff;\n --cui-btn-active-border-color: #47a3ff;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #080a0c;\n --cui-btn-disabled-bg: #39f;\n --cui-btn-disabled-border-color: #39f;\n}\n\n.btn-light {\n --cui-btn-color: #080a0c;\n --cui-btn-bg: #f3f4f7;\n --cui-btn-border-color: #f3f4f7;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #f5f6f8;\n --cui-btn-hover-border-color: #f4f5f8;\n --cui-btn-focus-shadow-rgb: 208, 209, 212;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #f5f6f9;\n --cui-btn-active-border-color: #f4f5f8;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #080a0c;\n --cui-btn-disabled-bg: #f3f4f7;\n --cui-btn-disabled-border-color: #f3f4f7;\n}\n\n.btn-dark {\n --cui-btn-color: #fff;\n --cui-btn-bg: #212631;\n --cui-btn-border-color: #212631;\n --cui-btn-hover-color: #fff;\n --cui-btn-hover-bg: #1c202a;\n --cui-btn-hover-border-color: #1a1e27;\n --cui-btn-focus-shadow-rgb: 66, 71, 80;\n --cui-btn-active-color: #fff;\n --cui-btn-active-bg: #1a1e27;\n --cui-btn-active-border-color: #191d25;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #fff;\n --cui-btn-disabled-bg: #212631;\n --cui-btn-disabled-border-color: #212631;\n}\n\n.btn-outline-primary {\n --cui-btn-color: #5856d6;\n --cui-btn-border-color: #5856d6;\n --cui-btn-hover-color: #fff;\n --cui-btn-hover-bg: #4645ab;\n --cui-btn-hover-border-color: #4241a1;\n --cui-btn-focus-shadow-rgb: 88, 86, 214;\n --cui-btn-active-color: #fff;\n --cui-btn-active-bg: #4645ab;\n --cui-btn-active-border-color: #4241a1;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #5856d6;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-secondary {\n --cui-btn-color: #6b7785;\n --cui-btn-border-color: #6b7785;\n --cui-btn-hover-color: #fff;\n --cui-btn-hover-bg: #565f6a;\n --cui-btn-hover-border-color: #505964;\n --cui-btn-focus-shadow-rgb: 107, 119, 133;\n --cui-btn-active-color: #fff;\n --cui-btn-active-bg: #565f6a;\n --cui-btn-active-border-color: #505964;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #6b7785;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-success {\n --cui-btn-color: #1b9e3e;\n --cui-btn-border-color: #1b9e3e;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #49b165;\n --cui-btn-hover-border-color: #32a851;\n --cui-btn-focus-shadow-rgb: 27, 158, 62;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #49b165;\n --cui-btn-active-border-color: #32a851;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #1b9e3e;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-danger {\n --cui-btn-color: #e55353;\n --cui-btn-border-color: #e55353;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #ea7575;\n --cui-btn-hover-border-color: #e86464;\n --cui-btn-focus-shadow-rgb: 229, 83, 83;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #ea7575;\n --cui-btn-active-border-color: #e86464;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #e55353;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-warning {\n --cui-btn-color: #f9b115;\n --cui-btn-border-color: #f9b115;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #fac144;\n --cui-btn-hover-border-color: #fab92c;\n --cui-btn-focus-shadow-rgb: 249, 177, 21;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #fac144;\n --cui-btn-active-border-color: #fab92c;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #f9b115;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-info {\n --cui-btn-color: #39f;\n --cui-btn-border-color: #39f;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #5cadff;\n --cui-btn-hover-border-color: #47a3ff;\n --cui-btn-focus-shadow-rgb: 51, 153, 255;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #5cadff;\n --cui-btn-active-border-color: #47a3ff;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #39f;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-light {\n --cui-btn-color: #f3f4f7;\n --cui-btn-border-color: #f3f4f7;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #f5f6f9;\n --cui-btn-hover-border-color: #f4f5f8;\n --cui-btn-focus-shadow-rgb: 243, 244, 247;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #f5f6f9;\n --cui-btn-active-border-color: #f4f5f8;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #f3f4f7;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-outline-dark {\n --cui-btn-color: #212631;\n --cui-btn-border-color: #212631;\n --cui-btn-hover-color: #fff;\n --cui-btn-hover-bg: #1a1e27;\n --cui-btn-hover-border-color: #191d25;\n --cui-btn-focus-shadow-rgb: 33, 38, 49;\n --cui-btn-active-color: #fff;\n --cui-btn-active-bg: #1a1e27;\n --cui-btn-active-border-color: #191d25;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #212631;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n\n.btn-ghost-primary {\n --cui-btn-color: #5856d6;\n --cui-btn-hover-bg: #4b49b6;\n --cui-btn-hover-border-color: #4645ab;\n --cui-btn-hover-color: #fff;\n --cui-btn-active-bg: #4645ab;\n --cui-btn-active-border-color: #4241a1;\n --cui-btn-active-color: #fff;\n --cui-btn-disabled-color: #5856d6;\n --cui-btn-shadow: rgba(88, 86, 214, 0.5);\n}\n\n.btn-ghost-secondary {\n --cui-btn-color: #6b7785;\n --cui-btn-hover-bg: #5b6571;\n --cui-btn-hover-border-color: #565f6a;\n --cui-btn-hover-color: #fff;\n --cui-btn-active-bg: #565f6a;\n --cui-btn-active-border-color: #505964;\n --cui-btn-active-color: #fff;\n --cui-btn-disabled-color: #6b7785;\n --cui-btn-shadow: rgba(107, 119, 133, 0.5);\n}\n\n.btn-ghost-success {\n --cui-btn-color: #1b9e3e;\n --cui-btn-hover-bg: #3dad5b;\n --cui-btn-hover-border-color: #32a851;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-active-bg: #49b165;\n --cui-btn-active-border-color: #32a851;\n --cui-btn-active-color: #080a0c;\n --cui-btn-disabled-color: #1b9e3e;\n --cui-btn-shadow: rgba(27, 158, 62, 0.5);\n}\n\n.btn-ghost-danger {\n --cui-btn-color: #e55353;\n --cui-btn-hover-bg: #e96d6d;\n --cui-btn-hover-border-color: #e86464;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-active-bg: #ea7575;\n --cui-btn-active-border-color: #e86464;\n --cui-btn-active-color: #080a0c;\n --cui-btn-disabled-color: #e55353;\n --cui-btn-shadow: rgba(229, 83, 83, 0.5);\n}\n\n.btn-ghost-warning {\n --cui-btn-color: #f9b115;\n --cui-btn-hover-bg: #fabd38;\n --cui-btn-hover-border-color: #fab92c;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-active-bg: #fac144;\n --cui-btn-active-border-color: #fab92c;\n --cui-btn-active-color: #080a0c;\n --cui-btn-disabled-color: #f9b115;\n --cui-btn-shadow: rgba(249, 177, 21, 0.5);\n}\n\n.btn-ghost-info {\n --cui-btn-color: #39f;\n --cui-btn-hover-bg: #52a8ff;\n --cui-btn-hover-border-color: #47a3ff;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-active-bg: #5cadff;\n --cui-btn-active-border-color: #47a3ff;\n --cui-btn-active-color: #080a0c;\n --cui-btn-disabled-color: #39f;\n --cui-btn-shadow: rgba(51, 153, 255, 0.5);\n}\n\n.btn-ghost-light {\n --cui-btn-color: #f3f4f7;\n --cui-btn-hover-bg: #f5f6f8;\n --cui-btn-hover-border-color: #f4f5f8;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-active-bg: #f5f6f9;\n --cui-btn-active-border-color: #f4f5f8;\n --cui-btn-active-color: #080a0c;\n --cui-btn-disabled-color: #f3f4f7;\n --cui-btn-shadow: rgba(243, 244, 247, 0.5);\n}\n\n.btn-ghost-dark {\n --cui-btn-color: #212631;\n --cui-btn-hover-bg: #1c202a;\n --cui-btn-hover-border-color: #1a1e27;\n --cui-btn-hover-color: #fff;\n --cui-btn-active-bg: #1a1e27;\n --cui-btn-active-border-color: #191d25;\n --cui-btn-active-color: #fff;\n --cui-btn-disabled-color: #212631;\n --cui-btn-shadow: rgba(33, 38, 49, 0.5);\n}\n\n.btn-transparent {\n --cui-btn-active-border-color: transparent;\n --cui-btn-disabled-border-color: transparent;\n --cui-btn-hover-border-color: transparent;\n --cui-btn-box-shadow: none;\n --cui-btn-focus-shadow-rgb: 113, 111, 220;\n}\n\n.btn-link {\n --cui-btn-font-weight: 400;\n --cui-btn-color: var(--cui-link-color);\n --cui-btn-bg: transparent;\n --cui-btn-border-color: transparent;\n --cui-btn-hover-color: var(--cui-link-hover-color);\n --cui-btn-hover-border-color: transparent;\n --cui-btn-active-border-color: transparent;\n --cui-btn-disabled-color: #6d7d9c;\n --cui-btn-disabled-border-color: transparent;\n --cui-btn-box-shadow: none;\n --cui-btn-focus-shadow-rgb: 113, 111, 220;\n text-decoration: underline;\n}\n.btn-link:focus-visible {\n color: var(--cui-btn-color);\n}\n\n.btn-lg, .btn-group-lg > .btn {\n --cui-btn-padding-y: 0.5rem;\n --cui-btn-padding-x: 1rem;\n --cui-btn-font-size: 1.25rem;\n --cui-btn-border-radius: var(--cui-border-radius-lg);\n}\n\n.btn-sm, .btn-group-sm > .btn {\n --cui-btn-padding-y: 0.25rem;\n --cui-btn-padding-x: 0.5rem;\n --cui-btn-font-size: 0.875rem;\n --cui-btn-border-radius: var(--cui-border-radius-sm);\n}\n\n.dark-theme .btn-primary,\n[data-coreui-theme=dark] .btn-primary {\n --cui-btn-color: #fff;\n --cui-btn-bg: #6261cc;\n --cui-btn-border-color: #6261cc;\n --cui-btn-hover-color: #fff;\n --cui-btn-hover-bg: #5352ad;\n --cui-btn-hover-border-color: #4e4ea3;\n --cui-btn-focus-shadow-rgb: 122, 121, 212;\n --cui-btn-active-color: #fff;\n --cui-btn-active-bg: #4e4ea3;\n --cui-btn-active-border-color: #4a4999;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #fff;\n --cui-btn-disabled-bg: #6261cc;\n --cui-btn-disabled-border-color: #6261cc;\n}\n.dark-theme .btn-secondary,\n[data-coreui-theme=dark] .btn-secondary {\n --cui-btn-color: #fff;\n --cui-btn-bg: #6b7785;\n --cui-btn-border-color: #6b7785;\n --cui-btn-hover-color: #fff;\n --cui-btn-hover-bg: #5b6571;\n --cui-btn-hover-border-color: #565f6a;\n --cui-btn-focus-shadow-rgb: 129, 139, 151;\n --cui-btn-active-color: #fff;\n --cui-btn-active-bg: #565f6a;\n --cui-btn-active-border-color: #505964;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #fff;\n --cui-btn-disabled-bg: #6b7785;\n --cui-btn-disabled-border-color: #6b7785;\n}\n.dark-theme .btn-success,\n[data-coreui-theme=dark] .btn-success {\n --cui-btn-color: #080a0c;\n --cui-btn-bg: #249542;\n --cui-btn-border-color: #249542;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #45a55e;\n --cui-btn-hover-border-color: #3aa055;\n --cui-btn-focus-shadow-rgb: 32, 128, 58;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #50aa68;\n --cui-btn-active-border-color: #3aa055;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #080a0c;\n --cui-btn-disabled-bg: #249542;\n --cui-btn-disabled-border-color: #249542;\n}\n.dark-theme .btn-danger,\n[data-coreui-theme=dark] .btn-danger {\n --cui-btn-color: #080a0c;\n --cui-btn-bg: #db5d5d;\n --cui-btn-border-color: #db5d5d;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #e07575;\n --cui-btn-hover-border-color: #df6d6d;\n --cui-btn-focus-shadow-rgb: 187, 81, 81;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #e27d7d;\n --cui-btn-active-border-color: #df6d6d;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #080a0c;\n --cui-btn-disabled-bg: #db5d5d;\n --cui-btn-disabled-border-color: #db5d5d;\n}\n.dark-theme .btn-warning,\n[data-coreui-theme=dark] .btn-warning {\n --cui-btn-color: #080a0c;\n --cui-btn-bg: #edad21;\n --cui-btn-border-color: #edad21;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #f0b942;\n --cui-btn-hover-border-color: #efb537;\n --cui-btn-focus-shadow-rgb: 203, 149, 30;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #f1bd4d;\n --cui-btn-active-border-color: #efb537;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #080a0c;\n --cui-btn-disabled-bg: #edad21;\n --cui-btn-disabled-border-color: #edad21;\n}\n.dark-theme .btn-info,\n[data-coreui-theme=dark] .btn-info {\n --cui-btn-color: #080a0c;\n --cui-btn-bg: #3d99f5;\n --cui-btn-border-color: #3d99f5;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #5aa8f7;\n --cui-btn-hover-border-color: #50a3f6;\n --cui-btn-focus-shadow-rgb: 53, 132, 210;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #64adf7;\n --cui-btn-active-border-color: #50a3f6;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #080a0c;\n --cui-btn-disabled-bg: #3d99f5;\n --cui-btn-disabled-border-color: #3d99f5;\n}\n.dark-theme .btn-outline-primary,\n[data-coreui-theme=dark] .btn-outline-primary {\n --cui-btn-color: #6261cc;\n --cui-btn-border-color: #6261cc;\n --cui-btn-hover-color: #fff;\n --cui-btn-hover-bg: #4e4ea3;\n --cui-btn-hover-border-color: #4a4999;\n --cui-btn-focus-shadow-rgb: 98, 97, 204;\n --cui-btn-active-color: #fff;\n --cui-btn-active-bg: #4e4ea3;\n --cui-btn-active-border-color: #4a4999;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #6261cc;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n.dark-theme .btn-outline-secondary,\n[data-coreui-theme=dark] .btn-outline-secondary {\n --cui-btn-color: #6b7785;\n --cui-btn-border-color: #6b7785;\n --cui-btn-hover-color: #fff;\n --cui-btn-hover-bg: #565f6a;\n --cui-btn-hover-border-color: #505964;\n --cui-btn-focus-shadow-rgb: 107, 119, 133;\n --cui-btn-active-color: #fff;\n --cui-btn-active-bg: #565f6a;\n --cui-btn-active-border-color: #505964;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #6b7785;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n.dark-theme .btn-outline-success,\n[data-coreui-theme=dark] .btn-outline-success {\n --cui-btn-color: #249542;\n --cui-btn-border-color: #249542;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #50aa68;\n --cui-btn-hover-border-color: #3aa055;\n --cui-btn-focus-shadow-rgb: 36, 149, 66;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #50aa68;\n --cui-btn-active-border-color: #3aa055;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #249542;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n.dark-theme .btn-outline-danger,\n[data-coreui-theme=dark] .btn-outline-danger {\n --cui-btn-color: #db5d5d;\n --cui-btn-border-color: #db5d5d;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #e27d7d;\n --cui-btn-hover-border-color: #df6d6d;\n --cui-btn-focus-shadow-rgb: 219, 93, 93;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #e27d7d;\n --cui-btn-active-border-color: #df6d6d;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #db5d5d;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n.dark-theme .btn-outline-warning,\n[data-coreui-theme=dark] .btn-outline-warning {\n --cui-btn-color: #edad21;\n --cui-btn-border-color: #edad21;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #f1bd4d;\n --cui-btn-hover-border-color: #efb537;\n --cui-btn-focus-shadow-rgb: 237, 173, 33;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #f1bd4d;\n --cui-btn-active-border-color: #efb537;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #edad21;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n.dark-theme .btn-outline-info,\n[data-coreui-theme=dark] .btn-outline-info {\n --cui-btn-color: #3d99f5;\n --cui-btn-border-color: #3d99f5;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-hover-bg: #64adf7;\n --cui-btn-hover-border-color: #50a3f6;\n --cui-btn-focus-shadow-rgb: 61, 153, 245;\n --cui-btn-active-color: #080a0c;\n --cui-btn-active-bg: #64adf7;\n --cui-btn-active-border-color: #50a3f6;\n --cui-btn-active-shadow: inset 0 3px 5px rgba(8, 10, 12, 0.125);\n --cui-btn-disabled-color: #3d99f5;\n --cui-btn-disabled-bg: transparent;\n --cui-gradient: none;\n}\n.dark-theme .btn-ghost-primary,\n[data-coreui-theme=dark] .btn-ghost-primary {\n --cui-btn-color: #6261cc;\n --cui-btn-hover-bg: #5352ad;\n --cui-btn-hover-border-color: #4e4ea3;\n --cui-btn-hover-color: #fff;\n --cui-btn-active-bg: #4e4ea3;\n --cui-btn-active-border-color: #4a4999;\n --cui-btn-active-color: #fff;\n --cui-btn-disabled-color: #6261cc;\n --cui-btn-shadow: rgba(98, 97, 204, 0.5);\n}\n.dark-theme .btn-ghost-secondary,\n[data-coreui-theme=dark] .btn-ghost-secondary {\n --cui-btn-color: #6b7785;\n --cui-btn-hover-bg: #5b6571;\n --cui-btn-hover-border-color: #565f6a;\n --cui-btn-hover-color: #fff;\n --cui-btn-active-bg: #565f6a;\n --cui-btn-active-border-color: #505964;\n --cui-btn-active-color: #fff;\n --cui-btn-disabled-color: #6b7785;\n --cui-btn-shadow: rgba(107, 119, 133, 0.5);\n}\n.dark-theme .btn-ghost-success,\n[data-coreui-theme=dark] .btn-ghost-success {\n --cui-btn-color: #249542;\n --cui-btn-hover-bg: #45a55e;\n --cui-btn-hover-border-color: #3aa055;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-active-bg: #50aa68;\n --cui-btn-active-border-color: #3aa055;\n --cui-btn-active-color: #080a0c;\n --cui-btn-disabled-color: #249542;\n --cui-btn-shadow: rgba(36, 149, 66, 0.5);\n}\n.dark-theme .btn-ghost-danger,\n[data-coreui-theme=dark] .btn-ghost-danger {\n --cui-btn-color: #db5d5d;\n --cui-btn-hover-bg: #e07575;\n --cui-btn-hover-border-color: #df6d6d;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-active-bg: #e27d7d;\n --cui-btn-active-border-color: #df6d6d;\n --cui-btn-active-color: #080a0c;\n --cui-btn-disabled-color: #db5d5d;\n --cui-btn-shadow: rgba(219, 93, 93, 0.5);\n}\n.dark-theme .btn-ghost-warning,\n[data-coreui-theme=dark] .btn-ghost-warning {\n --cui-btn-color: #edad21;\n --cui-btn-hover-bg: #f0b942;\n --cui-btn-hover-border-color: #efb537;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-active-bg: #f1bd4d;\n --cui-btn-active-border-color: #efb537;\n --cui-btn-active-color: #080a0c;\n --cui-btn-disabled-color: #edad21;\n --cui-btn-shadow: rgba(237, 173, 33, 0.5);\n}\n.dark-theme .btn-ghost-info,\n[data-coreui-theme=dark] .btn-ghost-info {\n --cui-btn-color: #3d99f5;\n --cui-btn-hover-bg: #5aa8f7;\n --cui-btn-hover-border-color: #50a3f6;\n --cui-btn-hover-color: #080a0c;\n --cui-btn-active-bg: #64adf7;\n --cui-btn-active-border-color: #50a3f6;\n --cui-btn-active-color: #080a0c;\n --cui-btn-disabled-color: #3d99f5;\n --cui-btn-shadow: rgba(61, 153, 245, 0.5);\n}\n\n.btn-loading {\n position: relative;\n overflow: hidden;\n}\n\n.btn-loading-spinner {\n margin-right: 1rem;\n margin-left: -2rem;\n opacity: 0;\n transition: margin 0.15s, opacity 0.15s, border 0.15s;\n}\n@media (prefers-reduced-motion: reduce) {\n .btn-loading-spinner {\n transition: none;\n }\n}\n\n.btn-loading.is-loading .btn-loading-spinner {\n width: 1rem;\n margin-left: 0;\n opacity: 1;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n.collapsing.collapse-horizontal {\n width: 0;\n height: auto;\n transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing.collapse-horizontal {\n transition: none;\n }\n}\n\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n --cui-dropdown-zindex: 1000;\n --cui-dropdown-min-width: 10rem;\n --cui-dropdown-padding-x: 0;\n --cui-dropdown-padding-y: 0.5rem;\n --cui-dropdown-spacer: 0.125rem;\n --cui-dropdown-font-size: 1rem;\n --cui-dropdown-color: var(--cui-body-color);\n --cui-dropdown-bg: var(--cui-body-bg);\n --cui-dropdown-border-color: var(--cui-border-color-translucent);\n --cui-dropdown-border-radius: var(--cui-border-radius);\n --cui-dropdown-border-width: var(--cui-border-width);\n --cui-dropdown-inner-border-radius: calc(var(--cui-border-radius) - var(--cui-border-width));\n --cui-dropdown-divider-bg: var(--cui-border-color-translucent);\n --cui-dropdown-divider-margin-y: 0.5rem;\n --cui-dropdown-box-shadow: var(--cui-box-shadow);\n --cui-dropdown-link-color: var(--cui-body-color);\n --cui-dropdown-link-hover-color: var(--cui-body-color);\n --cui-dropdown-link-hover-bg: var(--cui-tertiary-bg);\n --cui-dropdown-link-active-color: rgba(255, 255, 255, 0.87);\n --cui-dropdown-link-active-bg: var(--cui-primary);\n --cui-dropdown-link-disabled-color: var(--cui-tertiary-color);\n --cui-dropdown-item-padding-x: 1rem;\n --cui-dropdown-item-padding-y: 0.25rem;\n --cui-dropdown-header-color: #6d7d9c;\n --cui-dropdown-header-padding-x: 1rem;\n --cui-dropdown-header-padding-y: 0.5rem;\n position: absolute;\n z-index: var(--cui-dropdown-zindex);\n display: none;\n min-width: var(--cui-dropdown-min-width);\n padding: var(--cui-dropdown-padding-y) var(--cui-dropdown-padding-x);\n margin: 0;\n font-size: var(--cui-dropdown-font-size);\n color: var(--cui-dropdown-color);\n text-align: left;\n list-style: none;\n background-color: var(--cui-dropdown-bg);\n background-clip: padding-box;\n border: var(--cui-dropdown-border-width) solid var(--cui-dropdown-border-color);\n border-radius: var(--cui-dropdown-border-radius);\n}\n.dropdown-menu[data-coreui-popper] {\n top: 100%;\n left: 0;\n margin-top: var(--cui-dropdown-spacer);\n}\n\n.dropdown-menu-start {\n --cui-position: start;\n}\n.dropdown-menu-start[data-coreui-popper] {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-end {\n --cui-position: end;\n}\n.dropdown-menu-end[data-coreui-popper] {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-start {\n --cui-position: start;\n }\n .dropdown-menu-sm-start[data-coreui-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-end {\n --cui-position: end;\n }\n .dropdown-menu-sm-end[data-coreui-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 768px) {\n .dropdown-menu-md-start {\n --cui-position: start;\n }\n .dropdown-menu-md-start[data-coreui-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-end {\n --cui-position: end;\n }\n .dropdown-menu-md-end[data-coreui-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 992px) {\n .dropdown-menu-lg-start {\n --cui-position: start;\n }\n .dropdown-menu-lg-start[data-coreui-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-end {\n --cui-position: end;\n }\n .dropdown-menu-lg-end[data-coreui-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1200px) {\n .dropdown-menu-xl-start {\n --cui-position: start;\n }\n .dropdown-menu-xl-start[data-coreui-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-end {\n --cui-position: end;\n }\n .dropdown-menu-xl-end[data-coreui-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-start {\n --cui-position: start;\n }\n .dropdown-menu-xxl-start[data-coreui-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xxl-end {\n --cui-position: end;\n }\n .dropdown-menu-xxl-end[data-coreui-popper] {\n right: 0;\n left: auto;\n }\n}\n.dropup .dropdown-menu[data-coreui-popper] {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: var(--cui-dropdown-spacer);\n}\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropend .dropdown-menu[data-coreui-popper] {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: var(--cui-dropdown-spacer);\n}\n.dropend .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n.dropend .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropend .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropstart .dropdown-menu[data-coreui-popper] {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: var(--cui-dropdown-spacer);\n}\n.dropstart .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n.dropstart .dropdown-toggle::after {\n display: none;\n}\n.dropstart .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n.dropstart .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: var(--cui-dropdown-divider-margin-y) 0;\n overflow: hidden;\n border-top: 1px solid var(--cui-dropdown-divider-bg);\n opacity: 1;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: var(--cui-dropdown-item-padding-y) var(--cui-dropdown-item-padding-x);\n clear: both;\n font-weight: 400;\n color: var(--cui-dropdown-link-color);\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n border-radius: var(--cui-dropdown-item-border-radius, 0);\n}\n.dropdown-item:hover, .dropdown-item:focus {\n color: var(--cui-dropdown-link-hover-color);\n background-color: var(--cui-dropdown-link-hover-bg);\n}\n.dropdown-item.active, .dropdown-item:active {\n color: var(--cui-dropdown-link-active-color);\n text-decoration: none;\n background-color: var(--cui-dropdown-link-active-bg);\n}\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: var(--cui-dropdown-link-disabled-color);\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: var(--cui-dropdown-header-padding-y) var(--cui-dropdown-header-padding-x);\n margin-bottom: 0;\n font-size: 0.875rem;\n color: var(--cui-dropdown-header-color);\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: var(--cui-dropdown-item-padding-y) var(--cui-dropdown-item-padding-x);\n color: var(--cui-dropdown-link-color);\n}\n\n.dropdown-menu-dark {\n --cui-dropdown-color: #dbdfe6;\n --cui-dropdown-bg: #323a49;\n --cui-dropdown-border-color: var(--cui-border-color-translucent);\n --cui-dropdown-box-shadow: ;\n --cui-dropdown-link-color: #dbdfe6;\n --cui-dropdown-link-hover-color: #fff;\n --cui-dropdown-divider-bg: var(--cui-border-color-translucent);\n --cui-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n --cui-dropdown-link-active-color: rgba(255, 255, 255, 0.87);\n --cui-dropdown-link-active-bg: var(--cui-primary);\n --cui-dropdown-link-disabled-color: #aab3c5;\n --cui-dropdown-header-color: #aab3c5;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group {\n border-radius: var(--cui-border-radius);\n}\n.btn-group > :not(.btn-check:first-child) + .btn,\n.btn-group > .btn-group:not(:first-child) {\n margin-left: calc(var(--cui-border-width) * -1);\n}\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn.dropdown-toggle-split:first-child,\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:nth-child(n+3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: calc(var(--cui-border-width) * -1);\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:nth-child(n+3),\n.btn-group-vertical > :not(.btn-check) + .btn,\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n --cui-nav-link-padding-x: 1rem;\n --cui-nav-link-padding-y: 0.5rem;\n --cui-nav-link-font-weight: ;\n --cui-nav-link-color: var(--cui-link-color);\n --cui-nav-link-hover-color: var(--cui-link-hover-color);\n --cui-nav-link-disabled-color: var(--cui-secondary-color);\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: var(--cui-nav-link-padding-y) var(--cui-nav-link-padding-x);\n font-size: var(--cui-nav-link-font-size);\n font-weight: var(--cui-nav-link-font-weight);\n color: var(--cui-nav-link-color);\n text-decoration: none;\n background: none;\n border: 0;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n.nav-link:hover, .nav-link:focus {\n color: var(--cui-nav-link-hover-color);\n}\n.nav-link:focus-visible {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n}\n.nav-link.disabled, .nav-link:disabled {\n color: var(--cui-nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n --cui-nav-tabs-border-width: var(--cui-border-width);\n --cui-nav-tabs-border-color: var(--cui-border-color);\n --cui-nav-tabs-border-radius: var(--cui-border-radius);\n --cui-nav-tabs-link-hover-border-color: var(--cui-secondary-bg) var(--cui-secondary-bg) var(--cui-border-color);\n --cui-nav-tabs-link-active-color: var(--cui-emphasis-color);\n --cui-nav-tabs-link-active-bg: var(--cui-body-bg);\n --cui-nav-tabs-link-active-border-color: var(--cui-border-color) var(--cui-border-color) var(--cui-body-bg);\n border-bottom: var(--cui-nav-tabs-border-width) solid var(--cui-nav-tabs-border-color);\n}\n.nav-tabs .nav-link {\n margin-bottom: calc(-1 * var(--cui-nav-tabs-border-width));\n border: var(--cui-nav-tabs-border-width) solid transparent;\n border-top-left-radius: var(--cui-nav-tabs-border-radius);\n border-top-right-radius: var(--cui-nav-tabs-border-radius);\n}\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n isolation: isolate;\n border-color: var(--cui-nav-tabs-link-hover-border-color);\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: var(--cui-nav-tabs-link-active-color);\n background-color: var(--cui-nav-tabs-link-active-bg);\n border-color: var(--cui-nav-tabs-link-active-border-color);\n}\n.nav-tabs .dropdown-menu {\n margin-top: calc(-1 * var(--cui-nav-tabs-border-width));\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills {\n --cui-nav-pills-border-radius: var(--cui-border-radius);\n --cui-nav-pills-link-active-color: rgba(255, 255, 255, 0.87);\n --cui-nav-pills-link-active-bg: var(--cui-primary);\n}\n.nav-pills .nav-link {\n border-radius: var(--cui-nav-pills-border-radius);\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: var(--cui-nav-pills-link-active-color);\n background-color: var(--cui-nav-pills-link-active-bg);\n}\n\n.nav-underline {\n --cui-nav-underline-gap: 1rem;\n --cui-nav-underline-border-width: 0.125rem;\n --cui-nav-underline-link-active-color: var(--cui-emphasis-color);\n gap: var(--cui-nav-underline-gap);\n}\n.nav-underline .nav-link {\n padding-right: 0;\n padding-left: 0;\n border-bottom: var(--cui-nav-underline-border-width) solid transparent;\n}\n.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n border-bottom-color: currentcolor;\n}\n.nav-underline .nav-link.active,\n.nav-underline .show > .nav-link {\n font-weight: 700;\n color: var(--cui-nav-underline-link-active-color);\n border-bottom-color: currentcolor;\n}\n\n.nav-underline-border {\n --cui-nav-underline-border-gap: 0.5rem;\n --cui-nav-underline-border-border-color: var(--cui-border-color);\n --cui-nav-underline-border-border-width: 0.125rem;\n --cui-nav-underline-border-link-padding-x: 0.5rem;\n --cui-nav-underline-border-link-padding-y: 0.5rem;\n --cui-nav-underline-border-link-color: var(--cui-secondary-color);\n --cui-nav-underline-border-link-active-color: var(--cui-primary);\n --cui-nav-underline-border-link-disabled-color: var(--cui-tertiary-color);\n --cui-nav-link-color: var(--cui-nav-underline-border-link-color);\n --cui-nav-link-disabled-color: var(--cui-nav-underline-border-link-disabled-color);\n gap: var(--cui-nav-underline-border-gap);\n border-bottom: var(--cui-nav-underline-border-border-width) solid var(--cui-nav-underline-border-border-color);\n}\n.nav-underline-border .nav-link {\n padding: var(--cui-nav-underline-border-link-padding-y) var(--cui-nav-underline-border-link-padding-x);\n margin-bottom: calc(-1 * var(--cui-nav-underline-border-border-width));\n border-bottom: var(--cui-nav-underline-border-border-width) solid transparent;\n}\n.nav-underline-border .nav-link:hover, .nav-underline-border .nav-link:focus {\n border-bottom-color: currentcolor;\n}\n.nav-underline-border .nav-link.active,\n.nav-underline-border .show > .nav-link {\n font-weight: 700;\n color: var(--cui-nav-underline-border-link-active-color);\n border-bottom-color: currentcolor;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-grow: 1;\n flex-basis: 0;\n text-align: center;\n}\n\n.nav-fill .nav-item .nav-link,\n.nav-justified .nav-item .nav-link {\n width: 100%;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n --cui-navbar-padding-x: 0;\n --cui-navbar-padding-y: 0.5rem;\n --cui-navbar-color: rgba(var(--cui-emphasis-color-rgb), 0.65);\n --cui-navbar-hover-color: rgba(var(--cui-emphasis-color-rgb), 0.8);\n --cui-navbar-disabled-color: rgba(var(--cui-emphasis-color-rgb), 0.3);\n --cui-navbar-active-color: rgba(var(--cui-emphasis-color-rgb), 1);\n --cui-navbar-brand-padding-y: 0.3125rem;\n --cui-navbar-brand-margin-end: 1rem;\n --cui-navbar-brand-font-size: 1.25rem;\n --cui-navbar-brand-color: rgba(var(--cui-emphasis-color-rgb), 1);\n --cui-navbar-brand-hover-color: rgba(var(--cui-emphasis-color-rgb), 1);\n --cui-navbar-nav-link-padding-x: 0.5rem;\n --cui-navbar-toggler-padding-y: 0.25rem;\n --cui-navbar-toggler-padding-x: 0.75rem;\n --cui-navbar-toggler-font-size: 1.25rem;\n --cui-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%2837, 43, 54, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n --cui-navbar-toggler-border-color: rgba(var(--cui-emphasis-color-rgb), 0.15);\n --cui-navbar-toggler-border-radius: var(--cui-border-radius);\n --cui-navbar-toggler-focus-width: 0.25rem;\n --cui-navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--cui-navbar-padding-y) var(--cui-navbar-padding-x);\n}\n.navbar .header > .container,\n.navbar .header > .container-fluid,\n.navbar .header > .container-sm,\n.navbar .header > .container-md,\n.navbar .header > .container-lg,\n.navbar .header > .container-xl,\n.navbar .header > .container-xxl, .navbar > .container,\n.navbar > .container-fluid,\n.navbar > .container-sm,\n.navbar > .container-md,\n.navbar > .container-lg,\n.navbar > .container-xl,\n.navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n.navbar-brand {\n padding-top: var(--cui-navbar-brand-padding-y);\n padding-bottom: var(--cui-navbar-brand-padding-y);\n margin-right: var(--cui-navbar-brand-margin-end);\n font-size: var(--cui-navbar-brand-font-size);\n color: var(--cui-navbar-brand-color);\n text-decoration: none;\n white-space: nowrap;\n}\n.navbar-brand:hover, .navbar-brand:focus {\n color: var(--cui-navbar-brand-hover-color);\n}\n\n.navbar-nav {\n --cui-nav-link-padding-x: 0;\n --cui-nav-link-padding-y: 0.5rem;\n --cui-nav-link-font-weight: ;\n --cui-nav-link-color: var(--cui-navbar-color);\n --cui-nav-link-hover-color: var(--cui-navbar-hover-color);\n --cui-nav-link-disabled-color: var(--cui-navbar-disabled-color);\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n color: var(--cui-navbar-active-color);\n}\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--cui-navbar-color);\n}\n.navbar-text a,\n.navbar-text a:hover,\n.navbar-text a:focus {\n color: var(--cui-navbar-active-color);\n}\n\n.navbar-collapse {\n flex-grow: 1;\n flex-basis: 100%;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: var(--cui-navbar-toggler-padding-y) var(--cui-navbar-toggler-padding-x);\n font-size: var(--cui-navbar-toggler-font-size);\n line-height: 1;\n color: var(--cui-navbar-color);\n background-color: transparent;\n border: var(--cui-border-width) solid var(--cui-navbar-toggler-border-color);\n border-radius: var(--cui-navbar-toggler-border-radius);\n transition: var(--cui-navbar-toggler-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n.navbar-toggler:hover {\n text-decoration: none;\n}\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 var(--cui-navbar-toggler-focus-width);\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-image: var(--cui-navbar-toggler-icon-bg);\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n.navbar-nav-scroll {\n max-height: var(--cui-scroll-height, 75vh);\n overflow-y: auto;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: var(--cui-navbar-nav-link-padding-x);\n padding-left: var(--cui-navbar-nav-link-padding-x);\n }\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: var(--cui-navbar-nav-link-padding-x);\n padding-left: var(--cui-navbar-nav-link-padding-x);\n }\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: var(--cui-navbar-nav-link-padding-x);\n padding-left: var(--cui-navbar-nav-link-padding-x);\n }\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: var(--cui-navbar-nav-link-padding-x);\n padding-left: var(--cui-navbar-nav-link-padding-x);\n }\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: var(--cui-navbar-nav-link-padding-x);\n padding-left: var(--cui-navbar-nav-link-padding-x);\n }\n .navbar-expand-xxl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xxl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n padding-right: var(--cui-navbar-nav-link-padding-x);\n padding-left: var(--cui-navbar-nav-link-padding-x);\n}\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n.navbar-expand .navbar-toggler {\n display: none;\n}\n.navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n}\n.navbar-expand .offcanvas .offcanvas-header {\n display: none;\n}\n.navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n}\n\n.navbar-dark,\n.navbar[data-coreui-theme=dark] {\n --cui-navbar-color: rgba(255, 255, 255, 0.55);\n --cui-navbar-hover-color: rgba(255, 255, 255, 0.75);\n --cui-navbar-disabled-color: rgba(255, 255, 255, 0.25);\n --cui-navbar-active-color: #fff;\n --cui-navbar-brand-color: #fff;\n --cui-navbar-brand-hover-color: #fff;\n --cui-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n --cui-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\");\n}\n\n.dark-theme .navbar-toggler-icon,\n[data-coreui-theme=dark] .navbar-toggler-icon {\n --cui-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\");\n}\n\n.card {\n --cui-card-spacer-y: 1rem;\n --cui-card-spacer-x: 1rem;\n --cui-card-title-spacer-y: 0.5rem;\n --cui-card-title-color: ;\n --cui-card-subtitle-color: ;\n --cui-card-border-width: var(--cui-border-width);\n --cui-card-border-color: var(--cui-border-color-translucent);\n --cui-card-border-radius: var(--cui-border-radius);\n --cui-card-box-shadow: ;\n --cui-card-inner-border-radius: calc(var(--cui-border-radius) - (var(--cui-border-width)));\n --cui-card-cap-padding-y: 0.5rem;\n --cui-card-cap-padding-x: 1rem;\n --cui-card-cap-bg: rgba(var(--cui-body-color-rgb), 0.03);\n --cui-card-cap-color: ;\n --cui-card-height: ;\n --cui-card-color: ;\n --cui-card-bg: var(--cui-body-bg);\n --cui-card-img-overlay-padding: 1rem;\n --cui-card-group-margin: 0.75rem;\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n height: var(--cui-card-height);\n color: var(--cui-body-color);\n word-wrap: break-word;\n background-color: var(--cui-card-bg);\n background-clip: border-box;\n border: var(--cui-card-border-width) solid var(--cui-card-border-color);\n border-radius: var(--cui-card-border-radius);\n}\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: var(--cui-card-inner-border-radius);\n border-top-right-radius: var(--cui-card-inner-border-radius);\n}\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: var(--cui-card-inner-border-radius);\n border-bottom-left-radius: var(--cui-card-inner-border-radius);\n}\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: var(--cui-card-spacer-y) var(--cui-card-spacer-x);\n color: var(--cui-card-color);\n}\n\n.card-title {\n margin-bottom: var(--cui-card-title-spacer-y);\n color: var(--cui-card-title-color);\n}\n\n.card-subtitle {\n margin-top: calc(-0.5 * var(--cui-card-title-spacer-y));\n margin-bottom: 0;\n color: var(--cui-card-subtitle-color);\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link + .card-link {\n margin-left: var(--cui-card-spacer-x);\n}\n\n.card-header {\n padding: var(--cui-card-cap-padding-y) var(--cui-card-cap-padding-x);\n margin-bottom: 0;\n color: var(--cui-card-cap-color);\n background-color: var(--cui-card-cap-bg);\n border-bottom: var(--cui-card-border-width) solid var(--cui-card-border-color);\n}\n.card-header:first-child {\n border-radius: var(--cui-card-inner-border-radius) var(--cui-card-inner-border-radius) 0 0;\n}\n\n.card-footer {\n padding: var(--cui-card-cap-padding-y) var(--cui-card-cap-padding-x);\n color: var(--cui-card-cap-color);\n background-color: var(--cui-card-cap-bg);\n border-top: var(--cui-card-border-width) solid var(--cui-card-border-color);\n}\n.card-footer:last-child {\n border-radius: 0 0 var(--cui-card-inner-border-radius) var(--cui-card-inner-border-radius);\n}\n\n.card-header-tabs {\n margin-right: calc(-0.5 * var(--cui-card-cap-padding-x));\n margin-bottom: calc(-1 * var(--cui-card-cap-padding-y));\n margin-left: calc(-0.5 * var(--cui-card-cap-padding-x));\n border-bottom: 0;\n}\n.card-header-tabs .nav-link.active {\n background-color: var(--cui-card-bg);\n border-bottom-color: var(--cui-card-bg);\n}\n\n.card-header-pills {\n margin-right: calc(-0.5 * var(--cui-card-cap-padding-x));\n margin-left: calc(-0.5 * var(--cui-card-cap-padding-x));\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: var(--cui-card-img-overlay-padding);\n border-radius: var(--cui-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: var(--cui-card-inner-border-radius);\n border-top-right-radius: var(--cui-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: var(--cui-card-inner-border-radius);\n border-bottom-left-radius: var(--cui-card-inner-border-radius);\n}\n\n.card-group > .card {\n margin-bottom: var(--cui-card-group-margin);\n}\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion {\n --cui-accordion-color: var(--cui-body-color);\n --cui-accordion-bg: var(--cui-body-bg);\n --cui-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;\n --cui-accordion-border-color: var(--cui-border-color);\n --cui-accordion-border-width: var(--cui-border-width);\n --cui-accordion-border-radius: var(--cui-border-radius);\n --cui-accordion-inner-border-radius: calc(var(--cui-border-radius) - (var(--cui-border-width)));\n --cui-accordion-btn-padding-x: 1.25rem;\n --cui-accordion-btn-padding-y: 1rem;\n --cui-accordion-btn-color: var(--cui-body-color);\n --cui-accordion-btn-bg: var(--cui-accordion-bg);\n --cui-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='rgba%2837, 43, 54, 0.95%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n --cui-accordion-btn-icon-width: 1.25rem;\n --cui-accordion-btn-icon-transform: rotate(-180deg);\n --cui-accordion-btn-icon-transition: transform 0.2s ease-in-out;\n --cui-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='%233634a3' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n --cui-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n --cui-accordion-body-padding-x: 1.25rem;\n --cui-accordion-body-padding-y: 1rem;\n --cui-accordion-active-color: var(--cui-primary-text-emphasis);\n --cui-accordion-active-bg: var(--cui-primary-bg-subtle);\n}\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--cui-accordion-btn-padding-y) var(--cui-accordion-btn-padding-x);\n font-size: 1rem;\n color: var(--cui-accordion-btn-color);\n text-align: left;\n background-color: var(--cui-accordion-btn-bg);\n border: 0;\n border-radius: 0;\n overflow-anchor: none;\n transition: var(--cui-accordion-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button {\n transition: none;\n }\n}\n.accordion-button:not(.collapsed) {\n color: var(--cui-accordion-active-color);\n background-color: var(--cui-accordion-active-bg);\n box-shadow: inset 0 calc(-1 * var(--cui-accordion-border-width)) 0 var(--cui-accordion-border-color);\n}\n.accordion-button:not(.collapsed)::after {\n background-image: var(--cui-accordion-btn-active-icon);\n transform: var(--cui-accordion-btn-icon-transform);\n}\n.accordion-button::after {\n flex-shrink: 0;\n width: var(--cui-accordion-btn-icon-width);\n height: var(--cui-accordion-btn-icon-width);\n margin-left: auto;\n content: \"\";\n background-image: var(--cui-accordion-btn-icon);\n background-repeat: no-repeat;\n background-size: var(--cui-accordion-btn-icon-width);\n transition: var(--cui-accordion-btn-icon-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button::after {\n transition: none;\n }\n}\n.accordion-button:hover {\n z-index: 2;\n}\n.accordion-button:focus {\n z-index: 3;\n outline: 0;\n box-shadow: var(--cui-accordion-btn-focus-box-shadow);\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item {\n color: var(--cui-accordion-color);\n background-color: var(--cui-accordion-bg);\n border: var(--cui-accordion-border-width) solid var(--cui-accordion-border-color);\n}\n.accordion-item:first-of-type {\n border-top-left-radius: var(--cui-accordion-border-radius);\n border-top-right-radius: var(--cui-accordion-border-radius);\n}\n.accordion-item:first-of-type > .accordion-header .accordion-button {\n border-top-left-radius: var(--cui-accordion-inner-border-radius);\n border-top-right-radius: var(--cui-accordion-inner-border-radius);\n}\n.accordion-item:not(:first-of-type) {\n border-top: 0;\n}\n.accordion-item:last-of-type {\n border-bottom-right-radius: var(--cui-accordion-border-radius);\n border-bottom-left-radius: var(--cui-accordion-border-radius);\n}\n.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {\n border-bottom-right-radius: var(--cui-accordion-inner-border-radius);\n border-bottom-left-radius: var(--cui-accordion-inner-border-radius);\n}\n.accordion-item:last-of-type > .accordion-collapse {\n border-bottom-right-radius: var(--cui-accordion-border-radius);\n border-bottom-left-radius: var(--cui-accordion-border-radius);\n}\n\n.accordion-body {\n padding: var(--cui-accordion-body-padding-y) var(--cui-accordion-body-padding-x);\n}\n\n.accordion-flush > .accordion-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n.accordion-flush > .accordion-item:first-child {\n border-top: 0;\n}\n.accordion-flush > .accordion-item:last-child {\n border-bottom: 0;\n}\n.accordion-flush > .accordion-item > .accordion-collapse,\n.accordion-flush > .accordion-item > .accordion-header .accordion-button,\n.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {\n border-radius: 0;\n}\n\n.dark-theme .accordion-button::after,\n[data-coreui-theme=dark] .accordion-button::after {\n --cui-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgba%28255, 255, 255, 0.87%29'%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-.708'/%3e%3c/svg%3e\");\n --cui-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23403f98'%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-.708'/%3e%3c/svg%3e\");\n}\n\n.breadcrumb {\n --cui-breadcrumb-padding-x: 0;\n --cui-breadcrumb-padding-y: 0;\n --cui-breadcrumb-margin-bottom: 1rem;\n --cui-breadcrumb-bg: ;\n --cui-breadcrumb-border-radius: ;\n --cui-breadcrumb-divider-color: var(--cui-secondary-color);\n --cui-breadcrumb-item-padding-x: 0.5rem;\n --cui-breadcrumb-item-active-color: var(--cui-secondary-color);\n display: flex;\n flex-wrap: wrap;\n padding: var(--cui-breadcrumb-padding-y) var(--cui-breadcrumb-padding-x);\n margin-bottom: var(--cui-breadcrumb-margin-bottom);\n font-size: var(--cui-breadcrumb-font-size);\n list-style: none;\n background-color: var(--cui-breadcrumb-bg);\n border-radius: var(--cui-breadcrumb-border-radius);\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: var(--cui-breadcrumb-item-padding-x);\n}\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: var(--cui-breadcrumb-item-padding-x);\n color: var(--cui-breadcrumb-divider-color);\n content: var(--cui-breadcrumb-divider, \"/\");\n}\n.breadcrumb-item.active {\n color: var(--cui-breadcrumb-item-active-color);\n}\n\n.pagination {\n --cui-pagination-padding-x: 0.75rem;\n --cui-pagination-padding-y: 0.375rem;\n --cui-pagination-font-size: 1rem;\n --cui-pagination-color: var(--cui-link-color);\n --cui-pagination-bg: var(--cui-body-bg);\n --cui-pagination-border-width: var(--cui-border-width);\n --cui-pagination-border-color: var(--cui-border-color);\n --cui-pagination-border-radius: var(--cui-border-radius);\n --cui-pagination-hover-color: var(--cui-link-hover-color);\n --cui-pagination-hover-bg: var(--cui-tertiary-bg);\n --cui-pagination-hover-border-color: var(--cui-border-color);\n --cui-pagination-focus-color: var(--cui-link-hover-color);\n --cui-pagination-focus-bg: var(--cui-secondary-bg);\n --cui-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n --cui-pagination-active-color: rgba(255, 255, 255, 0.87);\n --cui-pagination-active-bg: var(--cui-primary);\n --cui-pagination-active-border-color: var(--cui-primary);\n --cui-pagination-disabled-color: var(--cui-secondary-color);\n --cui-pagination-disabled-bg: var(--cui-secondary-bg);\n --cui-pagination-disabled-border-color: var(--cui-border-color);\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: var(--cui-pagination-padding-y) var(--cui-pagination-padding-x);\n font-size: var(--cui-pagination-font-size);\n color: var(--cui-pagination-color);\n text-decoration: none;\n background-color: var(--cui-pagination-bg);\n border: var(--cui-pagination-border-width) solid var(--cui-pagination-border-color);\n 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;\n}\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n.page-link:hover {\n z-index: 2;\n color: var(--cui-pagination-hover-color);\n background-color: var(--cui-pagination-hover-bg);\n border-color: var(--cui-pagination-hover-border-color);\n}\n.page-link:focus {\n z-index: 3;\n color: var(--cui-pagination-focus-color);\n background-color: var(--cui-pagination-focus-bg);\n outline: 0;\n box-shadow: var(--cui-pagination-focus-box-shadow);\n}\n.page-link.active, .active > .page-link {\n z-index: 3;\n color: var(--cui-pagination-active-color);\n background-color: var(--cui-pagination-active-bg);\n border-color: var(--cui-pagination-active-border-color);\n}\n.page-link.disabled, .disabled > .page-link {\n color: var(--cui-pagination-disabled-color);\n pointer-events: none;\n background-color: var(--cui-pagination-disabled-bg);\n border-color: var(--cui-pagination-disabled-border-color);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: calc(var(--cui-border-width) * -1);\n}\n.page-item:first-child .page-link {\n border-top-left-radius: var(--cui-pagination-border-radius);\n border-bottom-left-radius: var(--cui-pagination-border-radius);\n}\n.page-item:last-child .page-link {\n border-top-right-radius: var(--cui-pagination-border-radius);\n border-bottom-right-radius: var(--cui-pagination-border-radius);\n}\n\n.pagination-lg {\n --cui-pagination-padding-x: 1.5rem;\n --cui-pagination-padding-y: 0.75rem;\n --cui-pagination-font-size: 1.25rem;\n --cui-pagination-border-radius: var(--cui-border-radius-lg);\n}\n\n.pagination-sm {\n --cui-pagination-padding-x: 0.5rem;\n --cui-pagination-padding-y: 0.25rem;\n --cui-pagination-font-size: 0.875rem;\n --cui-pagination-border-radius: var(--cui-border-radius-sm);\n}\n\n.badge {\n --cui-badge-padding-x: 0.65em;\n --cui-badge-padding-y: 0.35em;\n --cui-badge-font-size: 0.75em;\n --cui-badge-font-weight: 700;\n --cui-badge-color: #fff;\n --cui-badge-border-radius: var(--cui-border-radius);\n display: inline-block;\n padding: var(--cui-badge-padding-y) var(--cui-badge-padding-x);\n font-size: var(--cui-badge-font-size);\n font-weight: var(--cui-badge-font-weight);\n line-height: 1;\n color: var(--cui-badge-color);\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: var(--cui-badge-border-radius, 0);\n}\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-sm {\n --cui-badge-padding-x: 0.5em;\n --cui-badge-padding-y: 0.3em;\n font-size: 0.65em;\n}\n\n.alert {\n --cui-alert-bg: transparent;\n --cui-alert-padding-x: 1rem;\n --cui-alert-padding-y: 1rem;\n --cui-alert-margin-bottom: 1rem;\n --cui-alert-color: inherit;\n --cui-alert-border-color: transparent;\n --cui-alert-border: var(--cui-border-width) solid var(--cui-alert-border-color);\n --cui-alert-border-radius: var(--cui-border-radius);\n --cui-alert-link-color: inherit;\n position: relative;\n padding: var(--cui-alert-padding-y) var(--cui-alert-padding-x);\n margin-bottom: var(--cui-alert-margin-bottom);\n color: var(--cui-alert-color);\n background-color: var(--cui-alert-bg);\n border: var(--cui-alert-border);\n border-radius: var(--cui-alert-border-radius);\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n color: var(--cui-alert-link-color);\n}\n\n.alert-dismissible {\n padding-right: 3rem;\n}\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 1.25rem 1rem;\n}\n\n.alert-primary {\n --cui-alert-color: var(--cui-primary-text-emphasis);\n --cui-alert-bg: var(--cui-primary-bg-subtle);\n --cui-alert-border-color: var(--cui-primary-border-subtle);\n --cui-alert-link-color: var(--cui-primary-text-emphasis);\n}\n\n.alert-secondary {\n --cui-alert-color: var(--cui-secondary-text-emphasis);\n --cui-alert-bg: var(--cui-secondary-bg-subtle);\n --cui-alert-border-color: var(--cui-secondary-border-subtle);\n --cui-alert-link-color: var(--cui-secondary-text-emphasis);\n}\n\n.alert-success {\n --cui-alert-color: var(--cui-success-text-emphasis);\n --cui-alert-bg: var(--cui-success-bg-subtle);\n --cui-alert-border-color: var(--cui-success-border-subtle);\n --cui-alert-link-color: var(--cui-success-text-emphasis);\n}\n\n.alert-info {\n --cui-alert-color: var(--cui-info-text-emphasis);\n --cui-alert-bg: var(--cui-info-bg-subtle);\n --cui-alert-border-color: var(--cui-info-border-subtle);\n --cui-alert-link-color: var(--cui-info-text-emphasis);\n}\n\n.alert-warning {\n --cui-alert-color: var(--cui-warning-text-emphasis);\n --cui-alert-bg: var(--cui-warning-bg-subtle);\n --cui-alert-border-color: var(--cui-warning-border-subtle);\n --cui-alert-link-color: var(--cui-warning-text-emphasis);\n}\n\n.alert-danger {\n --cui-alert-color: var(--cui-danger-text-emphasis);\n --cui-alert-bg: var(--cui-danger-bg-subtle);\n --cui-alert-border-color: var(--cui-danger-border-subtle);\n --cui-alert-link-color: var(--cui-danger-text-emphasis);\n}\n\n.alert-light {\n --cui-alert-color: var(--cui-light-text-emphasis);\n --cui-alert-bg: var(--cui-light-bg-subtle);\n --cui-alert-border-color: var(--cui-light-border-subtle);\n --cui-alert-link-color: var(--cui-light-text-emphasis);\n}\n\n.alert-dark {\n --cui-alert-color: var(--cui-dark-text-emphasis);\n --cui-alert-bg: var(--cui-dark-bg-subtle);\n --cui-alert-border-color: var(--cui-dark-border-subtle);\n --cui-alert-link-color: var(--cui-dark-text-emphasis);\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n.progress,\n.progress-stacked {\n --cui-progress-height: 1rem;\n --cui-progress-font-size: 0.75rem;\n --cui-progress-bg: var(--cui-secondary-bg);\n --cui-progress-border-radius: var(--cui-border-radius);\n --cui-progress-box-shadow: var(--cui-box-shadow-inset);\n --cui-progress-bar-color: #fff;\n --cui-progress-bar-bg: var(--cui-primary);\n --cui-progress-bar-transition: width 0.6s ease;\n display: flex;\n height: var(--cui-progress-height);\n overflow: hidden;\n font-size: var(--cui-progress-font-size);\n background-color: var(--cui-progress-bg);\n border-radius: var(--cui-progress-border-radius);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--cui-progress-bar-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--cui-progress-bar-bg);\n transition: var(--cui-progress-bar-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n 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);\n background-size: var(--cui-progress-height) var(--cui-progress-height);\n}\n\n.progress-stacked > .progress {\n overflow: visible;\n}\n\n.progress-stacked > .progress > .progress-bar {\n width: 100%;\n}\n\n.progress-bar-animated {\n animation: 1s linear infinite progress-bar-stripes;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.progress-thin {\n height: 4px;\n}\n\n.progress.progress-white {\n background-color: rgba(255, 255, 255, 0.2);\n}\n.progress.progress-white .progress-bar {\n background-color: #fff;\n}\n\n.progress-group {\n display: flex;\n flex-flow: row wrap;\n margin-bottom: 1rem;\n}\n\n.progress-group-prepend {\n flex: 0 0 100px;\n align-self: center;\n}\n\n.progress-group-header {\n display: flex;\n flex-basis: 100%;\n align-items: center;\n margin-bottom: 0.25rem;\n}\n\n.progress-group-bars {\n flex-grow: 1;\n align-self: center;\n}\n.progress-group-bars .progress:not(:last-child) {\n margin-bottom: 2px;\n}\n\n.progress-group-header + .progress-group-bars {\n flex-basis: 100%;\n}\n\n.list-group {\n --cui-list-group-color: var(--cui-body-color);\n --cui-list-group-bg: var(--cui-body-bg);\n --cui-list-group-border-color: var(--cui-border-color);\n --cui-list-group-border-width: var(--cui-border-width);\n --cui-list-group-border-radius: var(--cui-border-radius);\n --cui-list-group-item-padding-x: 1rem;\n --cui-list-group-item-padding-y: 0.5rem;\n --cui-list-group-action-color: var(--cui-secondary-color);\n --cui-list-group-action-hover-color: var(--cui-emphasis-color);\n --cui-list-group-action-hover-bg: var(--cui-tertiary-bg);\n --cui-list-group-action-active-color: var(--cui-body-color);\n --cui-list-group-action-active-bg: var(--cui-secondary-bg);\n --cui-list-group-disabled-color: var(--cui-secondary-color);\n --cui-list-group-disabled-bg: var(--cui-body-bg);\n --cui-list-group-active-color: rgba(255, 255, 255, 0.87);\n --cui-list-group-active-bg: var(--cui-primary);\n --cui-list-group-active-border-color: var(--cui-primary);\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: var(--cui-list-group-border-radius);\n}\n\n.list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n}\n.list-group-numbered > .list-group-item::before {\n content: counters(section, \".\") \". \";\n counter-increment: section;\n}\n\n.list-group-item-action {\n width: 100%;\n color: var(--cui-list-group-action-color);\n text-align: inherit;\n}\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: var(--cui-list-group-action-hover-color);\n text-decoration: none;\n background-color: var(--cui-list-group-action-hover-bg);\n}\n.list-group-item-action:active {\n color: var(--cui-list-group-action-active-color);\n background-color: var(--cui-list-group-action-active-bg);\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: var(--cui-list-group-item-padding-y) var(--cui-list-group-item-padding-x);\n color: var(--cui-list-group-color);\n text-decoration: none;\n background-color: var(--cui-list-group-bg);\n border: var(--cui-list-group-border-width) solid var(--cui-list-group-border-color);\n}\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n.list-group-item.disabled, .list-group-item:disabled {\n color: var(--cui-list-group-disabled-color);\n pointer-events: none;\n background-color: var(--cui-list-group-disabled-bg);\n}\n.list-group-item.active {\n z-index: 2;\n color: var(--cui-list-group-active-color);\n background-color: var(--cui-list-group-active-bg);\n border-color: var(--cui-list-group-active-border-color);\n}\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n margin-top: calc(-1 * var(--cui-list-group-border-width));\n border-top-width: var(--cui-list-group-border-width);\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n.list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--cui-list-group-border-radius);\n border-top-right-radius: 0;\n}\n.list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--cui-list-group-border-radius);\n border-bottom-left-radius: 0;\n}\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: var(--cui-list-group-border-width);\n border-left-width: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--cui-list-group-border-width));\n border-left-width: var(--cui-list-group-border-width);\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--cui-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--cui-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: var(--cui-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--cui-list-group-border-width));\n border-left-width: var(--cui-list-group-border-width);\n }\n}\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--cui-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--cui-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: var(--cui-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--cui-list-group-border-width));\n border-left-width: var(--cui-list-group-border-width);\n }\n}\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--cui-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--cui-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: var(--cui-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--cui-list-group-border-width));\n border-left-width: var(--cui-list-group-border-width);\n }\n}\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--cui-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--cui-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: var(--cui-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--cui-list-group-border-width));\n border-left-width: var(--cui-list-group-border-width);\n }\n}\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--cui-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--cui-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: var(--cui-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--cui-list-group-border-width));\n border-left-width: var(--cui-list-group-border-width);\n }\n}\n.list-group-flush {\n border-radius: 0;\n}\n.list-group-flush > .list-group-item {\n border-width: 0 0 var(--cui-list-group-border-width);\n}\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n --cui-list-group-color: var(--cui-primary-text-emphasis);\n --cui-list-group-bg: var(--cui-primary-bg-subtle);\n --cui-list-group-border-color: var(--cui-primary-border-subtle);\n --cui-list-group-action-hover-color: var(--cui-emphasis-color);\n --cui-list-group-action-hover-bg: var(--cui-primary-border-subtle);\n --cui-list-group-action-active-color: var(--cui-emphasis-color);\n --cui-list-group-action-active-bg: var(--cui-primary-border-subtle);\n --cui-list-group-active-color: var(--cui-primary-bg-subtle);\n --cui-list-group-active-bg: var(--cui-primary-text-emphasis);\n --cui-list-group-active-border-color: var(--cui-primary-text-emphasis);\n}\n\n.list-group-item-secondary {\n --cui-list-group-color: var(--cui-secondary-text-emphasis);\n --cui-list-group-bg: var(--cui-secondary-bg-subtle);\n --cui-list-group-border-color: var(--cui-secondary-border-subtle);\n --cui-list-group-action-hover-color: var(--cui-emphasis-color);\n --cui-list-group-action-hover-bg: var(--cui-secondary-border-subtle);\n --cui-list-group-action-active-color: var(--cui-emphasis-color);\n --cui-list-group-action-active-bg: var(--cui-secondary-border-subtle);\n --cui-list-group-active-color: var(--cui-secondary-bg-subtle);\n --cui-list-group-active-bg: var(--cui-secondary-text-emphasis);\n --cui-list-group-active-border-color: var(--cui-secondary-text-emphasis);\n}\n\n.list-group-item-success {\n --cui-list-group-color: var(--cui-success-text-emphasis);\n --cui-list-group-bg: var(--cui-success-bg-subtle);\n --cui-list-group-border-color: var(--cui-success-border-subtle);\n --cui-list-group-action-hover-color: var(--cui-emphasis-color);\n --cui-list-group-action-hover-bg: var(--cui-success-border-subtle);\n --cui-list-group-action-active-color: var(--cui-emphasis-color);\n --cui-list-group-action-active-bg: var(--cui-success-border-subtle);\n --cui-list-group-active-color: var(--cui-success-bg-subtle);\n --cui-list-group-active-bg: var(--cui-success-text-emphasis);\n --cui-list-group-active-border-color: var(--cui-success-text-emphasis);\n}\n\n.list-group-item-info {\n --cui-list-group-color: var(--cui-info-text-emphasis);\n --cui-list-group-bg: var(--cui-info-bg-subtle);\n --cui-list-group-border-color: var(--cui-info-border-subtle);\n --cui-list-group-action-hover-color: var(--cui-emphasis-color);\n --cui-list-group-action-hover-bg: var(--cui-info-border-subtle);\n --cui-list-group-action-active-color: var(--cui-emphasis-color);\n --cui-list-group-action-active-bg: var(--cui-info-border-subtle);\n --cui-list-group-active-color: var(--cui-info-bg-subtle);\n --cui-list-group-active-bg: var(--cui-info-text-emphasis);\n --cui-list-group-active-border-color: var(--cui-info-text-emphasis);\n}\n\n.list-group-item-warning {\n --cui-list-group-color: var(--cui-warning-text-emphasis);\n --cui-list-group-bg: var(--cui-warning-bg-subtle);\n --cui-list-group-border-color: var(--cui-warning-border-subtle);\n --cui-list-group-action-hover-color: var(--cui-emphasis-color);\n --cui-list-group-action-hover-bg: var(--cui-warning-border-subtle);\n --cui-list-group-action-active-color: var(--cui-emphasis-color);\n --cui-list-group-action-active-bg: var(--cui-warning-border-subtle);\n --cui-list-group-active-color: var(--cui-warning-bg-subtle);\n --cui-list-group-active-bg: var(--cui-warning-text-emphasis);\n --cui-list-group-active-border-color: var(--cui-warning-text-emphasis);\n}\n\n.list-group-item-danger {\n --cui-list-group-color: var(--cui-danger-text-emphasis);\n --cui-list-group-bg: var(--cui-danger-bg-subtle);\n --cui-list-group-border-color: var(--cui-danger-border-subtle);\n --cui-list-group-action-hover-color: var(--cui-emphasis-color);\n --cui-list-group-action-hover-bg: var(--cui-danger-border-subtle);\n --cui-list-group-action-active-color: var(--cui-emphasis-color);\n --cui-list-group-action-active-bg: var(--cui-danger-border-subtle);\n --cui-list-group-active-color: var(--cui-danger-bg-subtle);\n --cui-list-group-active-bg: var(--cui-danger-text-emphasis);\n --cui-list-group-active-border-color: var(--cui-danger-text-emphasis);\n}\n\n.list-group-item-light {\n --cui-list-group-color: var(--cui-light-text-emphasis);\n --cui-list-group-bg: var(--cui-light-bg-subtle);\n --cui-list-group-border-color: var(--cui-light-border-subtle);\n --cui-list-group-action-hover-color: var(--cui-emphasis-color);\n --cui-list-group-action-hover-bg: var(--cui-light-border-subtle);\n --cui-list-group-action-active-color: var(--cui-emphasis-color);\n --cui-list-group-action-active-bg: var(--cui-light-border-subtle);\n --cui-list-group-active-color: var(--cui-light-bg-subtle);\n --cui-list-group-active-bg: var(--cui-light-text-emphasis);\n --cui-list-group-active-border-color: var(--cui-light-text-emphasis);\n}\n\n.list-group-item-dark {\n --cui-list-group-color: var(--cui-dark-text-emphasis);\n --cui-list-group-bg: var(--cui-dark-bg-subtle);\n --cui-list-group-border-color: var(--cui-dark-border-subtle);\n --cui-list-group-action-hover-color: var(--cui-emphasis-color);\n --cui-list-group-action-hover-bg: var(--cui-dark-border-subtle);\n --cui-list-group-action-active-color: var(--cui-emphasis-color);\n --cui-list-group-action-active-bg: var(--cui-dark-border-subtle);\n --cui-list-group-active-color: var(--cui-dark-bg-subtle);\n --cui-list-group-active-bg: var(--cui-dark-text-emphasis);\n --cui-list-group-active-border-color: var(--cui-dark-text-emphasis);\n}\n\n.btn-close {\n --cui-btn-close-color: #080a0c;\n --cui-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23080a0c'%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.414'/%3e%3c/svg%3e\");\n --cui-btn-close-opacity: 0.5;\n --cui-btn-close-hover-opacity: 0.75;\n --cui-btn-close-focus-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n --cui-btn-close-focus-opacity: 1;\n --cui-btn-close-disabled-opacity: 0.25;\n --cui-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: var(--cui-btn-close-color);\n background: transparent var(--cui-btn-close-bg) center/1em auto no-repeat;\n border: 0;\n border-radius: 0.375rem;\n opacity: var(--cui-btn-close-opacity);\n}\n.btn-close:hover {\n color: var(--cui-btn-close-color);\n text-decoration: none;\n opacity: var(--cui-btn-close-hover-opacity);\n}\n.btn-close:focus {\n outline: 0;\n box-shadow: var(--cui-btn-close-focus-shadow);\n opacity: var(--cui-btn-close-focus-opacity);\n}\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--cui-btn-close-disabled-opacity);\n}\n\n.btn-close[data-coreui-theme=dark],\n.btn-close-white {\n filter: var(--cui-btn-close-white-filter);\n}\n\n.dark-theme .btn-close,\n[data-coreui-theme=dark] .btn-close {\n filter: var(--cui-btn-close-white-filter);\n}\n\n.toast {\n --cui-toast-zindex: 1090;\n --cui-toast-padding-x: 0.75rem;\n --cui-toast-padding-y: 0.5rem;\n --cui-toast-spacing: 1.5rem;\n --cui-toast-max-width: 350px;\n --cui-toast-font-size: 0.875rem;\n --cui-toast-color: ;\n --cui-toast-bg: rgba(var(--cui-body-bg-rgb), 0.85);\n --cui-toast-border-width: var(--cui-border-width);\n --cui-toast-border-color: var(--cui-border-color-translucent);\n --cui-toast-border-radius: var(--cui-border-radius);\n --cui-toast-box-shadow: var(--cui-box-shadow);\n --cui-toast-header-color: var(--cui-secondary-color);\n --cui-toast-header-bg: rgba(var(--cui-body-bg-rgb), 0.85);\n --cui-toast-header-border-color: var(--cui-border-color-translucent);\n width: var(--cui-toast-max-width);\n max-width: 100%;\n font-size: var(--cui-toast-font-size);\n color: var(--cui-toast-color);\n pointer-events: auto;\n background-color: var(--cui-toast-bg);\n background-clip: padding-box;\n border: var(--cui-toast-border-width) solid var(--cui-toast-border-color);\n box-shadow: var(--cui-toast-box-shadow);\n border-radius: var(--cui-toast-border-radius);\n}\n.toast.showing {\n opacity: 0;\n}\n.toast:not(.show) {\n display: none;\n}\n\n.toast-container {\n --cui-toast-zindex: 1090;\n position: absolute;\n z-index: var(--cui-toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n}\n.toast-container > :not(:last-child) {\n margin-bottom: var(--cui-toast-spacing);\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: var(--cui-toast-padding-y) var(--cui-toast-padding-x);\n color: var(--cui-toast-header-color);\n background-color: var(--cui-toast-header-bg);\n background-clip: padding-box;\n border-bottom: var(--cui-toast-border-width) solid var(--cui-toast-header-border-color);\n border-top-left-radius: calc(var(--cui-toast-border-radius) - var(--cui-toast-border-width));\n border-top-right-radius: calc(var(--cui-toast-border-radius) - var(--cui-toast-border-width));\n}\n.toast-header .btn-close {\n margin-right: calc(-0.5 * var(--cui-toast-padding-x));\n margin-left: var(--cui-toast-padding-x);\n}\n\n.toast-body {\n padding: var(--cui-toast-padding-x);\n word-wrap: break-word;\n}\n\n.modal {\n --cui-modal-zindex: 1055;\n --cui-modal-width: 500px;\n --cui-modal-padding: 1rem;\n --cui-modal-margin: 0.5rem;\n --cui-modal-color: ;\n --cui-modal-bg: var(--cui-body-bg);\n --cui-modal-border-color: var(--cui-border-color-translucent);\n --cui-modal-border-width: var(--cui-border-width);\n --cui-modal-border-radius: var(--cui-border-radius-lg);\n --cui-modal-box-shadow: var(--cui-box-shadow-sm);\n --cui-modal-inner-border-radius: calc(var(--cui-border-radius-lg) - (var(--cui-border-width)));\n --cui-modal-header-padding-x: 1rem;\n --cui-modal-header-padding-y: 1rem;\n --cui-modal-header-padding: 1rem 1rem;\n --cui-modal-header-border-color: var(--cui-border-color);\n --cui-modal-header-border-width: var(--cui-border-width);\n --cui-modal-title-line-height: 1.5;\n --cui-modal-footer-gap: 0.5rem;\n --cui-modal-footer-bg: ;\n --cui-modal-footer-border-color: var(--cui-border-color);\n --cui-modal-footer-border-width: var(--cui-border-width);\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--cui-modal-zindex);\n display: none;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: var(--cui-modal-margin);\n pointer-events: none;\n}\n.modal.fade .modal-dialog {\n transform: translate(0, -50px);\n transition: transform 0.3s ease-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n.modal.show .modal-dialog {\n transform: none;\n}\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - var(--cui-modal-margin) * 2);\n}\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - var(--cui-modal-margin) * 2);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n color: var(--cui-modal-color);\n pointer-events: auto;\n background-color: var(--cui-modal-bg);\n background-clip: padding-box;\n border: var(--cui-modal-border-width) solid var(--cui-modal-border-color);\n border-radius: var(--cui-modal-border-radius);\n outline: 0;\n}\n\n.modal-backdrop {\n --cui-backdrop-zindex: 1050;\n --cui-backdrop-bg: #080a0c;\n --cui-backdrop-opacity: 0.5;\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--cui-backdrop-zindex);\n width: 100vw;\n height: 100vh;\n background-color: var(--cui-backdrop-bg);\n}\n.modal-backdrop.fade {\n opacity: 0;\n}\n.modal-backdrop.show {\n opacity: var(--cui-backdrop-opacity);\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n padding: var(--cui-modal-header-padding);\n border-bottom: var(--cui-modal-header-border-width) solid var(--cui-modal-header-border-color);\n border-top-left-radius: var(--cui-modal-inner-border-radius);\n border-top-right-radius: var(--cui-modal-inner-border-radius);\n}\n.modal-header .btn-close {\n padding: calc(var(--cui-modal-header-padding-y) * 0.5) calc(var(--cui-modal-header-padding-x) * 0.5);\n margin: calc(-0.5 * var(--cui-modal-header-padding-y)) calc(-0.5 * var(--cui-modal-header-padding-x)) calc(-0.5 * var(--cui-modal-header-padding-y)) auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: var(--cui-modal-title-line-height);\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--cui-modal-padding);\n}\n\n.modal-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: calc(var(--cui-modal-padding) - var(--cui-modal-footer-gap) * 0.5);\n background-color: var(--cui-modal-footer-bg);\n border-top: var(--cui-modal-footer-border-width) solid var(--cui-modal-footer-border-color);\n border-bottom-right-radius: var(--cui-modal-inner-border-radius);\n border-bottom-left-radius: var(--cui-modal-inner-border-radius);\n}\n.modal-footer > * {\n margin: calc(var(--cui-modal-footer-gap) * 0.5);\n}\n\n@media (min-width: 576px) {\n .modal {\n --cui-modal-margin: 1.75rem;\n --cui-modal-box-shadow: var(--cui-box-shadow);\n }\n .modal-dialog {\n max-width: var(--cui-modal-width);\n margin-right: auto;\n margin-left: auto;\n }\n .modal-sm {\n --cui-modal-width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n --cui-modal-width: 800px;\n }\n}\n@media (min-width: 1200px) {\n .modal-xl {\n --cui-modal-width: 1140px;\n }\n}\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n.modal-fullscreen .modal-header,\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header,\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header,\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header,\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header,\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header,\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n}\n.tooltip {\n --cui-tooltip-zindex: 1080;\n --cui-tooltip-max-width: 200px;\n --cui-tooltip-padding-x: 0.5rem;\n --cui-tooltip-padding-y: 0.25rem;\n --cui-tooltip-margin: ;\n --cui-tooltip-font-size: 0.875rem;\n --cui-tooltip-color: var(--cui-body-bg);\n --cui-tooltip-bg: var(--cui-emphasis-color);\n --cui-tooltip-border-radius: var(--cui-border-radius);\n --cui-tooltip-opacity: 0.9;\n --cui-tooltip-arrow-width: 0.8rem;\n --cui-tooltip-arrow-height: 0.4rem;\n z-index: var(--cui-tooltip-zindex);\n display: block;\n margin: var(--cui-tooltip-margin);\n font-family: var(--cui-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--cui-tooltip-font-size);\n word-wrap: break-word;\n opacity: 0;\n}\n.tooltip.show {\n opacity: var(--cui-tooltip-opacity);\n}\n.tooltip .tooltip-arrow {\n display: block;\n width: var(--cui-tooltip-arrow-width);\n height: var(--cui-tooltip-arrow-height);\n}\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {\n bottom: calc(-1 * var(--cui-tooltip-arrow-height));\n}\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {\n top: -1px;\n border-width: var(--cui-tooltip-arrow-height) calc(var(--cui-tooltip-arrow-width) * 0.5) 0;\n border-top-color: var(--cui-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {\n left: calc(-1 * var(--cui-tooltip-arrow-height));\n width: var(--cui-tooltip-arrow-height);\n height: var(--cui-tooltip-arrow-width);\n}\n.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {\n right: -1px;\n border-width: calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height) calc(var(--cui-tooltip-arrow-width) * 0.5) 0;\n border-right-color: var(--cui-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {\n top: calc(-1 * var(--cui-tooltip-arrow-height));\n}\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height);\n border-bottom-color: var(--cui-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {\n right: calc(-1 * var(--cui-tooltip-arrow-height));\n width: var(--cui-tooltip-arrow-height);\n height: var(--cui-tooltip-arrow-width);\n}\n.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {\n left: -1px;\n border-width: calc(var(--cui-tooltip-arrow-width) * 0.5) 0 calc(var(--cui-tooltip-arrow-width) * 0.5) var(--cui-tooltip-arrow-height);\n border-left-color: var(--cui-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.tooltip-inner {\n max-width: var(--cui-tooltip-max-width);\n padding: var(--cui-tooltip-padding-y) var(--cui-tooltip-padding-x);\n color: var(--cui-tooltip-color);\n text-align: center;\n background-color: var(--cui-tooltip-bg);\n border-radius: var(--cui-tooltip-border-radius);\n}\n\n.popover {\n --cui-popover-zindex: 1070;\n --cui-popover-max-width: 276px;\n --cui-popover-font-size: 0.875rem;\n --cui-popover-bg: var(--cui-body-bg);\n --cui-popover-border-width: var(--cui-border-width);\n --cui-popover-border-color: var(--cui-border-color-translucent);\n --cui-popover-border-radius: var(--cui-border-radius-lg);\n --cui-popover-inner-border-radius: calc(var(--cui-border-radius-lg) - var(--cui-border-width));\n --cui-popover-box-shadow: var(--cui-box-shadow);\n --cui-popover-header-padding-x: 1rem;\n --cui-popover-header-padding-y: 0.5rem;\n --cui-popover-header-font-size: 1rem;\n --cui-popover-header-color: inherit;\n --cui-popover-header-bg: var(--cui-secondary-bg);\n --cui-popover-body-padding-x: 1rem;\n --cui-popover-body-padding-y: 1rem;\n --cui-popover-body-color: var(--cui-body-color);\n --cui-popover-arrow-width: 1rem;\n --cui-popover-arrow-height: 0.5rem;\n --cui-popover-arrow-border: var(--cui-popover-border-color);\n z-index: var(--cui-popover-zindex);\n display: block;\n max-width: var(--cui-popover-max-width);\n font-family: var(--cui-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--cui-popover-font-size);\n word-wrap: break-word;\n background-color: var(--cui-popover-bg);\n background-clip: padding-box;\n border: var(--cui-popover-border-width) solid var(--cui-popover-border-color);\n border-radius: var(--cui-popover-border-radius);\n}\n.popover .popover-arrow {\n display: block;\n width: var(--cui-popover-arrow-width);\n height: var(--cui-popover-arrow-height);\n}\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {\n bottom: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));\n}\n.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 {\n border-width: var(--cui-popover-arrow-height) calc(var(--cui-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-top-color: var(--cui-popover-arrow-border);\n}\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n bottom: var(--cui-popover-border-width);\n border-top-color: var(--cui-popover-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {\n left: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));\n width: var(--cui-popover-arrow-height);\n height: var(--cui-popover-arrow-width);\n}\n.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 {\n border-width: calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height) calc(var(--cui-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {\n left: 0;\n border-right-color: var(--cui-popover-arrow-border);\n}\n.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n left: var(--cui-popover-border-width);\n border-right-color: var(--cui-popover-bg);\n}\n\n/* rtl:end:ignore */\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {\n top: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));\n}\n.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 {\n border-width: 0 calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height);\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-bottom-color: var(--cui-popover-arrow-border);\n}\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n top: var(--cui-popover-border-width);\n border-bottom-color: var(--cui-popover-bg);\n}\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--cui-popover-arrow-width);\n margin-left: calc(-0.5 * var(--cui-popover-arrow-width));\n content: \"\";\n border-bottom: var(--cui-popover-border-width) solid var(--cui-popover-header-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {\n right: calc(-1 * (var(--cui-popover-arrow-height)) - var(--cui-popover-border-width));\n width: var(--cui-popover-arrow-height);\n height: var(--cui-popover-arrow-width);\n}\n.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 {\n border-width: calc(var(--cui-popover-arrow-width) * 0.5) 0 calc(var(--cui-popover-arrow-width) * 0.5) var(--cui-popover-arrow-height);\n}\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {\n right: 0;\n border-left-color: var(--cui-popover-arrow-border);\n}\n.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n right: var(--cui-popover-border-width);\n border-left-color: var(--cui-popover-bg);\n}\n\n/* rtl:end:ignore */\n.popover-header {\n padding: var(--cui-popover-header-padding-y) var(--cui-popover-header-padding-x);\n margin-bottom: 0;\n font-size: var(--cui-popover-header-font-size);\n color: var(--cui-popover-header-color);\n background-color: var(--cui-popover-header-bg);\n border-bottom: var(--cui-popover-border-width) solid var(--cui-popover-border-color);\n border-top-left-radius: var(--cui-popover-inner-border-radius);\n border-top-right-radius: var(--cui-popover-inner-border-radius);\n}\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: var(--cui-popover-body-padding-y) var(--cui-popover-body-padding-x);\n color: var(--cui-popover-body-color);\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-start),\n.active.carousel-item-end {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-end),\n.active.carousel-item-start {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-start,\n.carousel-fade .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n}\n.carousel-fade .active.carousel-item-start,\n.carousel-fade .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n padding: 0;\n color: #fff;\n text-align: center;\n background: none;\n border: 0;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n/* rtl:options: {\n \"autoRename\": true,\n \"stringMap\":[ {\n \"name\" : \"prev-next\",\n \"search\" : \"prev\",\n \"replace\" : \"next\"\n } ]\n} */\n.carousel-control-prev-icon {\n 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 0'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n 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-.708'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n margin-right: 15%;\n margin-bottom: 1rem;\n margin-left: 15%;\n}\n.carousel-indicators [data-coreui-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n padding: 0;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border: 0;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators [data-coreui-target] {\n transition: none;\n }\n}\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n.carousel-dark .carousel-indicators [data-coreui-target] {\n background-color: #080a0c;\n}\n.carousel-dark .carousel-caption {\n color: #080a0c;\n}\n\n.dark-theme .carousel .carousel-control-prev-icon,\n.dark-theme .carousel .carousel-control-next-icon, .dark-theme.carousel .carousel-control-prev-icon,\n.dark-theme.carousel .carousel-control-next-icon,\n[data-coreui-theme=dark] .carousel .carousel-control-prev-icon,\n[data-coreui-theme=dark] .carousel .carousel-control-next-icon,\n[data-coreui-theme=dark].carousel .carousel-control-prev-icon,\n[data-coreui-theme=dark].carousel .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n.dark-theme .carousel .carousel-indicators [data-coreui-target], .dark-theme.carousel .carousel-indicators [data-coreui-target],\n[data-coreui-theme=dark] .carousel .carousel-indicators [data-coreui-target],\n[data-coreui-theme=dark].carousel .carousel-indicators [data-coreui-target] {\n background-color: #080a0c;\n}\n.dark-theme .carousel .carousel-caption, .dark-theme.carousel .carousel-caption,\n[data-coreui-theme=dark] .carousel .carousel-caption,\n[data-coreui-theme=dark].carousel .carousel-caption {\n color: #080a0c;\n}\n\n.spinner-grow,\n.spinner-border {\n display: inline-block;\n width: var(--cui-spinner-width);\n height: var(--cui-spinner-height);\n vertical-align: var(--cui-spinner-vertical-align);\n border-radius: 50%;\n animation: var(--cui-spinner-animation-speed) linear infinite var(--cui-spinner-animation-name);\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg) /* rtl:ignore */;\n }\n}\n.spinner-border {\n --cui-spinner-width: 2rem;\n --cui-spinner-height: 2rem;\n --cui-spinner-vertical-align: -0.125em;\n --cui-spinner-border-width: 0.25em;\n --cui-spinner-animation-speed: 0.75s;\n --cui-spinner-animation-name: spinner-border;\n border: var(--cui-spinner-border-width) solid currentcolor;\n border-right-color: transparent;\n}\n\n.spinner-border-sm {\n --cui-spinner-width: 1rem;\n --cui-spinner-height: 1rem;\n --cui-spinner-border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n.spinner-grow {\n --cui-spinner-width: 2rem;\n --cui-spinner-height: 2rem;\n --cui-spinner-vertical-align: -0.125em;\n --cui-spinner-animation-speed: 0.75s;\n --cui-spinner-animation-name: spinner-grow;\n background-color: currentcolor;\n opacity: 0;\n}\n\n.spinner-grow-sm {\n --cui-spinner-width: 1rem;\n --cui-spinner-height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --cui-spinner-animation-speed: 1.5s;\n }\n}\n.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n --cui-offcanvas-zindex: 1045;\n --cui-offcanvas-width: 400px;\n --cui-offcanvas-height: 30vh;\n --cui-offcanvas-padding-x: 1rem;\n --cui-offcanvas-padding-y: 1rem;\n --cui-offcanvas-color: var(--cui-body-color);\n --cui-offcanvas-bg: var(--cui-body-bg);\n --cui-offcanvas-border-width: var(--cui-border-width);\n --cui-offcanvas-border-color: var(--cui-border-color-translucent);\n --cui-offcanvas-box-shadow: var(--cui-box-shadow-sm);\n --cui-offcanvas-transition: transform 0.3s ease-in-out;\n --cui-offcanvas-title-line-height: 1.5;\n}\n\n@media (max-width: 575.98px) {\n .offcanvas-sm {\n position: fixed;\n bottom: 0;\n z-index: var(--cui-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--cui-offcanvas-color);\n visibility: hidden;\n background-color: var(--cui-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--cui-offcanvas-transition);\n }\n}\n@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-sm {\n transition: none;\n }\n}\n@media (max-width: 575.98px) {\n .offcanvas-sm.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--cui-offcanvas-width);\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-sm.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--cui-offcanvas-width);\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-sm.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-sm.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n transform: none !important;\n }\n .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n visibility: visible;\n }\n}\n@media (min-width: 576px) {\n .offcanvas-sm {\n --cui-offcanvas-height: auto;\n --cui-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-sm .offcanvas-header {\n display: none;\n }\n .offcanvas-sm .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 767.98px) {\n .offcanvas-md {\n position: fixed;\n bottom: 0;\n z-index: var(--cui-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--cui-offcanvas-color);\n visibility: hidden;\n background-color: var(--cui-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--cui-offcanvas-transition);\n }\n}\n@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-md {\n transition: none;\n }\n}\n@media (max-width: 767.98px) {\n .offcanvas-md.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--cui-offcanvas-width);\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-md.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--cui-offcanvas-width);\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-md.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-md.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n transform: none !important;\n }\n .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n visibility: visible;\n }\n}\n@media (min-width: 768px) {\n .offcanvas-md {\n --cui-offcanvas-height: auto;\n --cui-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-md .offcanvas-header {\n display: none;\n }\n .offcanvas-md .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 991.98px) {\n .offcanvas-lg {\n position: fixed;\n bottom: 0;\n z-index: var(--cui-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--cui-offcanvas-color);\n visibility: hidden;\n background-color: var(--cui-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--cui-offcanvas-transition);\n }\n}\n@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-lg {\n transition: none;\n }\n}\n@media (max-width: 991.98px) {\n .offcanvas-lg.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--cui-offcanvas-width);\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-lg.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--cui-offcanvas-width);\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-lg.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-lg.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n transform: none !important;\n }\n .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n visibility: visible;\n }\n}\n@media (min-width: 992px) {\n .offcanvas-lg {\n --cui-offcanvas-height: auto;\n --cui-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-lg .offcanvas-header {\n display: none;\n }\n .offcanvas-lg .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1199.98px) {\n .offcanvas-xl {\n position: fixed;\n bottom: 0;\n z-index: var(--cui-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--cui-offcanvas-color);\n visibility: hidden;\n background-color: var(--cui-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--cui-offcanvas-transition);\n }\n}\n@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xl {\n transition: none;\n }\n}\n@media (max-width: 1199.98px) {\n .offcanvas-xl.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--cui-offcanvas-width);\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-xl.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--cui-offcanvas-width);\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-xl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-xl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n transform: none !important;\n }\n .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1200px) {\n .offcanvas-xl {\n --cui-offcanvas-height: auto;\n --cui-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xl .offcanvas-header {\n display: none;\n }\n .offcanvas-xl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1399.98px) {\n .offcanvas-xxl {\n position: fixed;\n bottom: 0;\n z-index: var(--cui-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--cui-offcanvas-color);\n visibility: hidden;\n background-color: var(--cui-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--cui-offcanvas-transition);\n }\n}\n@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xxl {\n transition: none;\n }\n}\n@media (max-width: 1399.98px) {\n .offcanvas-xxl.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--cui-offcanvas-width);\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-xxl.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--cui-offcanvas-width);\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-xxl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-xxl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {\n transform: none !important;\n }\n .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1400px) {\n .offcanvas-xxl {\n --cui-offcanvas-height: auto;\n --cui-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xxl .offcanvas-header {\n display: none;\n }\n .offcanvas-xxl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n.offcanvas {\n position: fixed;\n bottom: 0;\n z-index: var(--cui-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--cui-offcanvas-color);\n visibility: hidden;\n background-color: var(--cui-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--cui-offcanvas-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .offcanvas {\n transition: none;\n }\n}\n.offcanvas.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--cui-offcanvas-width);\n border-right: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateX(-100%);\n}\n.offcanvas.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--cui-offcanvas-width);\n border-left: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateX(100%);\n}\n.offcanvas.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(-100%);\n}\n.offcanvas.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--cui-offcanvas-height);\n max-height: 100%;\n border-top: var(--cui-offcanvas-border-width) solid var(--cui-offcanvas-border-color);\n transform: translateY(100%);\n}\n.offcanvas.showing, .offcanvas.show:not(.hiding) {\n transform: none !important;\n}\n.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n visibility: visible;\n}\n\n.offcanvas-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: var(--cui-offcanvas-backdrop-bg, #080a0c);\n}\n.offcanvas-backdrop.fade {\n opacity: 0;\n}\n.offcanvas-backdrop.show {\n opacity: 0.5;\n}\n\n.offcanvas-header {\n display: flex;\n align-items: center;\n padding: var(--cui-offcanvas-padding-y) var(--cui-offcanvas-padding-x);\n}\n.offcanvas-header .btn-close {\n padding: calc(var(--cui-offcanvas-padding-y) * 0.5) calc(var(--cui-offcanvas-padding-x) * 0.5);\n margin-inline: auto calc(-0.5 * var(--cui-offcanvas-padding-x));\n margin-top: calc(-0.5 * var(--cui-offcanvas-padding-y));\n margin-bottom: calc(-0.5 * var(--cui-offcanvas-padding-y));\n}\n\n.offcanvas-title {\n margin-bottom: 0;\n line-height: var(--cui-offcanvas-title-line-height);\n}\n\n.offcanvas-body {\n flex-grow: 1;\n padding: var(--cui-offcanvas-padding-y) var(--cui-offcanvas-padding-x);\n overflow-y: auto;\n}\n\n.placeholder {\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: 0.5;\n}\n.placeholder.btn::before {\n display: inline-block;\n content: \"\";\n}\n\n.placeholder-xs {\n min-height: 0.6em;\n}\n\n.placeholder-sm {\n min-height: 0.8em;\n}\n\n.placeholder-lg {\n min-height: 1.2em;\n}\n\n.placeholder-glow .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n}\n\n@keyframes placeholder-glow {\n 50% {\n opacity: 0.2;\n }\n}\n.placeholder-wave {\n mask-image: linear-gradient(130deg, #080a0c 55%, rgba(0, 0, 0, 0.8) 75%, #080a0c 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n}\n\n@keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n}\n.avatar {\n --cui-avatar-width: 2rem;\n --cui-avatar-height: 2rem;\n --cui-avatar-font-size: 0.8rem;\n --cui-avatar-border-radius: 50em;\n --cui-avatar-status-width: 0.5rem;\n --cui-avatar-status-height: 0.5rem;\n --cui-avatar-status-border-radius: 50em;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--cui-avatar-width);\n height: var(--cui-avatar-height);\n font-size: var(--cui-avatar-font-size);\n vertical-align: middle;\n border-radius: var(--cui-avatar-border-radius);\n transition: margin 0.15s;\n}\n@media (prefers-reduced-motion: reduce) {\n .avatar {\n transition: none;\n }\n}\n\n.avatar-img {\n width: 100%;\n height: auto;\n border-radius: var(--cui-avatar-border-radius);\n}\n\n.avatar-status {\n position: absolute;\n right: 0;\n bottom: 0;\n display: block;\n width: var(--cui-avatar-status-width);\n height: var(--cui-avatar-status-height);\n border: 1px solid #fff;\n border-radius: var(--cui-avatar-status-border-radius);\n}\n\n.avatar-sm {\n --cui-avatar-width: 1.5rem;\n --cui-avatar-height: 1.5rem;\n --cui-avatar-font-size: 0.6rem;\n --cui-avatar-status-width: 0.4rem;\n --cui-avatar-status-height: 0.4rem;\n}\n\n.avatar-md {\n --cui-avatar-width: 2.5rem;\n --cui-avatar-height: 2.5rem;\n --cui-avatar-font-size: 1rem;\n --cui-avatar-status-width: 0.7rem;\n --cui-avatar-status-height: 0.7rem;\n}\n\n.avatar-lg {\n --cui-avatar-width: 3rem;\n --cui-avatar-height: 3rem;\n --cui-avatar-font-size: 1.2rem;\n --cui-avatar-status-width: 0.8rem;\n --cui-avatar-status-height: 0.8rem;\n}\n\n.avatar-xl {\n --cui-avatar-width: 4rem;\n --cui-avatar-height: 4rem;\n --cui-avatar-font-size: 1.6rem;\n --cui-avatar-status-width: 1rem;\n --cui-avatar-status-height: 1rem;\n}\n\n.avatars-stack {\n display: flex;\n}\n.avatars-stack .avatar {\n margin-right: calc(-0.4 * var(--cui-avatar-width));\n}\n.avatars-stack .avatar:hover {\n margin-right: 0;\n}\n\n.calendar {\n --cui-calendar-table-margin: 0.5rem;\n --cui-calendar-table-cell-size: 2.75rem;\n --cui-calendar-nav-padding: 0.5rem;\n --cui-calendar-nav-border-color: var(--cui-border-color);\n --cui-calendar-nav-border: 1px solid var(--cui-calendar-nav-border-color);\n --cui-calendar-nav-date-color: var(--cui-body-color);\n --cui-calendar-nav-date-hover-color: var(--cui-primary);\n --cui-calendar-nav-icon-width: 1rem;\n --cui-calendar-nav-icon-height: 1rem;\n --cui-calendar-nav-icon-double-next: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpolygon fill='%23000' points='95.314 447.313 72.686 424.687 245.373 252 72.686 79.313 95.314 56.687 290.627 252 95.314 447.313'%3e%3c/polygon%3e%3cpolygon fill='%23000' points='255.314 447.313 232.686 424.687 405.373 252 232.686 79.313 255.314 56.687 450.627 252 255.314 447.313'%3e%3c/polygon%3e%3c/svg%3e\");\n --cui-calendar-nav-icon-double-prev: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpolygon fill='%23000' points='416.686 447.313 221.373 252 416.686 56.687 439.314 79.313 266.627 252 439.314 424.687 416.686 447.313'%3e%3c/polygon%3e%3cpolygon fill='%23000' points='256.686 447.313 61.373 252 256.686 56.687 279.314 79.313 106.627 252 279.314 424.687 256.686 447.313'%3e%3c/polygon%3e%3c/svg%3e\");\n --cui-calendar-nav-icon-next: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpolygon fill='%23000' points='179.313 451.313 156.687 428.687 329.372 256 156.687 83.313 179.313 60.687 374.627 256 179.313 451.313'%3e%3c/polygon%3e%3c/svg%3e\");\n --cui-calendar-nav-icon-prev: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpolygon fill='%23000' points='324.687 451.313 129.373 256 324.687 60.687 347.313 83.313 174.628 256 347.313 428.687 324.687 451.313'%3e%3c/polygon%3e%3c/svg%3e\");\n --cui-calendar-nav-icon-color: var(--cui-tertiary-color);\n --cui-calendar-nav-icon-hover-color: var(--cui-body-color);\n --cui-calendar-cell-header-inner-color: var(--cui-secondary-color);\n --cui-calendar-cell-week-number-color: var(--cui-secondary-color);\n --cui-calendar-cell-hover-color: var(--cui-body-color);\n --cui-calendar-cell-hover-bg: var(--cui-tertiary-bg);\n --cui-calendar-cell-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n --cui-calendar-cell-disabled-color: var(--cui-tertiary-color);\n --cui-calendar-cell-selected-color: #fff;\n --cui-calendar-cell-selected-bg: var(--cui-primary);\n --cui-calendar-cell-range-bg: rgba(var(--cui-primary-rgb), 0.125);\n --cui-calendar-cell-range-hover-bg: rgba(var(--cui-primary-rgb), 0.25);\n --cui-calendar-cell-range-hover-border-color: var(--cui-primary);\n --cui-calendar-cell-today-color: var(--cui-danger);\n --cui-calendar-cell-week-number-color: var(--cui-secondary-color);\n font-weight: initial;\n}\n.calendar table {\n width: calc(var(--cui-calendar-table-cell-size) * 7);\n margin: var(--cui-calendar-table-margin);\n}\n.calendar table th,\n.calendar table td {\n width: var(--cui-calendar-table-cell-size);\n}\n.calendar.months ~ .time-picker, .calendar.years ~ .time-picker {\n display: none;\n}\n@media (max-width: 575.98px) {\n .calendar:not(:first-child) .calendar-nav {\n border-top: var(--cui-calendar-nav-border);\n }\n}\n\n.show-week-numbers table {\n width: calc(var(--cui-calendar-table-cell-size) * 8);\n}\n\n.calendars {\n display: flex;\n flex-basis: min-content;\n}\n@media (max-width: 575.98px) {\n .calendars {\n flex-wrap: wrap;\n }\n}\n\n.calendar-nav {\n display: flex;\n align-items: baseline;\n padding: var(--cui-calendar-nav-padding);\n border-bottom: var(--cui-calendar-nav-border);\n}\n\n.calendar-nav-date {\n flex: 1;\n text-align: center;\n}\n.calendar-nav-date .btn {\n font-weight: 600;\n color: var(--cui-calendar-nav-date-color);\n}\n.calendar-nav-date .btn:hover {\n color: var(--cui-calendar-nav-date-hover-color);\n}\n\n.calendar-nav-icon {\n display: block;\n width: var(--cui-calendar-nav-icon-width);\n height: var(--cui-calendar-nav-icon-height);\n background-color: var(--cui-calendar-nav-icon-color);\n transition: background-image 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .calendar-nav-icon {\n transition: none;\n }\n}\n.calendar-nav-icon:hover {\n background-color: var(--cui-calendar-nav-icon-hover-color);\n}\n\n.calendar-nav-icon-double-next {\n mask: var(--cui-calendar-nav-icon-double-next) no-repeat center;\n}\n\n.calendar-nav-icon-double-prev {\n mask: var(--cui-calendar-nav-icon-double-prev) no-repeat center;\n}\n\n.calendar-nav-icon-next {\n mask: var(--cui-calendar-nav-icon-next) no-repeat center;\n}\n\n.calendar-nav-icon-prev {\n mask: var(--cui-calendar-nav-icon-prev) no-repeat center;\n}\n\n.calendar-header-cell-inner {\n display: flex;\n align-items: center;\n justify-content: center;\n height: var(--cui-calendar-table-cell-size);\n font-weight: 600;\n color: var(--cui-calendar-cell-header-inner-color);\n}\n\n.calendar-cell-week-number {\n font-weight: 600;\n color: var(--cui-calendar-cell-week-number-color);\n}\n\n.calendar-cell-inner {\n display: flex;\n align-items: center;\n justify-content: center;\n height: var(--cui-calendar-table-cell-size);\n}\n\n.calendar-row,\n.calendar-cell {\n text-align: center;\n}\n.calendar-row.disabled .calendar-cell-inner, .calendar-row.next .calendar-cell-inner, .calendar-row.previous .calendar-cell-inner,\n.calendar-cell.disabled .calendar-cell-inner,\n.calendar-cell.next .calendar-cell-inner,\n.calendar-cell.previous .calendar-cell-inner {\n color: var(--cui-calendar-cell-disabled-color);\n cursor: not-allowed;\n}\n.calendar-row.range .calendar-cell-inner,\n.calendar-cell.range .calendar-cell-inner {\n position: relative;\n}\n.calendar-row.range .calendar-cell-inner::after,\n.calendar-cell.range .calendar-cell-inner::after {\n position: absolute;\n width: 100%;\n height: 100%;\n content: \"\";\n background: var(--cui-calendar-cell-range-bg);\n}\n.calendar-row.range-hover .calendar-cell-inner,\n.calendar-cell.range-hover .calendar-cell-inner {\n position: relative;\n}\n.calendar-row.range-hover .calendar-cell-inner::before,\n.calendar-cell.range-hover .calendar-cell-inner::before {\n position: absolute;\n width: 100%;\n height: 100%;\n content: \"\";\n border-top: 1px dashed var(--cui-calendar-cell-selected-bg);\n border-bottom: 1px dashed var(--cui-calendar-cell-selected-bg);\n border-radius: 0;\n}\n.calendar-row.selected:not(th, .next, .previous) .calendar-cell-inner,\n.calendar-cell.selected:not(th, .next, .previous) .calendar-cell-inner {\n color: var(--cui-calendar-cell-selected-color);\n background-color: var(--cui-calendar-cell-selected-bg);\n}\n.calendar-row.today .calendar-cell-inner,\n.calendar-cell.today .calendar-cell-inner {\n color: var(--cui-calendar-cell-today-color);\n}\n\n.calendar-cell {\n padding: 1px 0;\n}\n.calendars:not(.select-week) .calendar-cell:not(.disabled, .next, .previous):hover .calendar-cell-inner, .calendars:not(.select-week) .calendar-cell.clickable:hover .calendar-cell-inner {\n color: var(--cui-calendar-cell-hover-color);\n cursor: pointer;\n background-color: var(--cui-calendar-cell-hover-bg);\n border-radius: 0.375rem;\n}\n.calendars:not(.select-week) .calendar-cell.range:not(.range ~ *) .calendar-cell-inner::after {\n border-start-start-radius: 0.375rem;\n border-end-start-radius: 0.375rem;\n}\n.calendars:not(.select-week) .calendar-cell.range:not(:has(~ .range)) .calendar-cell-inner::after {\n border-start-end-radius: 0.375rem;\n border-end-end-radius: 0.375rem;\n}\n.calendar-cell.range-hover:first-of-type .calendar-cell-inner::before, .calendar-cell:not(.range-hover) + .calendar-cell.range-hover .calendar-cell-inner::before {\n border-inline-start: 1px dashed var(--cui-calendar-cell-selected-bg);\n border-start-start-radius: 0.375rem;\n border-end-start-radius: 0.375rem;\n}\n.calendar-cell.range-hover:not(:has(~ .range-hover)) .calendar-cell-inner::before {\n border-inline-end: 1px dashed var(--cui-calendar-cell-selected-bg);\n border-start-end-radius: 0.375rem;\n border-end-end-radius: 0.375rem;\n}\n@-moz-document url-prefix() {\n .calendars:not(.select-week) .calendar-cell:nth-last-child(1 of .range) .calendar-cell-inner::after, .calendars:not(.select-week) .calendar-cell:nth-last-child(1 of .available) .calendar-cell-inner::after {\n border-start-end-radius: 0.375rem;\n border-end-end-radius: 0.375rem;\n }\n .calendar-cell:nth-last-child(1 of .range-hover) .calendar-cell-inner::before {\n border-inline-end: 1px dashed var(--cui-calendar-cell-selected-bg);\n border-start-end-radius: 0.375rem;\n border-end-end-radius: 0.375rem;\n }\n}\n.calendar-cell.selected:not(th) .calendar-cell-inner {\n border-radius: 0.375rem;\n}\n.calendars:not(.select-week) .calendar-cell:focus-visible {\n outline: 0;\n}\n.calendars:not(.select-week) .calendar-cell:focus-visible .calendar-cell-inner {\n box-shadow: var(--cui-calendar-cell-focus-box-shadow);\n border-radius: 0.375rem;\n}\n\n.calendars.select-week .calendar-row:not(.disabled):hover .calendar-cell-inner, .calendars.select-week .calendar-row.clickable:hover .calendar-cell-inner {\n color: var(--cui-calendar-cell-hover-color);\n cursor: pointer;\n background-color: var(--cui-calendar-cell-hover-bg);\n}\n.calendar-row .selected:not(th) .calendar-cell-inner {\n border-radius: 0.375rem;\n}\n.calendar-row .calendar-cell:first-of-type .calendar-cell-inner {\n border-start-start-radius: 0.375rem;\n border-end-start-radius: 0.375rem;\n}\n.calendar-row .calendar-cell:first-of-type .calendar-cell-inner::before, .calendar-row .calendar-cell:first-of-type .calendar-cell-inner::after {\n border-start-start-radius: 0.375rem;\n border-end-start-radius: 0.375rem;\n}\n.calendar-row .calendar-cell:last-of-type .calendar-cell-inner {\n border-start-end-radius: 0.375rem;\n border-end-end-radius: 0.375rem;\n}\n.calendar-row .calendar-cell:last-of-type .calendar-cell-inner::before, .calendar-row .calendar-cell:last-of-type .calendar-cell-inner::after {\n border-start-end-radius: 0.375rem;\n border-end-end-radius: 0.375rem;\n}\n.calendar-row.range-hover .calendar-cell:first-of-type .calendar-cell-inner::before {\n border-inline-start: 1px dashed var(--cui-calendar-cell-selected-bg);\n}\n.calendar-row.range-hover .calendar-cell:last-of-type .calendar-cell-inner::before {\n border-inline-end: 1px dashed var(--cui-calendar-cell-selected-bg);\n}\n.calendar-row:focus-visible {\n outline: 0;\n box-shadow: var(--cui-calendar-cell-focus-box-shadow);\n border-radius: 0.375rem;\n}\n\n.callout {\n --cui-callout-padding-x: 1rem;\n --cui-callout-padding-y: 1rem;\n --cui-callout-margin-x: 0;\n --cui-callout-margin-y: 1rem;\n --cui-callout-border-width: var(--cui-border-width);\n --cui-callout-border-color: var(--cui-border-color);\n --cui-callout-border-left-width: calc(var(--cui-border-width) * 4);\n --cui-callout-border-radius: var(--cui-border-radius);\n padding: var(--cui-callout-padding-y) var(--cui-callout-padding-x);\n margin: var(--cui-callout-margin-y) var(--cui-callout-margin-x);\n border: var(--cui-callout-border-width) solid var(--cui-callout-border-color);\n border-left-width: var(--cui-callout-border-left-width);\n border-left-color: var(--cui-callout-border-left-color);\n border-radius: var(--cui-callout-border-radius);\n}\n\n.callout-primary {\n --cui-callout-border-left-color: #5856d6;\n}\n\n.callout-secondary {\n --cui-callout-border-left-color: #6b7785;\n}\n\n.callout-success {\n --cui-callout-border-left-color: #1b9e3e;\n}\n\n.callout-danger {\n --cui-callout-border-left-color: #e55353;\n}\n\n.callout-warning {\n --cui-callout-border-left-color: #f9b115;\n}\n\n.callout-info {\n --cui-callout-border-left-color: #39f;\n}\n\n.callout-light {\n --cui-callout-border-left-color: #f3f4f7;\n}\n\n.callout-dark {\n --cui-callout-border-left-color: #212631;\n}\n\n.date-picker,\n*:not(.date-picker) > .date-picker-dropdown {\n --cui-date-picker-zindex: 1000;\n --cui-date-picker-font-family: ;\n --cui-date-picker-font-size: 1rem;\n --cui-date-picker-font-weight: 400;\n --cui-date-picker-line-height: 1.5;\n --cui-date-picker-color: var(--cui-body-color);\n --cui-date-picker-bg: var(--cui-body-bg);\n --cui-date-picker-box-shadow: inset 0 1px 2px rgba(8, 10, 12, 0.075);\n --cui-date-picker-border-width: var(--cui-border-width);\n --cui-date-picker-border-color: var(--cui-border-color);\n --cui-date-picker-border-radius: 0.375rem;\n --cui-date-picker-disabled-color: var(--cui-body-color);\n --cui-date-picker-disabled-bg: var(--cui-secondary-bg);\n --cui-date-picker-disabled-border-color: var(--cui-border-color);\n --cui-date-picker-focus-color: var(--cui-body-color);\n --cui-date-picker-focus-bg: var(--cui-body-bg);\n --cui-date-picker-focus-border-color: #acabeb;\n --cui-date-picker-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n --cui-date-picker-placeholder-color: var(--cui-secondary-color);\n --cui-date-picker-padding-y: 0.375rem;\n --cui-date-picker-padding-x: 0.75rem;\n --cui-date-picker-gap: 0.75rem;\n --cui-date-picker-indicator-width: 1.25rem;\n --cui-date-picker-indicator-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpath fill='%23000' d='M472,96H384V40H352V96H160V40H128V96H40a24.028,24.028,0,0,0-24,24V456a24.028,24.028,0,0,0,24,24H472a24.028,24.028,0,0,0,24-24V120A24.028,24.028,0,0,0,472,96Zm-8,352H48V128h80v40h32V128H352v40h32V128h80Z'%3e%3c/path%3e%3crect width='32' height='32' x='112' y='224' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='200' y='224' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='280' y='224' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='368' y='224' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='112' y='296' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='200' y='296' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='280' y='296' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='368' y='296' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='112' y='368' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='200' y='368' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='280' y='368' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='368' y='368' fill='%23000'%3e%3c/rect%3e%3c/svg%3e\");\n --cui-date-picker-indicator-icon-color: var(--cui-tertiary-color);\n --cui-date-picker-indicator-icon-size: 1rem;\n --cui-date-picker-cleaner-width: 1.25rem;\n --cui-date-picker-cleaner-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpolygon fill='%23000' points='306.912 214.461 256 265.373 205.088 214.461 182.461 237.088 233.373 288 182.461 338.912 205.088 361.539 256 310.627 306.912 361.539 329.539 338.912 278.627 288 329.539 237.088 306.912 214.461'%3e%3c/polygon%3e%3cpath fill='%23000' d='M472,96H384V40H352V96H160V40H128V96H40a24.028,24.028,0,0,0-24,24V456a24.028,24.028,0,0,0,24,24H472a24.028,24.028,0,0,0,24-24V120A24.028,24.028,0,0,0,472,96Zm-8,352H48V128h80v40h32V128H352v40h32V128h80Z'%3e%3c/path%3e%3c/svg%3e\");\n --cui-date-picker-cleaner-icon-color: var(--cui-tertiary-color);\n --cui-date-picker-cleaner-icon-hover-color: var(--cui-body-color);\n --cui-date-picker-cleaner-icon-size: 1rem;\n --cui-date-picker-separator-width: 1.25rem;\n --cui-date-picker-separator-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpolygon fill='%23000' points='359.873 121.377 337.246 144.004 433.243 240.001 16 240.001 16 240.002 16 272.001 16 272.002 433.24 272.002 337.246 367.996 359.873 390.623 494.498 256 359.873 121.377'%3e%3c/polygon%3e%3c/svg%3e\");\n --cui-date-picker-separator-icon-rtl: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpolygon fill='%23000' points='497.333 239.999 80.092 239.999 176.087 144.004 153.46 121.377 18.837 256 153.46 390.623 176.087 367.996 80.09 271.999 497.333 271.999 497.333 239.999'%3e%3c/polygon%3e%3c/svg%3e\");\n --cui-date-picker-separator-icon-size: 1rem;\n --cui-date-picker-dropdown-bg: var(--cui-body-bg);\n --cui-date-picker-dropdown-border-width: var(--cui-border-width);\n --cui-date-picker-dropdown-border-color: var(--cui-border-color);\n --cui-date-picker-dropdown-border-radius: var(--cui-border-radius);\n --cui-date-picker-dropdown-box-shadow: var(--cui-box-shadow);\n --cui-date-picker-ranges-width: 10rem;\n --cui-date-picker-ranges-padding: 0.5rem;\n --cui-date-picker-ranges-border-width: 1px;\n --cui-date-picker-ranges-border-color: var(--cui-border-color);\n --cui-date-picker-timepicker-width: 20.25rem;\n --cui-date-picker-timepicker-border-color: var(--cui-border-color);\n --cui-date-picker-timepicker-border-top: 1px solid var(--cui-date-picker-timepicker-border-color);\n --cui-date-picker-footer-padding: 0.5rem;\n --cui-date-picker-footer-border-width: 1px;\n --cui-date-picker-footer-border-color: var(--cui-border-color);\n}\n.date-picker.is-invalid,\n*:not(.date-picker) > .date-picker-dropdown.is-invalid {\n --cui-date-picker-border-color: var(--cui-form-invalid-border-color) !important;\n --cui-date-picker-indicator-icon-color: var(--cui-form-invalid-color) !important;\n --cui-date-picker-indicator-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpath fill='%23000' d='M472,96H384V40H352V96H160V40H128V96H40a24.028,24.028,0,0,0-24,24V456a24.028,24.028,0,0,0,24,24H472a24.028,24.028,0,0,0,24-24V120A24.028,24.028,0,0,0,472,96Zm-8,352H48V128h80v40h32V128H352v40h32V128h80Z'%3e%3c/path%3e%3crect width='32' height='32' x='112' y='224' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='200' y='224' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='280' y='224' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='368' y='224' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='112' y='296' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='200' y='296' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='280' y='296' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='368' y='296' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='112' y='368' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='200' y='368' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='280' y='368' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='368' y='368' fill='%23000'%3e%3c/rect%3e%3c/svg%3e\") !important;\n}\n.date-picker.is-valid,\n*:not(.date-picker) > .date-picker-dropdown.is-valid {\n --cui-date-picker-border-color: var(--cui-form-valid-border-color) !important;\n --cui-date-picker-indicator-icon-color: var(--cui-form-valid-color) !important;\n --cui-date-picker-indicator-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpath fill='%23000' d='M472,96H384V40H352V96H160V40H128V96H40a24.028,24.028,0,0,0-24,24V456a24.028,24.028,0,0,0,24,24H472a24.028,24.028,0,0,0,24-24V120A24.028,24.028,0,0,0,472,96Zm-8,352H48V128h80v40h32V128H352v40h32V128h80Z'%3e%3c/path%3e%3crect width='32' height='32' x='112' y='224' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='200' y='224' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='280' y='224' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='368' y='224' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='112' y='296' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='200' y='296' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='280' y='296' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='368' y='296' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='112' y='368' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='200' y='368' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='280' y='368' fill='%23000'%3e%3c/rect%3e%3crect width='32' height='32' x='368' y='368' fill='%23000'%3e%3c/rect%3e%3c/svg%3e\") !important;\n}\n\n.date-picker-input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n gap: var(--cui-date-picker-gap);\n align-items: stretch;\n width: 100%;\n padding: var(--cui-date-picker-padding-y) var(--cui-date-picker-padding-x);\n background-color: var(--cui-date-picker-bg);\n background-clip: padding-box;\n border: var(--cui-date-picker-border-width) solid var(--cui-date-picker-border-color);\n border-radius: var(--cui-date-picker-border-radius);\n}\n.date-picker-input-group:hover .date-picker-input:not(:placeholder-shown) ~ .date-picker-indicator:not(:last-child) {\n display: none;\n}\n.date-picker-input-group:hover .date-picker-input:not(:placeholder-shown) ~ .date-picker-cleaner {\n display: flex;\n}\n.date-picker .date-picker-input-group {\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .date-picker .date-picker-input-group {\n transition: none;\n }\n}\n.date-picker.disabled .date-picker-input-group {\n --cui-date-picker-border-color: var(--cui-date-picker-disabled-border-color);\n background-color: var(--cui-date-picker-disabled-bg);\n}\n.date-picker.show .date-picker-input-group, .date-picker-input-group:has(*:focus) {\n background-color: var(--cui-date-picker-focus-bg);\n border-color: var(--cui-date-picker-focus-border-color);\n outline: 0;\n box-shadow: var(--cui-date-picker-focus-box-shadow);\n}\n\n.date-picker-input {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n padding: 0;\n font-family: var(--cui-date-picker-font-family);\n font-size: var(--cui-date-picker-font-size);\n font-weight: var(--cui-date-picker-font-weight);\n line-height: var(--cui-date-picker-line-height);\n color: var(--cui-date-picker-color);\n appearance: none;\n background: transparent;\n border: 0;\n}\n.date-picker.show .date-picker-input {\n color: var(--cui-date-picker-focus-color);\n}\n.date-picker-input:disabled {\n color: var(--cui-date-picker-disabled-color);\n}\n.date-picker-input:focus {\n z-index: 5;\n outline: 0;\n}\n.date-picker-input::placeholder {\n color: var(--cui-date-picker-placeholder-color);\n opacity: 1;\n}\n.date-picker-input.hover {\n color: var(--cui-date-picker-placeholder-color);\n}\n\n.date-picker-cleaner,\n.date-picker-separator,\n.date-picker-indicator {\n position: relative;\n background-repeat: no-repeat;\n background-position: center;\n}\n.date-picker-cleaner::before,\n.date-picker-separator::before,\n.date-picker-indicator::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n}\n\n.date-picker-cleaner {\n display: none;\n width: var(--cui-date-picker-cleaner-width);\n}\n.date-picker-cleaner::before {\n background-color: var(--cui-date-picker-cleaner-icon-color);\n mask: var(--cui-date-picker-cleaner-icon) center/var(--cui-date-picker-cleaner-icon-size) no-repeat;\n}\n.date-picker-cleaner:hover::before {\n background-color: var(--cui-date-picker-cleaner-icon-hover-color);\n}\n\n.date-picker-indicator {\n width: var(--cui-date-picker-indicator-width);\n}\n.date-picker-indicator::before {\n background-color: var(--cui-date-picker-indicator-icon-color);\n mask: var(--cui-date-picker-indicator-icon) center/var(--cui-date-picker-indicator-icon-size) no-repeat;\n}\n.date-picker-indicator:focus {\n z-index: 5;\n outline: 0;\n box-shadow: var(--cui-focus-ring-x, 0) var(--cui-focus-ring-y, 0) var(--cui-focus-ring-blur, 0) var(--cui-focus-ring-width) var(--cui-focus-ring-color);\n border-radius: 0.375rem;\n}\n\n.date-picker-separator {\n width: var(--cui-date-picker-separator-width);\n}\n.date-picker-separator::before {\n background-color: var(--cui-tertiary-color);\n mask: var(--cui-date-picker-separator-icon) center/var(--cui-date-picker-separator-icon-size) no-repeat;\n}\n\n.date-picker-dropdown {\n position: absolute;\n z-index: var(--cui-date-picker-zindex);\n display: none;\n width: min-content;\n background-color: var(--cui-date-picker-dropdown-bg);\n background-clip: padding-box;\n border: var(--cui-date-picker-dropdown-border-width) solid var(--cui-date-picker-dropdown-border-color);\n border-radius: var(--cui-date-picker-dropdown-border-radius);\n}\n.date-picker.show .date-picker-dropdown, .date-picker-dropdown.show {\n display: block;\n}\n\n.date-picker-body {\n display: grid;\n grid-template-areas: \"ranges calendars\" \"ranges timepickers\";\n grid-template-rows: auto;\n grid-template-columns: auto auto;\n}\n\n.date-picker-footer {\n display: flex;\n justify-content: flex-end;\n padding: var(--cui-date-picker-footer-padding);\n border-top: var(--cui-date-picker-footer-border-width) solid var(--cui-date-picker-footer-border-color);\n}\n.date-picker-footer .btn + .btn {\n margin-inline-start: 0.5rem;\n}\n\n.date-picker-ranges {\n grid-area: ranges;\n width: var(--cui-date-picker-ranges-width);\n padding: var(--cui-date-picker-ranges-padding);\n border-inline-end: var(--cui-date-picker-ranges-border-width) solid var(--cui-date-picker-ranges-border-color);\n}\n\n.date-picker-calendars {\n display: flex;\n grid-area: calendars;\n}\n.date-picker-calendars .date-picker-calendar:not(:last-child) .calendar-navigation-next {\n visibility: hidden;\n}\n.date-picker-calendars .date-picker-calendar:not(:first-child) .calendar-navigation-prev {\n visibility: hidden;\n}\n\n.date-picker-timepickers {\n display: flex;\n flex-wrap: wrap;\n grid-area: timepickers;\n justify-content: space-between;\n border-top: var(--cui-date-picker-timepicker-border-top);\n}\n.date-picker-timepickers .time-picker {\n width: var(--cui-date-picker-timepicker-width);\n}\n@media (max-width: 767.98px) {\n .date-picker-timepickers {\n display: block;\n }\n .date-picker-timepickers .time-picker {\n width: 100%;\n }\n .date-picker-timepickers .time-picker + .time-picker {\n border-top: var(--cui-date-picker-timepicker-border-top);\n }\n}\n\n.date-picker-sm {\n --cui-date-picker-font-size: 0.875rem;\n --cui-date-picker-border-radius: 0.25rem;\n --cui-date-picker-padding-y: 0.25rem;\n --cui-date-picker-padding-x: 0.5rem;\n --cui-date-picker-gap: 0.5rem;\n --cui-date-picker-cleaner-width: 1rem;\n --cui-date-picker-cleaner-icon-size: 0.875rem;\n --cui-date-picker-indicator-width: 1rem;\n --cui-date-picker-indicator-icon-size: 0.875rem;\n --cui-date-picker-separator-width: 1rem;\n --cui-date-picker-separator-icon-size: 0.875rem;\n}\n\n.date-picker-lg {\n --cui-date-picker-font-size: 1.25rem;\n --cui-date-picker-border-radius: 0.5rem;\n --cui-date-picker-padding-y: 0.5rem;\n --cui-date-picker-padding-x: 1rem;\n --cui-date-picker-gap: 1rem;\n --cui-date-picker-cleaner-width: 1.5rem;\n --cui-date-picker-cleaner-icon-size: 1.25rem;\n --cui-date-picker-indicator-width: 1.5rem;\n --cui-date-picker-indicator-icon-size: 1.25rem;\n --cui-date-picker-separator-width: 1.55rem;\n --cui-date-picker-separator-icon-size: 1.25rem;\n}\n\n.footer {\n --cui-footer-min-height: 3rem;\n --cui-footer-padding-x: 1rem;\n --cui-footer-padding-y: 0.5rem;\n --cui-footer-color: var(--cui-body-color);\n --cui-footer-bg: var(--cui-tertiary-bg);\n --cui-footer-border-color: var(--cui-border-color);\n --cui-footer-border: var(--cui-border-width) solid var(--cui-footer-border-color);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n min-height: var(--cui-footer-min-height);\n padding: var(--cui-footer-padding-y) var(--cui-footer-padding-x);\n color: var(--cui-footer-color);\n background: var(--cui-footer-bg);\n border-top: var(--cui-footer-border);\n}\n\n.footer-sticky {\n position: sticky;\n bottom: 0;\n z-index: 1030;\n}\n\n.header {\n --cui-header-padding-x: 0.5rem;\n --cui-header-padding-y: 0.5rem;\n --cui-header-bg: var(--cui-body-bg);\n --cui-header-color: rgba(var(--cui-emphasis-color-rgb), 0.65);\n --cui-header-border-color: var(--cui-border-color);\n --cui-header-border: var(--cui-border-width) solid var(--cui-header-border-color);\n --cui-header-hover-color: rgba(var(--cui-emphasis-color-rgb), 0.8);\n --cui-header-disabled-color: rgba(var(--cui-emphasis-color-rgb), 0.3);\n --cui-header-active-color: rgba(var(--cui-emphasis-color-rgb), 1);\n --cui-header-transition: box-shadow 0.15s ease-in-out;\n --cui-header-brand-padding-y: 0.3125rem;\n --cui-header-brand-color: #212631;\n --cui-header-brand-hover-color: #1e222c;\n --cui-header-toggler-padding-x: 0.75rem;\n --cui-header-toggler-padding-y: 0.25rem;\n --cui-header-toggler-bg: transparent;\n --cui-header-toggler-color: rgba(var(--cui-emphasis-color-rgb), 0.65);\n --cui-header-toggler-border-radius: var(--cui-border-radius);\n --cui-header-toggler-hover-color: rgba(var(--cui-emphasis-color-rgb), 1);\n --cui-header-toggler-icon-bg: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28var%28--cui-emphasis-color-rgb%29, 0.65%29' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n --cui-header-toggler-hover-icon-bg: url(\"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28var%28--cui-emphasis-color-rgb%29, 0.8%29' stroke-width='2.25' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\");\n --cui-header-nav-link-padding-x: 0.5rem;\n --cui-header-nav-link-padding-y: 0.5rem;\n --cui-header-divider-border-color: var(--cui-border-color);\n --cui-header-divider-border: var(--cui-border-width) solid var(--cui-header-divider-border-color);\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--cui-header-padding-y) var(--cui-header-padding-x);\n background: var(--cui-header-bg);\n border-bottom: var(--cui-header-border);\n transition: var(--cui-header-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .header {\n transition: none;\n }\n}\n.header > .container,\n.header > .container-fluid,\n.header > .container-sm,\n.header > .container-md,\n.header > .container-lg,\n.header > .container-xl,\n.header > .container-xxl, .header .navbar > .container,\n.header .navbar > .container-fluid,\n.header .navbar > .container-sm,\n.header .navbar > .container-md,\n.header .navbar > .container-lg,\n.header .navbar > .container-xl,\n.header .navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n.header.header-sticky {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n.header-divider {\n flex-basis: calc(100% + 2 * var(--cui-header-padding-x));\n height: 0;\n margin: var(--cui-header-padding-y) calc(var(--cui-header-padding-x) * -1);\n border-top: var(--cui-header-divider-border);\n}\n\n.header-brand {\n padding-top: var(--cui-header-brand-padding-y);\n padding-bottom: var(--cui-header-brand-padding-y);\n margin-right: 1rem;\n font-size: 1.25rem;\n color: var(--cui-header-brand-color);\n text-decoration: none;\n white-space: nowrap;\n}\n.header-brand:hover, .header-brand:focus {\n color: var(--cui-header-brand-hover-color);\n}\n\n.header-nav {\n display: flex;\n flex-direction: row;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.header-nav .nav-link {\n padding: var(--cui-header-nav-link-padding-y) var(--cui-header-nav-link-padding-x);\n color: var(--cui-header-color);\n}\n.header-nav .nav-link:hover, .header-nav .nav-link:focus {\n color: var(--cui-header-hover-color);\n}\n.header-nav .nav-link.disabled {\n color: var(--cui-header-disabled-color);\n}\n.header-nav .show > .nav-link,\n.header-nav .nav-link.active {\n color: var(--cui-header-active-color);\n}\n.header-nav .dropdown-menu {\n position: absolute;\n}\n\n.header-text {\n padding-top: var(--cui-header-nav-link-padding-y);\n padding-bottom: var(--cui-header-nav-link-padding-y);\n color: var(--cui-header-color);\n}\n.header-text a {\n color: var(--cui-header-active-color);\n}\n.header-text a:hover, .header-text a:focus {\n color: var(--cui-header-active-color);\n}\n\n.header-toggler {\n padding: var(--cui-header-toggler-padding-y) var(--cui-header-toggler-padding-x);\n font-size: 1.25rem;\n color: var(--cui-header-toggler-color);\n background-color: var(--cui-header-toggler-bg);\n border: 0;\n border-radius: var(--cui-header-toggler-border-radius);\n}\n.header-toggler:hover {\n color: var(--cui-header-toggler-hover-color);\n text-decoration: none;\n}\n.header-toggler:focus {\n outline: 0;\n}\n.header-toggler:not(:disabled) {\n cursor: pointer;\n}\n.header-toggler.prevent-hide {\n display: block !important;\n}\n\n.header-toggler-icon {\n display: block;\n height: 1.5625rem;\n background-image: var(--cui-header-toggler-icon-bg);\n background-repeat: no-repeat;\n background-position: center center;\n background-size: 100% 100%;\n}\n.header-toggler-icon:hover {\n background-image: var(--cui-header-toggler-hover-icon-bg);\n}\n\n.icon {\n display: inline-block;\n color: inherit;\n text-align: center;\n vertical-align: -0.125rem;\n fill: currentcolor;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size) {\n width: 1rem;\n height: 1rem;\n font-size: 1rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-xxl {\n width: 2rem;\n height: 2rem;\n font-size: 2rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-xl {\n width: 1.5rem;\n height: 1.5rem;\n font-size: 1.5rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-lg {\n width: 1.25rem;\n height: 1.25rem;\n font-size: 1.25rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-sm {\n width: 0.875rem;\n height: 0.875rem;\n font-size: 0.875rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-3xl {\n width: 3rem;\n height: 3rem;\n font-size: 3rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-4xl {\n width: 4rem;\n height: 4rem;\n font-size: 4rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-5xl {\n width: 5rem;\n height: 5rem;\n font-size: 5rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-6xl {\n width: 6rem;\n height: 6rem;\n font-size: 6rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-7xl {\n width: 7rem;\n height: 7rem;\n font-size: 7rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-8xl {\n width: 8rem;\n height: 8rem;\n font-size: 8rem;\n}\n.icon:not(.icon-c-s):not(.icon-custom-size).icon-9xl {\n width: 9rem;\n height: 9rem;\n font-size: 9rem;\n}\n\n.range-slider {\n --cui-range-slider-track-width: 100%;\n --cui-range-slider-track-height: 0.5rem;\n --cui-range-slider-track-cursor: pointer;\n --cui-range-slider-track-bg: var(--cui-secondary-bg);\n --cui-range-slider-track-border-radius: 1rem;\n --cui-range-slider-track-box-shadow: var(--cui-box-shadow-inset);\n --cui-range-slider-track-in-range-bg: rgba(var(--cui-primary-rgb), 0.5);\n --cui-range-slider-disabled-track-in-range-bg: rgba(var(--cui-secondary-rgb), 0.375);\n --cui-range-slider-label-padding-y: 0;\n --cui-range-slider-label-padding-x: 0;\n --cui-range-slider-label-font-size: 0.875rem;\n --cui-range-slider-label-color: var(--cui-body-color);\n --cui-range-slider-thumb-width: 1rem;\n --cui-range-slider-thumb-height: 1rem;\n --cui-range-slider-thumb-bg: var(--cui-primary);\n --cui-range-slider-thumb-border: 0;\n --cui-range-slider-thumb-border-radius: 1rem;\n --cui-range-slider-thumb-box-shadow: 0 0.1rem 0.25rem rgba(8, 10, 12, 0.1);\n --cui-range-slider-thumb-focus-box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n --cui-range-slider-thumb-active-bg: #cdccf3;\n --cui-range-slider-thumb-disabled-bg: rgba(var(--cui-secondary-rgb), 1);\n --cui-range-slider-thumb-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n --cui-range-slider-tooltip-zindex: 1080;\n --cui-range-slider-tooltip-padding-y: 0.25rem;\n --cui-range-slider-tooltip-padding-x: 0.5rem;\n --cui-range-slider-tooltip-margin-end: 0.25rem;\n --cui-range-slider-tooltip-margin-bottom: 0.25rem;\n --cui-range-slider-tooltip-font-size: 0.875rem;\n --cui-range-slider-tooltip-color: var(--cui-body-color);\n --cui-range-slider-tooltip-bg: var(--cui-secondary-bg);\n --cui-range-slider-tooltip-border-radius: var(--cui-border-radius);\n --cui-range-slider-tooltip-box-shadow: var(--cui-box-shadow);\n --cui-range-slider-tooltip-transition: visibility 0.15s, opacity 0.15s ease;\n --cui-range-slider-tooltip-arrow-width: 0.8rem;\n --cui-range-slider-tooltip-arrow-height: 0.4rem;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.range-slider.disabled {\n --cui-range-slider-track-in-range-bg: var(--cui-range-slider-disabled-track-in-range-bg);\n}\n.range-slider.disabled .range-slider-track {\n cursor: initial;\n}\n\n.range-slider-inputs-container {\n position: relative;\n display: flex;\n align-items: center;\n height: max(var(--cui-range-slider-thumb-height), var(--cui-range-slider-track-height));\n}\n\n.range-slider-track {\n width: var(--cui-range-slider-track-width);\n height: var(--cui-range-slider-track-height);\n cursor: var(--cui-range-slider-track-cursor);\n background-color: var(--cui-range-slider-track-bg);\n border-color: transparent;\n border-radius: var(--cui-range-slider-track-border-radius);\n}\n\n.range-slider-input {\n position: absolute;\n z-index: 1;\n width: 100%;\n appearance: none;\n pointer-events: none;\n background-color: transparent;\n}\n.range-slider-input:hover + .range-slider-tooltip, .range-slider-input:focus + .range-slider-tooltip {\n visibility: visible;\n opacity: 1;\n}\n.range-slider-input:focus {\n outline: 0;\n}\n.range-slider-input:focus::-webkit-slider-thumb {\n box-shadow: var(--cui-range-slider-thumb-focus-box-shadow);\n}\n.range-slider-input:focus::-moz-range-thumb {\n box-shadow: var(--cui-range-slider-thumb-focus-box-shadow);\n}\n.range-slider-input::-moz-focus-outer {\n border: 0;\n}\n.range-slider-input::-webkit-slider-thumb {\n width: var(--cui-range-slider-thumb-width);\n height: var(--cui-range-slider-thumb-height);\n appearance: none;\n pointer-events: all;\n cursor: pointer;\n background-color: var(--cui-range-slider-thumb-bg);\n border: var(--cui-range-slider-thumb-border);\n border-radius: var(--cui-range-slider-thumb-border-radius);\n transition: var(--cui-range-slider-thumb-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .range-slider-input::-webkit-slider-thumb {\n transition: none;\n }\n}\n.range-slider-input::-webkit-slider-thumb:active {\n background-color: var(--cui-range-slider-thumb-active-bg);\n}\n.range-slider-input::-moz-range-thumb {\n width: var(--cui-range-slider-thumb-width);\n height: var(--cui-range-slider-thumb-height);\n appearance: none;\n pointer-events: all;\n cursor: pointer;\n background-color: var(--cui-range-slider-thumb-bg);\n border: 0;\n border: var(--cui-range-slider-thumb-border);\n border-radius: var(--cui-range-slider-thumb-border-radius);\n transition: var(--cui-range-slider-thumb-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .range-slider-input::-moz-range-thumb {\n transition: none;\n }\n}\n.range-slider-input::-moz-range-thumb:active {\n background-color: var(--cui-range-slider-thumb-active-bg);\n}\n.range-slider-input:disabled {\n pointer-events: none;\n opacity: 1;\n}\n.range-slider-input:disabled::-webkit-slider-thumb {\n pointer-events: none;\n background-color: var(--cui-range-slider-thumb-disabled-bg);\n opacity: 1;\n}\n.range-slider-input:disabled::-moz-range-thumb {\n pointer-events: none;\n background-color: var(--cui-range-slider-thumb-disabled-bg);\n opacity: 1;\n}\n\n.range-slider-labels-container {\n position: relative;\n}\n\n.range-slider-label {\n position: absolute;\n font-size: var(--cui-range-slider-label-font-size);\n color: var(--cui-range-slider-label-color);\n transform: translateX(-50%);\n}\n.range-slider-label.clickable {\n cursor: pointer;\n}\n\n.range-slider-tooltip {\n position: absolute;\n z-index: var(--cui-range-slider-tooltip-zindex);\n display: flex;\n flex-direction: column;\n align-items: center;\n visibility: hidden;\n opacity: 0;\n transform: translateX(-50%);\n transition: var(--cui-range-slider-tooltip-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .range-slider-tooltip {\n transition: none;\n }\n}\n\n.range-slider-tooltip-inner {\n padding: var(--cui-range-slider-tooltip-padding-y) var(--cui-range-slider-tooltip-padding-x);\n font-size: var(--cui-range-slider-tooltip-font-size);\n color: var(--cui-range-slider-tooltip-color);\n background-color: var(--cui-range-slider-tooltip-bg);\n border-radius: var(--cui-range-slider-tooltip-border-radius);\n}\n\n.range-slider-tooltip-arrow {\n position: relative;\n}\n.range-slider-tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.range-slider:not(.range-slider-vertical) .range-slider-inputs-container {\n width: 100%;\n}\n.range-slider:not(.range-slider-vertical) .range-slider-labels-container {\n width: calc(var(--cui-range-slider-track-width) - var(--cui-range-slider-thumb-width));\n}\n.range-slider:not(.range-slider-vertical) .range-slider-tooltip {\n bottom: calc(var(--cui-range-slider-tooltip-margin-bottom) + var(--cui-range-slider-thumb-height));\n}\n.range-slider:not(.range-slider-vertical) .range-slider-tooltip-arrow {\n width: var(--cui-range-slider-tooltip-arrow-width);\n height: var(--cui-range-slider-tooltip-arrow-height);\n}\n.range-slider:not(.range-slider-vertical) .range-slider-tooltip-arrow::before {\n border-width: var(--cui-range-slider-tooltip-arrow-height) calc(var(--cui-range-slider-tooltip-arrow-width) * 0.5) 0;\n border-top-color: var(--cui-range-slider-tooltip-bg);\n}\n\n.range-slider-vertical {\n --cui-range-slider-vertical-track-width: 0.5rem;\n --cui-range-slider-vertical-track-height: 10rem;\n flex-direction: row;\n height: var(--cui-range-slider-vertical-track-height);\n}\n.range-slider-vertical .range-slider-inputs-container {\n justify-content: center;\n width: max(var(--cui-range-slider-thumb-width), var(--cui-range-slider-vertical-track-width));\n height: 100%;\n}\n.range-slider-vertical .range-slider-track {\n width: var(--cui-range-slider-vertical-track-width);\n height: 100%;\n}\n.range-slider-vertical .range-slider-input {\n height: 100%;\n writing-mode: vertical-lr;\n direction: rtl;\n}\n.range-slider-vertical .range-slider-tooltip {\n right: calc(var(--cui-range-slider-tooltip-margin-end) + var(--cui-range-slider-thumb-width));\n flex-direction: row;\n transform: translateY(50%);\n}\n.range-slider-vertical .range-slider-tooltip-arrow {\n width: var(--cui-range-slider-tooltip-arrow-height);\n height: var(--cui-range-slider-tooltip-arrow-width);\n}\n.range-slider-vertical .range-slider-tooltip-arrow::before {\n border-width: calc(var(--cui-range-slider-tooltip-arrow-width) * 0.5) 0 calc(var(--cui-range-slider-tooltip-arrow-width) * 0.5) var(--cui-range-slider-tooltip-arrow-height);\n border-left-color: var(--cui-range-slider-tooltip-bg);\n}\n.range-slider-vertical .range-slider-labels-container {\n flex-shrink: 0;\n height: calc(var(--cui-range-slider-vertical-track-height) - var(--cui-range-slider-thumb-height));\n}\n.range-slider-vertical .range-slider-label {\n transform: translateY(50%);\n}\n\n.rating {\n --cui-rating-gap: 0.0625rem;\n --cui-rating-transition: color 0.15s ease-out, transform 0.15s ease-out;\n --cui-rating-item-height: 1.25rem;\n --cui-rating-item-color: var(--cui-tertiary-color);\n --cui-rating-item-scale-transform: scale(1.2);\n --cui-rating-item-active-color: var(--cui-warning);\n --cui-rating-item-icon: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='currentColor' d='M470.935,194.043,333.8,171.757,270.227,48.22a16,16,0,0,0-28.454,0L178.2,171.757,41.065,194.043A16,16,0,0,0,32.273,221.1l97.845,98.636L108.936,457.051a16,16,0,0,0,23.02,16.724L256,411.2l124.044,62.576a16,16,0,0,0,23.02-16.724L381.882,319.74,479.727,221.1A16,16,0,0,0,470.935,194.043Z'%3E%3C/path%3E%3C/svg%3E\");\n display: flex;\n gap: var(--cui-rating-gap);\n}\n.rating.disabled {\n opacity: 50%;\n}\n.rating:not(.disabled):not(.readonly) .rating-item:hover {\n transform: var(--cui-rating-item-scale-transform);\n}\n.rating:not(.disabled):not(.readonly) .rating-item-icon,\n.rating:not(.disabled):not(.readonly) .rating-item-label {\n cursor: pointer;\n}\n\n.rating-item {\n position: relative;\n line-height: 0;\n transition: var(--cui-rating-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .rating-item {\n transition: none;\n }\n}\n\n.rating-item-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 100%;\n height: 100%;\n appearance: none;\n}\n\n.rating-item-label {\n font-size: var(--cui-rating-item-height);\n line-height: 0;\n color: var(--cui-rating-item-color);\n}\n.rating-item-label * {\n pointer-events: none;\n}\n.rating-item-label svg {\n height: var(--cui-rating-item-height);\n pointer-events: none;\n}\n.rating-item-label svg * {\n pointer-events: none;\n}\n.rating-item-label.active {\n color: var(--cui-rating-item-active-color);\n opacity: 1 !important;\n}\n.rating-item-label.active .rating-item-icon {\n background-color: var(--cui-rating-item-active-color);\n}\n.rating-item-label.active .rating-item-custom-icon:has(+ .rating-item-custom-icon-active) {\n display: none;\n}\n.rating-item-label.active .rating-item-custom-icon-active {\n display: initial;\n}\n\n.rating-item-icon {\n width: var(--cui-rating-item-height);\n height: var(--cui-rating-item-height);\n background-color: var(--cui-rating-item-color);\n mask: var(--cui-rating-item-icon) center/var(--cui-rating-item-height) no-repeat;\n}\n\n.rating-item-custom-icon-active {\n display: none;\n}\n\n.rating-sm {\n --cui-rating-item-height: 1rem;\n}\n\n.rating-lg {\n --cui-rating-item-height: 1.5rem;\n}\n\n.sidebar {\n --cui-sidebar-zindex: 1035;\n --cui-sidebar-width: 16rem;\n --cui-sidebar-bg: var(--cui-body-bg);\n --cui-sidebar-padding-x: 1rem;\n --cui-sidebar-padding-y: 1rem;\n --cui-sidebar-color: var(--cui-body-color);\n --cui-sidebar-brand-color: var(--cui-body-color);\n --cui-sidebar-brand-bg: rgba(8, 10, 12, 0.2);\n position: relative;\n display: flex;\n flex: 0 0 var(--cui-sidebar-width);\n flex-direction: column;\n order: -1;\n width: var(--cui-sidebar-width);\n color: var(--cui-sidebar-color);\n background: var(--cui-sidebar-bg);\n box-shadow: none;\n transition: margin-left 0.15s, margin-right 0.15s, box-shadow 0.075s, transform 0.15s, width 0.15s, z-index 0s ease 0.15s;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar {\n transition: none;\n }\n}\n.sidebar:not(.sidebar-end) {\n margin-left: 0;\n}\n.sidebar.sidebar-end {\n order: 99;\n margin-right: 0;\n}\n@media (min-width: 992px) {\n .sidebar:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {\n --cui-sidebar-occupy-start: 16rem;\n }\n .sidebar:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid).sidebar-end ~ * {\n --cui-sidebar-occupy-end: 16rem;\n }\n .sidebar.hide:not(.sidebar-end) {\n margin-left: calc(-1 * var(--cui-sidebar-width));\n }\n .sidebar.hide.sidebar-end {\n margin-right: calc(-1 * var(--cui-sidebar-width));\n }\n}\n@media (max-width: 991.98px) {\n .sidebar {\n --cui-is-mobile: true;\n position: fixed;\n top: 0;\n bottom: 0;\n z-index: var(--cui-sidebar-zindex);\n }\n .sidebar:not(.sidebar-end) {\n left: 0;\n }\n .sidebar:not(.sidebar-end):not(.show) {\n margin-left: calc(-1 * var(--cui-sidebar-width));\n }\n .sidebar.sidebar-end {\n right: 0;\n }\n .sidebar.sidebar-end:not(.show) {\n margin-right: calc(-1 * var(--cui-sidebar-width));\n }\n}\n\n.sidebar-fixed, .sidebar-narrow-unfoldable, .sidebar-overlaid {\n position: fixed;\n top: 0;\n bottom: 0;\n z-index: var(--cui-sidebar-zindex);\n}\n.sidebar-fixed:not(.sidebar-end), .sidebar-narrow-unfoldable:not(.sidebar-end), .sidebar-overlaid:not(.sidebar-end) {\n left: 0;\n}\n.sidebar-fixed.sidebar-end, .sidebar-end.sidebar-narrow-unfoldable, .sidebar-end.sidebar-overlaid {\n right: 0;\n}\n\n.sidebar-overlaid {\n --cui-sidebar-overlaid-box-shadow: var(--cui-box-shadow);\n}\n.sidebar-overlaid:not(.sidebar-end) {\n margin-left: calc(-1 * var(--cui-sidebar-width));\n}\n.sidebar-overlaid.sidebar-end {\n margin-right: calc(-1 * var(--cui-sidebar-width));\n}\n.sidebar-overlaid.show {\n box-shadow: var(--cui-sidebar-overlaid-box-shadow);\n}\n.sidebar-overlaid.show:not(.sidebar-end) {\n margin-left: 0;\n}\n.sidebar-overlaid.show.sidebar-end {\n margin-right: 0;\n}\n\n.sidebar-sm {\n --cui-sidebar-width: 12rem;\n}\n@media (min-width: 992px) {\n .sidebar-sm:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {\n --cui-sidebar-occupy-start: 12rem;\n }\n .sidebar-sm:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid).sidebar-end ~ * {\n --cui-sidebar-occupy-end: 12rem;\n }\n}\n\n.sidebar-lg {\n --cui-sidebar-width: 20rem;\n}\n@media (min-width: 992px) {\n .sidebar-lg:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {\n --cui-sidebar-occupy-start: 20rem;\n }\n .sidebar-lg:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid).sidebar-end ~ * {\n --cui-sidebar-occupy-end: 20rem;\n }\n}\n\n.sidebar-xl {\n --cui-sidebar-width: 24rem;\n}\n@media (min-width: 992px) {\n .sidebar-xl:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid):not(.sidebar-end) ~ * {\n --cui-sidebar-occupy-start: 24rem;\n }\n .sidebar-xl:not(.hide):not(.sidebar-narrow):not(.sidebar-narrow-unfoldable:not(:hover)):not(.sidebar-narrow-unfoldable):not(.sidebar-overlaid).sidebar-end ~ * {\n --cui-sidebar-occupy-end: 24rem;\n }\n}\n\n.sidebar-brand {\n color: var(--cui-sidebar-brand-color);\n white-space: nowrap;\n}\n.sidebar-brand .sidebar-brand-narrow {\n display: none;\n}\n\n.sidebar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--cui-sidebar-padding-y) var(--cui-sidebar-padding-x);\n}\n.sidebar-header .btn-close {\n padding: calc(var(--cui-sidebar-padding-y) * 0.5) calc(var(--cui-sidebar-padding-x) * 0.5);\n margin-top: calc(-0.5 * var(--cui-sidebar-padding-y));\n margin-right: calc(-0.5 * var(--cui-sidebar-padding-x));\n margin-bottom: calc(-0.5 * var(--cui-sidebar-padding-y));\n}\n\n.sidebar-body {\n padding: var(--cui-sidebar-padding-y) var(--cui-sidebar-padding-x);\n}\n\n.sidebar-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--cui-sidebar-padding-y) var(--cui-sidebar-padding-x);\n}\n\n.sidebar-toggler {\n --cui-sidebar-toggler-width: 0.5rem;\n --cui-sidebar-toggler-height: 0.5rem;\n --cui-sidebar-toggler-bg: transparent;\n --cui-sidebar-toggler-color: var(--cui-tertiary-color);\n --cui-sidebar-toggler-icon: url(\"data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cg xmlns='http://www.w3.org/2000/svg' transform='matrix%28-1 0 0 -1 512 512%29'%3E%3Cpath fill='%23000' d='M472,16H40A24.028,24.028,0,0,0,16,40V200H48V48H464V464H48V304H16V472a24.028,24.028,0,0,0,24,24H472a24.028,24.028,0,0,0,24-24V40A24.028,24.028,0,0,0,472,16Z'/%3E%3Cpolygon fill='%23000' points='209.377 363.306 232.004 385.933 366.627 251.31 232.004 116.687 209.377 139.313 305.374 235.311 16 235.311 16 267.311 305.372 267.311 209.377 363.306'/%3E%3C/g%3E%3C/svg%3E\");\n --cui-sidebar-toggler-hover-color: var(--cui-secondary-color);\n --cui-sidebar-toggler-focus-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n --cui-sidebar-toggler-focus-color: var(--cui-secondary-color);\n --cui-sidebar-toggler-transition: transform 0.15s;\n position: relative;\n box-sizing: content-box;\n width: var(--cui-sidebar-toggler-width);\n height: var(--cui-sidebar-toggler-height);\n padding: 0.25rem 0.25rem;\n background-color: var(--cui-sidebar-toggler-bg);\n border: 0;\n border-radius: 0.375rem;\n}\n.sidebar-toggler::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n background-color: var(--cui-sidebar-toggler-color);\n mask: var(--cui-sidebar-toggler-icon) no-repeat center;\n transition: var(--cui-sidebar-toggler-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-toggler::before {\n transition: none;\n }\n}\n.sidebar-toggler:hover {\n text-decoration: none;\n}\n.sidebar-toggler:hover::before {\n background-color: var(--cui-sidebar-toggler-hover-color);\n}\n.sidebar-toggler:focus {\n position: relative;\n outline: 0;\n box-shadow: var(--cui-sidebar-toggler-focus-shadow);\n}\n.sidebar-toggler:focus::before {\n background-color: var(--cui-sidebar-toggler-focus-color);\n}\n@media (max-width: 991.98px) {\n .sidebar-toggler {\n display: none;\n }\n}\n\n.sidebar-backdrop {\n --cui-backdrop-zindex: 1034;\n --cui-backdrop-bg: #080a0c;\n --cui-backdrop-opacity: 0.5;\n}\n@media (max-width: 991.98px) {\n .sidebar-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--cui-backdrop-zindex);\n width: 100vw;\n height: 100vh;\n background-color: var(--cui-backdrop-bg);\n }\n .sidebar-backdrop.fade {\n opacity: 0;\n }\n .sidebar-backdrop.show {\n opacity: var(--cui-backdrop-opacity);\n }\n}\n\n.sidebar-dark {\n --cui-body-color: rgba(255, 255, 255, 0.87);\n --cui-body-bg: #212631;\n --cui-emphasis-color: #fff;\n --cui-secondary-color: rgba(255, 255, 255, 0.6);\n --cui-secondary-bg: #323a49;\n --cui-tertiary-color: rgba(255, 255, 255, 0.38);\n --cui-tertiary-bg: #2a303d;\n --cui-border-color: #323a49;\n}\n.sidebar-dark .sidebar-toggler {\n filter: var(--cui-sidebar-toggler-white-filter);\n}\n\n.sidebar-nav {\n --cui-sidebar-nav-padding-x: 0.5rem;\n --cui-sidebar-nav-padding-y: 0.5rem;\n --cui-sidebar-nav-gap: 1px;\n --cui-sidebar-nav-title-padding-x: 1rem;\n --cui-sidebar-nav-title-padding-y: 0.75rem;\n --cui-sidebar-nav-title-margin-top: 1rem;\n --cui-sidebar-nav-title-color: var(--cui-tertiary-color);\n --cui-sidebar-nav-link-padding-x: 1rem;\n --cui-sidebar-nav-link-padding-y: 0.75rem;\n --cui-sidebar-nav-link-color: var(--cui-body-color);\n --cui-sidebar-nav-link-bg: transparent;\n --cui-sidebar-nav-link-border-color: transparent;\n --cui-sidebar-nav-link-border-radius: var(--cui-border-radius);\n --cui-sidebar-nav-link-border-width: 0;\n --cui-sidebar-nav-link-active-color: var(--cui-emphasis-color);\n --cui-sidebar-nav-link-active-bg: var(--cui-tertiary-bg);\n --cui-sidebar-nav-link-disabled-color: var(--cui-tertiary-color);\n --cui-sidebar-nav-link-hover-color: var(--cui-emphasis-color);\n --cui-sidebar-nav-link-hover-bg: var(--cui-tertiary-bg);\n --cui-sidebar-nav-link-icon-margin: 0.75rem;\n --cui-sidebar-nav-link-icon-color: var(--cui-tertiary-color);\n --cui-sidebar-nav-link-icon-width: 1.25rem;\n --cui-sidebar-nav-link-icon-height: 1.25rem;\n --cui-sidebar-nav-link-icon-font-size: 1.25rem;\n --cui-sidebar-nav-link-active-icon-color: var(--cui-emphasis-color);\n --cui-sidebar-nav-link-disabled-icon-color: var(--cui-tertiary-color);\n --cui-sidebar-nav-link-hover-icon-color: var(--cui-body-color);\n --cui-sidebar-nav-link-icon-bullet-size: 0.3125rem;\n --cui-sidebar-nav-link-icon-bullet-bg: transparent;\n --cui-sidebar-nav-link-icon-bullet-border-width: 1px;\n --cui-sidebar-nav-link-icon-bullet-border-radius: 50rem;\n --cui-sidebar-nav-link-icon-bullet-border-color: var(--cui-tertiary-color);\n --cui-sidebar-nav-link-active-icon-bullet-bg: transparent;\n --cui-sidebar-nav-link-active-icon-bullet-border-color: var(--cui-emphasis-color);\n --cui-sidebar-nav-link-disabled-icon-bullet-bg: transparent;\n --cui-sidebar-nav-link-disabled-icon-bullet-border-color: var(--cui-tertiary-color);\n --cui-sidebar-nav-link-hover-icon-bullet-bg: transparent;\n --cui-sidebar-nav-link-hover-icon-bullet-border-color: var(--cui-body-color);\n --cui-sidebar-nav-group-bg: transparent;\n --cui-sidebar-nav-group-border-width: 0;\n --cui-sidebar-nav-group-border-radius: var(--cui-border-radius);\n --cui-sidebar-nav-group-border-color: transparent;\n --cui-sidebar-nav-group-items-padding-y: 0;\n --cui-sidebar-nav-group-items-padding-x: 0;\n --cui-sidebar-nav-group-indicator-color: var(--cui-tertiary-color);\n --cui-sidebar-nav-group-indicator-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%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-.708'/%3e%3c/svg%3e\");\n --cui-sidebar-nav-group-indicator-hover-color: var(--cui-emphasis-color);\n --cui-sidebar-nav-group-indicator-hover-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%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-.708'/%3e%3c/svg%3e\");\n --cui-sidebar-nav-group-toggle-show-color: var(--cui-body-color);\n position: relative;\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: var(--cui-sidebar-nav-padding-y) var(--cui-sidebar-nav-padding-x);\n margin-bottom: 0;\n overflow-x: hidden;\n overflow-y: auto;\n list-style: none;\n}\n.sidebar-nav .nav-item + .nav-item,\n.sidebar-nav .nav-item + .nav-group,\n.sidebar-nav .nav-group + .nav-item {\n margin-top: var(--cui-sidebar-nav-gap);\n}\n.sidebar-nav .nav-title {\n padding: var(--cui-sidebar-nav-title-padding-y) var(--cui-sidebar-nav-title-padding-x);\n margin-top: var(--cui-sidebar-nav-title-margin-top);\n font-size: 80%;\n font-weight: 700;\n color: var(--cui-sidebar-nav-title-color);\n text-transform: uppercase;\n transition: height 0.15s, margin 0.15s;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-nav .nav-title {\n transition: none;\n }\n}\n.sidebar-nav .nav-link {\n display: flex;\n flex: 1;\n align-items: center;\n padding: var(--cui-sidebar-nav-link-padding-y) var(--cui-sidebar-nav-link-padding-x);\n color: var(--cui-sidebar-nav-link-color);\n text-decoration: none;\n white-space: nowrap;\n background: var(--cui-sidebar-nav-link-bg);\n border: var(--cui-sidebar-nav-link-border-width) solid var(--cui-sidebar-nav-link-border-color);\n border-radius: var(--cui-sidebar-nav-link-border-radius);\n transition: background 0.15s ease, color 0.15s ease, padding 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-nav .nav-link {\n transition: none;\n }\n}\n.sidebar-nav .nav-link.active {\n color: var(--cui-sidebar-nav-link-active-color);\n background: var(--cui-sidebar-nav-link-active-bg);\n}\n.sidebar-nav .nav-link.active .nav-icon {\n color: var(--cui-sidebar-nav-link-active-icon-color);\n}\n.sidebar-nav .nav-link.active .nav-icon-bullet {\n background: var(--cui-sidebar-link-active-icon-bullet-bg);\n border-color: var(--cui-sidebar-link-active-icon-bullet-border-color);\n}\n.sidebar-nav .nav-link.disabled {\n color: var(--cui-sidebar-nav-link-disabled-color);\n pointer-events: none;\n cursor: not-allowed;\n background: transparent;\n}\n.sidebar-nav .nav-link.disabled .nav-icon {\n color: var(--cui-sidebar-nav-link-disabled-icon-color);\n}\n.sidebar-nav .nav-link.disabled .nav-icon-bullet {\n background: var(--cui-sidebar-link-disabled-icon-bullet-bg);\n border-color: var(--cui-sidebar-link-disabled-icon-bullet-border-color);\n}\n.sidebar-nav .nav-link.disabled:hover {\n color: var(--cui-sidebar-nav-link-disabled-color);\n}\n.sidebar-nav .nav-link.disabled:hover .nav-icon {\n color: var(--cui-sidebar-nav-link-disabled-icon-color);\n}\n.sidebar-nav .nav-link.disabled:hover .nav-icon-bullet {\n background: var(--cui-sidebar-link-disabled-icon-bullet-bg);\n border-color: var(--cui-sidebar-link-disabled-icon-bullet-border-color);\n}\n.sidebar-nav .nav-link.disabled:hover.nav-dropdown-toggle::after {\n background-color: var(--cui-sidebar-nav-group-indicator-hover-color);\n mask-image: var(--cui-sidebar-nav-group-indicator-hover-icon);\n}\n@media (hover: hover), (-ms-high-contrast: none) {\n .sidebar-nav .nav-link:hover {\n color: var(--cui-sidebar-nav-link-hover-color);\n text-decoration: none;\n background: var(--cui-sidebar-nav-link-hover-bg);\n }\n .sidebar-nav .nav-link:hover .nav-icon {\n color: var(--cui-sidebar-nav-link-hover-icon-color);\n }\n .sidebar-nav .nav-link:hover .nav-icon-bullet {\n background: var(--cui-sidebar-link-hover-icon-bullet-bg);\n border-color: var(--cui-sidebar-link-hover-icon-bullet-border-color);\n }\n .sidebar-nav .nav-link:hover.nav-group-toggle::after {\n background-color: var(--cui-sidebar-nav-group-indicator-hover-color);\n mask-image: var(--cui-sidebar-nav-group-indicator-hover-icon);\n }\n}\n.sidebar-nav .nav-icon {\n display: flex;\n flex: 0 0 var(--cui-sidebar-nav-link-icon-width);\n align-items: center;\n justify-content: center;\n height: var(--cui-sidebar-nav-link-icon-height);\n margin-right: var(--cui-sidebar-nav-link-icon-margin);\n font-size: var(--cui-sidebar-nav-link-icon-font-size);\n color: var(--cui-sidebar-nav-link-icon-color);\n text-align: center;\n pointer-events: none;\n fill: currentcolor;\n transition: inherit;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-nav .nav-icon {\n transition: none;\n }\n}\n.sidebar-nav .nav-icon-bullet {\n display: inline-block;\n width: var(--cui-sidebar-nav-link-icon-bullet-size);\n height: var(--cui-sidebar-nav-link-icon-bullet-size);\n background: var(--cui-sidebar-nav-link-icon-bullet-bg);\n border: var(--cui-sidebar-nav-link-icon-bullet-border-width) solid var(--cui-sidebar-nav-link-icon-bullet-border-color);\n border-radius: var(--cui-sidebar-nav-link-icon-bullet-border-radius);\n}\n.sidebar-nav svg.nav-icon {\n overflow: hidden;\n}\n.sidebar-nav .nav-group {\n position: relative;\n border: var(--cui-sidebar-nav-group-border-width) solid var(--cui-sidebar-nav-group-border-color);\n border-radius: var(--cui-sidebar-nav-group-border-radius);\n transition: background 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-nav .nav-group {\n transition: none;\n }\n}\n.sidebar-nav .nav-group .nav-group-items {\n padding: var(--cui-sidebar-nav-group-items-padding-y) var(--cui-sidebar-nav-group-items-padding-x);\n overflow: hidden;\n transition: height 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-nav .nav-group .nav-group-items {\n transition: none;\n }\n}\n.sidebar-nav .nav-group:not(.show) .nav-group-items {\n display: none;\n}\n.sidebar-nav .nav-group.show {\n background: var(--cui-sidebar-nav-group-bg);\n}\n.sidebar-nav .nav-group.show .nav-group-toggle {\n color: var(--cui-sidebar-nav-group-toggle-show-color);\n}\n.sidebar-nav .nav-group.show > .nav-group-toggle::after {\n transform: rotate(180deg);\n}\n.sidebar-nav .nav-group.show + .show {\n margin-top: var(--cui-sidebar-nav-gap);\n}\n.sidebar-nav .nav-group-toggle {\n cursor: pointer;\n}\n.sidebar-nav .nav-group-toggle::after {\n display: block;\n flex: 0 12px;\n height: 12px;\n margin-left: auto;\n content: \"\";\n background-color: var(--cui-sidebar-nav-group-indicator-color);\n mask-image: var(--cui-sidebar-nav-group-indicator-icon);\n transition: transform 0.15s;\n}\n@media (prefers-reduced-motion: reduce) {\n .sidebar-nav .nav-group-toggle::after {\n transition: none;\n }\n}\n.sidebar-nav .nav-group-items {\n padding: 0;\n list-style: none;\n}\n.sidebar-nav .nav-group-items .nav-link {\n padding-left: calc(var(--cui-sidebar-nav-link-padding-x) + var(--cui-sidebar-nav-link-icon-width) + var(--cui-sidebar-nav-link-icon-margin));\n}\n.sidebar-nav .nav-group-items .nav-icon {\n margin-left: calc((var(--cui-sidebar-nav-link-icon-width) + var(--cui-sidebar-nav-link-icon-margin)) * -1);\n}\n.sidebar-nav.compact .nav-link,\n.sidebar-nav .compact .nav-link {\n --cui-sidebar-nav-link-padding-y: 0.5625rem;\n}\n\n.sidebar-narrow, .sidebar-narrow-unfoldable:not(:hover) {\n --cui-sidebar-narrow-width: 4rem;\n}\n@media (min-width: 992px) {\n .sidebar-narrow, .sidebar-narrow-unfoldable:not(:hover) {\n flex: 0 0 var(--cui-sidebar-narrow-width);\n width: var(--cui-sidebar-narrow-width);\n padding-bottom: var(--cui-sidebar-toggler-height);\n overflow: visible;\n }\n .sidebar-narrow .sidebar-brand-full, .sidebar-narrow-unfoldable:not(:hover) .sidebar-brand-full {\n display: none;\n }\n .sidebar-narrow .sidebar-brand-narrow, .sidebar-narrow-unfoldable:not(:hover) .sidebar-brand-narrow {\n display: block;\n }\n .sidebar-narrow .sidebar-header, .sidebar-narrow-unfoldable:not(:hover) .sidebar-header {\n justify-content: center;\n padding-right: 0;\n padding-left: 0;\n }\n .sidebar-narrow .sidebar-nav, .sidebar-narrow-unfoldable:not(:hover) .sidebar-nav {\n --cui-sidebar-nav-link-padding-x: 0.5rem;\n --cui-sidebar-nav-link-padding-y: 0.75rem;\n }\n .sidebar-narrow .nav-link, .sidebar-narrow-unfoldable:not(:hover) .nav-link {\n overflow: hidden;\n }\n .sidebar-narrow .nav-icon, .sidebar-narrow-unfoldable:not(:hover) .nav-icon {\n flex: 0 0 calc(var(--cui-sidebar-narrow-width) - var(--cui-sidebar-nav-padding-x) * 2 - var(--cui-sidebar-nav-link-padding-x) * 2);\n }\n .sidebar-narrow .d-narrow-none, .sidebar-narrow-unfoldable:not(:hover) .d-narrow-none,\n .sidebar-narrow .nav-label,\n .sidebar-narrow-unfoldable:not(:hover) .nav-label,\n .sidebar-narrow .nav-title,\n .sidebar-narrow-unfoldable:not(:hover) .nav-title,\n .sidebar-narrow .nav-group-items,\n .sidebar-narrow-unfoldable:not(:hover) .nav-group-items,\n .sidebar-narrow .nav-group.show .nav-group-items,\n .sidebar-narrow .sidebar-form,\n .sidebar-narrow-unfoldable:not(:hover) .sidebar-form {\n height: 0 !important;\n padding: 0 !important;\n margin: 0 !important;\n visibility: hidden;\n opacity: 0;\n }\n .sidebar-narrow .sidebar-toggler::before, .sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler::before {\n transform: rotate(-180deg);\n }\n .sidebar-narrow.sidebar-end .sidebar-toggler::before, .sidebar-end.sidebar-narrow-unfoldable:not(:hover) .sidebar-toggler::before {\n transform: rotate(0deg);\n }\n}\n\n.sidebar-narrow-unfoldable {\n --cui-sidebar-narrow-unfoldable-box-shadow: var(--cui-box-shadow);\n}\n.sidebar-narrow-unfoldable:hover {\n box-shadow: var(--cui-sidebar-narrow-unfoldable-box-shadow);\n box-shadow: 0 0.5rem 1rem rgba(8, 10, 12, 0.15);\n}\n.sidebar-narrow-unfoldable:hover .sidebar-toggler::before {\n transform: rotate(-180deg);\n}\n.sidebar-narrow-unfoldable:hover.sidebar-end .sidebar-toggler::before {\n transform: rotate(0deg);\n}\n\n@media (min-width: 992px) {\n .sidebar-narrow:not(.sidebar-end):not(.hide) ~ *,\n .sidebar-narrow-unfoldable:not(.sidebar-end):not(.hide) ~ * {\n --cui-sidebar-occupy-start: 4rem;\n }\n .sidebar-narrow.sidebar-end:not(.hide) ~ *,\n .sidebar-narrow-unfoldable.sidebar-end:not(.hide) ~ * {\n --cui-sidebar-occupy-end: 4rem;\n }\n}\n\n.time-picker,\n*:not(.time-picker) > .time-picker-dropdown {\n --cui-time-picker-zindex: 1000;\n --cui-time-picker-font-family: ;\n --cui-time-picker-font-size: 1rem;\n --cui-time-picker-font-weight: 400;\n --cui-time-picker-line-height: 1.5;\n --cui-time-picker-color: var(--cui-body-color);\n --cui-time-picker-bg: var(--cui-body-bg);\n --cui-time-picker-box-shadow: inset 0 1px 2px rgba(8, 10, 12, 0.075);\n --cui-time-picker-border-width: var(--cui-border-width);\n --cui-time-picker-border-color: var(--cui-border-color);\n --cui-time-picker-border-radius: var(--cui-border-radius);\n --cui-time-picker-disabled-color: var(--cui-body-color);\n --cui-time-picker-disabled-bg: var(--cui-secondary-bg);\n --cui-time-picker-disabled-border-color: var(--cui-border-color);\n --cui-time-picker-focus-color: var(--cui-body-color);\n --cui-time-picker-focus-bg: var(--cui-body-bg);\n --cui-time-picker-focus-border-color: #acabeb;\n --cui-time-picker-focus-box-shadow: 0 0 0 0.25rem rgba(88, 86, 214, 0.25);\n --cui-time-picker-placeholder-color: var(--cui-secondary-color);\n --cui-time-picker-padding-y: 0.375rem;\n --cui-time-picker-padding-x: 0.75rem;\n --cui-time-picker-gap: 0.75rem;\n --cui-time-picker-indicator-width: 1.25rem;\n --cui-time-picker-indicator-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpolygon fill='%23000' points='271.514 95.5 239.514 95.5 239.514 273.611 355.127 328.559 368.864 299.657 271.514 253.389 271.514 95.5'%3e%3c/polygon%3e%3cpath fill='%23000' d='M256,16C123.452,16,16,123.452,16,256S123.452,496,256,496,496,388.548,496,256,388.548,16,256,16Zm0,448C141.125,464,48,370.875,48,256S141.125,48,256,48s208,93.125,208,208S370.875,464,256,464Z'%3e%3c/path%3e%3c/svg%3e\");\n --cui-time-picker-indicator-icon-color: var(--cui-tertiary-color);\n --cui-time-picker-indicator-icon-size: 1rem;\n --cui-time-picker-cleaner-width: 1.25rem;\n --cui-time-picker-cleaner-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpolygon fill='%23000' points='348.071 141.302 260.308 229.065 172.545 141.302 149.917 163.929 237.681 251.692 149.917 339.456 172.545 362.083 260.308 274.32 348.071 362.083 370.699 339.456 282.935 251.692 370.699 163.929 348.071 141.302'%3e%3c/polygon%3e%3cpath fill='%23000' d='M425.706,86.294A240,240,0,0,0,86.294,425.706,240,240,0,0,0,425.706,86.294ZM256,464C141.309,464,48,370.691,48,256S141.309,48,256,48s208,93.309,208,208S370.691,464,256,464Z'%3e%3c/path%3e%3c/svg%3e\");\n --cui-time-picker-cleaner-icon-color: var(--cui-tertiary-color);\n --cui-time-picker-cleaner-icon-hover-color: var(--cui-body-color);\n --cui-time-picker-cleaner-icon-size: 1rem;\n --cui-time-picker-body-padding: 0.5rem;\n --cui-time-picker-footer-border-width: 1px;\n --cui-time-picker-footer-border-color: var(--cui-border-color);\n --cui-time-picker-footer-padding: 0.5rem;\n --cui-time-picker-dropdown-bg: var(--cui-body-bg);\n --cui-time-picker-dropdown-border-width: var(--cui-border-width);\n --cui-time-picker-dropdown-border-color: var(--cui-border-color);\n --cui-time-picker-dropdown-border-radius: var(--cui-border-radius);\n --cui-time-picker-dropdown-box-shadow: var(--cui-box-shadow);\n --cui-time-picker-roll-col-border-width: var(--cui-border-width);\n --cui-time-picker-roll-col-border-color: var(--cui-border-color);\n --cui-time-picker-roll-cell-selected-color: var(--cui-white);\n --cui-time-picker-roll-cell-selected-bg: var(--cui-primary);\n --cui-time-picker-inline-select-font-size: 0.875rem;\n --cui-time-picker-inline-select-color: var(--cui-body-color);\n --cui-time-picker-inline-select-padding-y: 0.25rem;\n --cui-time-picker-inline-select-padding-x: 0.5rem;\n --cui-time-picker-inline-select-disabled-color: var(--cui-body-color);\n}\n.time-picker.is-invalid,\n*:not(.time-picker) > .time-picker-dropdown.is-invalid {\n --cui-time-picker-border-color: var(--cui-form-invalid-border-color) !important;\n --cui-time-picker-indicator-icon-color: var(--cui-form-invalid-color) !important;\n --cui-time-picker-indicator-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpolygon fill='%23000' points='271.514 95.5 239.514 95.5 239.514 273.611 355.127 328.559 368.864 299.657 271.514 253.389 271.514 95.5'%3e%3c/polygon%3e%3cpath fill='%23000' d='M256,16C123.452,16,16,123.452,16,256S123.452,496,256,496,496,388.548,496,256,388.548,16,256,16Zm0,448C141.125,464,48,370.875,48,256S141.125,48,256,48s208,93.125,208,208S370.875,464,256,464Z'%3e%3c/path%3e%3c/svg%3e\") !important;\n}\n.time-picker.is-valid,\n*:not(.time-picker) > .time-picker-dropdown.is-valid {\n --cui-time-picker-border-color: var(--cui-form-valid-border-color) !important;\n --cui-time-picker-indicator-icon-color: var(--cui-form-valid-color) !important;\n --cui-time-picker-indicator-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' role='img'%3e%3cpolygon fill='%23000' points='271.514 95.5 239.514 95.5 239.514 273.611 355.127 328.559 368.864 299.657 271.514 253.389 271.514 95.5'%3e%3c/polygon%3e%3cpath fill='%23000' d='M256,16C123.452,16,16,123.452,16,256S123.452,496,256,496,496,388.548,496,256,388.548,16,256,16Zm0,448C141.125,464,48,370.875,48,256S141.125,48,256,48s208,93.125,208,208S370.875,464,256,464Z'%3e%3c/path%3e%3c/svg%3e\") !important;\n}\n\n.time-picker-input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n gap: var(--cui-time-picker-gap);\n align-items: stretch;\n width: 100%;\n padding: var(--cui-time-picker-padding-y) var(--cui-time-picker-padding-x);\n background-color: var(--cui-time-picker-bg);\n background-clip: padding-box;\n border: var(--cui-time-picker-border-width) solid var(--cui-time-picker-border-color);\n border-radius: var(--cui-time-picker-border-radius);\n}\n.time-picker-input-group:hover .time-picker-input:not(:placeholder-shown) ~ .time-picker-indicator:not(:last-child) {\n display: none;\n}\n.time-picker-input-group:hover .time-picker-input:not(:placeholder-shown) ~ .time-picker-cleaner {\n display: flex;\n}\n.time-picker .time-picker-input-group {\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .time-picker .time-picker-input-group {\n transition: none;\n }\n}\n.time-picker.disabled .time-picker-input-group {\n background-color: var(--cui-time-picker-disabled-bg);\n border-color: var(--cui-time-picker-disabled-border-color);\n}\n.time-picker.show .time-picker-input-group, .time-picker-input-group:has(*:focus) {\n background-color: var(--cui-time-picker-focus-bg);\n border-color: var(--cui-time-picker-focus-border-color);\n outline: 0;\n box-shadow: var(--cui-time-picker-focus-box-shadow);\n}\n\n.time-picker-input {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n padding: 0;\n font-family: var(--cui-time-picker-font-family);\n font-size: var(--cui-time-picker-font-size);\n font-weight: var(--cui-time-picker-font-weight);\n line-height: var(--cui-time-picker-line-height);\n color: var(--cui-time-picker-color);\n appearance: none;\n background: transparent;\n border: 0;\n}\n.time-picker.show .time-picker-input {\n color: var(--cui-time-picker-focus-color);\n}\n.time-picker-input:disabled {\n color: var(--cui-time-picker-disabled-color);\n}\n.time-picker-input:focus {\n z-index: 5;\n outline: 0;\n}\n.time-picker-input::placeholder {\n color: var(--cui-time-picker-placeholder-color);\n opacity: 1;\n}\n.time-picker-input.hover {\n color: var(--cui-time-picker-placeholder-color);\n}\n\n.time-picker-cleaner,\n.time-picker-indicator {\n position: relative;\n background-repeat: no-repeat;\n background-position: center;\n}\n.time-picker-cleaner::before,\n.time-picker-indicator::before {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n content: \"\";\n}\n\n.time-picker-cleaner {\n display: none;\n width: var(--cui-time-picker-cleaner-width);\n}\n.time-picker-cleaner::before {\n background-color: var(--cui-time-picker-cleaner-icon-color);\n mask: var(--cui-time-picker-cleaner-icon) center/var(--cui-time-picker-cleaner-icon-size) no-repeat;\n}\n.time-picker-cleaner:hover::before {\n background-color: var(--cui-time-picker-cleaner-icon-hover-color);\n}\n\n.time-picker-indicator {\n width: var(--cui-time-picker-indicator-width);\n}\n.time-picker-indicator::before {\n background-color: var(--cui-time-picker-indicator-icon-color);\n mask: var(--cui-time-picker-indicator-icon) center/var(--cui-time-picker-indicator-icon-size) no-repeat;\n}\n.time-picker-indicator:focus {\n z-index: 5;\n outline: 0;\n box-shadow: var(--cui-focus-ring-x, 0) var(--cui-focus-ring-y, 0) var(--cui-focus-ring-blur, 0) var(--cui-focus-ring-width) var(--cui-focus-ring-color);\n border-radius: 0.375rem;\n}\n\n.time-picker-dropdown {\n position: absolute;\n z-index: var(--cui-time-picker-zindex);\n display: none;\n width: min-content;\n background-color: var(--cui-time-picker-dropdown-bg);\n background-clip: padding-box;\n border: var(--cui-time-picker-dropdown-border-width) solid var(--cui-time-picker-dropdown-border-color);\n border-radius: var(--cui-time-picker-dropdown-border-radius);\n}\n.time-picker.show .time-picker-dropdown, .time-picker-dropdown.show {\n display: block;\n}\n\n.time-picker-body {\n display: flex;\n align-items: center;\n padding: var(--cui-time-picker-body-padding);\n}\n\n.time-picker-inline-icon {\n display: block;\n width: 2.5rem;\n height: 1.25rem;\n background-color: var(--cui-time-picker-indicator-icon-color);\n mask: var(--cui-time-picker-indicator-icon) center/var(--cui-time-picker-indicator-icon-size) no-repeat;\n}\n\n.time-picker-inline-select {\n padding: var(--cui-time-picker-inline-select-padding-y) var(--cui-time-picker-inline-select-padding-x);\n color: var(--cui-time-picker-inline-select-color);\n text-align: end;\n appearance: none;\n scrollbar-width: none; /* Firefox */\n background-color: transparent;\n border: 0;\n font-size: var(--cui-time-picker-inline-select-font-size);\n -ms-overflow-style: none; /* Internet Explorer 10+ */\n}\n.time-picker-inline-select::-webkit-scrollbar {\n width: 10px;\n}\n.time-picker-inline-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 var(--cui-time-picker-inline-select-color);\n}\n.time-picker-inline-select:disabled {\n color: var(--cui-time-picker-inline-select-disabled-color);\n}\n\n.time-picker-footer {\n display: flex;\n justify-content: flex-end;\n padding: var(--cui-time-picker-footer-padding);\n border-top: var(--cui-time-picker-footer-border-width) solid var(--cui-time-picker-footer-border-color);\n}\n.time-picker-footer .btn + .btn {\n margin-inline-start: 0.5rem;\n}\n\n.time-picker-roll {\n padding: 0;\n overflow: hidden;\n border-radius: inherit;\n}\n\n.time-picker-roll-col {\n height: 256px;\n overflow: scroll;\n -ms-overflow-style: none; /* Internet Explorer 10+ */\n scrollbar-width: none; /* Firefox */\n}\n.time-picker-roll-col::-webkit-scrollbar {\n display: none; /* Safari and Chrome */\n}\n.time-picker-roll-col:not(:last-child) {\n border-inline-end: var(--cui-time-picker-roll-col-border-width) solid var(--cui-time-picker-roll-col-border-color);\n}\n\n.time-picker-roll-cell {\n width: 50px;\n height: 32px;\n padding-inline: 0.5rem 1rem;\n line-height: 32px;\n}\n.time-picker-roll-cell.selected {\n color: var(--cui-time-picker-roll-cell-selected-color);\n background: var(--cui-time-picker-roll-cell-selected-bg);\n}\n.time-picker-roll-cell:last-child::after {\n display: block;\n height: 224px;\n content: \"\";\n}\n\n.time-picker-sm {\n --cui-time-picker-font-size: 0.875rem;\n --cui-time-picker-border-radius: var(--cui-border-radius-sm);\n --cui-time-picker-padding-y: 0.25rem;\n --cui-time-picker-padding-x: 0.5rem;\n --cui-time-picker-gap: 0.5rem;\n --cui-time-picker-cleaner-width: 1rem;\n --cui-time-picker-cleaner-icon-size: 0.875rem;\n --cui-time-picker-indicator-width: 1rem;\n --cui-time-picker-indicator-icon-size: 0.875rem;\n}\n\n.time-picker-lg {\n --cui-time-picker-font-size: 1.25rem;\n --cui-time-picker-border-radius: var(--cui-border-radius-lg);\n --cui-time-picker-padding-y: 0.5rem;\n --cui-time-picker-padding-x: 1rem;\n --cui-time-picker-gap: 1rem;\n --cui-time-picker-cleaner-width: 1.5rem;\n --cui-time-picker-cleaner-icon-size: 1.25rem;\n --cui-time-picker-indicator-width: 1.5rem;\n --cui-time-picker-indicator-icon-size: 1.25rem;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.text-bg-primary {\n color: #fff !important;\n background-color: RGBA(var(--cui-primary-rgb), var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-secondary {\n color: #fff !important;\n background-color: RGBA(var(--cui-secondary-rgb), var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-success {\n color: #080a0c !important;\n background-color: RGBA(var(--cui-success-rgb), var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-info {\n color: #080a0c !important;\n background-color: RGBA(var(--cui-info-rgb), var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-warning {\n color: #080a0c !important;\n background-color: RGBA(var(--cui-warning-rgb), var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-danger {\n color: #080a0c !important;\n background-color: RGBA(var(--cui-danger-rgb), var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-light {\n color: #080a0c !important;\n background-color: RGBA(var(--cui-light-rgb), var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-dark {\n color: #fff !important;\n background-color: RGBA(var(--cui-dark-rgb), var(--cui-bg-opacity, 1)) !important;\n}\n\n.text-bg-primary-gradient {\n color: #fff !important;\n background-color: var(--cui-primary);\n background-image: linear-gradient(45deg, var(--cui-primary-start) 0%, var(--cui-primary-stop) 100%);\n}\n\n.text-bg-secondary-gradient {\n color: #080a0c !important;\n background-color: var(--cui-secondary);\n background-image: linear-gradient(45deg, var(--cui-secondary-start) 0%, var(--cui-secondary-stop) 100%);\n}\n\n.text-bg-success-gradient {\n color: #080a0c !important;\n background-color: var(--cui-success);\n background-image: linear-gradient(45deg, var(--cui-success-start) 0%, var(--cui-success-stop) 100%);\n}\n\n.text-bg-info-gradient {\n color: #080a0c !important;\n background-color: var(--cui-info);\n background-image: linear-gradient(45deg, var(--cui-info-start) 0%, var(--cui-info-stop) 100%);\n}\n\n.text-bg-warning-gradient {\n color: #080a0c !important;\n background-color: var(--cui-warning);\n background-image: linear-gradient(45deg, var(--cui-warning-start) 0%, var(--cui-warning-stop) 100%);\n}\n\n.text-bg-danger-gradient {\n color: #080a0c !important;\n background-color: var(--cui-danger);\n background-image: linear-gradient(45deg, var(--cui-danger-start) 0%, var(--cui-danger-stop) 100%);\n}\n\n.text-bg-light-gradient {\n color: #080a0c !important;\n background-color: var(--cui-light);\n background-image: linear-gradient(45deg, var(--cui-light-start) 0%, var(--cui-light-stop) 100%);\n}\n\n.text-bg-dark-gradient {\n color: #fff !important;\n background-color: var(--cui-dark);\n background-image: linear-gradient(45deg, var(--cui-dark-start) 0%, var(--cui-dark-stop) 100%);\n}\n\n.dark-theme .text-bg-primary,\n[data-coreui-theme=dark] .text-bg-primary {\n color: #fff !important;\n background-color: RGBA(98, 97, 204, var(--cui-bg-opacity, 1)) !important;\n}\n.dark-theme .text-bg-secondary,\n[data-coreui-theme=dark] .text-bg-secondary {\n color: #fff !important;\n background-color: RGBA(107, 119, 133, var(--cui-bg-opacity, 1)) !important;\n}\n.dark-theme .text-bg-success,\n[data-coreui-theme=dark] .text-bg-success {\n color: #080a0c !important;\n background-color: RGBA(36, 149, 66, var(--cui-bg-opacity, 1)) !important;\n}\n.dark-theme .text-bg-info,\n[data-coreui-theme=dark] .text-bg-info {\n color: #080a0c !important;\n background-color: RGBA(61, 153, 245, var(--cui-bg-opacity, 1)) !important;\n}\n.dark-theme .text-bg-warning,\n[data-coreui-theme=dark] .text-bg-warning {\n color: #080a0c !important;\n background-color: RGBA(237, 173, 33, var(--cui-bg-opacity, 1)) !important;\n}\n.dark-theme .text-bg-danger,\n[data-coreui-theme=dark] .text-bg-danger {\n color: #080a0c !important;\n background-color: RGBA(219, 93, 93, var(--cui-bg-opacity, 1)) !important;\n}\n.dark-theme .text-bg-light,\n[data-coreui-theme=dark] .text-bg-light {\n color: #080a0c !important;\n background-color: RGBA(243, 244, 247, var(--cui-bg-opacity, 1)) !important;\n}\n.dark-theme .text-bg-dark,\n[data-coreui-theme=dark] .text-bg-dark {\n color: #fff !important;\n background-color: RGBA(33, 38, 49, var(--cui-bg-opacity, 1)) !important;\n}\n.dark-theme .text-bg-primary-gradient,\n[data-coreui-theme=dark] .text-bg-primary-gradient {\n color: #fff !important;\n}\n.dark-theme .text-bg-secondary-gradient,\n[data-coreui-theme=dark] .text-bg-secondary-gradient {\n color: #080a0c !important;\n}\n.dark-theme .text-bg-success-gradient,\n[data-coreui-theme=dark] .text-bg-success-gradient {\n color: #080a0c !important;\n}\n.dark-theme .text-bg-info-gradient,\n[data-coreui-theme=dark] .text-bg-info-gradient {\n color: #080a0c !important;\n}\n.dark-theme .text-bg-warning-gradient,\n[data-coreui-theme=dark] .text-bg-warning-gradient {\n color: #080a0c !important;\n}\n.dark-theme .text-bg-danger-gradient,\n[data-coreui-theme=dark] .text-bg-danger-gradient {\n color: #080a0c !important;\n}\n.dark-theme .text-bg-light-gradient,\n[data-coreui-theme=dark] .text-bg-light-gradient {\n color: #080a0c !important;\n}\n.dark-theme .text-bg-dark-gradient,\n[data-coreui-theme=dark] .text-bg-dark-gradient {\n color: #fff !important;\n}\n\n.link-primary {\n color: RGBA(var(--cui-primary-rgb), var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--cui-primary-rgb), var(--cui-link-underline-opacity, 1)) !important;\n}\n.link-primary:hover, .link-primary:focus {\n color: RGBA(70, 69, 171, var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(70, 69, 171, var(--cui-link-underline-opacity, 1)) !important;\n}\n\n.link-secondary {\n color: RGBA(var(--cui-secondary-rgb), var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--cui-secondary-rgb), var(--cui-link-underline-opacity, 1)) !important;\n}\n.link-secondary:hover, .link-secondary:focus {\n color: RGBA(86, 95, 106, var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(86, 95, 106, var(--cui-link-underline-opacity, 1)) !important;\n}\n\n.link-success {\n color: RGBA(var(--cui-success-rgb), var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--cui-success-rgb), var(--cui-link-underline-opacity, 1)) !important;\n}\n.link-success:hover, .link-success:focus {\n color: RGBA(73, 177, 101, var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(73, 177, 101, var(--cui-link-underline-opacity, 1)) !important;\n}\n\n.link-info {\n color: RGBA(var(--cui-info-rgb), var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--cui-info-rgb), var(--cui-link-underline-opacity, 1)) !important;\n}\n.link-info:hover, .link-info:focus {\n color: RGBA(92, 173, 255, var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(92, 173, 255, var(--cui-link-underline-opacity, 1)) !important;\n}\n\n.link-warning {\n color: RGBA(var(--cui-warning-rgb), var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--cui-warning-rgb), var(--cui-link-underline-opacity, 1)) !important;\n}\n.link-warning:hover, .link-warning:focus {\n color: RGBA(250, 193, 68, var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(250, 193, 68, var(--cui-link-underline-opacity, 1)) !important;\n}\n\n.link-danger {\n color: RGBA(var(--cui-danger-rgb), var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--cui-danger-rgb), var(--cui-link-underline-opacity, 1)) !important;\n}\n.link-danger:hover, .link-danger:focus {\n color: RGBA(234, 117, 117, var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(234, 117, 117, var(--cui-link-underline-opacity, 1)) !important;\n}\n\n.link-light {\n color: RGBA(var(--cui-light-rgb), var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--cui-light-rgb), var(--cui-link-underline-opacity, 1)) !important;\n}\n.link-light:hover, .link-light:focus {\n color: RGBA(245, 246, 249, var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(245, 246, 249, var(--cui-link-underline-opacity, 1)) !important;\n}\n\n.link-dark {\n color: RGBA(var(--cui-dark-rgb), var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--cui-dark-rgb), var(--cui-link-underline-opacity, 1)) !important;\n}\n.link-dark:hover, .link-dark:focus {\n color: RGBA(26, 30, 39, var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(26, 30, 39, var(--cui-link-underline-opacity, 1)) !important;\n}\n\n.link-body-emphasis {\n color: RGBA(var(--cui-emphasis-color-rgb), var(--cui-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--cui-emphasis-color-rgb), var(--cui-link-underline-opacity, 1)) !important;\n}\n.link-body-emphasis:hover, .link-body-emphasis:focus {\n color: RGBA(var(--cui-emphasis-color-rgb), var(--cui-link-opacity, 0.75)) !important;\n text-decoration-color: RGBA(var(--cui-emphasis-color-rgb), var(--cui-link-underline-opacity, 0.75)) !important;\n}\n\n.focus-ring:focus {\n outline: 0;\n box-shadow: var(--cui-focus-ring-x, 0) var(--cui-focus-ring-y, 0) var(--cui-focus-ring-blur, 0) var(--cui-focus-ring-width) var(--cui-focus-ring-color);\n}\n\n.icon-link {\n display: inline-flex;\n gap: 0.375rem;\n align-items: center;\n text-decoration-color: rgba(var(--cui-link-color-rgb), var(--cui-link-opacity, 0.5));\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n}\n.icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n}\n@media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n}\n\n.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--cui-icon-link-transform, translate3d(0.25em, 0, 0));\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n.ratio::before {\n display: block;\n padding-top: var(--cui-aspect-ratio);\n content: \"\";\n}\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --cui-aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --cui-aspect-ratio: 75%;\n}\n\n.ratio-16x9 {\n --cui-aspect-ratio: 56.25%;\n}\n\n.ratio-21x9 {\n --cui-aspect-ratio: 42.8571428571%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n.sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-sm-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-md-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-lg-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xxl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n.hstack {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n}\n\n.vstack {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-self: stretch;\n}\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n.visually-hidden:not(caption),\n.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.vr {\n display: inline-block;\n align-self: stretch;\n width: var(--cui-border-width);\n min-height: 1em;\n padding: 0;\n background-color: currentcolor;\n opacity: 0.25;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-start {\n float: left !important;\n}\n\n.float-end {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.object-fit-contain {\n object-fit: contain !important;\n}\n\n.object-fit-cover {\n object-fit: cover !important;\n}\n\n.object-fit-fill {\n object-fit: fill !important;\n}\n\n.object-fit-scale {\n object-fit: scale-down !important;\n}\n\n.object-fit-none {\n object-fit: none !important;\n}\n\n.opacity-0 {\n opacity: 0 !important;\n}\n\n.opacity-25 {\n opacity: 0.25 !important;\n}\n\n.opacity-50 {\n opacity: 0.5 !important;\n}\n\n.opacity-75 {\n opacity: 0.75 !important;\n}\n\n.opacity-100 {\n opacity: 1 !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.overflow-x-auto {\n overflow-x: auto !important;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden !important;\n}\n\n.overflow-x-visible {\n overflow-x: visible !important;\n}\n\n.overflow-x-scroll {\n overflow-x: scroll !important;\n}\n\n.overflow-y-auto {\n overflow-y: auto !important;\n}\n\n.overflow-y-hidden {\n overflow-y: hidden !important;\n}\n\n.overflow-y-visible {\n overflow-y: visible !important;\n}\n\n.overflow-y-scroll {\n overflow-y: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: var(--cui-box-shadow) !important;\n}\n\n.shadow-sm {\n box-shadow: var(--cui-box-shadow-sm) !important;\n}\n\n.shadow-lg {\n box-shadow: var(--cui-box-shadow-lg) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.elevation-0 {\n box-shadow: none !important;\n}\n\n.elevation-1 {\n box-shadow: 0 1px 1px 0 rgba(var(--cui-elevation-base-color), .14), 0 2px 1px -1px rgba(var(--cui-elevation-base-color), .12), 0 1px 3px 0 rgba(var(--cui-elevation-base-color), .20) !important;\n}\n\n.elevation-2 {\n box-shadow: 0 2px 2px 0 rgba(var(--cui-elevation-base-color), .14), 0 3px 1px -2px rgba(var(--cui-elevation-base-color), .12), 0 1px 5px 0 rgba(var(--cui-elevation-base-color), .20) !important;\n}\n\n.elevation-3 {\n box-shadow: 0 6px 10px 0 rgba(var(--cui-elevation-base-color), .14), 0 1px 18px 0 rgba(var(--cui-elevation-base-color), .12), 0 3px 5px -1px rgba(var(--cui-elevation-base-color), .20) !important;\n}\n\n.elevation-4 {\n box-shadow: 0 8px 10px 1px rgba(var(--cui-elevation-base-color), .14), 0 3px 14px 2px rgba(var(--cui-elevation-base-color), .12), 0 5px 5px -3px rgba(var(--cui-elevation-base-color), .20) !important;\n}\n\n.elevation-5 {\n box-shadow: 0 12px 17px 2px rgba(var(--cui-elevation-base-color), .14), 0 5px 22px 4px rgba(var(--cui-elevation-base-color), .12), 0 7px 8px -4px rgba(var(--cui-elevation-base-color), .20) !important;\n}\n\n.focus-ring-primary {\n --cui-focus-ring-color: rgba(var(--cui-primary-rgb), var(--cui-focus-ring-opacity));\n}\n\n.focus-ring-secondary {\n --cui-focus-ring-color: rgba(var(--cui-secondary-rgb), var(--cui-focus-ring-opacity));\n}\n\n.focus-ring-success {\n --cui-focus-ring-color: rgba(var(--cui-success-rgb), var(--cui-focus-ring-opacity));\n}\n\n.focus-ring-info {\n --cui-focus-ring-color: rgba(var(--cui-info-rgb), var(--cui-focus-ring-opacity));\n}\n\n.focus-ring-warning {\n --cui-focus-ring-color: rgba(var(--cui-warning-rgb), var(--cui-focus-ring-opacity));\n}\n\n.focus-ring-danger {\n --cui-focus-ring-color: rgba(var(--cui-danger-rgb), var(--cui-focus-ring-opacity));\n}\n\n.focus-ring-light {\n --cui-focus-ring-color: rgba(var(--cui-light-rgb), var(--cui-focus-ring-opacity));\n}\n\n.focus-ring-dark {\n --cui-focus-ring-color: rgba(var(--cui-dark-rgb), var(--cui-focus-ring-opacity));\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.start-0 {\n left: 0 !important;\n}\n\n.start-50 {\n left: 50% !important;\n}\n\n.start-100 {\n left: 100% !important;\n}\n\n.end-0 {\n right: 0 !important;\n}\n\n.end-50 {\n right: 50% !important;\n}\n\n.end-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translate(-50%, -50%) !important;\n}\n\n.translate-middle-x {\n transform: translateX(-50%) !important;\n}\n\n.translate-middle-y {\n transform: translateY(-50%) !important;\n}\n\n.border {\n border: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-end {\n border-right: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;\n}\n\n.border-end-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-start {\n border-left: var(--cui-border-width) var(--cui-border-style) var(--cui-border-color) !important;\n}\n\n.border-start-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-primary-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-secondary {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-secondary-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-success {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-success-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-info {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-info-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-warning {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-warning-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-danger {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-danger-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-light {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-light-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-dark {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-dark-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-black {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-black-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-white {\n --cui-border-opacity: 1;\n border-color: rgba(var(--cui-white-rgb), var(--cui-border-opacity)) !important;\n}\n\n.border-top-primary {\n border-top-color: #5856d6 !important;\n}\n\n.border-top-secondary {\n border-top-color: #6b7785 !important;\n}\n\n.border-top-success {\n border-top-color: #1b9e3e !important;\n}\n\n.border-top-info {\n border-top-color: #39f !important;\n}\n\n.border-top-warning {\n border-top-color: #f9b115 !important;\n}\n\n.border-top-danger {\n border-top-color: #e55353 !important;\n}\n\n.border-top-light {\n border-top-color: #f3f4f7 !important;\n}\n\n.border-top-dark {\n border-top-color: #212631 !important;\n}\n\n.border-top-white {\n border-top-color: #fff !important;\n}\n\n.border-end-primary {\n border-right-color: #5856d6 !important;\n}\n\n.border-end-secondary {\n border-right-color: #6b7785 !important;\n}\n\n.border-end-success {\n border-right-color: #1b9e3e !important;\n}\n\n.border-end-info {\n border-right-color: #39f !important;\n}\n\n.border-end-warning {\n border-right-color: #f9b115 !important;\n}\n\n.border-end-danger {\n border-right-color: #e55353 !important;\n}\n\n.border-end-light {\n border-right-color: #f3f4f7 !important;\n}\n\n.border-end-dark {\n border-right-color: #212631 !important;\n}\n\n.border-end-white {\n border-right-color: #fff !important;\n}\n\n.border-bottom-primary {\n border-bottom-color: #5856d6 !important;\n}\n\n.border-bottom-secondary {\n border-bottom-color: #6b7785 !important;\n}\n\n.border-bottom-success {\n border-bottom-color: #1b9e3e !important;\n}\n\n.border-bottom-info {\n border-bottom-color: #39f !important;\n}\n\n.border-bottom-warning {\n border-bottom-color: #f9b115 !important;\n}\n\n.border-bottom-danger {\n border-bottom-color: #e55353 !important;\n}\n\n.border-bottom-light {\n border-bottom-color: #f3f4f7 !important;\n}\n\n.border-bottom-dark {\n border-bottom-color: #212631 !important;\n}\n\n.border-bottom-white {\n border-bottom-color: #fff !important;\n}\n\n.border-start-primary {\n border-left-color: #5856d6 !important;\n}\n\n.border-start-secondary {\n border-left-color: #6b7785 !important;\n}\n\n.border-start-success {\n border-left-color: #1b9e3e !important;\n}\n\n.border-start-info {\n border-left-color: #39f !important;\n}\n\n.border-start-warning {\n border-left-color: #f9b115 !important;\n}\n\n.border-start-danger {\n border-left-color: #e55353 !important;\n}\n\n.border-start-light {\n border-left-color: #f3f4f7 !important;\n}\n\n.border-start-dark {\n border-left-color: #212631 !important;\n}\n\n.border-start-white {\n border-left-color: #fff !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.border-top-1 {\n border-top-width: 1px !important;\n}\n\n.border-top-2 {\n border-top-width: 2px !important;\n}\n\n.border-top-3 {\n border-top-width: 3px !important;\n}\n\n.border-top-4 {\n border-top-width: 4px !important;\n}\n\n.border-top-5 {\n border-top-width: 5px !important;\n}\n\n.border-end-1 {\n border-right-width: 1px !important;\n}\n\n.border-end-2 {\n border-right-width: 2px !important;\n}\n\n.border-end-3 {\n border-right-width: 3px !important;\n}\n\n.border-end-4 {\n border-right-width: 4px !important;\n}\n\n.border-end-5 {\n border-right-width: 5px !important;\n}\n\n.border-bottom-1 {\n border-bottom-width: 1px !important;\n}\n\n.border-bottom-2 {\n border-bottom-width: 2px !important;\n}\n\n.border-bottom-3 {\n border-bottom-width: 3px !important;\n}\n\n.border-bottom-4 {\n border-bottom-width: 4px !important;\n}\n\n.border-bottom-5 {\n border-bottom-width: 5px !important;\n}\n\n.border-start-1 {\n border-left-width: 1px !important;\n}\n\n.border-start-2 {\n border-left-width: 2px !important;\n}\n\n.border-start-3 {\n border-left-width: 3px !important;\n}\n\n.border-start-4 {\n border-left-width: 4px !important;\n}\n\n.border-start-5 {\n border-left-width: 5px !important;\n}\n\n.border-primary-subtle {\n border-color: var(--cui-primary-border-subtle) !important;\n}\n\n.border-secondary-subtle {\n border-color: var(--cui-secondary-border-subtle) !important;\n}\n\n.border-success-subtle {\n border-color: var(--cui-success-border-subtle) !important;\n}\n\n.border-info-subtle {\n border-color: var(--cui-info-border-subtle) !important;\n}\n\n.border-warning-subtle {\n border-color: var(--cui-warning-border-subtle) !important;\n}\n\n.border-danger-subtle {\n border-color: var(--cui-danger-border-subtle) !important;\n}\n\n.border-light-subtle {\n border-color: var(--cui-light-border-subtle) !important;\n}\n\n.border-dark-subtle {\n border-color: var(--cui-dark-border-subtle) !important;\n}\n\n.border-opacity-10 {\n --cui-border-opacity: 0.1;\n}\n\n.border-opacity-25 {\n --cui-border-opacity: 0.25;\n}\n\n.border-opacity-50 {\n --cui-border-opacity: 0.5;\n}\n\n.border-opacity-75 {\n --cui-border-opacity: 0.75;\n}\n\n.border-opacity-100 {\n --cui-border-opacity: 1;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n.gap-0 {\n gap: 0 !important;\n}\n\n.gap-1 {\n gap: 0.25rem !important;\n}\n\n.gap-2 {\n gap: 0.5rem !important;\n}\n\n.gap-3 {\n gap: 1rem !important;\n}\n\n.gap-4 {\n gap: 1.5rem !important;\n}\n\n.gap-5 {\n gap: 3rem !important;\n}\n\n.row-gap-0 {\n row-gap: 0 !important;\n}\n\n.row-gap-1 {\n row-gap: 0.25rem !important;\n}\n\n.row-gap-2 {\n row-gap: 0.5rem !important;\n}\n\n.row-gap-3 {\n row-gap: 1rem !important;\n}\n\n.row-gap-4 {\n row-gap: 1.5rem !important;\n}\n\n.row-gap-5 {\n row-gap: 3rem !important;\n}\n\n.column-gap-0 {\n column-gap: 0 !important;\n}\n\n.column-gap-1 {\n column-gap: 0.25rem !important;\n}\n\n.column-gap-2 {\n column-gap: 0.5rem !important;\n}\n\n.column-gap-3 {\n column-gap: 1rem !important;\n}\n\n.column-gap-4 {\n column-gap: 1.5rem !important;\n}\n\n.column-gap-5 {\n column-gap: 3rem !important;\n}\n\n.font-monospace {\n font-family: var(--cui-font-monospace) !important;\n}\n\n.fs-1 {\n font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25rem !important;\n}\n\n.fs-6 {\n font-size: 1rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.fw-lighter {\n font-weight: lighter !important;\n}\n\n.fw-light {\n font-weight: 300 !important;\n}\n\n.fw-normal {\n font-weight: 400 !important;\n}\n\n.fw-medium {\n font-weight: 500 !important;\n}\n\n.fw-semibold {\n font-weight: 600 !important;\n}\n\n.fw-bold {\n font-weight: 700 !important;\n}\n\n.fw-bolder {\n font-weight: bolder !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.text-start {\n text-align: left !important;\n}\n\n.text-end {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n/* rtl:begin:remove */\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n/* rtl:end:remove */\n[data-coreui-theme=dark] .dark\\:text-primary, [data-coreui-theme=dark] .dark\\:text-primary:not([class*=\"dark:\"]), .dark-theme .dark\\:text-primary, .dark-theme .dark\\:text-primary:not([class*=\"dark:\"]),\n.text-primary {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-primary-rgb), var(--cui-text-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-secondary, [data-coreui-theme=dark] .dark\\:text-secondary:not([class*=\"dark:\"]), .dark-theme .dark\\:text-secondary, .dark-theme .dark\\:text-secondary:not([class*=\"dark:\"]),\n.text-secondary {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-secondary-rgb), var(--cui-text-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-success, [data-coreui-theme=dark] .dark\\:text-success:not([class*=\"dark:\"]), .dark-theme .dark\\:text-success, .dark-theme .dark\\:text-success:not([class*=\"dark:\"]),\n.text-success {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-success-rgb), var(--cui-text-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-info, [data-coreui-theme=dark] .dark\\:text-info:not([class*=\"dark:\"]), .dark-theme .dark\\:text-info, .dark-theme .dark\\:text-info:not([class*=\"dark:\"]),\n.text-info {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-info-rgb), var(--cui-text-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-warning, [data-coreui-theme=dark] .dark\\:text-warning:not([class*=\"dark:\"]), .dark-theme .dark\\:text-warning, .dark-theme .dark\\:text-warning:not([class*=\"dark:\"]),\n.text-warning {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-warning-rgb), var(--cui-text-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-danger, [data-coreui-theme=dark] .dark\\:text-danger:not([class*=\"dark:\"]), .dark-theme .dark\\:text-danger, .dark-theme .dark\\:text-danger:not([class*=\"dark:\"]),\n.text-danger {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-danger-rgb), var(--cui-text-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-light, [data-coreui-theme=dark] .dark\\:text-light:not([class*=\"dark:\"]), .dark-theme .dark\\:text-light, .dark-theme .dark\\:text-light:not([class*=\"dark:\"]),\n.text-light {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-light-rgb), var(--cui-text-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-dark, [data-coreui-theme=dark] .dark\\:text-dark:not([class*=\"dark:\"]), .dark-theme .dark\\:text-dark, .dark-theme .dark\\:text-dark:not([class*=\"dark:\"]),\n.text-dark {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-dark-rgb), var(--cui-text-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-black, [data-coreui-theme=dark] .dark\\:text-black:not([class*=\"dark:\"]), .dark-theme .dark\\:text-black, .dark-theme .dark\\:text-black:not([class*=\"dark:\"]),\n.text-black {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-black-rgb), var(--cui-text-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-white, [data-coreui-theme=dark] .dark\\:text-white:not([class*=\"dark:\"]), .dark-theme .dark\\:text-white, .dark-theme .dark\\:text-white:not([class*=\"dark:\"]),\n.text-white {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-white-rgb), var(--cui-text-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-body, [data-coreui-theme=dark] .dark\\:text-body:not([class*=\"dark:\"]), .dark-theme .dark\\:text-body, .dark-theme .dark\\:text-body:not([class*=\"dark:\"]),\n.text-body {\n --cui-text-opacity: 1;\n color: rgba(var(--cui-body-color-rgb), var(--cui-text-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-muted, [data-coreui-theme=dark] .dark\\:text-muted:not([class*=\"dark:\"]), .dark-theme .dark\\:text-muted, .dark-theme .dark\\:text-muted:not([class*=\"dark:\"]),\n.text-muted {\n --cui-text-opacity: 1;\n color: var(--cui-secondary-color) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-black-50, [data-coreui-theme=dark] .dark\\:text-black-50:not([class*=\"dark:\"]), .dark-theme .dark\\:text-black-50, .dark-theme .dark\\:text-black-50:not([class*=\"dark:\"]),\n.text-black-50 {\n --cui-text-opacity: 1;\n color: rgba(8, 10, 12, 0.5) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-white-50, [data-coreui-theme=dark] .dark\\:text-white-50:not([class*=\"dark:\"]), .dark-theme .dark\\:text-white-50, .dark-theme .dark\\:text-white-50:not([class*=\"dark:\"]),\n.text-white-50 {\n --cui-text-opacity: 1;\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-body-secondary, [data-coreui-theme=dark] .dark\\:text-body-secondary:not([class*=\"dark:\"]), .dark-theme .dark\\:text-body-secondary, .dark-theme .dark\\:text-body-secondary:not([class*=\"dark:\"]),\n.text-body-secondary {\n --cui-text-opacity: 1;\n color: var(--cui-secondary-color) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-body-tertiary, [data-coreui-theme=dark] .dark\\:text-body-tertiary:not([class*=\"dark:\"]), .dark-theme .dark\\:text-body-tertiary, .dark-theme .dark\\:text-body-tertiary:not([class*=\"dark:\"]),\n.text-body-tertiary {\n --cui-text-opacity: 1;\n color: var(--cui-tertiary-color) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-body-emphasis, [data-coreui-theme=dark] .dark\\:text-body-emphasis:not([class*=\"dark:\"]), .dark-theme .dark\\:text-body-emphasis, .dark-theme .dark\\:text-body-emphasis:not([class*=\"dark:\"]),\n.text-body-emphasis {\n --cui-text-opacity: 1;\n color: var(--cui-emphasis-color) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-reset, [data-coreui-theme=dark] .dark\\:text-reset:not([class*=\"dark:\"]), .dark-theme .dark\\:text-reset, .dark-theme .dark\\:text-reset:not([class*=\"dark:\"]),\n.text-reset {\n --cui-text-opacity: 1;\n color: inherit !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-high-emphasis-inverse, [data-coreui-theme=dark] .dark\\:text-high-emphasis-inverse:not([class*=\"dark:\"]), .dark-theme .dark\\:text-high-emphasis-inverse, .dark-theme .dark\\:text-high-emphasis-inverse:not([class*=\"dark:\"]),\n.text-high-emphasis-inverse {\n --cui-text-opacity: 1;\n color: var(--cui-high-emphasis-inverse) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-medium-emphasis-inverse, [data-coreui-theme=dark] .dark\\:text-medium-emphasis-inverse:not([class*=\"dark:\"]), .dark-theme .dark\\:text-medium-emphasis-inverse, .dark-theme .dark\\:text-medium-emphasis-inverse:not([class*=\"dark:\"]),\n.text-medium-emphasis-inverse {\n --cui-text-opacity: 1;\n color: var(--cui-medium-emphasis-inverse) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-disabled-inverse, [data-coreui-theme=dark] .dark\\:text-disabled-inverse:not([class*=\"dark:\"]), .dark-theme .dark\\:text-disabled-inverse, .dark-theme .dark\\:text-disabled-inverse:not([class*=\"dark:\"]),\n.text-disabled-inverse {\n --cui-text-opacity: 1;\n color: var(--cui-disabled-inverse) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-high-emphasis, [data-coreui-theme=dark] .dark\\:text-high-emphasis:not([class*=\"dark:\"]), .dark-theme .dark\\:text-high-emphasis, .dark-theme .dark\\:text-high-emphasis:not([class*=\"dark:\"]),\n.text-high-emphasis {\n --cui-text-opacity: 1;\n color: var(--cui-high-emphasis) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-medium-emphasis, [data-coreui-theme=dark] .dark\\:text-medium-emphasis:not([class*=\"dark:\"]), .dark-theme .dark\\:text-medium-emphasis, .dark-theme .dark\\:text-medium-emphasis:not([class*=\"dark:\"]),\n.text-medium-emphasis {\n --cui-text-opacity: 1;\n color: var(--cui-medium-emphasis) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:text-disabled, [data-coreui-theme=dark] .dark\\:text-disabled:not([class*=\"dark:\"]), .dark-theme .dark\\:text-disabled, .dark-theme .dark\\:text-disabled:not([class*=\"dark:\"]),\n.text-disabled {\n --cui-text-opacity: 1;\n color: var(--cui-disabled) !important;\n}\n\n.text-opacity-25 {\n --cui-text-opacity: 0.25;\n}\n\n.text-opacity-50 {\n --cui-text-opacity: 0.5;\n}\n\n.text-opacity-75 {\n --cui-text-opacity: 0.75;\n}\n\n.text-opacity-100 {\n --cui-text-opacity: 1;\n}\n\n.text-primary-emphasis {\n color: var(--cui-primary-text-emphasis) !important;\n}\n\n.text-secondary-emphasis {\n color: var(--cui-secondary-text-emphasis) !important;\n}\n\n.text-success-emphasis {\n color: var(--cui-success-text-emphasis) !important;\n}\n\n.text-info-emphasis {\n color: var(--cui-info-text-emphasis) !important;\n}\n\n.text-warning-emphasis {\n color: var(--cui-warning-text-emphasis) !important;\n}\n\n.text-danger-emphasis {\n color: var(--cui-danger-text-emphasis) !important;\n}\n\n.text-light-emphasis {\n color: var(--cui-light-text-emphasis) !important;\n}\n\n.text-dark-emphasis {\n color: var(--cui-dark-text-emphasis) !important;\n}\n\n.link-opacity-10 {\n --cui-link-opacity: 0.1;\n}\n\n.link-opacity-10-hover:hover {\n --cui-link-opacity: 0.1;\n}\n\n.link-opacity-25 {\n --cui-link-opacity: 0.25;\n}\n\n.link-opacity-25-hover:hover {\n --cui-link-opacity: 0.25;\n}\n\n.link-opacity-50 {\n --cui-link-opacity: 0.5;\n}\n\n.link-opacity-50-hover:hover {\n --cui-link-opacity: 0.5;\n}\n\n.link-opacity-75 {\n --cui-link-opacity: 0.75;\n}\n\n.link-opacity-75-hover:hover {\n --cui-link-opacity: 0.75;\n}\n\n.link-opacity-100 {\n --cui-link-opacity: 1;\n}\n\n.link-opacity-100-hover:hover {\n --cui-link-opacity: 1;\n}\n\n.link-offset-1 {\n text-underline-offset: 0.125em !important;\n}\n\n.link-offset-1-hover:hover {\n text-underline-offset: 0.125em !important;\n}\n\n.link-offset-2 {\n text-underline-offset: 0.25em !important;\n}\n\n.link-offset-2-hover:hover {\n text-underline-offset: 0.25em !important;\n}\n\n.link-offset-3 {\n text-underline-offset: 0.375em !important;\n}\n\n.link-offset-3-hover:hover {\n text-underline-offset: 0.375em !important;\n}\n\n.link-underline-primary {\n --cui-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--cui-primary-rgb), var(--cui-link-underline-opacity)) !important;\n}\n\n.link-underline-secondary {\n --cui-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--cui-secondary-rgb), var(--cui-link-underline-opacity)) !important;\n}\n\n.link-underline-success {\n --cui-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--cui-success-rgb), var(--cui-link-underline-opacity)) !important;\n}\n\n.link-underline-info {\n --cui-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--cui-info-rgb), var(--cui-link-underline-opacity)) !important;\n}\n\n.link-underline-warning {\n --cui-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--cui-warning-rgb), var(--cui-link-underline-opacity)) !important;\n}\n\n.link-underline-danger {\n --cui-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--cui-danger-rgb), var(--cui-link-underline-opacity)) !important;\n}\n\n.link-underline-light {\n --cui-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--cui-light-rgb), var(--cui-link-underline-opacity)) !important;\n}\n\n.link-underline-dark {\n --cui-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--cui-dark-rgb), var(--cui-link-underline-opacity)) !important;\n}\n\n.link-underline {\n --cui-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--cui-link-color-rgb), var(--cui-link-underline-opacity, 1)) !important;\n}\n\n.link-underline-opacity-0 {\n --cui-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-0-hover:hover {\n --cui-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-10 {\n --cui-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-10-hover:hover {\n --cui-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-25 {\n --cui-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-25-hover:hover {\n --cui-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-50 {\n --cui-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-50-hover:hover {\n --cui-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-75 {\n --cui-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-75-hover:hover {\n --cui-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-100 {\n --cui-link-underline-opacity: 1;\n}\n\n.link-underline-opacity-100-hover:hover {\n --cui-link-underline-opacity: 1;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-primary, [data-coreui-theme=dark] .dark\\:bg-primary:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-primary, .dark-theme .dark\\:bg-primary:not([class*=\"dark:\"]),\n.bg-primary {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-primary-rgb), var(--cui-bg-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-secondary, [data-coreui-theme=dark] .dark\\:bg-secondary:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-secondary, .dark-theme .dark\\:bg-secondary:not([class*=\"dark:\"]),\n.bg-secondary {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-secondary-rgb), var(--cui-bg-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-success, [data-coreui-theme=dark] .dark\\:bg-success:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-success, .dark-theme .dark\\:bg-success:not([class*=\"dark:\"]),\n.bg-success {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-success-rgb), var(--cui-bg-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-info, [data-coreui-theme=dark] .dark\\:bg-info:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-info, .dark-theme .dark\\:bg-info:not([class*=\"dark:\"]),\n.bg-info {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-info-rgb), var(--cui-bg-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-warning, [data-coreui-theme=dark] .dark\\:bg-warning:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-warning, .dark-theme .dark\\:bg-warning:not([class*=\"dark:\"]),\n.bg-warning {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-warning-rgb), var(--cui-bg-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-danger, [data-coreui-theme=dark] .dark\\:bg-danger:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-danger, .dark-theme .dark\\:bg-danger:not([class*=\"dark:\"]),\n.bg-danger {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-danger-rgb), var(--cui-bg-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-light, [data-coreui-theme=dark] .dark\\:bg-light:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-light, .dark-theme .dark\\:bg-light:not([class*=\"dark:\"]),\n.bg-light {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-light-rgb), var(--cui-bg-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-dark, [data-coreui-theme=dark] .dark\\:bg-dark:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-dark, .dark-theme .dark\\:bg-dark:not([class*=\"dark:\"]),\n.bg-dark {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-dark-rgb), var(--cui-bg-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-black, [data-coreui-theme=dark] .dark\\:bg-black:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-black, .dark-theme .dark\\:bg-black:not([class*=\"dark:\"]),\n.bg-black {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-black-rgb), var(--cui-bg-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-white, [data-coreui-theme=dark] .dark\\:bg-white:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-white, .dark-theme .dark\\:bg-white:not([class*=\"dark:\"]),\n.bg-white {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-white-rgb), var(--cui-bg-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-body, [data-coreui-theme=dark] .dark\\:bg-body:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-body, .dark-theme .dark\\:bg-body:not([class*=\"dark:\"]),\n.bg-body {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-body-bg-rgb), var(--cui-bg-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-transparent, [data-coreui-theme=dark] .dark\\:bg-transparent:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-transparent, .dark-theme .dark\\:bg-transparent:not([class*=\"dark:\"]),\n.bg-transparent {\n --cui-bg-opacity: 1;\n background-color: transparent !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-body-secondary, [data-coreui-theme=dark] .dark\\:bg-body-secondary:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-body-secondary, .dark-theme .dark\\:bg-body-secondary:not([class*=\"dark:\"]),\n.bg-body-secondary {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-secondary-bg-rgb), var(--cui-bg-opacity)) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-body-tertiary, [data-coreui-theme=dark] .dark\\:bg-body-tertiary:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-body-tertiary, .dark-theme .dark\\:bg-body-tertiary:not([class*=\"dark:\"]),\n.bg-body-tertiary {\n --cui-bg-opacity: 1;\n background-color: rgba(var(--cui-tertiary-bg-rgb), var(--cui-bg-opacity)) !important;\n}\n\n.bg-opacity-10 {\n --cui-bg-opacity: 0.1;\n}\n\n.bg-opacity-15 {\n --cui-bg-opacity: 0.15;\n}\n\n.bg-opacity-25 {\n --cui-bg-opacity: 0.25;\n}\n\n.bg-opacity-50 {\n --cui-bg-opacity: 0.5;\n}\n\n.bg-opacity-75 {\n --cui-bg-opacity: 0.75;\n}\n\n.bg-opacity-100 {\n --cui-bg-opacity: 1;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-primary-subtle, [data-coreui-theme=dark] .dark\\:bg-primary-subtle:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-primary-subtle, .dark-theme .dark\\:bg-primary-subtle:not([class*=\"dark:\"]),\n.bg-primary-subtle {\n background-color: var(--cui-primary-bg-subtle) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-secondary-subtle, [data-coreui-theme=dark] .dark\\:bg-secondary-subtle:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-secondary-subtle, .dark-theme .dark\\:bg-secondary-subtle:not([class*=\"dark:\"]),\n.bg-secondary-subtle {\n background-color: var(--cui-secondary-bg-subtle) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-success-subtle, [data-coreui-theme=dark] .dark\\:bg-success-subtle:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-success-subtle, .dark-theme .dark\\:bg-success-subtle:not([class*=\"dark:\"]),\n.bg-success-subtle {\n background-color: var(--cui-success-bg-subtle) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-info-subtle, [data-coreui-theme=dark] .dark\\:bg-info-subtle:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-info-subtle, .dark-theme .dark\\:bg-info-subtle:not([class*=\"dark:\"]),\n.bg-info-subtle {\n background-color: var(--cui-info-bg-subtle) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-warning-subtle, [data-coreui-theme=dark] .dark\\:bg-warning-subtle:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-warning-subtle, .dark-theme .dark\\:bg-warning-subtle:not([class*=\"dark:\"]),\n.bg-warning-subtle {\n background-color: var(--cui-warning-bg-subtle) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-danger-subtle, [data-coreui-theme=dark] .dark\\:bg-danger-subtle:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-danger-subtle, .dark-theme .dark\\:bg-danger-subtle:not([class*=\"dark:\"]),\n.bg-danger-subtle {\n background-color: var(--cui-danger-bg-subtle) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-light-subtle, [data-coreui-theme=dark] .dark\\:bg-light-subtle:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-light-subtle, .dark-theme .dark\\:bg-light-subtle:not([class*=\"dark:\"]),\n.bg-light-subtle {\n background-color: var(--cui-light-bg-subtle) !important;\n}\n\n[data-coreui-theme=dark] .dark\\:bg-dark-subtle, [data-coreui-theme=dark] .dark\\:bg-dark-subtle:not([class*=\"dark:\"]), .dark-theme .dark\\:bg-dark-subtle, .dark-theme .dark\\:bg-dark-subtle:not([class*=\"dark:\"]),\n.bg-dark-subtle {\n background-color: var(--cui-dark-bg-subtle) !important;\n}\n\n.bg-gradient {\n background-image: var(--cui-gradient) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-1 {\n border-radius: var(--cui-border-radius-sm) !important;\n}\n\n.rounded-2 {\n border-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-3 {\n border-radius: var(--cui-border-radius-lg) !important;\n}\n\n.rounded-4 {\n border-radius: var(--cui-border-radius-xl) !important;\n}\n\n.rounded-5 {\n border-radius: var(--cui-border-radius-xxl) !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: var(--cui-border-radius-pill) !important;\n}\n\n.rounded-top {\n border-top-left-radius: var(--cui-border-radius) !important;\n border-top-right-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-top-0 {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n}\n\n.rounded-top-1 {\n border-top-left-radius: var(--cui-border-radius-sm) !important;\n border-top-right-radius: var(--cui-border-radius-sm) !important;\n}\n\n.rounded-top-2 {\n border-top-left-radius: var(--cui-border-radius) !important;\n border-top-right-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-top-3 {\n border-top-left-radius: var(--cui-border-radius-lg) !important;\n border-top-right-radius: var(--cui-border-radius-lg) !important;\n}\n\n.rounded-top-4 {\n border-top-left-radius: var(--cui-border-radius-xl) !important;\n border-top-right-radius: var(--cui-border-radius-xl) !important;\n}\n\n.rounded-top-5 {\n border-top-left-radius: var(--cui-border-radius-xxl) !important;\n border-top-right-radius: var(--cui-border-radius-xxl) !important;\n}\n\n.rounded-top-circle {\n border-top-left-radius: 50% !important;\n border-top-right-radius: 50% !important;\n}\n\n.rounded-top-pill {\n border-top-left-radius: var(--cui-border-radius-pill) !important;\n border-top-right-radius: var(--cui-border-radius-pill) !important;\n}\n\n.rounded-end {\n border-top-right-radius: var(--cui-border-radius) !important;\n border-bottom-right-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-end-0 {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n}\n\n.rounded-end-1 {\n border-top-right-radius: var(--cui-border-radius-sm) !important;\n border-bottom-right-radius: var(--cui-border-radius-sm) !important;\n}\n\n.rounded-end-2 {\n border-top-right-radius: var(--cui-border-radius) !important;\n border-bottom-right-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-end-3 {\n border-top-right-radius: var(--cui-border-radius-lg) !important;\n border-bottom-right-radius: var(--cui-border-radius-lg) !important;\n}\n\n.rounded-end-4 {\n border-top-right-radius: var(--cui-border-radius-xl) !important;\n border-bottom-right-radius: var(--cui-border-radius-xl) !important;\n}\n\n.rounded-end-5 {\n border-top-right-radius: var(--cui-border-radius-xxl) !important;\n border-bottom-right-radius: var(--cui-border-radius-xxl) !important;\n}\n\n.rounded-end-circle {\n border-top-right-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n}\n\n.rounded-end-pill {\n border-top-right-radius: var(--cui-border-radius-pill) !important;\n border-bottom-right-radius: var(--cui-border-radius-pill) !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: var(--cui-border-radius) !important;\n border-bottom-left-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-bottom-0 {\n border-bottom-right-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n\n.rounded-bottom-1 {\n border-bottom-right-radius: var(--cui-border-radius-sm) !important;\n border-bottom-left-radius: var(--cui-border-radius-sm) !important;\n}\n\n.rounded-bottom-2 {\n border-bottom-right-radius: var(--cui-border-radius) !important;\n border-bottom-left-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-bottom-3 {\n border-bottom-right-radius: var(--cui-border-radius-lg) !important;\n border-bottom-left-radius: var(--cui-border-radius-lg) !important;\n}\n\n.rounded-bottom-4 {\n border-bottom-right-radius: var(--cui-border-radius-xl) !important;\n border-bottom-left-radius: var(--cui-border-radius-xl) !important;\n}\n\n.rounded-bottom-5 {\n border-bottom-right-radius: var(--cui-border-radius-xxl) !important;\n border-bottom-left-radius: var(--cui-border-radius-xxl) !important;\n}\n\n.rounded-bottom-circle {\n border-bottom-right-radius: 50% !important;\n border-bottom-left-radius: 50% !important;\n}\n\n.rounded-bottom-pill {\n border-bottom-right-radius: var(--cui-border-radius-pill) !important;\n border-bottom-left-radius: var(--cui-border-radius-pill) !important;\n}\n\n.rounded-start {\n border-bottom-left-radius: var(--cui-border-radius) !important;\n border-top-left-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-start-0 {\n border-bottom-left-radius: 0 !important;\n border-top-left-radius: 0 !important;\n}\n\n.rounded-start-1 {\n border-bottom-left-radius: var(--cui-border-radius-sm) !important;\n border-top-left-radius: var(--cui-border-radius-sm) !important;\n}\n\n.rounded-start-2 {\n border-bottom-left-radius: var(--cui-border-radius) !important;\n border-top-left-radius: var(--cui-border-radius) !important;\n}\n\n.rounded-start-3 {\n border-bottom-left-radius: var(--cui-border-radius-lg) !important;\n border-top-left-radius: var(--cui-border-radius-lg) !important;\n}\n\n.rounded-start-4 {\n border-bottom-left-radius: var(--cui-border-radius-xl) !important;\n border-top-left-radius: var(--cui-border-radius-xl) !important;\n}\n\n.rounded-start-5 {\n border-bottom-left-radius: var(--cui-border-radius-xxl) !important;\n border-top-left-radius: var(--cui-border-radius-xxl) !important;\n}\n\n.rounded-start-circle {\n border-bottom-left-radius: 50% !important;\n border-top-left-radius: 50% !important;\n}\n\n.rounded-start-pill {\n border-bottom-left-radius: var(--cui-border-radius-pill) !important;\n border-top-left-radius: var(--cui-border-radius-pill) !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.z-n1 {\n z-index: -1 !important;\n}\n\n.z-0 {\n z-index: 0 !important;\n}\n\n.z-1 {\n z-index: 1 !important;\n}\n\n.z-2 {\n z-index: 2 !important;\n}\n\n.z-3 {\n z-index: 3 !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-start {\n float: left !important;\n }\n .float-sm-end {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .object-fit-sm-contain {\n object-fit: contain !important;\n }\n .object-fit-sm-cover {\n object-fit: cover !important;\n }\n .object-fit-sm-fill {\n object-fit: fill !important;\n }\n .object-fit-sm-scale {\n object-fit: scale-down !important;\n }\n .object-fit-sm-none {\n object-fit: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n .gap-sm-0 {\n gap: 0 !important;\n }\n .gap-sm-1 {\n gap: 0.25rem !important;\n }\n .gap-sm-2 {\n gap: 0.5rem !important;\n }\n .gap-sm-3 {\n gap: 1rem !important;\n }\n .gap-sm-4 {\n gap: 1.5rem !important;\n }\n .gap-sm-5 {\n gap: 3rem !important;\n }\n .row-gap-sm-0 {\n row-gap: 0 !important;\n }\n .row-gap-sm-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-sm-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-sm-3 {\n row-gap: 1rem !important;\n }\n .row-gap-sm-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-sm-5 {\n row-gap: 3rem !important;\n }\n .column-gap-sm-0 {\n column-gap: 0 !important;\n }\n .column-gap-sm-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-sm-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-sm-3 {\n column-gap: 1rem !important;\n }\n .column-gap-sm-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-sm-5 {\n column-gap: 3rem !important;\n }\n .text-sm-start {\n text-align: left !important;\n }\n .text-sm-end {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n@media (min-width: 768px) {\n .float-md-start {\n float: left !important;\n }\n .float-md-end {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .object-fit-md-contain {\n object-fit: contain !important;\n }\n .object-fit-md-cover {\n object-fit: cover !important;\n }\n .object-fit-md-fill {\n object-fit: fill !important;\n }\n .object-fit-md-scale {\n object-fit: scale-down !important;\n }\n .object-fit-md-none {\n object-fit: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n .gap-md-0 {\n gap: 0 !important;\n }\n .gap-md-1 {\n gap: 0.25rem !important;\n }\n .gap-md-2 {\n gap: 0.5rem !important;\n }\n .gap-md-3 {\n gap: 1rem !important;\n }\n .gap-md-4 {\n gap: 1.5rem !important;\n }\n .gap-md-5 {\n gap: 3rem !important;\n }\n .row-gap-md-0 {\n row-gap: 0 !important;\n }\n .row-gap-md-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-md-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-md-3 {\n row-gap: 1rem !important;\n }\n .row-gap-md-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-md-5 {\n row-gap: 3rem !important;\n }\n .column-gap-md-0 {\n column-gap: 0 !important;\n }\n .column-gap-md-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-md-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-md-3 {\n column-gap: 1rem !important;\n }\n .column-gap-md-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-md-5 {\n column-gap: 3rem !important;\n }\n .text-md-start {\n text-align: left !important;\n }\n .text-md-end {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n@media (min-width: 992px) {\n .float-lg-start {\n float: left !important;\n }\n .float-lg-end {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .object-fit-lg-contain {\n object-fit: contain !important;\n }\n .object-fit-lg-cover {\n object-fit: cover !important;\n }\n .object-fit-lg-fill {\n object-fit: fill !important;\n }\n .object-fit-lg-scale {\n object-fit: scale-down !important;\n }\n .object-fit-lg-none {\n object-fit: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n .gap-lg-0 {\n gap: 0 !important;\n }\n .gap-lg-1 {\n gap: 0.25rem !important;\n }\n .gap-lg-2 {\n gap: 0.5rem !important;\n }\n .gap-lg-3 {\n gap: 1rem !important;\n }\n .gap-lg-4 {\n gap: 1.5rem !important;\n }\n .gap-lg-5 {\n gap: 3rem !important;\n }\n .row-gap-lg-0 {\n row-gap: 0 !important;\n }\n .row-gap-lg-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-lg-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-lg-3 {\n row-gap: 1rem !important;\n }\n .row-gap-lg-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-lg-5 {\n row-gap: 3rem !important;\n }\n .column-gap-lg-0 {\n column-gap: 0 !important;\n }\n .column-gap-lg-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-lg-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-lg-3 {\n column-gap: 1rem !important;\n }\n .column-gap-lg-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-lg-5 {\n column-gap: 3rem !important;\n }\n .text-lg-start {\n text-align: left !important;\n }\n .text-lg-end {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .float-xl-start {\n float: left !important;\n }\n .float-xl-end {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .object-fit-xl-contain {\n object-fit: contain !important;\n }\n .object-fit-xl-cover {\n object-fit: cover !important;\n }\n .object-fit-xl-fill {\n object-fit: fill !important;\n }\n .object-fit-xl-scale {\n object-fit: scale-down !important;\n }\n .object-fit-xl-none {\n object-fit: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n .gap-xl-0 {\n gap: 0 !important;\n }\n .gap-xl-1 {\n gap: 0.25rem !important;\n }\n .gap-xl-2 {\n gap: 0.5rem !important;\n }\n .gap-xl-3 {\n gap: 1rem !important;\n }\n .gap-xl-4 {\n gap: 1.5rem !important;\n }\n .gap-xl-5 {\n gap: 3rem !important;\n }\n .row-gap-xl-0 {\n row-gap: 0 !important;\n }\n .row-gap-xl-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-xl-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-xl-3 {\n row-gap: 1rem !important;\n }\n .row-gap-xl-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-xl-5 {\n row-gap: 3rem !important;\n }\n .column-gap-xl-0 {\n column-gap: 0 !important;\n }\n .column-gap-xl-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-xl-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-xl-3 {\n column-gap: 1rem !important;\n }\n .column-gap-xl-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-xl-5 {\n column-gap: 3rem !important;\n }\n .text-xl-start {\n text-align: left !important;\n }\n .text-xl-end {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1400px) {\n .float-xxl-start {\n float: left !important;\n }\n .float-xxl-end {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .object-fit-xxl-contain {\n object-fit: contain !important;\n }\n .object-fit-xxl-cover {\n object-fit: cover !important;\n }\n .object-fit-xxl-fill {\n object-fit: fill !important;\n }\n .object-fit-xxl-scale {\n object-fit: scale-down !important;\n }\n .object-fit-xxl-none {\n object-fit: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n .gap-xxl-0 {\n gap: 0 !important;\n }\n .gap-xxl-1 {\n gap: 0.25rem !important;\n }\n .gap-xxl-2 {\n gap: 0.5rem !important;\n }\n .gap-xxl-3 {\n gap: 1rem !important;\n }\n .gap-xxl-4 {\n gap: 1.5rem !important;\n }\n .gap-xxl-5 {\n gap: 3rem !important;\n }\n .row-gap-xxl-0 {\n row-gap: 0 !important;\n }\n .row-gap-xxl-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-xxl-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-xxl-3 {\n row-gap: 1rem !important;\n }\n .row-gap-xxl-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-xxl-5 {\n row-gap: 3rem !important;\n }\n .column-gap-xxl-0 {\n column-gap: 0 !important;\n }\n .column-gap-xxl-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-xxl-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-xxl-3 {\n column-gap: 1rem !important;\n }\n .column-gap-xxl-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-xxl-5 {\n column-gap: 3rem !important;\n }\n .text-xxl-start {\n text-align: left !important;\n }\n .text-xxl-end {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5rem !important;\n }\n .fs-2 {\n font-size: 2rem !important;\n }\n .fs-3 {\n font-size: 1.75rem !important;\n }\n .fs-4 {\n font-size: 1.5rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n.bg-primary-gradient {\n background-color: var(--cui-primary);\n background-image: linear-gradient(45deg, var(--cui-primary-start) 0%, var(--cui-primary-stop) 100%);\n}\n\n.bg-secondary-gradient {\n background-color: var(--cui-secondary);\n background-image: linear-gradient(45deg, var(--cui-secondary-start) 0%, var(--cui-secondary-stop) 100%);\n}\n\n.bg-success-gradient {\n background-color: var(--cui-success);\n background-image: linear-gradient(45deg, var(--cui-success-start) 0%, var(--cui-success-stop) 100%);\n}\n\n.bg-info-gradient {\n background-color: var(--cui-info);\n background-image: linear-gradient(45deg, var(--cui-info-start) 0%, var(--cui-info-stop) 100%);\n}\n\n.bg-warning-gradient {\n background-color: var(--cui-warning);\n background-image: linear-gradient(45deg, var(--cui-warning-start) 0%, var(--cui-warning-stop) 100%);\n}\n\n.bg-danger-gradient {\n background-color: var(--cui-danger);\n background-image: linear-gradient(45deg, var(--cui-danger-start) 0%, var(--cui-danger-stop) 100%);\n}\n\n.bg-light-gradient {\n background-color: var(--cui-light);\n background-image: linear-gradient(45deg, var(--cui-light-start) 0%, var(--cui-light-stop) 100%);\n}\n\n.bg-dark-gradient {\n background-color: var(--cui-dark);\n background-image: linear-gradient(45deg, var(--cui-dark-start) 0%, var(--cui-dark-stop) 100%);\n}\n\n/*# sourceMappingURL=coreui.css.map */\n","@mixin bsBanner($file) {\n /*!\n * CoreUI PRO #{$file} v5.8.1 (https://coreui.io)\n * Copyright (c) 2025 creativeLabs Łukasz Holeczek\n * License (https://coreui.io/pro/license/)\n */\n}\n",":root,\n[data-coreui-theme=\"light\"] {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors\n\n @each $color, $value in $colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$prefix}#{$color}-rgb: #{$value};\n }\n\n @each $color, $value in $theme-colors-text {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}white-rgb: #{to-rgb($white)};\n --#{$prefix}black-rgb: #{to-rgb($black)};\n\n @each $color, $value in $theme-gradients {\n --#{$prefix}#{$color}-start: #{map-get($value, \"start\")};\n --#{$prefix}#{$color}-stop: #{map-get($value, \"stop\")};\n }\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$prefix}gradient: #{$gradient};\n\n // Root and body\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$prefix}root-font-size: #{$font-size-root};\n }\n --#{$prefix}body-font-family: #{inspect($font-family-base)};\n @include rfs($font-size-base, --#{$prefix}body-font-size);\n --#{$prefix}body-font-weight: #{$font-weight-base};\n --#{$prefix}body-line-height: #{$line-height-base};\n @if $body-text-align != null {\n --#{$prefix}body-text-align: #{$body-text-align};\n }\n\n --#{$prefix}body-color: #{$body-color};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$prefix}body-bg: #{$body-bg};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n\n --#{$prefix}body-color-dark: #{$body-color-dark};\n --#{$prefix}body-color-rgb-dark: #{to-rgb($body-color-dark)};\n --#{$prefix}body-bg-dark: #{$body-bg-dark};\n --#{$prefix}body-bg-rgb-dark: #{to-rgb($body-bg-dark)};\n\n --#{$prefix}emphasis-color-dark: #{$body-emphasis-color-dark};\n --#{$prefix}emphasis-color-rgb-dark: #{to-rgb($body-emphasis-color-dark)};\n\n --#{$prefix}secondary-color-dark: #{$body-secondary-color-dark};\n --#{$prefix}secondary-color-rgb-dark: #{to-rgb($body-secondary-color-dark)};\n --#{$prefix}secondary-bg-dark: #{$body-secondary-bg-dark};\n --#{$prefix}secondary-bg-rgb-dark: #{to-rgb($body-secondary-bg-dark)};\n\n --#{$prefix}tertiary-color-dark: #{$body-tertiary-color-dark};\n --#{$prefix}tertiary-color-rgb-dark: #{to-rgb($body-tertiary-color-dark)};\n --#{$prefix}tertiary-bg-dark: #{$body-tertiary-bg-dark};\n --#{$prefix}tertiary-bg-rgb-dark: #{to-rgb($body-tertiary-bg-dark)};\n\n --#{$prefix}high-emphasis: #{$high-emphasis}; // Deprecated in v5.0.0\n --#{$prefix}medium-emphasis: #{$medium-emphasis}; // Deprecated in v5.0.0\n --#{$prefix}disabled: #{$disabled}; // Deprecated in v5.0.0\n\n --#{$prefix}high-emphasis-inverse: #{$high-emphasis-inverse}; // Deprecated in v5.0.0\n --#{$prefix}medium-emphasis-inverse: #{$medium-emphasis-inverse}; // Deprecated in v5.0.0\n --#{$prefix}disabled-inverse: #{$disabled-inverse}; // Deprecated in v5.0.0\n // scss-docs-end root-body-variables\n\n --#{$prefix}heading-color: #{$headings-color};\n\n --#{$prefix}link-color: #{$link-color};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n --#{$prefix}link-decoration: #{$link-decoration};\n\n --#{$prefix}link-hover-color: #{$link-hover-color};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n @if $link-hover-decoration != null {\n --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n }\n\n --#{$prefix}code-color: #{$code-color};\n --#{$prefix}highlight-color: #{$mark-color};\n --#{$prefix}highlight-bg: #{$mark-bg};\n\n // scss-docs-start root-border-var\n --#{$prefix}border-width: #{$border-width};\n --#{$prefix}border-style: #{$border-style};\n --#{$prefix}border-color: #{$border-color};\n --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n --#{$prefix}border-radius: #{$border-radius};\n --#{$prefix}border-radius-sm: #{$border-radius-sm};\n --#{$prefix}border-radius-lg: #{$border-radius-lg};\n --#{$prefix}border-radius-xl: #{$border-radius-xl};\n --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.0.0 for consistency\n --#{$prefix}border-radius-pill: #{$border-radius-pill};\n // scss-docs-end root-border-var\n\n --#{$prefix}box-shadow: #{$box-shadow};\n --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n --#{$prefix}elevation-base-color: #{$elevation-base-color}; // Deprecated in v5.0.0 for consistency\n\n // Focus styles\n // scss-docs-start root-focus-variables\n --#{$prefix}focus-ring-width: #{$focus-ring-width};\n --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n --#{$prefix}focus-ring-color: #{$focus-ring-color};\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-validation-variables\n --#{$prefix}form-valid-color: #{$form-valid-color};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n --#{$prefix}form-invalid-color: #{$form-invalid-color};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark, true) {\n color-scheme: dark;\n\n // scss-docs-start root-dark-mode-vars\n --#{$prefix}body-color: #{$body-color-dark};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n --#{$prefix}body-bg: #{$body-bg-dark};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n --#{$prefix}elevation-base-color: #{$elevation-base-color-dark}; // Deprecated in v5.0.0\n --#{$prefix}high-emphasis: #{$high-emphasis-dark}; // Deprecated in v5.0.0\n --#{$prefix}medium-emphasis: #{$medium-emphasis-dark}; // Deprecated in v5.0.0\n --#{$prefix}disabled: #{$disabled-dark}; // Deprecated in v5.0.0\n\n @each $color, $value in $theme-colors-dark {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays-dark {\n --#{$prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb-dark {\n --#{$prefix}#{$color}-rgb: #{$value};\n }\n\n @each $color, $value in $theme-colors-text-dark {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle-dark {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle-dark {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n @each $color, $value in $theme-gradients-dark {\n --#{$prefix}#{$color}-start: #{map-get($value, \"start\")};\n --#{$prefix}#{$color}-stop: #{map-get($value, \"stop\")};\n }\n\n --#{$prefix}heading-color: #{$headings-color-dark};\n\n --#{$prefix}link-color: #{$link-color-dark};\n --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n --#{$prefix}code-color: #{$code-color-dark};\n --#{$prefix}highlight-color: #{$mark-color-dark};\n --#{$prefix}highlight-bg: #{$mark-bg-dark};\n\n --#{$prefix}border-color: #{$border-color-dark};\n --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n // scss-docs-end root-dark-mode-vars\n }\n}\n","// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query () {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query () {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + \" \" + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n } @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + \" \" + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n } @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + \" \" + $value;\n } @else {\n // Remove unit from $value for calculations\n $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluid-val: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluid-val {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule () {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule () {\n #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}","// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n @if $color-mode-type == \"media-query\" {\n @if $root == true {\n @media (prefers-color-scheme: $mode) {\n :root {\n @content;\n }\n }\n } @else {\n @media (prefers-color-scheme: $mode) {\n @content;\n }\n }\n } @else {\n .#{$mode}-theme, // TODO: remove in v5\n [data-coreui-theme=\"#{$mode}\"] {\n @content;\n }\n }\n}\n// scss-docs-end color-mode-mixin\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n @include font-size(var(--#{$prefix}root-font-size));\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$prefix}body-font-family);\n @include font-size(var(--#{$prefix}body-font-size));\n font-weight: var(--#{$prefix}body-font-weight);\n line-height: var(--#{$prefix}body-line-height);\n color: var(--#{$prefix}body-color);\n text-align: var(--#{$prefix}body-text-align);\n background-color: var(--#{$prefix}body-bg); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n// scss-docs-end reboot-body-rules\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n opacity: $hr-opacity;\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--#{$prefix}heading-color);\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 2. Add explicit cursor to indicate changed behavior.\n// 3. Prevent the text-decoration to be skipped.\n\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\n// ol,\n// ul {\n// @include ltr-rtl(\"padding-left\", 2rem); // TODO: find solution\n// }\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n @include ltr-rtl(\"margin-left\", 0); // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n color: var(--#{$prefix}highlight-color);\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n text-decoration: $link-decoration;\n\n &:hover {\n --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n text-decoration: $link-hover-decoration;\n }\n}\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: var(--#{$prefix}pre-color, $pre-color);\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: var(--#{$prefix}kbd-color, $kbd-color);\n background-color: var(--#{$prefix}kbd-bg, $kbd-bg);\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: var(--#{$prefix}table-caption-color, $table-caption-color);\n @include ltr-rtl(\"text-align\", left);\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`\n ${this._view === 'days' ? `` : ''}\n \n

\n
\n ${this._view === 'days' ? `` : ''}\n \n
\n `\n\n const monthDetails = getMonthDetails(year, month, this._config.firstDayOfWeek)\n const listOfMonths = createGroupsInArray(getMonthsNames(this._config.locale), 4)\n const listOfYears = createGroupsInArray(getYears(calendarDate.getFullYear()), 4)\n const weekDays = monthDetails[0].days\n\n const calendarTable = document.createElement('table')\n calendarTable.innerHTML = `\n ${this._view === 'days' ? `\n \n \n ${this._config.showWeekNumber ?\n `\n
\n ${this._config.weekNumbersLabel ?? ''}\n
\n ` : ''\n }\n ${weekDays.map(({ date }) => (\n `\n
\n ${typeof this._config.weekdayFormat === 'string' ?\n date.toLocaleDateString(this._config.locale, { weekday: this._config.weekdayFormat }) :\n date\n .toLocaleDateString(this._config.locale, { weekday: 'long' })\n .slice(0, this._config.weekdayFormat)}\n
\n `\n )).join('')}\n \n ` : ''}\n \n ${this._view === 'days' ? monthDetails.map(week => {\n const date = convertToDateObject(\n week.weekNumber === 0 ?\n `${calendarDate.getFullYear()}W53` :\n `${calendarDate.getFullYear()}W${week.weekNumber}`,\n this._config.selectionType\n )\n return (\n ` day.month === 'current') &&\n !isDateDisabled(date, this._config.minDate, this._config.maxDate, this._config.disabledDates) ? 0 : -1\n }\"\n ${isDateSelected(date, this._startDate, this._endDate) ? 'aria-selected=\"true\"' : ''}\n >\n ${this._config.showWeekNumber ?\n `${week.weekNumber === 0 ? 53 : week.weekNumber}` : ''\n }\n ${week.days.map(({ date, month }) => (\n month === 'current' || this._config.showAdjacementDays ?\n `\n
\n ${date.toLocaleDateString(this._config.locale, { day: 'numeric' })}\n
\n ` :\n ''\n )).join('')}`\n )\n }).join('') : ''}\n ${this._view === 'months' ? listOfMonths.map((row, index) => (\n `\n ${row.map((month, idx) => {\n const date = new Date(calendarDate.getFullYear(), (index * 3) + idx, 1)\n return (\n `\n
\n ${month}\n
\n `\n )\n }).join('')}\n `\n )).join('') : ''}\n ${this._view === 'years' ? listOfYears.map(row => (\n `\n ${row.map(year => {\n const date = new Date(year, 0, 1)\n return (\n `\n
\n ${year}\n
\n `\n )\n }).join('')}\n `\n )).join('') : ''}\n \n `\n calendarPanelEl.append(navigationElement, calendarTable)\n\n return calendarPanelEl\n }\n\n _createCalendar() {\n if (this._config.selectionType && this._view === 'days') {\n this._element.classList.add(`select-${this._config.selectionType}`)\n }\n\n if (this._config.showWeekNumber) {\n this._element.classList.add('show-week-numbers')\n }\n\n for (const [index, _] of Array.from({ length: this._config.calendars }).entries()) {\n this._element.append(this._createCalendarPanel(index))\n }\n\n this._element.classList.add(CLASS_NAME_CALENDARS)\n }\n\n _updateCalendar(callback) {\n this._element.innerHTML = ''\n this._createCalendar()\n\n if (callback) {\n callback()\n }\n }\n\n _updateClassNamesAndAriaLabels() {\n if (this._config.selectionType === 'week') {\n const rows = SelectorEngine.find(SELECTOR_CALENDAR_ROW, this._element)\n\n for (const row of rows) {\n const firstCell = SelectorEngine.findOne(SELECTOR_CALENDAR_CELL, row)\n const date = new Date(Manipulator.getDataAttribute(firstCell, 'date'))\n const classNames = this._sharedClassNames(date)\n\n row.className = `${CLASS_NAME_CALENDAR_ROW} ${classNames}`\n\n if (isDateSelected(date, this._startDate, this._endDate)) {\n row.setAttribute('aria-selected', true)\n } else {\n row.removeAttribute('aria-selected')\n }\n }\n\n return\n }\n\n const cells = SelectorEngine.find(`${SELECTOR_CALENDAR_CELL}[tabindex=\"0\"]`, this._element)\n\n for (const cell of cells) {\n const date = new Date(Manipulator.getDataAttribute(cell, 'date'))\n const classNames = this._config.selectionType === 'day' ? this._dayClassNames(date, 'current') : this._sharedClassNames(date)\n\n cell.className = `${CLASS_NAME_CALENDAR_CELL} ${classNames}`\n\n if (isDateSelected(date, this._startDate, this._endDate)) {\n cell.setAttribute('aria-selected', true)\n } else {\n cell.removeAttribute('aria-selected')\n }\n }\n }\n\n _dayClassNames(date, month) {\n const classNames = {\n ...(this._config.selectionType === 'day' && this._view === 'days' && {\n clickable: month !== 'current' && this._config.selectAdjacementDays,\n disabled: isDateDisabled(date, this._config.minDate, this._config.maxDate, this._config.disabledDates),\n range: month === 'current' && isDateInRange(date, this._startDate, this._endDate),\n 'range-hover': month === 'current' &&\n (this._hoverDate && this._selectEndDate ?\n isDateInRange(date, this._startDate, this._hoverDate) :\n isDateInRange(date, this._hoverDate, this._endDate)),\n selected: isDateSelected(date, this._startDate, this._endDate)\n }),\n today: isToday(date),\n [month]: true\n }\n\n const result = {}\n\n for (const key in classNames) {\n if (classNames[key] === true) {\n result[key] = true\n }\n }\n\n return Object.keys(result).join(' ')\n }\n\n _sharedClassNames(date) {\n const classNames = {\n disabled: isDateDisabled(date, this._config.minDate, this._config.maxDate, this._config.disabledDates),\n range: isDateInRange(date, this._startDate, this._endDate),\n 'range-hover': (\n (this._config.selectionType === 'week' && this._view === 'days') ||\n (this._config.selectionType === 'month' && this._view === 'months') ||\n (this._config.selectionType === 'year' && this._view === 'years')\n ) && (this._hoverDate && this._selectEndDate ?\n isDateInRange(date, this._startDate, this._hoverDate) :\n isDateInRange(date, this._hoverDate, this._endDate)),\n selected: isDateSelected(date, this._startDate, this._endDate)\n }\n\n const result = {}\n\n for (const key in classNames) {\n if (classNames[key] === true) {\n result[key] = true\n }\n }\n\n return Object.keys(result).join(' ')\n }\n\n // Static\n\n static calendarInterface(element, config) {\n const data = Calendar.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Calendar.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of Array.from(document.querySelectorAll(SELECTOR_DATA_TOGGLE))) {\n Calendar.calendarInterface(element)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Calendar)\n\nexport default Calendar\n","/**\n * --------------------------------------------------------------------------\n * CoreUI util/swipe.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This is a modified version of the Bootstrap's util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.coreui.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * CoreUI carousel.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'coreui.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-coreui-slide], [data-coreui-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-coreui-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)', // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-coreui-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-coreui-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // TODO: change tests that use empty divs to avoid this check\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config)\n\n if (typeof config === 'number') {\n data.to(config)\n return\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-coreui-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * CoreUI collapse.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'coreui.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for
elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * Converts a 12-hour time format to a 24-hour time format.\n * @param {('am' | 'pm')} abbr The abbreviation indicating AM or PM.\n * @param {number} hour The hour to be converted.\n * @returns {number} The hour in 24-hour format.\n */\nexport const convert12hTo24h = (abbr, hour) => {\n if (abbr === 'am' && hour === 12) {\n return 0\n }\n\n if (abbr === 'am') {\n return hour\n }\n\n if (abbr === 'pm' && hour === 12) {\n return 12\n }\n\n return hour + 12\n}\n\n/**\n * Converts a 24-hour time format to a 12-hour format.\n * @param {number} hour The hour to be converted.\n * @returns {number} The hour in 12-hour format.\n */\nexport const convert24hTo12h = hour => hour % 12 || 12\n\n/**\n * Converts a time input into a Date object.\n * @param {Date | string | null | undefined} time The time input to be converted.\n * @returns {Date | null} The converted Date object or null if the input is falsy.\n */\nexport const convertTimeToDate = time =>\n time ? (time instanceof Date ? time : new Date(`1970-01-01 ${time}`)) : null\n\n/**\n * Retrieves the AM/PM part of the specified date according to the given locale.\n * @param {Date} date The date from which to extract the AM/PM part.\n * @param {string} locale The locale to use for formatting.\n * @returns {string} 'am' or 'pm' based on the given date and locale.\n */\nexport const getAmPm = (date, locale) => {\n if (date.toLocaleTimeString(locale).includes('AM')) {\n return 'am'\n }\n\n if (date.toLocaleTimeString(locale).includes('PM')) {\n return 'pm'\n }\n\n return date.getHours() >= 12 ? 'pm' : 'am'\n}\n\n/**\n * Formats an array of time values (hours, minutes, or seconds) according to the specified locale and partial.\n * @param {number[]} values An array of time values to format.\n * @param {string} locale The locale to use for formatting.\n * @param {('hour' | 'minute' | 'second')} partial The type of time value to format.\n * @returns {Array} An array of objects with the original value and its localized label.\n */\nexport const formatTimePartials = (values, locale, partial) => {\n const date = new Date()\n\n const formatter = new Intl.DateTimeFormat(locale, {\n hour: 'numeric',\n minute: '2-digit',\n second: '2-digit'\n })\n\n return values.map(value => {\n if (partial === 'hour') {\n date.setHours(value)\n }\n\n if (partial === 'minute') {\n date.setMinutes(value)\n }\n\n if (partial === 'second') {\n date.setSeconds(value)\n }\n\n return {\n value,\n label:\n formatter.formatToParts(date).find(part => part.type === partial)\n ?.value || ''\n }\n })\n}\n\n/**\n * Generates localized time partials (hours, minutes, seconds) based on the given parameters.\n * @param {string} locale The locale to use for generating localized time partials.\n * @param {'auto' | boolean} ampm Determines whether to use 12-hour or 24-hour format. 'auto' decides based on locale.\n * @param {boolean | number[] | Function} hours An array of hours, a boolean, or a function to generate hours.\n * @param {boolean | number[] | Function} minutes An array of minutes, a boolean, or a function to generate minutes.\n * @param {boolean | number[] | Function} seconds An array of seconds, a boolean, or a function to generate seconds.\n * @returns {LocalizedTimePartials} An object containing arrays of localized time partials and a boolean indicating if 12-hour format is used.\n */\nexport const getLocalizedTimePartials = (\n locale,\n ampm = 'auto',\n hours = [],\n minutes = [],\n seconds = []\n) => {\n const hour12 = (ampm === 'auto' && isAmPm(locale)) || ampm === true\n\n const listOfHours =\n Array.isArray(hours) && hours.length > 0 ?\n hours :\n (typeof hours === 'function' ?\n Array.from({ length: hour12 ? 12 : 24 }, (_, i) =>\n hour12 ? i + 1 : i\n ).filter(hour => hours(hour)) :\n Array.from({ length: hour12 ? 12 : 24 }, (_, i) => (hour12 ? i + 1 : i)))\n\n const listOfMinutes =\n Array.isArray(minutes) && minutes.length > 0 ?\n minutes :\n (typeof minutes === 'function' ?\n Array.from({ length: 60 }, (_, i) => i).filter(minute =>\n minutes(minute)\n ) :\n Array.from({ length: 60 }, (_, i) => i))\n\n const listOfSeconds =\n Array.isArray(seconds) && seconds.length > 0 ?\n seconds :\n (typeof seconds === 'function' ?\n Array.from({ length: 60 }, (_, i) => i).filter(second =>\n seconds(second)\n ) :\n Array.from({ length: 60 }, (_, i) => i))\n\n return {\n listOfHours: formatTimePartials(listOfHours, locale, 'hour'),\n listOfMinutes: formatTimePartials(listOfMinutes, locale, 'minute'),\n listOfSeconds: formatTimePartials(listOfSeconds, locale, 'second'),\n hour12\n }\n}\n\n/**\n * Gets the selected hour from a date object in either 12-hour or 24-hour format based on locale and preference.\n * @param {Date | null} date The date object from which to extract the hour. If null, the function returns an empty string.\n * @param {string} locale The locale to use when determining whether to return in 12-hour or 24-hour format.\n * @param {'auto' | boolean} ampm Determines the format of the hour returned. 'auto' decides based on locale, true forces 12-hour format, and false forces 24-hour format.\n * @returns {string | number} The hour in the specified format or an empty string if the date is null.\n */\nexport const getSelectedHour = (date, locale, ampm = 'auto') =>\n date ?\n ((ampm === 'auto' && isAmPm(locale)) || ampm === true ?\n convert24hTo12h(date.getHours()) :\n date.getHours()) :\n ''\n\n/**\n * Gets the selected minutes from a date object.\n * @param {Date | null} date The date object from which to extract the minutes. If null, the function returns an empty string.\n * @returns {string | number} The minutes from the date or an empty string if the date is null.\n */\nexport const getSelectedMinutes = date => (date ? date.getMinutes() : '')\n\n/**\n * Gets the selected seconds from a date object.\n * @param {Date | null} date The date object from which to extract the seconds. If null, the function returns an empty string.\n * @returns {string | number} The seconds from the date or an empty string if the date is null.\n */\nexport const getSelectedSeconds = date => (date ? date.getSeconds() : '')\n\n/**\n * Determines if the given locale uses AM/PM format.\n * @param {string} locale The locale to check.\n * @returns {boolean} True if the locale uses AM/PM format, otherwise false.\n */\nexport const isAmPm = locale =>\n ['am', 'AM', 'pm', 'PM'].some(el =>\n new Date().toLocaleString(locale).includes(el)\n )\n\n/**\n * Validates if the given string represents a valid time.\n * @param {string} time The time string to validate.\n * @returns {boolean} True if the string is a valid time, otherwise false.\n */\nexport const isValidTime = time => {\n const d = new Date(`1970-01-01 ${time}`)\n return d instanceof Date && d.getTime()\n}\n","/**\n * --------------------------------------------------------------------------\n * CoreUI PRO time-picker.js\n * License (https://coreui.io/pro/license/)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin, getElement, isRTL } from './util/index.js'\nimport {\n convert12hTo24h,\n convert24hTo12h,\n getAmPm,\n getLocalizedTimePartials,\n isAmPm,\n isValidTime\n} from './util/time.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'time-picker'\nconst DATA_KEY = 'coreui.time-picker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ENTER_KEY = 'Enter'\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_INPUT = 'input'\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_SUBMIT = 'submit'\nconst EVENT_TIME_CHANGE = `timeChange${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_BODY = 'time-picker-body'\nconst CLASS_NAME_CLEANER = 'time-picker-cleaner'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_DROPDOWN = 'time-picker-dropdown'\nconst CLASS_NAME_FOOTER = 'time-picker-footer'\nconst CLASS_NAME_INDICATOR = 'time-picker-indicator'\nconst CLASS_NAME_INLINE_ICON = 'time-picker-inline-icon'\nconst CLASS_NAME_INLINE_SELECT = 'time-picker-inline-select'\nconst CLASS_NAME_INPUT = 'time-picker-input'\nconst CLASS_NAME_INPUT_GROUP = 'time-picker-input-group'\nconst CLASS_NAME_IS_INVALID = 'is-invalid'\nconst CLASS_NAME_IS_VALID = 'is-valid'\nconst CLASS_NAME_ROLL = 'time-picker-roll'\nconst CLASS_NAME_ROLL_COL = 'time-picker-roll-col'\nconst CLASS_NAME_ROLL_CELL = 'time-picker-roll-cell'\nconst CLASS_NAME_SELECTED = 'selected'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_TIME_PICKER = 'time-picker'\nconst CLASS_NAME_WAS_VALIDATED = 'was-validated'\n\nconst SELECTOR_DATA_TOGGLE =\n '[data-coreui-toggle=\"time-picker\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_WAS_VALIDATED = 'form.was-validated'\n\nconst Default = {\n cancelButton: 'Cancel',\n cancelButtonClasses: ['btn', 'btn-sm', 'btn-ghost-primary'],\n cleaner: true,\n confirmButton: 'OK',\n confirmButtonClasses: ['btn', 'btn-sm', 'btn-primary'],\n container: false,\n disabled: false,\n footer: true,\n hours: null,\n indicator: true,\n inputReadOnly: false,\n invalid: false,\n locale: 'default',\n minutes: true,\n name: null,\n placeholder: 'Select time',\n required: true,\n seconds: true,\n size: null,\n time: null,\n type: 'dropdown',\n valid: false,\n variant: 'roll'\n}\n\nconst DefaultType = {\n cancelButton: '(boolean|string)',\n cancelButtonClasses: '(array|string)',\n cleaner: 'boolean',\n confirmButton: '(boolean|string)',\n confirmButtonClasses: '(array|string)',\n container: '(string|element|boolean)',\n disabled: 'boolean',\n footer: 'boolean',\n hours: '(array|function|null)',\n indicator: 'boolean',\n inputReadOnly: 'boolean',\n invalid: 'boolean',\n locale: 'string',\n minutes: '(array|boolean|function)',\n name: '(string|null)',\n placeholder: 'string',\n required: 'boolean',\n seconds: '(array|boolean|function)',\n size: '(string|null)',\n time: '(date|string|null)',\n type: 'string',\n valid: 'boolean',\n variant: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass TimePicker extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._date = this._convertStringToDate(this._config.time)\n this._initialDate = null\n this._ampm = this._date ?\n getAmPm(new Date(this._date), this._config.locale) :\n 'am'\n this._popper = null\n\n this._indicatorElement = null\n this._input = null\n this._menu = null\n this._timePickerBody = null\n\n this._localizedTimePartials = getLocalizedTimePartials(\n this._config.locale,\n this.ampm,\n this._config.hours,\n this._config.minutes,\n this._config.seconds\n )\n\n this._createTimePicker()\n this._createTimePickerSelection()\n this._addEventListeners()\n this._setUpSelects()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (this._config.disabled || this._isShown()) {\n return\n }\n\n this._initialDate = new Date(this._date)\n\n EventHandler.trigger(this._element, EVENT_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', true)\n\n if (this._config.container) {\n this._menu.classList.add(CLASS_NAME_SHOW)\n }\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._createPopper()\n }\n\n hide() {\n EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n\n if (this._config.container) {\n this._menu.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n cancel() {\n this._date = this._initialDate\n this._setInputValue(this._initialDate || '')\n this._timePickerBody.innerHTML = ''\n this.hide()\n this._createTimePickerSelection()\n this._emitChangeEvent(this._date)\n }\n\n clear() {\n this._date = null\n this._setInputValue('')\n this._timePickerBody.innerHTML = ''\n this._createTimePickerSelection()\n this._emitChangeEvent(this._date)\n }\n\n reset() {\n this._date = this._convertStringToDate(this._config.time)\n this._setInputValue(this._config.time)\n this._timePickerBody.innerHTML = ''\n this._createTimePickerSelection()\n this._emitChangeEvent(this._date)\n }\n\n update(config) {\n this._config = this._getConfig(config)\n this._date = this._convertStringToDate(this._config.time)\n this._ampm = this._date ?\n getAmPm(new Date(this._date), this._config.locale) :\n 'am'\n this._timePickerBody.innerHTML = ''\n this._createTimePickerSelection()\n }\n\n // Private\n _addEventListeners() {\n EventHandler.on(this._indicatorElement, EVENT_CLICK, () => {\n if (!this._config.disabled) {\n this.toggle()\n }\n })\n\n EventHandler.on(this._indicatorElement, EVENT_KEYDOWN, event => {\n if (!this._config.disabled && event.key === ENTER_KEY) {\n this.toggle()\n }\n })\n\n EventHandler.on(this._togglerElement, EVENT_CLICK, event => {\n if (!this._config.disabled && event.target !== this._indicatorElement) {\n this.show()\n\n if (this._config.variant === 'roll') {\n this._setUpRolls(true)\n }\n\n if (this._config.variant === 'select') {\n this._setUpSelects()\n }\n }\n })\n\n EventHandler.on(this._element, EVENT_KEYDOWN, event => {\n if (event.key === ESCAPE_KEY) {\n this.hide()\n }\n })\n\n EventHandler.on(this._element, 'timeChange.coreui.time-picker', () => {\n if (this._config.variant === 'roll') {\n this._setUpRolls()\n }\n\n if (this._config.variant === 'select') {\n this._setUpSelects()\n }\n })\n\n EventHandler.on(this._element, 'onCancelClick.coreui.picker', () => {\n this.cancel()\n })\n\n EventHandler.on(this._input, EVENT_INPUT, event => {\n if (isValidTime(event.target.value)) {\n this._date = this._convertStringToDate(event.target.value)\n\n EventHandler.trigger(this._element, EVENT_TIME_CHANGE, {\n timeString: this._date ? this._date.toTimeString() : null,\n localeTimeString: this._date ? this._date.toLocaleTimeString() : null,\n date: this._date\n })\n }\n })\n\n if (this._config.type === 'dropdown') {\n EventHandler.on(this._input.form, EVENT_SUBMIT, () => {\n if (this._input.form.classList.contains(CLASS_NAME_WAS_VALIDATED)) {\n if (Number.isNaN(Date.parse(`1970-01-01 ${this._input.value}`))) {\n return this._element.classList.add(CLASS_NAME_IS_INVALID)\n }\n\n if (this._date instanceof Date) {\n return this._element.classList.add(CLASS_NAME_IS_VALID)\n }\n\n this._element.classList.add(CLASS_NAME_IS_INVALID)\n }\n })\n }\n }\n\n _createTimePicker() {\n this._element.classList.add(CLASS_NAME_TIME_PICKER)\n\n Manipulator.setDataAttribute(\n this._element,\n 'toggle',\n CLASS_NAME_TIME_PICKER\n )\n\n if (this._config.size) {\n this._element.classList.add(`time-picker-${this._config.size}`)\n }\n\n this._element.classList.toggle(CLASS_NAME_IS_VALID, this._config.valid)\n if (this._config.disabled) {\n this._element.classList.add(CLASS_NAME_DISABLED)\n }\n\n this._element.classList.toggle(CLASS_NAME_IS_INVALID, this._config.invalid)\n\n if (this._config.type === 'dropdown') {\n this._element.append(this._createTimePickerInputGroup())\n\n const dropdownEl = document.createElement('div')\n dropdownEl.classList.add(CLASS_NAME_DROPDOWN)\n\n dropdownEl.append(this._createTimePickerBody())\n if (this._config.footer || this._config.timepicker) {\n dropdownEl.append(this._createTimePickerFooter())\n }\n\n const { container } = this._config\n if (container) {\n container.append(dropdownEl)\n } else {\n this._element.append(dropdownEl)\n }\n\n this._menu = dropdownEl\n }\n\n if (this._config.type === 'inline') {\n this._element.append(this._createTimePickerBody())\n }\n }\n\n _createTimePickerInputGroup() {\n const inputGroupEl = document.createElement('div')\n inputGroupEl.classList.add(CLASS_NAME_INPUT_GROUP)\n\n const inputEl = document.createElement('input')\n inputEl.classList.add(CLASS_NAME_INPUT)\n inputEl.autocomplete = 'off'\n inputEl.disabled = this._config.disabled\n inputEl.placeholder = this._config.placeholder\n inputEl.readOnly = this._config.inputReadOnly\n inputEl.required = this._config.required\n inputEl.type = 'text'\n\n this._setInputValue(this._date || '', inputEl)\n\n if (this._config.name || this._element.id) {\n inputEl.name = this._config.name || `time-picker-${this._element.id}`\n }\n\n const events = ['change', 'keyup', 'paste']\n\n for (const event of events) {\n inputEl.addEventListener(event, ({ target }) => {\n if (target.closest(SELECTOR_WAS_VALIDATED)) {\n if (Number.isNaN(Date.parse(`1970-01-01 ${target.value}`))) {\n this._element.classList.add(CLASS_NAME_IS_INVALID)\n this._element.classList.remove(CLASS_NAME_IS_VALID)\n return\n }\n\n if (this._date instanceof Date) {\n this._element.classList.add(CLASS_NAME_IS_VALID)\n this._element.classList.remove(CLASS_NAME_IS_INVALID)\n return\n }\n\n this._element.classList.add(CLASS_NAME_IS_INVALID)\n this._element.classList.remove(CLASS_NAME_IS_VALID)\n }\n })\n }\n\n inputGroupEl.append(inputEl)\n\n if (this._config.indicator) {\n const inputGroupIndicatorEl = document.createElement('div')\n inputGroupIndicatorEl.classList.add(CLASS_NAME_INDICATOR)\n\n if (!this._config.disabled) {\n inputGroupIndicatorEl.tabIndex = 0\n }\n\n inputGroupEl.append(inputGroupIndicatorEl)\n\n this._indicatorElement = inputGroupIndicatorEl\n }\n\n if (this._config.cleaner) {\n const inputGroupCleanerEl = document.createElement('div')\n inputGroupCleanerEl.classList.add(CLASS_NAME_CLEANER)\n inputGroupCleanerEl.addEventListener('click', event => {\n event.stopPropagation()\n this.clear()\n })\n\n inputGroupEl.append(inputGroupCleanerEl)\n }\n\n this._input = inputEl\n this._togglerElement = inputGroupEl\n\n return inputGroupEl\n }\n\n _createTimePickerSelection() {\n if (this._config.variant === 'roll') {\n this._createTimePickerRoll()\n }\n\n if (this._config.variant === 'select') {\n this._createTimePickerInlineSelects()\n }\n }\n\n _createTimePickerBody() {\n const timePickerBodyEl = document.createElement('div')\n timePickerBodyEl.classList.add(CLASS_NAME_BODY)\n\n if (this._config.variant === 'roll') {\n timePickerBodyEl.classList.add(CLASS_NAME_ROLL)\n }\n\n this._timePickerBody = timePickerBodyEl\n\n return timePickerBodyEl\n }\n\n _createTimePickerInlineSelect(className, options) {\n const selectEl = document.createElement('select')\n selectEl.classList.add(CLASS_NAME_INLINE_SELECT, className)\n selectEl.disabled = this._config.disabled\n selectEl.addEventListener('change', event =>\n this._handleTimeChange(className, event.target.value)\n )\n\n for (const option of options) {\n const optionEl = document.createElement('option')\n optionEl.value = option.value\n optionEl.innerHTML = option.label\n\n selectEl.append(optionEl)\n }\n\n return selectEl\n }\n\n _createTimePickerInlineSelects() {\n const timeSeparatorEl = document.createElement('div')\n timeSeparatorEl.innerHTML = ':'\n\n this._timePickerBody.innerHTML = ``\n this._timePickerBody.append(\n this._createTimePickerInlineSelect(\n 'hours',\n this._localizedTimePartials.listOfHours\n )\n )\n\n if (this._config.minutes) {\n this._timePickerBody.append(\n timeSeparatorEl.cloneNode(true),\n this._createTimePickerInlineSelect(\n 'minutes',\n this._localizedTimePartials.listOfMinutes\n )\n )\n }\n\n if (this._config.seconds) {\n this._timePickerBody.append(\n timeSeparatorEl,\n this._createTimePickerInlineSelect(\n 'seconds',\n this._localizedTimePartials.listOfSeconds\n )\n )\n }\n\n if (this._localizedTimePartials.hour12) {\n this._timePickerBody.append(\n this._createTimePickerInlineSelect(\n 'toggle',\n [\n { value: 'am', label: 'AM' },\n { value: 'pm', label: 'PM' }\n ],\n '_selectAmPm',\n this._ampm\n )\n )\n }\n }\n\n _createTimePickerRoll() {\n this._timePickerBody.append(\n this._createTimePickerRollCol(\n this._localizedTimePartials.listOfHours,\n 'hours'\n )\n )\n\n if (this._config.minutes) {\n this._timePickerBody.append(\n this._createTimePickerRollCol(\n this._localizedTimePartials.listOfMinutes,\n 'minutes'\n )\n )\n }\n\n if (this._config.seconds) {\n this._timePickerBody.append(\n this._createTimePickerRollCol(\n this._localizedTimePartials.listOfSeconds,\n 'seconds'\n )\n )\n }\n\n if (this._localizedTimePartials.hour12) {\n this._timePickerBody.append(\n this._createTimePickerRollCol(\n [\n { value: 'am', label: 'AM' },\n { value: 'pm', label: 'PM' }\n ],\n 'toggle',\n this._ampm\n )\n )\n }\n }\n\n _createTimePickerRollCol(options, part) {\n const timePickerRollColEl = document.createElement('div')\n timePickerRollColEl.classList.add(CLASS_NAME_ROLL_COL)\n\n for (const option of options) {\n const timePickerRollCellEl = document.createElement('div')\n timePickerRollCellEl.classList.add(CLASS_NAME_ROLL_CELL)\n timePickerRollCellEl.setAttribute('role', 'button')\n timePickerRollCellEl.tabIndex = 0\n timePickerRollCellEl.innerHTML = option.label\n timePickerRollCellEl.addEventListener('click', () => {\n this._handleTimeChange(part, option.value)\n })\n timePickerRollCellEl.addEventListener('keydown', event => {\n if (event.code === SPACE_KEY || event.key === ENTER_KEY) {\n event.preventDefault()\n this._handleTimeChange(part, option.value)\n }\n })\n\n Manipulator.setDataAttribute(timePickerRollCellEl, part, option.value)\n\n timePickerRollColEl.append(timePickerRollCellEl)\n }\n\n return timePickerRollColEl\n }\n\n _createTimePickerFooter() {\n const footerEl = document.createElement('div')\n footerEl.classList.add(CLASS_NAME_FOOTER)\n\n if (this._config.cancelButton) {\n const cancelButtonEl = document.createElement('button')\n cancelButtonEl.classList.add(\n ...this._getButtonClasses(this._config.cancelButtonClasses)\n )\n cancelButtonEl.type = 'button'\n cancelButtonEl.innerHTML = this._config.cancelButton\n cancelButtonEl.addEventListener('click', () => {\n this.cancel()\n })\n\n footerEl.append(cancelButtonEl)\n }\n\n if (this._config.confirmButton) {\n const confirmButtonEl = document.createElement('button')\n confirmButtonEl.classList.add(\n ...this._getButtonClasses(this._config.confirmButtonClasses)\n )\n confirmButtonEl.type = 'button'\n confirmButtonEl.innerHTML = this._config.confirmButton\n confirmButtonEl.addEventListener('click', () => {\n this.hide()\n })\n\n footerEl.append(confirmButtonEl)\n }\n\n return footerEl\n }\n\n _emitChangeEvent(date) {\n this._input.dispatchEvent(new Event('change'))\n EventHandler.trigger(this._element, EVENT_TIME_CHANGE, {\n timeString: date === null ? null : date.toTimeString(),\n localeTimeString: date === null ? null : date.toLocaleTimeString(),\n date\n })\n }\n\n _setUpRolls(initial = false) {\n for (const part of Array.from(['hours', 'minutes', 'seconds', 'toggle'])) {\n for (const element of SelectorEngine.find(\n `[data-coreui-${part}]`,\n this._element\n )) {\n if (\n this._getPartOfTime(part) ===\n Manipulator.getDataAttribute(element, part)\n ) {\n element.classList.add(CLASS_NAME_SELECTED)\n this._scrollTo(element.parentElement, element, initial)\n\n for (const sibling of element.parentElement.children) {\n // eslint-disable-next-line max-depth\n if (sibling !== element) {\n sibling.classList.remove(CLASS_NAME_SELECTED)\n }\n }\n }\n }\n }\n }\n\n _setInputValue(date, input = this._input) {\n input.value = date instanceof Date ?\n date.toLocaleTimeString(this._config.locale, {\n hour12: this._localizedTimePartials.hour12,\n hour: 'numeric',\n ...(this._config.minutes && { minute: 'numeric' }),\n ...(this._config.seconds && { second: 'numeric' })\n }) :\n date\n }\n\n _setUpSelects() {\n for (const part of Array.from(['hours', 'minutes', 'seconds', 'toggle'])) {\n for (const element of SelectorEngine.find(\n `select.${part}`,\n this._element\n )) {\n if (this._getPartOfTime(part)) {\n element.value = this._getPartOfTime(part)\n }\n }\n }\n }\n\n _updateTimePicker() {\n this._element.innerHTML = ''\n this._createTimePicker()\n }\n\n _convertStringToDate(date) {\n return date ?\n (date instanceof Date ?\n date :\n new Date(`1970-01-01 ${date}`)) :\n null\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError(\n 'CoreUI\\'s time picker require Popper (https://popper.js.org)'\n )\n }\n\n const popperConfig = {\n modifiers: [\n {\n name: 'preventOverflow',\n options: {\n boundary: 'clippingParents'\n }\n },\n {\n name: 'offset',\n options: {\n offset: [0, 2]\n }\n }\n ],\n placement: isRTL() ? 'bottom-end' : 'bottom-start'\n }\n\n this._popper = Popper.createPopper(\n this._togglerElement,\n this._menu,\n popperConfig\n )\n }\n\n _getButtonClasses(classes) {\n if (typeof classes === 'string') {\n return classes.split(' ')\n }\n\n return classes\n }\n\n _getPartOfTime(part) {\n if (this._date === null) {\n return null\n }\n\n if (part === 'hours') {\n return isAmPm(this._config.locale) ?\n convert24hTo12h(this._date.getHours()) :\n this._date.getHours()\n }\n\n if (part === 'minutes') {\n return this._date.getMinutes()\n }\n\n if (part === 'seconds') {\n return this._date.getSeconds()\n }\n\n if (part === 'toggle') {\n return getAmPm(new Date(this._date), this._config.locale)\n }\n }\n\n _handleTimeChange = (set, value) => {\n const _date = this._date || new Date('1970-01-01')\n\n if (set === 'toggle') {\n if (value === 'am') {\n this._ampm = 'am'\n _date.setHours(_date.getHours() - 12)\n }\n\n if (value === 'pm') {\n this._ampm = 'pm'\n _date.setHours(_date.getHours() + 12)\n }\n }\n\n if (set === 'hours') {\n if (isAmPm(this._config.locale)) {\n _date.setHours(convert12hTo24h(this._ampm, Number.parseInt(value, 10)))\n } else {\n _date.setHours(Number.parseInt(value, 10))\n }\n }\n\n if (set === 'minutes') {\n _date.setMinutes(Number.parseInt(value, 10))\n }\n\n if (set === 'seconds') {\n _date.setSeconds(Number.parseInt(value, 10))\n }\n\n this._date = new Date(_date)\n\n if (this._input) {\n this._setInputValue(_date)\n this._input.dispatchEvent(new Event('change'))\n }\n\n EventHandler.trigger(this._element, EVENT_TIME_CHANGE, {\n timeString: _date.toTimeString(),\n localeTimeString: _date.toLocaleTimeString(),\n date: _date\n })\n }\n\n _isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _scrollTo(parent, children, initial = false) {\n parent.scrollTo({\n top: children.offsetTop,\n behavior: initial ? 'instant' : 'smooth'\n })\n }\n\n _configAfterMerge(config) {\n if (config.container === 'dropdown' || config.container === 'inline') {\n config.type = config.container\n }\n\n if (config.container === true) {\n config.container = document.body\n }\n\n if (\n typeof config.container === 'object' ||\n (typeof config.container === 'string' &&\n config.container === 'dropdown' &&\n config.container === 'inline')\n ) {\n config.container = getElement(config.container)\n }\n\n return config\n }\n\n // Static\n static timePickerInterface(element, config) {\n const data = TimePicker.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = TimePicker.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (\n data[config] === undefined ||\n config.startsWith('_') ||\n config === 'constructor'\n ) {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n\n static clearMenus(event) {\n if (\n event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY)\n ) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = TimePicker.getInstance(toggle)\n\n if (!context) {\n continue\n }\n\n const composedPath = event.composedPath()\n\n if (composedPath.includes(context._element)) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context.hide()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const timePickers = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n for (let i = 0, len = timePickers.length; i < len; i++) {\n TimePicker.timePickerInterface(timePickers[i])\n }\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, TimePicker.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, TimePicker.clearMenus)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(TimePicker)\n\nexport default TimePicker\n","/**\n * --------------------------------------------------------------------------\n * CoreUI PRO date-range-picker.js\n * License (https://coreui.io/pro/license/)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport Calendar from './calendar.js'\nimport TimePicker from './time-picker.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin, getElement, isRTL } from './util/index.js'\nimport { convertToDateObject, getLocalDateFromString } from './util/calendar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'date-range-picker'\nconst DATA_KEY = 'coreui.date-range-picker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ENTER_KEY = 'Enter'\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_END_DATE_CHANGE = `endDateChange${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_INPUT = 'input'\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_RESIZE = 'resize'\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_SUBMIT = 'submit'\nconst EVENT_START_DATE_CHANGE = `startDateChange${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_BODY = 'date-picker-body'\nconst CLASS_NAME_CALENDAR = 'date-picker-calendar'\nconst CLASS_NAME_CALENDARS = 'date-picker-calendars'\nconst CLASS_NAME_CLEANER = 'date-picker-cleaner'\nconst CLASS_NAME_DATE_PICKER = 'date-picker'\nconst CLASS_NAME_DATE_RANGE_PICKER = 'date-range-picker'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_DROPDOWN = 'date-picker-dropdown'\nconst CLASS_NAME_INDICATOR = 'date-picker-indicator'\nconst CLASS_NAME_INPUT = 'date-picker-input'\nconst CLASS_NAME_INPUT_GROUP = 'date-picker-input-group'\nconst CLASS_NAME_IS_INVALID = 'is-invalid'\nconst CLASS_NAME_IS_VALID = 'is-valid'\nconst CLASS_NAME_FOOTER = 'date-picker-footer'\nconst CLASS_NAME_RANGES = 'date-picker-ranges'\nconst CLASS_NAME_SEPARATOR = 'date-picker-separator'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_TIME_PICKER = 'time-picker'\nconst CLASS_NAME_TIME_PICKERS = 'date-picker-timepickers'\nconst CLASS_NAME_WAS_VALIDATED = 'was-validated'\n\nconst SELECTOR_CALENDAR = '.calendars'\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"date-range-picker\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_INPUT = '.date-picker-input'\nconst SELECTOR_WAS_VALIDATED = 'form.was-validated'\n\nconst Default = {\n ariaNavNextMonthLabel: 'Next month',\n ariaNavNextYearLabel: 'Next year',\n ariaNavPrevMonthLabel: 'Previous month',\n ariaNavPrevYearLabel: 'Previous year',\n calendarDate: null,\n calendars: 2,\n cancelButton: 'Cancel',\n cancelButtonClasses: ['btn', 'btn-sm', 'btn-ghost-primary'],\n confirmButton: 'OK',\n confirmButtonClasses: ['btn', 'btn-sm', 'btn-primary'],\n cleaner: true,\n container: false,\n date: null,\n disabled: false,\n disabledDates: null,\n endDate: null,\n endName: null,\n firstDayOfWeek: 1,\n footer: false,\n inputDateFormat: null,\n inputDateParse: null,\n inputReadOnly: false,\n invalid: false,\n indicator: true,\n locale: 'default',\n maxDate: null,\n minDate: null,\n name: null,\n placeholder: ['Start date', 'End date'],\n range: true,\n ranges: {},\n rangesButtonsClasses: ['btn', 'btn-ghost-secondary'],\n required: true,\n separator: true,\n size: null,\n startDate: null,\n startName: null,\n selectAdjacementDays: false,\n selectEndDate: false,\n selectionType: 'day',\n showAdjacementDays: true,\n showWeekNumber: false,\n timepicker: false,\n todayButton: 'Today',\n todayButtonClasses: ['btn', 'btn-sm', 'btn-primary', 'me-auto'],\n valid: false,\n weekdayFormat: 2,\n weekNumbersLabel: null\n}\n\nconst DefaultType = {\n ariaNavNextMonthLabel: 'string',\n ariaNavNextYearLabel: 'string',\n ariaNavPrevMonthLabel: 'string',\n ariaNavPrevYearLabel: 'string',\n calendarDate: '(date|number|string|null)',\n calendars: 'number',\n cancelButton: '(boolean|string)',\n cancelButtonClasses: '(array|string)',\n cleaner: 'boolean',\n confirmButton: '(boolean|string)',\n confirmButtonClasses: '(array|string)',\n container: '(string|element|boolean)',\n date: '(date|number|string|null)',\n disabledDates: '(array|date|function|null)',\n disabled: 'boolean',\n endDate: '(date|number|string|null)',\n endName: '(string|null)',\n firstDayOfWeek: 'number',\n footer: 'boolean',\n indicator: 'boolean',\n inputDateFormat: '(function|null)',\n inputDateParse: '(function|null)',\n inputReadOnly: 'boolean',\n invalid: 'boolean',\n locale: 'string',\n maxDate: '(date|number|string|null)',\n minDate: '(date|number|string|null)',\n name: '(string|null)',\n placeholder: '(array|string)',\n range: 'boolean',\n ranges: 'object',\n rangesButtonsClasses: '(array|string)',\n required: 'boolean',\n separator: 'boolean',\n size: '(string|null)',\n startDate: '(date|number|string|null)',\n startName: '(string|null)',\n selectAdjacementDays: 'boolean',\n selectEndDate: 'boolean',\n selectionType: 'string',\n showAdjacementDays: 'boolean',\n showWeekNumber: 'boolean',\n timepicker: 'boolean',\n todayButton: '(boolean|string)',\n todayButtonClasses: '(array|string)',\n valid: 'boolean',\n weekdayFormat: '(number|string)',\n weekNumbersLabel: '(string|null)'\n}\n\n/**\n * Class definition\n */\n\nclass DateRangePicker extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._calendarDate = this._config.calendarDate\n this._startDate = this._config.date || this._config.startDate\n this._endDate = this._config.endDate\n this._initialStartDate = null\n this._initialEndDate = null\n this._mobile = window.innerWidth < 768\n this._popper = null\n this._selectEndDate = this._config.selectEndDate\n\n this._calendar = null\n this._calendars = null\n this._endInput = null\n this._indicatorElement = null\n this._menu = null\n this._startInput = null\n this._timepickers = null\n this._timePickerEnd = null\n this._timePickerStart = null\n this._togglerElement = null\n\n this._createDateRangePicker()\n this._createDateRangePickerCalendars()\n this._addEventListeners()\n this._addCalendarEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (this._config.disabled || this._isShown()) {\n return\n }\n\n this._initialStartDate = new Date(this._startDate)\n this._initialEndDate = new Date(this._endDate)\n\n EventHandler.trigger(this._element, EVENT_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', true)\n\n if (this._config.container) {\n this._menu.classList.add(CLASS_NAME_SHOW)\n }\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._createPopper()\n }\n\n hide() {\n EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n\n if (this._config.container) {\n this._menu.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n cancel() {\n this._changeStartDate(this._initialStartDate)\n\n if (this._config.range) {\n this._changeEndDate(this._initialEndDate)\n }\n\n this.hide()\n\n this._calendar.update(this._getCalendarConfig)\n }\n\n clear() {\n this._changeStartDate(null)\n this._changeEndDate(null)\n this._calendar.update(this._getCalendarConfig())\n }\n\n reset() {\n this._changeStartDate(this._config.startDate)\n this._changeEndDate(this._config.endDate)\n this._calendar.update(this._getCalendarConfig())\n }\n\n update(config) {\n this._config = this._getConfig(config)\n this._calendarDate = this._config.calendarDate\n this._startDate = this._config.date || this._config.startDate\n this._endDate = this._config.endDate\n this._selectEndDate = this._config.selectEndDate\n\n this._element.innerHTML = ''\n this._createDateRangePicker()\n this._createDateRangePickerCalendars()\n this._addEventListeners()\n this._addCalendarEventListeners()\n }\n\n // Private\n _addEventListeners() {\n EventHandler.on(this._indicatorElement, EVENT_CLICK, () => {\n if (!this._config.disabled) {\n this.toggle()\n }\n })\n\n EventHandler.on(this._indicatorElement, EVENT_KEYDOWN, event => {\n if (!this._config.disabled && event.key === ENTER_KEY) {\n this.toggle()\n }\n })\n\n EventHandler.on(this._togglerElement, EVENT_CLICK, event => {\n if (!this._config.disabled && event.target !== this._indicatorElement) {\n this.show()\n }\n })\n\n EventHandler.on(this._element, EVENT_KEYDOWN, event => {\n if (event.key === ESCAPE_KEY) {\n this.hide()\n }\n })\n\n EventHandler.on(this._startInput, EVENT_CLICK, () => {\n this._selectEndDate = false\n this._calendar.update(this._getCalendarConfig())\n })\n\n EventHandler.on(this._startInput, EVENT_INPUT, event => {\n const date = this._parseDate(event.target.value)\n\n // valid date or empty date\n if ((date instanceof Date && !Number.isNaN(date)) || (date === null)) {\n this._startDate = date\n this._calendarDate = date\n this._calendar.update(this._getCalendarConfig())\n\n EventHandler.trigger(this._element, EVENT_START_DATE_CHANGE, {\n date\n })\n }\n })\n\n EventHandler.on(this._startInput.form, EVENT_SUBMIT, () => {\n if (this._startInput.form.classList.contains(CLASS_NAME_WAS_VALIDATED)) {\n if (this._config.range && (Number.isNaN(Date.parse(this._startInput.value)) || Number.isNaN(Date.parse(this._endInput.value)))) {\n return this._element.classList.add(CLASS_NAME_IS_INVALID)\n }\n\n if (this._config.range && this._startDate instanceof Date && this._endDate instanceof Date) {\n return this._element.classList.add(CLASS_NAME_IS_VALID)\n }\n\n if (!this._config.range && Number.isNaN(Date.parse(this._startInput.value))) {\n return this._element.classList.add(CLASS_NAME_IS_INVALID)\n }\n\n if (!this._config.range && this._startDate instanceof Date) {\n return this._element.classList.add(CLASS_NAME_IS_VALID)\n }\n\n this._element.classList.add(CLASS_NAME_IS_INVALID)\n }\n })\n\n EventHandler.on(this._endInput, EVENT_CLICK, () => {\n this._selectEndDate = true\n this._calendar.update(this._getCalendarConfig())\n })\n\n EventHandler.on(this._endInput, EVENT_INPUT, event => {\n const date = this._parseDate(event.target.value)\n\n // valid date or empty date\n if ((date instanceof Date && !Number.isNaN(date)) || (date === null)) {\n this._endDate = date\n this._calendarDate = date\n this._calendar.update(this._getCalendarConfig())\n\n EventHandler.trigger(this._element, EVENT_END_DATE_CHANGE, {\n date\n })\n }\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n this._mobile = window.innerWidth < 768\n })\n }\n\n _addCalendarEventListeners() {\n for (const calendar of SelectorEngine.find(SELECTOR_CALENDAR, this._element)) {\n EventHandler.on(calendar, 'startDateChange.coreui.calendar', event => {\n this._changeStartDate(event.date)\n\n if (!this._config.range && (!this._config.footer && !this._config.timepicker)) {\n this.hide()\n }\n })\n\n EventHandler.on(calendar, 'endDateChange.coreui.calendar', event => {\n this._changeEndDate(event.date)\n\n if (this._startDate && (!this._config.footer && !this._config.timepicker)) {\n this.hide()\n }\n })\n\n EventHandler.on(calendar, 'cellHover.coreui.calendar', event => {\n if (this._selectEndDate) {\n this._endInput.value = event.date ? this._setInputValue(event.date) : this._setInputValue(this._endDate)\n return\n }\n\n this._startInput.value = event.date ? this._setInputValue(event.date) : this._setInputValue(this._startDate)\n })\n\n EventHandler.on(calendar, 'selectEndChange.coreui.calendar', event => {\n this._selectEndDate = event.value\n })\n }\n }\n\n _changeStartDate(value, skipTimePickerUpdate = false) {\n this._startDate = value\n this._startInput.value = this._setInputValue(value)\n this._startInput.dispatchEvent(new Event('change'))\n\n EventHandler.trigger(this._element, EVENT_START_DATE_CHANGE, {\n date: value\n })\n\n if (this._timePickerStart && !skipTimePickerUpdate) {\n this._timePickerStart.update(this._getTimePickerConfig(true))\n }\n }\n\n _changeEndDate(value, skipTimePickerUpdate = false) {\n this._endDate = value\n this._endInput.value = this._setInputValue(value)\n this._endInput.dispatchEvent(new Event('change'))\n\n EventHandler.trigger(this._element, EVENT_END_DATE_CHANGE, {\n date: value\n })\n\n if (this._timePickerEnd && !skipTimePickerUpdate) {\n this._timePickerEnd.update(this._getTimePickerConfig(false))\n }\n }\n\n _getCalendarConfig() {\n return {\n ariaNavNextMonthLabel: this._config.ariaNavNextMonthLabel,\n ariaNavNextYearLabel: this._config.ariaNavNextYearLabel,\n ariaNavPrevMonthLabel: this._config.ariaNavPrevMonthLabel,\n ariaNavPrevYearLabel: this._config.ariaNavPrevYearLabel,\n calendarDate: this._calendarDate,\n calendars: this._config.calendars,\n disabledDates: this._config.disabledDates,\n endDate: this._endDate,\n firstDayOfWeek: this._config.firstDayOfWeek,\n locale: this._config.locale,\n maxDate: this._config.maxDate,\n minDate: this._config.minDate,\n range: this._config.range,\n selectAdjacementDays: this._config.selectAdjacementDays,\n selectEndDate: this._selectEndDate,\n selectionType: this._config.selectionType,\n showAdjacementDays: this._config.showAdjacementDays,\n showWeekNumber: this._config.showWeekNumber,\n startDate: this._startDate,\n weekdayFormat: this._config.weekdayFormat,\n weekNumbersLabel: this._config.weekNumbersLabel\n }\n }\n\n _getTimePickerConfig(start) {\n return {\n disabled: start ? !this._startDate : !this._endDate,\n locale: this._config.locale,\n time: start ? this._startDate && new Date(this._startDate) : this._endDate && new Date(this._endDate),\n type: 'inline',\n variant: 'select'\n }\n }\n\n _createDateRangePicker() {\n this._element.classList.add(CLASS_NAME_DATE_PICKER)\n\n Manipulator.setDataAttribute(this._element, 'toggle', this._config.range ? CLASS_NAME_DATE_RANGE_PICKER : CLASS_NAME_DATE_PICKER)\n\n if (this._config.size) {\n this._element.classList.add(`date-picker-${this._config.size}`)\n }\n\n if (this._config.disabled) {\n this._element.classList.add(CLASS_NAME_DISABLED)\n }\n\n this._element.classList.toggle(CLASS_NAME_IS_INVALID, this._config.invalid)\n this._element.classList.toggle(CLASS_NAME_IS_VALID, this._config.valid)\n this._element.append(this._createDateRangePickerInputGroup())\n\n const dropdownEl = document.createElement('div')\n dropdownEl.classList.add(CLASS_NAME_DROPDOWN)\n\n dropdownEl.append(this._createDateRangePickerBody())\n if (this._config.footer || this._config.timepicker) {\n dropdownEl.append(this._createDateRangeFooter())\n }\n\n const { container } = this._config\n if (container) {\n container.append(dropdownEl)\n } else {\n this._element.append(dropdownEl)\n }\n\n this._menu = dropdownEl\n }\n\n _createDateRangePickerInputGroup() {\n const inputGroupEl = document.createElement('div')\n inputGroupEl.classList.add(CLASS_NAME_INPUT_GROUP)\n\n let startInputName = null\n\n if (this._config.name || this._config.startName || this._element.id) {\n startInputName = this._config.name || this._config.startName || (this._config.range ? `date-range-picker-start-date-${this._element.id}` : `date-picker-${this._element.id}`)\n }\n\n const startInputEl = this._createInput(startInputName, this._getPlaceholder()[0], this._setInputValue(this._startDate))\n\n let endInputName = null\n\n if (this._config.endName || this._element.id) {\n endInputName = this._config.endName || `date-range-picker-end-date-${this._element.id}`\n }\n\n const endInputEl = this._createInput(endInputName, this._getPlaceholder()[1], this._setInputValue(this._endDate))\n\n const inputGroupTextSeparatorEl = document.createElement('div')\n inputGroupTextSeparatorEl.classList.add(CLASS_NAME_SEPARATOR)\n\n this._startInput = startInputEl\n this._endInput = endInputEl\n\n inputGroupEl.append(startInputEl)\n\n if (this._config.separator) {\n inputGroupEl.append(inputGroupTextSeparatorEl)\n }\n\n if (this._config.range) {\n inputGroupEl.append(endInputEl)\n }\n\n if (this._config.indicator) {\n const inputGroupIndicatorEl = document.createElement('div')\n inputGroupIndicatorEl.classList.add(CLASS_NAME_INDICATOR)\n\n if (!this._config.disabled) {\n inputGroupIndicatorEl.tabIndex = 0\n }\n\n inputGroupEl.append(inputGroupIndicatorEl)\n\n this._indicatorElement = inputGroupIndicatorEl\n }\n\n if (this._config.cleaner) {\n const inputGroupCleanerEl = document.createElement('div')\n inputGroupCleanerEl.classList.add(CLASS_NAME_CLEANER)\n inputGroupCleanerEl.addEventListener('click', event => {\n event.stopPropagation()\n this.clear()\n })\n\n inputGroupEl.append(inputGroupCleanerEl)\n }\n\n this._togglerElement = inputGroupEl\n\n return inputGroupEl\n }\n\n _createDateRangePickerBody() {\n const dateRangePickerBodyEl = document.createElement('div')\n dateRangePickerBodyEl.classList.add(CLASS_NAME_BODY)\n\n if (Object.keys(this._config.ranges).length) {\n const dateRangePickerRangesEl = document.createElement('div')\n dateRangePickerRangesEl.classList.add(CLASS_NAME_RANGES)\n\n for (const key of Object.keys(this._config.ranges)) {\n const buttonEl = document.createElement('button')\n buttonEl.classList.add(...this._getButtonClasses(this._config.rangesButtonsClasses))\n buttonEl.role = 'button'\n buttonEl.addEventListener('click', () => {\n this._changeStartDate(this._config.ranges[key][0])\n this._changeEndDate(this._config.ranges[key][1])\n\n this._calendar.update(this._getCalendarConfig())\n })\n\n buttonEl.innerHTML = key\n dateRangePickerRangesEl.append(buttonEl)\n }\n\n dateRangePickerBodyEl.append(dateRangePickerRangesEl)\n }\n\n const calendarsEl = document.createElement('div')\n calendarsEl.classList.add(CLASS_NAME_CALENDARS)\n\n this._calendars = calendarsEl\n\n dateRangePickerBodyEl.append(calendarsEl)\n\n if (this._config.timepicker) {\n const timepickersEl = document.createElement('div')\n timepickersEl.classList.add(CLASS_NAME_TIME_PICKERS)\n\n this._timepickers = timepickersEl\n dateRangePickerBodyEl.append(timepickersEl)\n }\n\n return dateRangePickerBodyEl\n }\n\n _createDateRangePickerCalendars() {\n const calendarEl = document.createElement('div')\n calendarEl.classList.add(CLASS_NAME_CALENDAR)\n\n this._calendars.append(calendarEl)\n\n this._calendar = new Calendar(calendarEl, this._getCalendarConfig())\n\n EventHandler.on(calendarEl, 'calendarDateChange.coreui.calendar', event => {\n this._calendarDate = event.date\n })\n\n EventHandler.on(calendarEl, 'calendarMouseleave.coreui.calendar', () => {\n if (this._startDate) {\n this._startInput.value = this._setInputValue(this._startDate)\n }\n\n if (this._endDate) {\n this._endInput.value = this._setInputValue(this._endDate)\n }\n })\n\n if (this._config.timepicker) {\n if (this._mobile || (this._range && this._config.calendars === 1)) {\n const timePickerStartEl = document.createElement('div')\n timePickerStartEl.classList.add(CLASS_NAME_TIME_PICKER)\n this._timePickerStart = new TimePicker(timePickerStartEl, this._getTimePickerConfig(true))\n\n calendarEl.append(timePickerStartEl)\n\n EventHandler.on(timePickerStartEl, 'timeChange.coreui.time-picker', event => {\n this._changeStartDate(event.date, true)\n this._calendar.update(this._getCalendarConfig())\n })\n\n const timePickerEndEl = document.createElement('div')\n timePickerEndEl.classList.add(CLASS_NAME_TIME_PICKER)\n this._timePickerEnd = new TimePicker(timePickerEndEl, this._getTimePickerConfig(false))\n\n this._timepickers.append(timePickerEndEl)\n\n EventHandler.on(timePickerEndEl, 'timeChange.coreui.time-picker', event => {\n this._changeEndDate(event.date, true)\n this._calendar.update(this._getCalendarConfig())\n })\n } else {\n for (const [index, _] of Array.from({ length: this._config.calendars }).entries()) {\n const timePickerEl = document.createElement('div')\n timePickerEl.classList.add(CLASS_NAME_TIME_PICKER)\n\n const _timepicker = new TimePicker(timePickerEl, this._getTimePickerConfig(index === 0))\n\n if (index === 0) {\n this._timePickerStart = _timepicker\n } else {\n this._timePickerEnd = _timepicker\n }\n\n this._timepickers.append(timePickerEl)\n\n EventHandler.on(timePickerEl, 'timeChange.coreui.time-picker', event => {\n if (index === 0) {\n this._changeStartDate(event.date, true)\n } else {\n this._changeEndDate(event.date, true)\n }\n\n this._calendar.update(this._getCalendarConfig())\n })\n }\n }\n }\n }\n\n _createDateRangeFooter() {\n const footerEl = document.createElement('div')\n footerEl.classList.add(CLASS_NAME_FOOTER)\n\n if (this._config.todayButton) {\n const todayButtonEl = document.createElement('button')\n todayButtonEl.classList.add(...this._getButtonClasses(this._config.todayButtonClasses))\n todayButtonEl.type = 'button'\n todayButtonEl.innerHTML = this._config.todayButton\n todayButtonEl.addEventListener('click', () => {\n const date = new Date()\n this._calendarDate = date\n this._changeStartDate(date)\n\n if (this._config.range) {\n this._changeEndDate(date)\n }\n\n this._calendar.update(this._getCalendarConfig())\n })\n\n footerEl.append(todayButtonEl)\n }\n\n if (this._config.cancelButton) {\n const cancelButtonEl = document.createElement('button')\n cancelButtonEl.classList.add(...this._getButtonClasses(this._config.cancelButtonClasses))\n cancelButtonEl.type = 'button'\n cancelButtonEl.innerHTML = this._config.cancelButton\n cancelButtonEl.addEventListener('click', () => {\n this.cancel()\n })\n\n footerEl.append(cancelButtonEl)\n }\n\n if (this._config.confirmButton) {\n const confirmButtonEl = document.createElement('button')\n confirmButtonEl.classList.add(...this._getButtonClasses(this._config.confirmButtonClasses))\n confirmButtonEl.type = 'button'\n confirmButtonEl.innerHTML = this._config.confirmButton\n confirmButtonEl.addEventListener('click', () => {\n this.hide()\n })\n\n footerEl.append(confirmButtonEl)\n }\n\n return footerEl\n }\n\n _createInput(name, placeholder, value) {\n const inputEl = document.createElement('input')\n inputEl.classList.add(CLASS_NAME_INPUT)\n inputEl.autocomplete = 'off'\n inputEl.disabled = this._config.disabled\n inputEl.placeholder = placeholder\n inputEl.readOnly = this._config.inputReadOnly\n inputEl.required = this._config.required\n inputEl.type = 'text'\n inputEl.value = value\n\n if (name) {\n inputEl.name = name\n }\n\n const events = ['change', 'keyup', 'paste']\n\n for (const event of events) {\n inputEl.addEventListener(event, ({ target }) => {\n if (target.closest(SELECTOR_WAS_VALIDATED)) {\n const inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n\n for (const input of inputs) {\n if (Number.isNaN(Date.parse(input.value))) {\n this._element.classList.add(CLASS_NAME_IS_INVALID)\n this._element.classList.remove(CLASS_NAME_IS_VALID)\n return\n }\n }\n\n if (this._config.range && this._startDate instanceof Date && this._endDate instanceof Date) {\n this._element.classList.add(CLASS_NAME_IS_VALID)\n this._element.classList.remove(CLASS_NAME_IS_INVALID)\n return\n }\n\n if (!this._config.range && this._startDate instanceof Date) {\n this._element.classList.add(CLASS_NAME_IS_VALID)\n this._element.classList.remove(CLASS_NAME_IS_INVALID)\n return\n }\n\n this._element.classList.add(CLASS_NAME_IS_INVALID)\n this._element.classList.remove(CLASS_NAME_IS_VALID)\n }\n })\n }\n\n return inputEl\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('CoreUI\\'s date picker require Popper (https://popper.js.org)')\n }\n\n const popperConfig = {\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: 'clippingParents'\n }\n },\n {\n name: 'offset',\n options: {\n offset: [0, 2]\n }\n }],\n placement: isRTL() ? 'bottom-end' : 'bottom-start'\n }\n\n this._popper = Popper.createPopper(this._togglerElement, this._menu, popperConfig)\n }\n\n _parseDate(str) {\n if (!str) {\n return null\n }\n\n return this._config.inputDateParse ?\n this._config.inputDateParse(str) :\n getLocalDateFromString(str, this._config.locale, this._config.timepicker)\n }\n\n _formatDate(date) {\n if (!date) {\n return ''\n }\n\n if (this._config.inputDateFormat) {\n return this._config.inputDateFormat(\n date instanceof Date ? new Date(date) : convertToDateObject(date, this._config.selectionType)\n )\n }\n\n if (this._config.selectionType !== 'day') {\n return date\n }\n\n const _date = new Date(date)\n\n return this._config.timepicker ? _date.toLocaleString(this._config.locale) : _date.toLocaleDateString(this._config.locale)\n }\n\n _getButtonClasses(classes) {\n if (typeof classes === 'string') {\n return classes.split(' ')\n }\n\n return classes\n }\n\n _getPlaceholder() {\n const { placeholder } = this._config\n\n if (typeof placeholder === 'string') {\n return placeholder.split(',')\n }\n\n return placeholder\n }\n\n _isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _setInputValue(date) {\n if (date) {\n return this._formatDate(date)\n }\n\n return ''\n }\n\n _configAfterMerge(config) {\n if (config.container === true) {\n config.container = document.body\n }\n\n if (typeof config.container === 'object' || typeof config.container === 'string') {\n config.container = getElement(config.container)\n }\n\n return config\n }\n\n // Static\n static dateRangePickerInterface(element, config) {\n const data = DateRangePicker.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = DateRangePicker.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = DateRangePicker.getInstance(toggle)\n\n if (!context) {\n continue\n }\n\n const composedPath = event.composedPath()\n\n if (\n composedPath.includes(context._element)\n ) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context.hide()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const dateRangePickers = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n for (let i = 0, len = dateRangePickers.length; i < len; i++) {\n DateRangePicker.dateRangePickerInterface(dateRangePickers[i])\n }\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, DateRangePicker.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, DateRangePicker.clearMenus)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(DateRangePicker)\n\nexport default DateRangePicker\n","/**\n * --------------------------------------------------------------------------\n * CoreUI PRO date-picker.js\n * License (https://coreui.io/pro/license/)\n * --------------------------------------------------------------------------\n */\n\nimport DateRangePicker from './date-range-picker.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'date-picker'\nconst DATA_KEY = 'coreui.date-picker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst TAB_KEY = 'Tab'\nconst RIGHT_MOUSE_BUTTON = 2\n\nconst EVENT_DATE_CHANGE = `dateChange${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"date-picker\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\n\nconst Default = {\n ...DateRangePicker.Default,\n calendars: 1,\n placeholder: ['Select date'],\n range: false,\n separator: false\n}\n\nconst DefaultType = {\n ...DateRangePicker.DefaultType,\n date: '(date|number|string|null)'\n}\n\n/**\n * Class definition\n */\n\nclass DatePicker extends DateRangePicker {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _addEventListeners() {\n super._addEventListeners()\n\n EventHandler.on(this._element, 'startDateChange.coreui.date-range-picker', event => {\n EventHandler.trigger(this._element, EVENT_DATE_CHANGE, {\n date: event.date\n })\n })\n\n EventHandler.on(this._element, 'show.coreui.date-range-picker', () => {\n EventHandler.trigger(this._element, EVENT_SHOW)\n })\n\n EventHandler.on(this._element, 'shown.coreui.date-range-picker', () => {\n EventHandler.trigger(this._element, EVENT_SHOWN)\n })\n\n EventHandler.on(this._element, 'hide.coreui.date-range-picker', () => {\n EventHandler.trigger(this._element, EVENT_HIDE)\n })\n\n EventHandler.on(this._element, 'hidden.coreui.date-range-picker', () => {\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n // Static\n static datePickerInterface(element, config) {\n const data = DatePicker.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = DatePicker.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = DatePicker.getInstance(toggle)\n\n if (!context) {\n continue\n }\n\n const composedPath = event.composedPath()\n\n if (\n composedPath.includes(context._element)\n ) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context.hide()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const datePickers = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n for (let i = 0, len = datePickers.length; i < len; i++) {\n DatePicker.datePickerInterface(datePickers[i])\n }\n})\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, DatePicker.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, DatePicker.clearMenus)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(DatePicker)\n\nexport default DatePicker\n","/**\n * --------------------------------------------------------------------------\n * CoreUI dropdown.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'coreui.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--cui-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * CoreUI PRO loading-button.js\n * License (https://coreui.io/pro/license/)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'loading-button'\nconst DATA_KEY = 'coreui.loading-button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_START = `start${EVENT_KEY}`\nconst EVENT_STOP = `stop${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_IS_LOADING = 'is-loading'\nconst CLASS_NAME_LOADING_BUTTON = 'btn-loading'\nconst CLASS_NAME_LOADING_BUTTON_SPINNER = 'btn-loading-spinner'\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"loading-button\"]'\n\nconst Default = {\n disabledOnLoading: false,\n spinner: true,\n spinnerType: 'border',\n timeout: false\n}\n\nconst DefaultType = {\n disabledOnLoading: 'boolean',\n spinner: 'boolean',\n spinnerType: 'string',\n timeout: '(boolean|number)'\n}\n\n/**\n * Class definition\n */\n\nclass LoadingButton extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._timeout = this._config.timeout\n this._spinner = null\n this._state = 'idle'\n\n if (this._element) {\n Data.set(element, DATA_KEY, this)\n }\n\n this._createButton()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n start() {\n if (this._state !== 'loading') {\n this._createSpinner()\n this._state = 'loading'\n\n setTimeout(() => {\n this._element.classList.add(CLASS_NAME_IS_LOADING)\n EventHandler.trigger(this._element, EVENT_START)\n\n if (this._config.disabledOnLoading) {\n this._element.setAttribute('disabled', true)\n }\n }, 1)\n\n if (this._config.timeout) {\n setTimeout(() => {\n this.stop()\n }, this._config.timeout)\n }\n }\n }\n\n stop() {\n this._element.classList.remove(CLASS_NAME_IS_LOADING)\n const stoped = () => {\n this._removeSpinner()\n this._state = 'idle'\n\n if (this._config.disabledOnLoading) {\n this._element.removeAttribute('disabled')\n }\n\n EventHandler.trigger(this._element, EVENT_STOP)\n }\n\n if (this._spinner) {\n this._queueCallback(stoped, this._spinner, true)\n return\n }\n\n stoped()\n }\n\n dispose() {\n Data.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n _createButton() {\n this._element.classList.add(CLASS_NAME_LOADING_BUTTON)\n }\n\n _createSpinner() {\n if (this._config.spinner) {\n const spinner = document.createElement('span')\n const type = this._config.spinnerType\n spinner.classList.add(CLASS_NAME_LOADING_BUTTON_SPINNER, `spinner-${type}`, `spinner-${type}-sm`)\n spinner.setAttribute('role', 'status')\n spinner.setAttribute('aria-hidden', 'true')\n this._element.insertBefore(spinner, this._element.firstChild)\n this._spinner = spinner\n }\n }\n\n _removeSpinner() {\n if (this._config.spinner) {\n this._spinner.remove()\n this._spinner = null\n }\n }\n\n // Static\n\n static loadingButtonInterface(element, config) {\n const data = LoadingButton.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n LoadingButton.loadingButtonInterface(this, config)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = LoadingButton.getOrCreateInstance(button)\n\n data.start()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(LoadingButton)\n\nexport default LoadingButton\n","/**\n * --------------------------------------------------------------------------\n * CoreUI util/backdrop.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This is a modified version of the Bootstrap's util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.coreui.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * CoreUI util/focustrap.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This is a modified version of the Bootstrap's util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'coreui.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * CoreUI util/scrollBar.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This is a modified version of the Bootstrap's util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * CoreUI modal.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin, isRTL, isVisible, reflow\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'coreui.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\n }, this._dialog)\n\n this._element.focus()\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * CoreUI PRO multi-select.js\n * License (https://coreui.io/pro/license/)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getNextActiveElement,\n getElement,\n isVisible,\n isRTL\n} from './util/index.js'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'multi-select'\nconst DATA_KEY = 'coreui.multi-select'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst BACKSPACE_KEY = 'Backspace'\nconst DELETE_KEY = 'Delete'\nconst ENTER_KEY = 'Enter'\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst SELECTOR_CLEANER = '.form-multi-select-cleaner'\nconst SELECTOR_OPTGROUP = '.form-multi-select-optgroup'\nconst SELECTOR_OPTION = '.form-multi-select-option'\nconst SELECTOR_OPTIONS = '.form-multi-select-options'\nconst SELECTOR_OPTIONS_EMPTY = '.form-multi-select-options-empty'\nconst SELECTOR_SEARCH = '.form-multi-select-search'\nconst SELECTOR_SELECT = '.form-multi-select'\nconst SELECTOR_SELECTION = '.form-multi-select-selection'\nconst SELECTOR_VISIBLE_ITEMS = '.form-multi-select-options .form-multi-select-option:not(.disabled):not(:disabled)'\n\nconst EVENT_CHANGED = `changed${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_KEYUP = `keyup${EVENT_KEY}`\nconst EVENT_SEARCH = `search${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CLEANER = 'form-multi-select-cleaner'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_INPUT_GROUP = 'form-multi-select-input-group'\nconst CLASS_NAME_LABEL = 'label'\nconst CLASS_NAME_SELECT = 'form-multi-select'\nconst CLASS_NAME_SELECT_DROPDOWN = 'form-multi-select-dropdown'\nconst CLASS_NAME_SELECT_ALL = 'form-multi-select-all'\nconst CLASS_NAME_OPTGROUP = 'form-multi-select-optgroup'\nconst CLASS_NAME_OPTGROUP_LABEL = 'form-multi-select-optgroup-label'\nconst CLASS_NAME_OPTION = 'form-multi-select-option'\nconst CLASS_NAME_OPTION_WITH_CHECKBOX = 'form-multi-select-option-with-checkbox'\nconst CLASS_NAME_OPTIONS = 'form-multi-select-options'\nconst CLASS_NAME_OPTIONS_EMPTY = 'form-multi-select-options-empty'\nconst CLASS_NAME_SEARCH = 'form-multi-select-search'\nconst CLASS_NAME_SELECTED = 'form-multi-selected'\nconst CLASS_NAME_SELECTION = 'form-multi-select-selection'\nconst CLASS_NAME_SELECTION_TAGS = 'form-multi-select-selection-tags'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_TAG = 'form-multi-select-tag'\nconst CLASS_NAME_TAG_DELETE = 'form-multi-select-tag-delete'\n\nconst Default = {\n ariaCleanerLabel: 'Clear all selections',\n cleaner: true,\n container: false,\n disabled: false,\n invalid: false,\n multiple: true,\n name: null,\n options: false,\n optionsMaxHeight: 'auto',\n optionsStyle: 'checkbox',\n placeholder: 'Select...',\n required: false,\n search: false,\n searchNoResultsLabel: 'No results found',\n selectAll: true,\n selectAllLabel: 'Select all options',\n selectionType: 'tags',\n selectionTypeCounterText: 'item(s) selected',\n valid: false\n}\n\nconst DefaultType = {\n ariaCleanerLabel: 'string',\n cleaner: 'boolean',\n container: '(string|element|boolean)',\n disabled: 'boolean',\n invalid: 'boolean',\n multiple: 'boolean',\n name: '(string|null)',\n options: '(boolean|array)',\n optionsMaxHeight: '(number|string)',\n optionsStyle: 'string',\n placeholder: 'string',\n required: 'boolean',\n search: '(boolean|string)',\n searchNoResultsLabel: 'string',\n selectAll: 'boolean',\n selectAllLabel: 'string',\n selectionType: 'string',\n selectionTypeCounterText: 'string',\n valid: 'boolean'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass MultiSelect extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._indicatorElement = null\n this._selectAllElement = null\n this._selectionElement = null\n this._selectionCleanerElement = null\n this._searchElement = null\n this._togglerElement = null\n this._optionsElement = null\n\n this._clone = null\n this._menu = null\n this._options = this._getOptions()\n this._popper = null\n this._search = ''\n this._selected = this._getSelectedOptions(this._options)\n\n if (this._config.options.length > 0) {\n this._createNativeSelect(this._config.options)\n }\n\n this._createSelect()\n this._addEventListeners()\n Data.set(this._element, DATA_KEY, this)\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (this._config.disabled || this._isShown()) {\n return\n }\n\n EventHandler.trigger(this._element, EVENT_SHOW)\n this._clone.classList.add(CLASS_NAME_SHOW)\n this._clone.setAttribute('aria-expanded', true)\n\n if (this._config.container) {\n this._menu.style.minWidth = `${this._clone.offsetWidth}px`\n this._menu.classList.add(CLASS_NAME_SHOW)\n }\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._createPopper()\n\n if (this._config.search) {\n SelectorEngine.findOne(SELECTOR_SEARCH, this._clone).focus()\n }\n }\n\n hide() {\n EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n if (this._config.search) {\n this._searchElement.value = ''\n }\n\n this._onSearchChange(this._searchElement)\n this._clone.classList.remove(CLASS_NAME_SHOW)\n this._clone.setAttribute('aria-expanded', 'false')\n\n if (this._config.container) {\n this._menu.classList.remove(CLASS_NAME_SHOW)\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n search(text) {\n this._search = text.length > 0 ? text.toLowerCase() : text\n this._filterOptionsList()\n EventHandler.trigger(this._element, EVENT_SEARCH)\n }\n\n update(config) {\n this._config = this._getConfig(config)\n this._options = this._getOptions()\n this._selected = this._getSelectedOptions(this._options)\n this._menu.remove()\n this._clone.remove()\n this._element.innerHTML = ''\n this._createNativeOptions(this._element, this._options)\n this._createSelect()\n this._addEventListeners()\n }\n\n selectAll(options = this._options) {\n for (const option of options) {\n if (option.disabled) {\n continue\n }\n\n if (option.label) {\n this.selectAll(option.options)\n continue\n }\n\n this._selectOption(option.value, option.text)\n }\n }\n\n deselectAll(options = this._options) {\n for (const option of options) {\n if (option.disabled) {\n continue\n }\n\n if (option.label) {\n this.deselectAll(option.options)\n continue\n }\n\n this._deselectOption(option.value)\n }\n }\n\n getValue() {\n return this._selected\n }\n\n // Private\n\n _addEventListeners() {\n EventHandler.on(this._clone, EVENT_CLICK, () => {\n if (!this._config.disabled) {\n this.show()\n }\n })\n\n EventHandler.on(this._clone, EVENT_KEYDOWN, event => {\n if (event.key === ESCAPE_KEY) {\n this.hide()\n return\n }\n\n if (this._config.search === 'global' && (event.key.length === 1 || event.key === BACKSPACE_KEY || event.key === DELETE_KEY)) {\n this._searchElement.focus()\n }\n })\n\n EventHandler.on(this._menu, EVENT_KEYDOWN, event => {\n if (this._config.search === 'global' && (event.key.length === 1 || event.key === BACKSPACE_KEY || event.key === DELETE_KEY)) {\n this._searchElement.focus()\n }\n })\n\n EventHandler.on(this._togglerElement, EVENT_KEYDOWN, event => {\n if (!this._isShown() && (event.key === ENTER_KEY || event.key === ARROW_DOWN_KEY)) {\n event.preventDefault()\n this.show()\n return\n }\n\n if (this._isShown() && event.key === ARROW_DOWN_KEY) {\n event.preventDefault()\n this._selectMenuItem(event)\n }\n })\n\n EventHandler.on(this._indicatorElement, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n\n EventHandler.on(this._searchElement, EVENT_KEYUP, () => {\n this._onSearchChange(this._searchElement)\n })\n\n EventHandler.on(this._searchElement, EVENT_KEYDOWN, event => {\n if (!this._isShown()) {\n this.show()\n }\n\n if (event.key === ARROW_DOWN_KEY && this._searchElement.value.length === this._searchElement.selectionStart) {\n this._selectMenuItem(event)\n return\n }\n\n if ((event.key === BACKSPACE_KEY || event.key === DELETE_KEY) && event.target.value.length === 0) {\n this._deselectLastOption()\n }\n\n this._searchElement.focus()\n })\n\n EventHandler.on(this._selectAllElement, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.selectAll()\n })\n\n EventHandler.on(this._optionsElement, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this._onOptionsClick(event.target)\n })\n\n EventHandler.on(this._selectionCleanerElement, EVENT_CLICK, event => {\n if (!this._config.disabled) {\n event.preventDefault()\n event.stopPropagation()\n this.deselectAll()\n }\n })\n\n EventHandler.on(this._optionsElement, EVENT_KEYDOWN, event => {\n if (event.key === ENTER_KEY) {\n this._onOptionsClick(event.target)\n }\n\n if ([ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) {\n event.preventDefault()\n this._selectMenuItem(event)\n }\n })\n }\n\n _getClassNames() {\n return this._element.classList.value.split(' ')\n }\n\n _getOptions(node = this._element) {\n if (this._config.options) {\n return this._config.options\n }\n\n const nodes = Array.from(node.childNodes).filter(element => element.nodeName === 'OPTION' || element.nodeName === 'OPTGROUP')\n const options = []\n\n for (const node of nodes) {\n if (node.nodeName === 'OPTION' && node.value) {\n options.push({\n value: node.value,\n text: node.innerHTML,\n selected: node.selected,\n disabled: node.disabled\n })\n }\n\n if (node.nodeName === 'OPTGROUP') {\n options.push({\n label: node.label,\n options: this._getOptions(node)\n })\n }\n }\n\n return options\n }\n\n _getSelectedOptions(options) {\n const selected = []\n\n for (const option of options) {\n if (typeof option.value === 'undefined') {\n this._getSelectedOptions(option.options)\n continue\n }\n\n if (option.selected) {\n // Add only the last option if single select\n if (!this._config.multiple) {\n selected.length = 0\n }\n\n selected.push({\n value: String(option.value),\n text: option.text\n })\n }\n }\n\n return selected\n }\n\n _createNativeSelect(data) {\n this._element.classList.add(CLASS_NAME_SELECT)\n\n if (this._config.multiple) {\n this._element.setAttribute('multiple', true)\n }\n\n if (this._config.required) {\n this._element.setAttribute('required', true)\n }\n\n this._createNativeOptions(this._element, data)\n }\n\n _createNativeOptions(parentElement, options) {\n for (const option of options) {\n if ((typeof option.options === 'undefined')) {\n const opt = document.createElement('OPTION')\n opt.value = option.value\n\n if (option.disabled === true) {\n opt.setAttribute('disabled', 'disabled')\n }\n\n if (option.selected === true) {\n opt.setAttribute('selected', 'selected')\n }\n\n opt.innerHTML = option.text\n parentElement.append(opt)\n } else {\n const optgroup = document.createElement('optgroup')\n optgroup.label = option.label\n this._createNativeOptions(optgroup, option.options)\n parentElement.append(optgroup)\n }\n }\n }\n\n _hideNativeSelect() {\n this._element.tabIndex = '-1'\n this._element.style.display = 'none'\n }\n\n _createSelect() {\n const multiSelectEl = document.createElement('div')\n multiSelectEl.classList.add(CLASS_NAME_SELECT)\n multiSelectEl.classList.toggle('is-invalid', this._config.invalid)\n multiSelectEl.classList.toggle('is-valid', this._config.valid)\n multiSelectEl.setAttribute('aria-expanded', 'false')\n\n if (this._config.disabled) {\n this._element.classList.add(CLASS_NAME_DISABLED)\n }\n\n for (const className of this._getClassNames()) {\n multiSelectEl.classList.add(className)\n }\n\n this._clone = multiSelectEl\n this._element.parentNode.insertBefore(multiSelectEl, this._element.nextSibling)\n this._createSelection()\n this._createButtons()\n\n if (this._config.search) {\n this._createSearchInput()\n this._updateSearch()\n }\n\n if (this._config.name || this._element.id || this._element.name) {\n this._element.setAttribute('name', (this._config.name || this._element.name || `multi-select-${this._element.id}`))\n }\n\n this._createOptionsContainer()\n this._hideNativeSelect()\n this._updateOptionsList()\n }\n\n _createSelection() {\n const togglerEl = document.createElement('div')\n togglerEl.classList.add(CLASS_NAME_INPUT_GROUP)\n this._togglerElement = togglerEl\n\n if (!this._config.search && !this._config.disabled) {\n togglerEl.tabIndex = 0\n }\n\n const selectionEl = document.createElement('div')\n selectionEl.classList.add(CLASS_NAME_SELECTION)\n\n if (this._config.multiple && this._config.selectionType === 'tags') {\n selectionEl.classList.add(CLASS_NAME_SELECTION_TAGS)\n }\n\n togglerEl.append(selectionEl)\n this._clone.append(togglerEl)\n\n this._updateSelection()\n this._selectionElement = selectionEl\n }\n\n _createButtons() {\n const buttons = document.createElement('div')\n buttons.classList.add('form-multi-select-buttons')\n\n if (!this._config.disabled && this._config.cleaner && this._config.multiple) {\n const cleaner = document.createElement('button')\n cleaner.type = 'button'\n cleaner.classList.add(CLASS_NAME_CLEANER)\n cleaner.style.display = 'none'\n cleaner.setAttribute('aria-label', this._config.ariaCleanerLabel)\n\n buttons.append(cleaner)\n this._selectionCleanerElement = cleaner\n }\n\n const indicator = document.createElement('button')\n indicator.type = 'button'\n indicator.classList.add('form-multi-select-indicator')\n\n if (this._config.disabled) {\n indicator.tabIndex = -1\n }\n\n buttons.append(indicator)\n\n this._indicatorElement = indicator\n this._togglerElement.append(buttons)\n this._updateSelectionCleaner()\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('CoreUI\\'s multi select require Popper (https://popper.js.org)')\n }\n\n const popperConfig = {\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: 'clippingParents'\n }\n },\n {\n name: 'offset',\n options: {\n offset: [0, 2]\n }\n }],\n placement: isRTL() ? 'bottom-end' : 'bottom-start'\n }\n\n this._popper = Popper.createPopper(this._togglerElement, this._menu, popperConfig)\n }\n\n _createSearchInput() {\n const input = document.createElement('input')\n input.classList.add(CLASS_NAME_SEARCH)\n\n if (this._config.disabled) {\n input.disabled = true\n }\n\n this._searchElement = input\n this._updateSearchSize()\n\n this._selectionElement.append(input)\n }\n\n _createOptionsContainer() {\n const dropdownDiv = document.createElement('div')\n dropdownDiv.classList.add(CLASS_NAME_SELECT_DROPDOWN)\n\n if (this._config.selectAll && this._config.multiple) {\n const selectAll = document.createElement('button')\n selectAll.classList.add(CLASS_NAME_SELECT_ALL)\n selectAll.innerHTML = this._config.selectAllLabel\n\n this._selectAllElement = selectAll\n\n dropdownDiv.append(selectAll)\n }\n\n const optionsDiv = document.createElement('div')\n optionsDiv.classList.add(CLASS_NAME_OPTIONS)\n\n if (this._config.optionsMaxHeight !== 'auto') {\n optionsDiv.style.maxHeight = `${this._config.optionsMaxHeight}px`\n optionsDiv.style.overflow = 'auto'\n }\n\n dropdownDiv.append(optionsDiv)\n\n const { container } = this._config\n if (container) {\n container.append(dropdownDiv)\n } else {\n this._clone.append(dropdownDiv)\n }\n\n this._createOptions(optionsDiv, this._options)\n this._optionsElement = optionsDiv\n this._menu = dropdownDiv\n }\n\n _createOptions(parentElement, options) {\n for (const option of options) {\n if (typeof option.value !== 'undefined') {\n const optionDiv = document.createElement('div')\n optionDiv.classList.add(CLASS_NAME_OPTION)\n\n if (option.disabled) {\n optionDiv.classList.add(CLASS_NAME_DISABLED)\n }\n\n if (this._config.optionsStyle === 'checkbox') {\n optionDiv.classList.add(CLASS_NAME_OPTION_WITH_CHECKBOX)\n }\n\n optionDiv.dataset.value = String(option.value)\n optionDiv.tabIndex = 0\n optionDiv.innerHTML = option.text\n parentElement.append(optionDiv)\n }\n\n if (typeof option.label !== 'undefined') {\n const optgroup = document.createElement('div')\n optgroup.classList.add(CLASS_NAME_OPTGROUP)\n\n const optgrouplabel = document.createElement('div')\n optgrouplabel.innerHTML = option.label\n optgrouplabel.classList.add(CLASS_NAME_OPTGROUP_LABEL)\n optgroup.append(optgrouplabel)\n\n this._createOptions(optgroup, option.options)\n parentElement.append(optgroup)\n }\n }\n }\n\n _createTag(value, text) {\n const tag = document.createElement('div')\n tag.classList.add(CLASS_NAME_TAG)\n tag.dataset.value = value\n tag.innerHTML = text\n\n if (!this._config.disabled) {\n const closeBtn = document.createElement('button')\n closeBtn.type = 'button'\n closeBtn.classList.add(CLASS_NAME_TAG_DELETE)\n closeBtn.setAttribute('aria-label', 'Close')\n\n EventHandler.on(closeBtn, EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n\n tag.remove()\n this._deselectOption(value)\n })\n\n tag.append(closeBtn)\n }\n\n return tag\n }\n\n _onOptionsClick(element) {\n if (!element.classList.contains(CLASS_NAME_OPTION) || element.classList.contains(CLASS_NAME_LABEL)) {\n return\n }\n\n const value = String(element.dataset.value)\n const { text } = this._findOptionByValue(value)\n\n if (this._config.multiple && element.classList.contains(CLASS_NAME_SELECTED)) {\n this._deselectOption(value)\n } else if (this._config.multiple && !element.classList.contains(CLASS_NAME_SELECTED)) {\n this._selectOption(value, text)\n } else if (!this._config.multiple) {\n this._selectOption(value, text)\n }\n\n if (!this._config.multiple) {\n this.hide()\n this.search('')\n this._searchElement.value = null\n }\n }\n\n _findOptionByValue(value, options = this._options) {\n for (const option of options) {\n if (option.value === value) {\n return option\n }\n\n if (option.options && Array.isArray(option.options)) {\n const found = this._findOptionByValue(value, option.options)\n if (found) {\n return found\n }\n }\n }\n\n return null\n }\n\n _selectOption(value, text) {\n if (!this._config.multiple) {\n this.deselectAll()\n }\n\n if (this._selected.filter(option => option.value === String(value)).length === 0) {\n this._selected.push({\n value: String(value),\n text\n })\n }\n\n const nativeOption = SelectorEngine.findOne(`option[value=\"${value}\"]`, this._element)\n\n if (nativeOption) {\n nativeOption.selected = true\n }\n\n const option = SelectorEngine.findOne(`[data-value=\"${value}\"]`, this._optionsElement)\n if (option) {\n option.classList.add(CLASS_NAME_SELECTED)\n }\n\n EventHandler.trigger(this._element, EVENT_CHANGED, {\n value: this._selected\n })\n\n this._updateSelection()\n this._updateSelectionCleaner()\n this._updateSearch()\n this._updateSearchSize()\n }\n\n _deselectOption(value) {\n const selected = this._selected.filter(option => option.value !== String(value))\n this._selected = selected\n\n SelectorEngine.findOne(`option[value=\"${value}\"]`, this._element).selected = false\n\n const option = SelectorEngine.findOne(`[data-value=\"${value}\"]`, this._optionsElement)\n if (option) {\n option.classList.remove(CLASS_NAME_SELECTED)\n }\n\n EventHandler.trigger(this._element, EVENT_CHANGED, {\n value: this._selected\n })\n\n this._updateSelection()\n this._updateSelectionCleaner()\n this._updateSearch()\n this._updateSearchSize()\n }\n\n _deselectLastOption() {\n if (this._selected.length > 0) {\n const last = this._selected.pop()\n this._deselectOption(last.value)\n }\n }\n\n _updateSelection() {\n const selection = SelectorEngine.findOne(SELECTOR_SELECTION, this._clone)\n const search = SelectorEngine.findOne(SELECTOR_SEARCH, this._clone)\n\n if (this._selected.length === 0 && !this._config.search) {\n selection.innerHTML = `${this._config.placeholder}`\n return\n }\n\n if (this._config.multiple && this._config.selectionType === 'counter' && !this._config.search) {\n selection.innerHTML = `${this._selected.length} ${this._config.selectionTypeCounterText}`\n }\n\n if (this._config.multiple && this._config.selectionType === 'tags') {\n selection.innerHTML = ''\n\n for (const option of this._selected) {\n selection.append(this._createTag(option.value, option.text))\n }\n }\n\n if (this._config.multiple && this._config.selectionType === 'text') {\n selection.innerHTML = this._selected.map((option, index) => `${option.text}${index === this._selected.length - 1 ? '' : ','} `).join('')\n }\n\n if (!this._config.multiple && this._selected.length > 0 && !this._config.search) {\n selection.innerHTML = this._selected[0].text\n }\n\n if (search) {\n selection.append(search)\n }\n\n if (this._popper) {\n this._popper.update()\n }\n }\n\n _updateSelectionCleaner() {\n if (!this._config.cleaner || this._selectionCleanerElement === null) {\n return\n }\n\n const selectionCleaner = SelectorEngine.findOne(SELECTOR_CLEANER, this._clone)\n\n if (this._selected.length > 0) {\n selectionCleaner.style.removeProperty('display')\n return\n }\n\n selectionCleaner.style.display = 'none'\n }\n\n _updateSearch() {\n if (!this._config.search) {\n return\n }\n\n // Select single\n\n if (!this._config.multiple && this._selected.length > 0) {\n this._searchElement.placeholder = this._selected[0].text\n return\n }\n\n if (!this._config.multiple && this._selected.length === 0) {\n this._searchElement.placeholder = this._config.placeholder\n return\n }\n\n // Select multiple\n\n if (this._config.multiple && this._selected.length > 0 && this._config.selectionType !== 'counter') {\n this._searchElement.removeAttribute('placeholder')\n return\n }\n\n if (this._config.multiple && this._selected.length === 0) {\n this._searchElement.placeholder = this._config.placeholder\n return\n }\n\n if (this._config.multiple && this._config.selectionType === 'counter') {\n this._searchElement.placeholder = `${this._selected.length} ${this._config.selectionTypeCounterText}`\n }\n }\n\n _updateSearchSize(size = 2) {\n if (!this._searchElement || !this._config.multiple) {\n return\n }\n\n if (this._selected.length > 0 && (this._config.selectionType === 'tags' || this._config.selectionType === 'text')) {\n this._searchElement.size = size\n return\n }\n\n if (this._selected.length === 0 && (this._config.selectionType === 'tags' || this._config.selectionType === 'text')) {\n this._searchElement.removeAttribute('size')\n }\n }\n\n _onSearchChange(element) {\n if (element) {\n this.search(element.value)\n\n this._updateSearchSize(element.value.length + 1)\n }\n }\n\n _updateOptionsList(options = this._options) {\n for (const option of options) {\n if (option.label) {\n this._updateOptionsList(option.options)\n continue\n }\n\n if (option.selected) {\n this._selectOption(option.value, option.text)\n }\n }\n }\n\n _isVisible(element) {\n const style = window.getComputedStyle(element)\n return (style.display !== 'none')\n }\n\n _isShown() {\n return this._clone.classList.contains(CLASS_NAME_SHOW)\n }\n\n _filterOptionsList() {\n const options = SelectorEngine.find(SELECTOR_OPTION, this._menu)\n let visibleOptions = 0\n\n for (const option of options) {\n // eslint-disable-next-line unicorn/prefer-includes\n if (option.textContent.toLowerCase().indexOf(this._search) === -1) {\n option.style.display = 'none'\n } else {\n option.style.removeProperty('display')\n visibleOptions++\n }\n\n const optgroup = option.closest(SELECTOR_OPTGROUP)\n if (optgroup) {\n // eslint-disable-next-line unicorn/prefer-array-some\n if (SelectorEngine.children(optgroup, SELECTOR_OPTION).filter(element => this._isVisible(element)).length > 0) {\n optgroup.style.removeProperty('display')\n } else {\n optgroup.style.display = 'none'\n }\n }\n }\n\n if (visibleOptions > 0) {\n if (SelectorEngine.findOne(SELECTOR_OPTIONS_EMPTY, this._menu)) {\n SelectorEngine.findOne(SELECTOR_OPTIONS_EMPTY, this._menu).remove()\n }\n\n return\n }\n\n if (visibleOptions === 0) {\n const placeholder = document.createElement('div')\n placeholder.classList.add(CLASS_NAME_OPTIONS_EMPTY)\n placeholder.innerHTML = this._config.searchNoResultsLabel\n\n if (!SelectorEngine.findOne(SELECTOR_OPTIONS_EMPTY, this._menu)) {\n SelectorEngine.findOne(SELECTOR_OPTIONS, this._menu).append(placeholder)\n }\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n _configAfterMerge(config) {\n if (config.container === true) {\n config.container = document.body\n }\n\n if (typeof config.container === 'object' || typeof config.container === 'string') {\n config.container = getElement(config.container)\n }\n\n return config\n }\n\n // Static\n\n static multiSelectInterface(element, config) {\n const data = MultiSelect.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n MultiSelect.multiSelectInterface(this, config)\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON ||\n (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const selects = SelectorEngine.find(SELECTOR_SELECT)\n\n for (let i = 0, len = selects.length; i < len; i++) {\n const context = Data.get(selects[i], DATA_KEY)\n const relatedTarget = {\n relatedTarget: selects[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n if (!context._clone.classList.contains(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (context._clone.contains(event.target)) {\n continue\n }\n\n context.hide()\n\n EventHandler.trigger(context._element, EVENT_HIDDEN)\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const ms of SelectorEngine.find(SELECTOR_SELECT)) {\n if (ms.tabIndex !== -1) {\n MultiSelect.multiSelectInterface(ms)\n }\n }\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, MultiSelect.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, MultiSelect.clearMenus)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(MultiSelect)\n\nexport default MultiSelect\n","/**\n * --------------------------------------------------------------------------\n * CoreUI navigation.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'navigation'\nconst DATA_KEY = 'coreui.navigation'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n activeLinksExact: true,\n groupsAutoCollapse: true\n}\n\nconst DefaultType = {\n activeLinksExact: 'boolean',\n groupsAutoCollapse: '(string|boolean)'\n}\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SHOW = 'show'\n\nconst CLASS_NAME_NAV_GROUP = 'nav-group'\nconst CLASS_NAME_NAV_GROUP_TOGGLE = 'nav-group-toggle'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_NAV_GROUP = '.nav-group'\nconst SELECTOR_NAV_GROUP_ITEMS = '.nav-group-items'\nconst SELECTOR_NAV_GROUP_TOGGLE = '.nav-group-toggle'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_DATA_NAVIGATION = '[data-coreui=\"navigation\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Navigation extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._config = this._getConfig(config)\n this._setActiveLink()\n this._addEventListeners()\n\n Data.set(element, DATA_KEY, this)\n }\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Private\n\n _setActiveLink() {\n for (const element of Array.from(this._element.querySelectorAll(SELECTOR_NAV_LINK))) {\n if (element.classList.contains(CLASS_NAME_NAV_GROUP_TOGGLE)) {\n continue\n }\n\n let currentUrl = String(window.location)\n\n const urlHasParams = /\\?.*=/\n const urlHasQueryString = /\\?./\n const urlHasHash = /#./\n\n if (urlHasParams.test(currentUrl) || urlHasQueryString.test(currentUrl)) {\n currentUrl = currentUrl.split('?')[0]\n }\n\n if (urlHasHash.test(currentUrl)) {\n currentUrl = currentUrl.split('#')[0]\n }\n\n if (this._config.activeLinksExact && element.href === currentUrl) {\n element.classList.add(CLASS_NAME_ACTIVE)\n // eslint-disable-next-line unicorn/no-array-for-each\n Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {\n element.classList.add(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n if (!this._config.activeLinksExact && element.href.startsWith(currentUrl)) {\n element.classList.add(CLASS_NAME_ACTIVE)\n // eslint-disable-next-line unicorn/no-array-for-each\n Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {\n element.classList.add(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', true)\n })\n }\n }\n }\n\n _getParents(element, selector) {\n // Setup parents array\n const parents = []\n\n // Get matching parent elements\n for (; element && element !== document; element = element.parentNode) {\n // Add matching parents to array\n if (selector) {\n if (element.matches(selector)) {\n parents.push(element)\n }\n } else {\n parents.push(element)\n }\n }\n\n return parents\n }\n\n _getAllSiblings(element, filter) {\n const siblings = []\n element = element.parentNode.firstChild\n do {\n if (element.nodeType === 3) {\n continue // text node\n }\n\n if (element.nodeType === 8) {\n continue // comment node\n }\n\n if (!filter || filter(element)) {\n siblings.push(element)\n }\n\n // eslint-disable-next-line no-cond-assign\n } while (element = element.nextSibling)\n\n return siblings\n }\n\n _getChildren(n, skipMe) {\n const children = []\n for (; n; n = n.nextSibling) {\n if (n.nodeType === 1 && n !== skipMe) {\n children.push(n)\n }\n }\n\n return children\n }\n\n _getSiblings(element, filter) {\n const siblings = this._getChildren(element.parentNode.firstChild, element).filter(filter)\n return siblings\n }\n\n _slideDown(element) {\n element.style.height = 'auto'\n const height = element.clientHeight\n element.style.height = '0px'\n setTimeout(() => {\n element.style.height = `${height}px`\n }, 0)\n\n this._queueCallback(() => {\n element.style.height = 'auto'\n }, element, true)\n }\n\n _slideUp(element, callback) {\n const height = element.clientHeight\n element.style.height = `${height}px`\n setTimeout(() => {\n element.style.height = '0px'\n }, 0)\n\n this._queueCallback(() => {\n if (typeof callback === 'function') {\n callback()\n }\n }, element, true)\n }\n\n _toggleGroupItems(event) {\n let toggler = event.target\n if (!toggler.classList.contains(CLASS_NAME_NAV_GROUP_TOGGLE)) {\n toggler = toggler.closest(SELECTOR_NAV_GROUP_TOGGLE)\n }\n\n const filter = element => Boolean(element.classList.contains(CLASS_NAME_NAV_GROUP) && element.classList.contains(CLASS_NAME_SHOW))\n\n // Close other groups\n if (this._config.groupsAutoCollapse === true) {\n for (const element of this._getSiblings(toggler.parentNode, filter)) {\n this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, element), () => {\n element.classList.remove(CLASS_NAME_SHOW)\n element.setAttribute('aria-expanded', false)\n })\n }\n }\n\n if (toggler.parentNode.classList.contains(CLASS_NAME_SHOW)) {\n this._slideUp(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode), () => {\n toggler.parentNode.classList.remove(CLASS_NAME_SHOW)\n toggler.parentNode.setAttribute('aria-expanded', false)\n })\n return\n }\n\n toggler.parentNode.classList.add(CLASS_NAME_SHOW)\n toggler.parentNode.setAttribute('aria-expanded', true)\n this._slideDown(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode))\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK_DATA_API, SELECTOR_NAV_GROUP_TOGGLE, event => {\n event.preventDefault()\n this._toggleGroupItems(event, this)\n })\n }\n\n // Static\n\n static navigationInterface(element, config) {\n const data = Navigation.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Navigation.navigationInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of Array.from(document.querySelectorAll(SELECTOR_DATA_NAVIGATION))) {\n Navigation.navigationInterface(element)\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Navigation to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Navigation)\n\nexport default Navigation\n","/**\n * --------------------------------------------------------------------------\n * CoreUI offcanvas.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'coreui.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * CoreUI util/sanitizer.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This is a modified version of the Bootstrap's util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n dd: [],\n div: [],\n dl: [],\n dt: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * CoreUI util/template-factory.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This is a modified version of the Bootstrap's util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
'\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [undefined, this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * CoreUI tooltip.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.coreui.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
' +\n '
' +\n '
' +\n '
',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n this._newContent = null\n\n // Protected\n this.tip = null\n\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n this._activeTrigger.click = !this._activeTrigger.click\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-coreui-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-coreui-original-title'))\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n this._popper = this._createPopper(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n // TODO: remove this check in v6\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-coreui-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element])\n const attachment = AttachmentMap[placement.toUpperCase()]\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element, this._element])\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n }\n }\n ]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-coreui-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * CoreUI popover.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
' +\n '
' +\n '

' +\n '
' +\n '
',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * CoreUI PRO range-slider.js\n * License (https://coreui.io/pro/license/)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin, isRTL } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'range-slider'\nconst DATA_KEY = 'coreui.range-slider'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_INPUT = 'input'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_MOUSEDOWN = `mousedown${EVENT_KEY}`\nconst EVENT_MOUSEMOVE = `mousemove${EVENT_KEY}`\nconst EVENT_MOUSEUP = `mouseup${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\n\nconst CLASS_NAME_CLICKABLE = 'clickable'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_RANGE_SLIDER = 'range-slider'\nconst CLASS_NAME_RANGE_SLIDER_INPUT = 'range-slider-input'\nconst CLASS_NAME_RANGE_SLIDER_INPUTS_CONTAINER = 'range-slider-inputs-container'\nconst CLASS_NAME_RANGE_SLIDER_LABEL = 'range-slider-label'\nconst CLASS_NAME_RANGE_SLIDER_LABELS_CONTAINER = 'range-slider-labels-container'\nconst CLASS_NAME_RANGE_SLIDER_TOOLTIP = 'range-slider-tooltip'\nconst CLASS_NAME_RANGE_SLIDER_TOOLTIP_ARROW = 'range-slider-tooltip-arrow'\nconst CLASS_NAME_RANGE_SLIDER_TOOLTIP_INNER = 'range-slider-tooltip-inner'\nconst CLASS_NAME_RANGE_SLIDER_TRACK = 'range-slider-track'\nconst CLASS_NAME_RANGE_SLIDER_VERTICAL = 'range-slider-vertical'\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"range-slider\"]'\nconst SELECTOR_RANGE_SLIDER_INPUT = '.range-slider-input'\nconst SELECTOR_RANGE_SLIDER_INPUTS_CONTAINER = '.range-slider-inputs-container'\nconst SELECTOR_RANGE_SLIDER_LABEL = '.range-slider-label'\nconst SELECTOR_RANGE_SLIDER_LABELS_CONTAINER = '.range-slider-labels-container'\n\nconst Default = {\n clickableLabels: true,\n disabled: false,\n distance: 0,\n labels: false,\n max: 100,\n min: 0,\n name: null,\n step: 1,\n tooltips: true,\n tooltipsFormat: null,\n track: 'fill',\n value: 0,\n vertical: false\n}\n\nconst DefaultType = {\n clickableLabels: 'boolean',\n disabled: 'boolean',\n distance: 'number',\n labels: '(array|boolean|string)',\n max: 'number',\n min: 'number',\n name: '(array|string|null)',\n step: '(number|string)',\n tooltips: 'boolean',\n tooltipsFormat: '(function|null)',\n track: '(boolean|string)',\n value: '(array|number)',\n vertical: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass RangeSlider extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n\n this._currentValue = this._config.value\n this._dragIndex = 0\n this._inputs = []\n this._isDragging = false\n this._sliderTrack = null\n this._thumbSize = null\n this._tooltips = []\n\n this._initializeRangeSlider()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n update(config) {\n this._config = this._getConfig(config)\n this._currentValue = this._config.value\n this._element.innerHTML = ''\n this._initializeRangeSlider()\n }\n\n // Private\n _addEventListeners() {\n if (this._config.disabled) {\n return\n }\n\n EventHandler.on(this._element, EVENT_INPUT, SELECTOR_RANGE_SLIDER_INPUT, event => {\n const { target } = event\n this._isDragging = false\n const children = SelectorEngine.children(target.parentElement, SELECTOR_RANGE_SLIDER_INPUT)\n const index = Array.from(children).indexOf(target)\n this._updateValue(target.value, index)\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN, SELECTOR_RANGE_SLIDER_LABEL, event => {\n if (!this._config.clickableLabels || event.button !== 0) {\n return\n }\n\n const value = Manipulator.getDataAttribute(event.target, 'value')\n this._updateNearestValue(value)\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN, SELECTOR_RANGE_SLIDER_INPUTS_CONTAINER, event => {\n if (event.button !== 0) {\n return\n }\n\n if (!(event.target instanceof HTMLInputElement) && !event.target.className.includes(CLASS_NAME_RANGE_SLIDER_TRACK)) {\n return\n }\n\n this._isDragging = true\n const clickValue = this._calculateClickValue(event)\n this._dragIndex = this._getNearestValueIndex(clickValue)\n this._updateNearestValue(clickValue)\n })\n\n EventHandler.on(document.documentElement, EVENT_MOUSEUP, () => {\n this._isDragging = false\n })\n\n EventHandler.on(document.documentElement, EVENT_MOUSEMOVE, event => {\n if (!this._isDragging) {\n return\n }\n\n const moveValue = this._calculateMoveValue(event)\n\n this._updateValue(moveValue, this._dragIndex)\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n this._updateLabelsContainerSize()\n })\n }\n\n _initializeRangeSlider() {\n this._element.classList.add(CLASS_NAME_RANGE_SLIDER)\n\n if (this._config.vertical) {\n this._element.classList.add(CLASS_NAME_RANGE_SLIDER_VERTICAL)\n }\n\n if (this._config.disabled) {\n this._element.classList.add(CLASS_NAME_DISABLED)\n }\n\n this._sliderTrack = this._createSliderTrack()\n this._createInputs()\n this._createLabels()\n this._updateLabelsContainerSize()\n this._createTooltips()\n this._updateGradient()\n this._addEventListeners()\n }\n\n _createSliderTrack() {\n const sliderTrackElement = this._createElement('div', CLASS_NAME_RANGE_SLIDER_TRACK)\n\n return sliderTrackElement\n }\n\n _createInputs() {\n const container = this._createElement('div', CLASS_NAME_RANGE_SLIDER_INPUTS_CONTAINER)\n\n for (const [index, value] of this._currentValue.entries()) {\n const inputElement = this._createInput(index, value)\n container.append(inputElement)\n\n this._inputs[index] = inputElement\n }\n\n container.append(this._sliderTrack)\n this._element.append(container)\n }\n\n _createInput(index, value) {\n const inputElement = this._createElement('input', CLASS_NAME_RANGE_SLIDER_INPUT)\n inputElement.type = 'range'\n inputElement.min = this._config.min\n inputElement.max = this._config.max\n inputElement.step = this._config.step\n inputElement.value = value\n inputElement.name = Array.isArray(this._config.name) ?\n `${this._config.name[index]}` :\n `${this._config.name || ''}-${index}`\n inputElement.disabled = this._config.disabled\n\n // Accessibility attributes\n inputElement.setAttribute('role', 'slider')\n inputElement.setAttribute('aria-valuemin', this._config.min)\n inputElement.setAttribute('aria-valuemax', this._config.max)\n inputElement.setAttribute('aria-valuenow', value)\n inputElement.setAttribute('aria-orientation', this._config.vertical ? 'vertical' : 'horizontal')\n\n return inputElement\n }\n\n _createLabels() {\n const { clickableLabels, disabled, labels, min, max, vertical } = this._config\n\n if (!labels || !Array.isArray(labels) || labels.length === 0) {\n return\n }\n\n const labelsContainer = this._createElement('div', CLASS_NAME_RANGE_SLIDER_LABELS_CONTAINER)\n\n for (const [index, label] of this._config.labels.entries()) {\n const labelElement = this._createElement('div', CLASS_NAME_RANGE_SLIDER_LABEL)\n\n if (clickableLabels && !disabled) {\n labelElement.classList.add(CLASS_NAME_CLICKABLE)\n }\n\n if (label.class) {\n const classNames = Array.isArray(label.class) ? label.class : [label.class]\n labelElement.classList.add(...classNames)\n }\n\n if (label.style && typeof label.style === 'object') {\n Object.assign(labelElement.style, label.style)\n }\n\n // Calculate percentage based on index\n const percentage = labels.length === 1 ? 0 : (index / (labels.length - 1)) * 100\n\n // Determine label value\n const labelValue = typeof label === 'object' ? label.value : min + ((percentage / 100) * (max - min))\n\n // Set data-coreui-value attribute\n Manipulator.setDataAttribute(labelElement, 'value', labelValue)\n\n // Set label content\n labelElement.textContent = typeof label === 'object' ? label.label : label\n\n // Calculate and set position\n const position = this._calculateLabelPosition(label, index, percentage)\n if (vertical) {\n labelElement.style.bottom = position\n } else {\n labelElement.style[isRTL() ? 'right' : 'left'] = position\n }\n\n labelsContainer.append(labelElement)\n }\n\n this._element.append(labelsContainer)\n }\n\n _calculateLabelPosition(label, index) {\n // Check if label is an object with a specific value\n if (typeof label === 'object' && label.value !== undefined) {\n return `${((label.value - this._config.min) / (this._config.max - this._config.min)) * 100}%`\n }\n\n // Calculate position based on index when label is not an object\n return `${(index / (this._config.labels.length - 1)) * 100}%`\n }\n\n _updateLabelsContainerSize() {\n const labelsContainer = SelectorEngine.findOne(SELECTOR_RANGE_SLIDER_LABELS_CONTAINER, this._element)\n\n if (!this._config.labels || !labelsContainer) {\n return\n }\n\n const labels = SelectorEngine.find(SELECTOR_RANGE_SLIDER_LABEL, this._element)\n if (labels.length === 0) {\n return\n }\n\n const maxSize = Math.max(...labels.map(label => (this._config.vertical ? label.offsetWidth : label.offsetHeight)))\n\n labelsContainer.style[this._config.vertical ? 'width' : 'height'] = `${maxSize}px`\n }\n\n _createTooltips() {\n if (!this._config.tooltips) {\n return\n }\n\n const inputs = SelectorEngine.find(SELECTOR_RANGE_SLIDER_INPUT, this._element)\n this._thumbSize = this._getThumbSize()\n\n for (const input of inputs) {\n const tooltipElement = this._createElement('div', CLASS_NAME_RANGE_SLIDER_TOOLTIP)\n const tooltipInnerElement = this._createElement('div', CLASS_NAME_RANGE_SLIDER_TOOLTIP_INNER)\n const tooltipArrowElement = this._createElement('div', CLASS_NAME_RANGE_SLIDER_TOOLTIP_ARROW)\n\n tooltipInnerElement.innerHTML = this._config.tooltipsFormat ? this._config.tooltipsFormat(input.value) : input.value\n tooltipElement.append(tooltipInnerElement, tooltipArrowElement)\n\n input.parentNode.insertBefore(tooltipElement, input.nextSibling)\n this._positionTooltip(tooltipElement, input)\n this._tooltips.push(tooltipElement)\n }\n }\n\n _getThumbSize() {\n const value = window\n .getComputedStyle(this._element, null)\n .getPropertyValue(\n this._config.vertical ? '--cui-range-slider-thumb-height' : '--cui-range-slider-thumb-width'\n )\n\n const regex = /^(\\d+\\.?\\d*)([%a-z]*)$/i\n const match = value.match(regex)\n\n if (match) {\n return {\n value: Number.parseFloat(match[1]),\n unit: match[2] || null\n }\n }\n\n return null\n }\n\n _positionTooltip(tooltip, input) {\n const thumbSize = this._thumbSize\n const percent = (input.value - this._config.min) / (this._config.max - this._config.min)\n const margin = percent > 0.5 ?\n `-${(percent - 0.5) * thumbSize.value}${thumbSize.unit}` :\n `${(0.5 - percent) * thumbSize.value}${thumbSize.unit}`\n\n if (this._config.vertical) {\n Object.assign(tooltip.style, {\n bottom: `${percent * 100}%`,\n marginBottom: margin\n })\n\n return\n }\n\n Object.assign(tooltip.style,\n isRTL() ?\n { right: `${percent * 100}%`, marginRight: margin } :\n { left: `${percent * 100}%`, marginLeft: margin }\n )\n }\n\n _updateTooltip(index, value) {\n if (!this._config.tooltips) {\n return\n }\n\n if (this._tooltips[index]) {\n this._tooltips[index].children[0].innerHTML = this._config.tooltipsFormat ? this._config.tooltipsFormat(value) : value\n const input = SelectorEngine.find(SELECTOR_RANGE_SLIDER_INPUT, this._element)[index]\n this._positionTooltip(this._tooltips[index], input)\n }\n }\n\n _calculateClickValue(event) {\n const clickPosition = this._getClickPosition(event)\n const value = this._config.min + (clickPosition * (this._config.max - this._config.min))\n return this._roundToStep(value, this._config.step)\n }\n\n _calculateMoveValue(event) {\n const trackRect = this._sliderTrack.getBoundingClientRect()\n const position = this._config.vertical ?\n this._calculateVerticalPosition(event.clientY, trackRect) :\n this._calculateHorizontalPosition(event.clientX, trackRect)\n\n if (typeof position === 'string') {\n return position === 'max' ? this._config.max : this._config.min\n }\n\n const value = this._config.min + (position * (this._config.max - this._config.min))\n\n return this._roundToStep(value, this._config.step)\n }\n\n _calculateVerticalPosition(mouseY, rect) {\n if (mouseY < rect.top) {\n return 'max'\n }\n\n if (mouseY > rect.bottom) {\n return 'min'\n }\n\n return Math.min(Math.max((rect.bottom - mouseY) / rect.height, 0), 1)\n }\n\n _calculateHorizontalPosition(mouseX, rect) {\n if (mouseX < rect.left) {\n return isRTL() ? 'max' : 'min'\n }\n\n if (mouseX > rect.right) {\n return isRTL() ? 'min' : 'max'\n }\n\n const relativeX = isRTL() ? rect.right - mouseX : mouseX - rect.left\n return Math.min(Math.max(relativeX / rect.width, 0), 1)\n }\n\n _createElement(tag, className) {\n const element = document.createElement(tag)\n element.classList.add(className)\n return element\n }\n\n _getClickPosition(event) {\n const { offsetX, offsetY } = event\n const { offsetWidth, offsetHeight } = this._sliderTrack\n\n if (this._config.vertical) {\n return 1 - (offsetY / offsetHeight)\n }\n\n return isRTL() ? 1 - (offsetX / offsetWidth) : offsetX / offsetWidth\n }\n\n _getNearestValueIndex(value) {\n const values = this._currentValue\n const valuesLength = values.length\n\n if (value < values[0]) {\n return 0\n }\n\n if (value > values[valuesLength - 1]) {\n return valuesLength - 1\n }\n\n const distances = values.map(v => Math.abs(v - value))\n const min = Math.min(...distances)\n const firstIndex = distances.indexOf(min)\n\n return value < values[firstIndex] ? firstIndex : distances.lastIndexOf(min)\n }\n\n _updateGradient() {\n if (!this._config.track) {\n return\n }\n\n const [min, max] = [Math.min(...this._currentValue), Math.max(...this._currentValue)]\n const from = ((min - this._config.min) / (this._config.max - this._config.min)) * 100\n const to = ((max - this._config.min) / (this._config.max - this._config.min)) * 100\n const direction = this._config.vertical ? 'to top' : (isRTL() ? 'to left' : 'to right')\n\n if (this._currentValue.length === 1) {\n this._sliderTrack.style.backgroundImage = `linear-gradient(\n ${direction},\n var(--cui-range-slider-track-in-range-bg) 0%,\n var(--cui-range-slider-track-in-range-bg) ${to}%,\n transparent ${to}%,\n transparent 100%\n )`\n return\n }\n\n this._sliderTrack.style.backgroundImage = `linear-gradient(\n ${direction},\n transparent 0%,\n transparent ${from}%,\n var(--cui-range-slider-track-in-range-bg) ${from}%,\n var(--cui-range-slider-track-in-range-bg) ${to}%,\n transparent ${to}%,\n transparent 100%\n )`\n }\n\n _updateNearestValue(value) {\n const nearestIndex = this._getNearestValueIndex(value)\n this._updateValue(value, nearestIndex)\n }\n\n _updateValue(value, index) {\n const _value = this._validateValue(value, index)\n this._currentValue[index] = _value\n this._updateInput(index, _value)\n this._updateGradient()\n this._updateTooltip(index, _value)\n EventHandler.trigger(this._element, EVENT_CHANGE, { value: this._currentValue })\n }\n\n _updateInput(index, value) {\n const input = this._inputs[index]\n\n input.value = value\n input.setAttribute('aria-valuenow', value)\n setTimeout(() => {\n input.focus()\n })\n }\n\n _validateValue(value, index) {\n const { distance } = this._config\n const { length } = this._currentValue\n\n if (length === 1) {\n return value\n }\n\n const prevValue = index > 0 ? this._currentValue[index - 1] : undefined\n const nextValue = index < length - 1 ? this._currentValue[index + 1] : undefined\n\n if (index === 0 && nextValue !== undefined) {\n return Math.min(value, nextValue - distance)\n }\n\n if (index === length - 1 && prevValue !== undefined) {\n return Math.max(value, prevValue + distance)\n }\n\n if (prevValue !== undefined && nextValue !== undefined) {\n const minVal = prevValue + distance\n const maxVal = nextValue - distance\n return Math.min(Math.max(value, minVal), maxVal)\n }\n\n return value\n }\n\n _roundToStep(number, step) {\n const _step = step === 0 ? 1 : step\n return Math.round(number / _step) * _step\n }\n\n _configAfterMerge(config) {\n if (typeof config.labels === 'string') {\n config.labels = config.labels.split(/,\\s*/)\n }\n\n if (typeof config.name === 'string') {\n config.name = config.name.split(/,\\s*/)\n }\n\n if (typeof config.value === 'number') {\n config.value = [config.value]\n }\n\n if (typeof config.value === 'string') {\n config.value = config.value.split(/,\\s*/).map(Number)\n }\n\n return config\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static rangeSliderInterface(element, config) {\n const data = RangeSlider.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = RangeSlider.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const ratings = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n for (let i = 0, len = ratings.length; i < len; i++) {\n RangeSlider.rangeSliderInterface(ratings[i])\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(RangeSlider)\n\nexport default RangeSlider\n","/**\n * --------------------------------------------------------------------------\n * CoreUI PRO rating.js\n * License (https://coreui.io/pro/license/)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { DefaultAllowlist, sanitizeHtml } from './util/sanitizer.js'\nimport { defineJQueryPlugin, getUID } from './util/index.js'\nimport Tooltip from './tooltip.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'rating'\nconst DATA_KEY = 'coreui.rating'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HOVER = `hover${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_RATING = 'rating'\nconst CLASS_NAME_RATING_ITEM = 'rating-item'\nconst CLASS_NAME_RATING_ITEM_ICON = 'rating-item-icon'\nconst CLASS_NAME_RATING_ITEM_CUSTOM_ICON = 'rating-item-custom-icon'\nconst CLASS_NAME_RATING_ITEM_CUSTOM_ICON_ACTIVE = 'rating-item-custom-icon-active'\nconst CLASS_NAME_RATING_ITEM_INPUT = 'rating-item-input'\nconst CLASS_NAME_RATING_ITEM_LABEL = 'rating-item-label'\nconst CLASS_NAME_READONLY = 'readonly'\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle=\"rating\"]'\nconst SELECTOR_RATING_ITEM_INPUT = '.rating-item-input'\nconst SELECTOR_RATING_ITEM_LABEL = '.rating-item-label'\n\n// js-docs-start svg-allow-list\nexport const svgAllowList = {\n ...DefaultAllowlist,\n svg: ['xmlns', 'version', 'baseprofile', 'width', 'height', 'viewbox', 'preserveaspectratio', 'aria-hidden', 'role', 'focusable'],\n g: ['id', 'class', 'transform', 'style'],\n path: ['id', 'class', 'd', 'fill', 'fill-opacity', 'fill-rule', 'stroke', 'stroke-width', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-opacity'],\n circle: ['id', 'class', 'cx', 'cy', 'r', 'fill', 'fill-opacity', 'stroke', 'stroke-width', 'stroke-opacity'],\n rect: ['id', 'class', 'x', 'y', 'width', 'height', 'rx', 'ry', 'fill', 'fill-opacity', 'stroke', 'stroke-width', 'stroke-opacity'],\n ellipse: ['id', 'class', 'cx', 'cy', 'rx', 'ry', 'fill', 'fill-opacity', 'stroke', 'stroke-width', 'stroke-opacity'],\n line: ['id', 'class', 'x1', 'y1', 'x2', 'y2', 'stroke', 'stroke-width', 'stroke-opacity'],\n polygon: ['id', 'class', 'points', 'fill', 'fill-opacity', 'stroke', 'stroke-width', 'stroke-opacity'],\n polyline: ['id', 'class', 'points', 'fill', 'fill-opacity', 'stroke', 'stroke-width', 'stroke-opacity'],\n text: ['id', 'class', 'x', 'y', 'dx', 'dy', 'text-anchor', 'font-family', 'font-size', 'font-weight', 'fill', 'fill-opacity', 'stroke', 'stroke-width', 'stroke-opacity'],\n tspan: ['id', 'class', 'x', 'y', 'dx', 'dy', 'text-anchor', 'font-family', 'font-size', 'font-weight', 'fill', 'fill-opacity', 'stroke', 'stroke-width', 'stroke-opacity'],\n defs: [],\n symbol: ['id', 'class', 'viewbox', 'preserveaspectratio'],\n use: ['id', 'class', 'x', 'y', 'width', 'height', 'href'],\n image: ['id', 'class', 'x', 'y', 'width', 'height', 'href', 'preserveaspectratio', 'xlink:href'],\n pattern: ['id', 'class', 'x', 'y', 'width', 'height', 'patternunits', 'patterncontentunits', 'patterntransform', 'preserveaspectratio'],\n lineargradient: ['id', 'class', 'gradientunits', 'x1', 'y1', 'x2', 'y2', 'spreadmethod', 'gradienttransform'],\n radialgradient: ['id', 'class', 'gradientunits', 'cx', 'cy', 'r', 'fx', 'fy', 'spreadmethod', 'gradienttransform'],\n mask: ['id', 'class', 'x', 'y', 'width', 'height', 'maskunits', 'maskcontentunits', 'masktransform'],\n clippath: ['id', 'class', 'clippathunits'],\n marker: ['id', 'class', 'markerunits', 'markerwidth', 'markerheight', 'orient', 'preserveaspectratio', 'viewbox', 'refx', 'refy'],\n title: [],\n desc: []\n}\n// js-docs-end svg-allow-list\n\nconst Default = {\n activeIcon: null,\n allowClear: false,\n allowList: svgAllowList,\n disabled: false,\n highlightOnlySelected: false,\n icon: null,\n itemCount: 5,\n name: null,\n precision: 1,\n readOnly: false,\n sanitizeFn: null,\n size: null,\n tooltips: false,\n value: null\n}\n\nconst DefaultType = {\n activeIcon: '(object|string|null)',\n allowClear: 'boolean',\n allowList: 'object',\n disabled: 'boolean',\n highlightOnlySelected: 'boolean',\n icon: '(object|string|null)',\n itemCount: 'number',\n name: '(string|null)',\n precision: 'number',\n readOnly: 'boolean',\n sanitizeFn: '(null|function)',\n size: '(string|null)',\n tooltips: '(array|boolean|object)',\n value: '(number|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Rating extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._currentValue = this._config.value\n this._name = this._config.name || getUID(`${this.constructor.NAME}-name-`).toString()\n this._tooltip = null\n\n this._createRating()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n update(config) {\n this._config = this._getConfig(config)\n this._currentValue = this._config.value\n\n this._element.innerHTML = ''\n this._createRating()\n this._addEventListeners()\n }\n\n reset(value = null) {\n this._currentValue = value\n\n this._element.innerHTML = ''\n this._createRating()\n this._addEventListeners()\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n value\n })\n }\n\n // Private\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_CLICK, SELECTOR_RATING_ITEM_INPUT, ({ target }) => {\n if (this._config.disabled || this._config.readOnly) {\n return\n }\n\n // eslint-disable-next-line eqeqeq\n if (this._config.allowClear && this._currentValue == target.value) {\n this._currentValue = null\n target.checked = false\n this._resetLabels()\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n value: null\n })\n }\n })\n\n EventHandler.on(this._element, EVENT_CHANGE, SELECTOR_RATING_ITEM_INPUT, ({ target }) => {\n if (this._config.disabled || this._config.readOnly) {\n return\n }\n\n this._currentValue = target.value\n\n EventHandler.trigger(this._element, EVENT_CHANGE, {\n value: target.value\n })\n\n const inputs = SelectorEngine.find(SELECTOR_RATING_ITEM_INPUT, this._element)\n this._resetLabels()\n\n if (this._config.highlightOnlySelected) {\n const label = SelectorEngine.findOne(SELECTOR_RATING_ITEM_LABEL, target.parentElement)\n label.classList.add(CLASS_NAME_ACTIVE)\n\n return\n }\n\n for (const input of inputs) {\n const label = SelectorEngine.findOne(SELECTOR_RATING_ITEM_LABEL, input.parentElement)\n\n label.classList.add(CLASS_NAME_ACTIVE)\n\n if (input === target) {\n break\n }\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEENTER, SELECTOR_RATING_ITEM_LABEL, ({ target }) => {\n if (this._config.disabled || this._config.readOnly) {\n return\n }\n\n const label = target.closest(SELECTOR_RATING_ITEM_LABEL)\n const labels = SelectorEngine.find(SELECTOR_RATING_ITEM_LABEL, this._element)\n this._resetLabels()\n\n const input = SelectorEngine.findOne(SELECTOR_RATING_ITEM_INPUT, label.parentElement)\n\n EventHandler.trigger(this._element, EVENT_HOVER, {\n value: input.value\n })\n\n this._createTooltip(label.parentElement, input.value)\n\n if (this._config.highlightOnlySelected) {\n label.classList.add(CLASS_NAME_ACTIVE)\n\n return\n }\n\n for (const _label of labels) {\n _label.classList.add(CLASS_NAME_ACTIVE)\n if (_label === label) {\n break\n }\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSELEAVE, SELECTOR_RATING_ITEM_LABEL, () => {\n if (this._config.disabled || this._config.readOnly) {\n return\n }\n\n if (this._tooltip) {\n this._tooltip.hide()\n }\n\n const checkedInput = SelectorEngine.findOne(`${SELECTOR_RATING_ITEM_INPUT}[value=\"${this._currentValue}\"]`, this._element)\n this._resetLabels()\n\n EventHandler.trigger(this._element, EVENT_HOVER, {\n value: null\n })\n\n if (checkedInput && this._config.highlightOnlySelected) {\n const label = SelectorEngine.findOne(SELECTOR_RATING_ITEM_LABEL, checkedInput.parentElement)\n label.classList.add(CLASS_NAME_ACTIVE)\n\n return\n }\n\n if (checkedInput) {\n const inputs = SelectorEngine.find(SELECTOR_RATING_ITEM_INPUT, this._element)\n this._resetLabels()\n\n for (const input of inputs) {\n const label = SelectorEngine.findOne(SELECTOR_RATING_ITEM_LABEL, input.parentElement)\n label.classList.add(CLASS_NAME_ACTIVE)\n\n if (input === checkedInput) {\n break\n }\n }\n }\n })\n\n EventHandler.on(this._element, EVENT_FOCUSIN, SELECTOR_RATING_ITEM_INPUT, ({ target }) => {\n EventHandler.trigger(this._element, EVENT_HOVER, {\n value: target.value\n })\n\n this._createTooltip(target.parentElement, target.value)\n })\n\n EventHandler.on(this._element, EVENT_FOCUSOUT, SELECTOR_RATING_ITEM_INPUT, () => {\n EventHandler.trigger(this._element, EVENT_HOVER, {\n value: null\n })\n\n if (this._tooltip) {\n this._tooltip.hide()\n }\n })\n }\n\n _createTooltip(selector, value) {\n if (this._config.tooltips === false) {\n return\n }\n\n if (this._tooltip) {\n this._tooltip.hide()\n }\n\n let tooltipTitle\n\n if (typeof this._config.tooltips === 'boolean') {\n tooltipTitle = value\n }\n\n if (typeof this._config.tooltips === 'object') {\n tooltipTitle = this._config.tooltips[value]\n }\n\n if (Array.isArray(this._config.tooltips)) {\n tooltipTitle = this._config.tooltips[value - 1]\n }\n\n this._tooltip = new Tooltip(selector, {\n title: tooltipTitle\n })\n }\n\n _configAfterMerge(config) {\n if (typeof config.tooltips === 'string') {\n config.tooltips = config.tooltips.split(',')\n }\n\n return config\n }\n\n _resetLabels() {\n const labels = SelectorEngine.find(SELECTOR_RATING_ITEM_LABEL, this._element)\n\n for (const label of labels) {\n label.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n _createRating() {\n this._element.classList.add(CLASS_NAME_RATING)\n\n if (this._config.size) {\n this._element.classList.add(`rating-${this._config.size}`)\n }\n\n if (this._config.disabled) {\n this._element.classList.add(CLASS_NAME_DISABLED)\n }\n\n if (this._config.readOnly) {\n this._element.classList.add(CLASS_NAME_READONLY)\n }\n\n this._element.setAttribute('role', 'radiogroup')\n Array.from({ length: this._config.itemCount }, (_, index) => this._createRatingItem(index))\n }\n\n _createRatingItem(index) {\n const ratingItemElement = document.createElement('div')\n ratingItemElement.classList.add(CLASS_NAME_RATING_ITEM)\n\n const numberOfRadios = 1 / this._config.precision\n\n // eslint-disable-next-line array-callback-return\n Array.from({ length: numberOfRadios }, (_, _index) => {\n const ratingItemId = getUID(`${this.constructor.NAME}${index}`).toString()\n const isNotLastItem = _index + 1 < numberOfRadios\n const value = numberOfRadios === 1 ? index + 1 : ((_index + 1) * (Number(this._config.precision))) + index\n\n // Create label\n const ratingItemLabelElement = document.createElement('label')\n ratingItemLabelElement.classList.add(CLASS_NAME_RATING_ITEM_LABEL)\n ratingItemLabelElement.setAttribute('for', ratingItemId)\n\n // eslint-disable-next-line eqeqeq\n if (this._config.highlightOnlySelected && this._currentValue == value) {\n ratingItemLabelElement.classList.add(CLASS_NAME_ACTIVE)\n }\n\n if (!this._config.highlightOnlySelected && this._currentValue >= value) {\n ratingItemLabelElement.classList.add(CLASS_NAME_ACTIVE)\n }\n\n if (isNotLastItem) {\n ratingItemLabelElement.style.zIndex = (1 / this._config.precision) - _index\n ratingItemLabelElement.style.position = 'absolute'\n ratingItemLabelElement.style.width = `${this._config.precision * (_index + 1) * 100}%`\n ratingItemLabelElement.style.overflow = 'hidden'\n ratingItemLabelElement.style.opacity = 0\n }\n\n if (this._config.icon) {\n const ratingItemIconElement = document.createElement('div')\n ratingItemIconElement.classList.add(CLASS_NAME_RATING_ITEM_CUSTOM_ICON)\n ratingItemIconElement.innerHTML = this._sanitizeIcon(typeof this._config.icon === 'object' ? this._config.icon[index + 1] : this._config.icon)\n\n ratingItemLabelElement.append(ratingItemIconElement)\n } else {\n const ratingItemIconElement = document.createElement('div')\n ratingItemIconElement.classList.add(CLASS_NAME_RATING_ITEM_ICON)\n\n ratingItemLabelElement.append(ratingItemIconElement)\n }\n\n if (this._config.icon && this._config.activeIcon) {\n const ratingItemIconActiveElement = document.createElement('div')\n ratingItemIconActiveElement.classList.add(CLASS_NAME_RATING_ITEM_CUSTOM_ICON_ACTIVE)\n ratingItemIconActiveElement.innerHTML = this._sanitizeIcon(typeof this._config.activeIcon === 'object' ? this._config.activeIcon[index + 1] : this._config.activeIcon)\n\n ratingItemLabelElement.append(ratingItemIconActiveElement)\n }\n\n // Create input\n const ratingItemInputElement = document.createElement('input')\n ratingItemInputElement.classList.add(CLASS_NAME_RATING_ITEM_INPUT)\n ratingItemInputElement.id = ratingItemId\n ratingItemInputElement.type = 'radio'\n ratingItemInputElement.value = value\n ratingItemInputElement.name = this._name\n\n if (this._config.disabled || this._config.readOnly) {\n ratingItemInputElement.setAttribute('disabled', true)\n }\n\n if (this._currentValue === value) {\n ratingItemInputElement.checked = true\n }\n\n // Append elements\n\n if (this._config.precision === 1) {\n ratingItemElement.append(ratingItemLabelElement)\n ratingItemElement.append(ratingItemInputElement)\n } else {\n const wrapper = document.createElement('div')\n wrapper.append(ratingItemLabelElement)\n wrapper.append(ratingItemInputElement)\n ratingItemElement.append(wrapper)\n }\n })\n\n this._element.append(ratingItemElement)\n }\n\n _sanitizeIcon(icon) {\n return this._config.sanitize ? sanitizeHtml(icon, this._config.allowList, this._config.sanitizeFn) : icon\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static ratingInterface(element, config) {\n const data = Rating.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Rating.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const ratings = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n for (let i = 0, len = ratings.length; i < len; i++) {\n Rating.ratingInterface(ratings[i])\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Rating)\n\nexport default Rating\n","/**\n * --------------------------------------------------------------------------\n * CoreUI scrollspy.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n *\n * This component is a modified version of the Bootstrap's scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin, getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'coreui.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-coreui-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both