@agilant/toga-blox 1.0.314 → 1.0.316

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/assets/Logo.png +0 -0
  2. package/assets/cable.jpg +0 -0
  3. package/assets/card-1.jpg +0 -0
  4. package/assets/cat-logo.png +0 -0
  5. package/assets/compass-card-image-2.png +0 -0
  6. package/assets/compass-card-image-3.png +0 -0
  7. package/assets/compass-card-image-4.png +0 -0
  8. package/assets/compass-card-image.png +0 -0
  9. package/assets/compass-logo.png +0 -0
  10. package/assets/compass-tech-hero-bg.png +0 -0
  11. package/assets/contact-image.png +0 -0
  12. package/assets/green-laptop.png +0 -0
  13. package/assets/heroImage.png +0 -0
  14. package/assets/item.jpg +0 -0
  15. package/assets/map.png +0 -0
  16. package/assets/placeholder-no-image-available.png +0 -0
  17. package/assets/team.png +0 -0
  18. package/dist/components/BaseButton/BaseButton.d.ts +1 -1
  19. package/dist/components/EnvironmentBadge/EnvironmentBadge.d.ts +3 -0
  20. package/dist/components/EnvironmentBadge/EnvironmentBadge.js +28 -0
  21. package/dist/components/EnvironmentBadge/index.d.ts +1 -0
  22. package/dist/components/EnvironmentBadge/index.js +1 -0
  23. package/dist/components/EnvironmentBadge/types.d.ts +0 -0
  24. package/dist/components/EnvironmentBadge/types.js +0 -0
  25. package/dist/components/SearchInput/SearchInputDatePicker.js +1 -1
  26. package/dist/components/Table/Table.d.ts +5 -0
  27. package/dist/components/Table/Table.js +10 -0
  28. package/dist/components/Table/Table.stories.d.ts +24 -0
  29. package/dist/components/Table/Table.stories.js +40 -0
  30. package/dist/components/Table/Table.tanstack.stories.d.ts +21 -0
  31. package/dist/components/Table/Table.tanstack.stories.js +124 -0
  32. package/dist/components/Table/TableBody.d.ts +5 -0
  33. package/dist/components/Table/TableBody.js +5 -0
  34. package/dist/components/Table/TableCell.d.ts +5 -0
  35. package/dist/components/Table/TableCell.js +5 -0
  36. package/dist/components/Table/TableHead.d.ts +6 -0
  37. package/dist/components/Table/TableHead.js +5 -0
  38. package/dist/components/Table/TableHeaderCell.d.ts +5 -0
  39. package/dist/components/Table/TableHeaderCell.js +5 -0
  40. package/dist/components/Table/TableRow.d.ts +5 -0
  41. package/dist/components/Table/TableRow.js +5 -0
  42. package/dist/components/Table/index.d.ts +6 -0
  43. package/dist/components/Table/index.js +6 -0
  44. package/dist/index.d.ts +50 -0
  45. package/dist/index.js +52 -0
  46. package/dist/main.css +1 -1
  47. package/dist/reactQuery/queryHelpers.js +11 -4
  48. package/dist/reactQuery/useApiQuery.d.ts +1 -1
  49. package/dist/utils/getEndpointFromEnvironment.d.ts +1 -0
  50. package/dist/utils/getEndpointFromEnvironment.js +20 -0
  51. package/dist/utils/index.d.ts +2 -0
  52. package/dist/utils/index.js +2 -0
  53. package/package.json +5 -3
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/assets/map.png ADDED
Binary file
Binary file
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import type { BaseButtonProps } from "./BaseButton.types";
3
- declare const BaseButton: React.ForwardRefExoticComponent<BaseButtonProps & React.RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
3
+ declare const BaseButton: React.ForwardRefExoticComponent<BaseButtonProps & React.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
4
4
  export default BaseButton;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const EnvironmentBadge: React.FC;
3
+ export default EnvironmentBadge;
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getEndPointFromEnvironment } from "../../utils/getEndpointFromEnvironment";
3
+ import Badge from "../Badge/Badge";
4
+ const envColor = {
5
+ development: "bg-mint-200",
6
+ alpha: "bg-mauve-100",
7
+ beta: "bg-pumpkin-100",
8
+ gamma: "bg-indigo-100",
9
+ sprint: "bg-honey-100",
10
+ stage: "bg-violet-100",
11
+ test: "bg-pink-100",
12
+ production: "bg-crimson-700 text-white",
13
+ };
14
+ const EnvironmentBadge = () => {
15
+ const env = getEndPointFromEnvironment();
16
+ // Only hide on actual production deployment, not when dev targets prod
17
+ if (import.meta.env.MODE === "production")
18
+ return null;
19
+ const mode = import.meta.env.MODE;
20
+ const color = envColor[env] || undefined;
21
+ const capitalize = (s) => s.charAt(0).toUpperCase() + s.slice(1);
22
+ const envLabel = `Environment: ${capitalize(mode)}`;
23
+ const endpointLabel = `Endpoint: ${capitalize(env)}`;
24
+ // Shows deployed environments
25
+ // Development shows env + endpoint
26
+ return (_jsxs("div", { className: "flex absolute gap-2", children: [_jsx(Badge, { type: "span", text: envLabel, backgroundColor: envColor[mode] || undefined, badgeContainerClasses: "flex justify-center items-center py-1 px-2 font-omnes-medium text-base" }), mode === "development" && (_jsx(Badge, { type: "span", text: endpointLabel, backgroundColor: color, badgeContainerClasses: "flex justify-center items-center py-1 px-2 font-omnes-medium text-base" }))] }));
27
+ };
28
+ export default EnvironmentBadge;
@@ -0,0 +1 @@
1
+ export { default } from "./EnvironmentBadge";
@@ -0,0 +1 @@
1
+ export { default } from "./EnvironmentBadge";
File without changes
File without changes
@@ -372,7 +372,7 @@ function SearchDatePickerInput({ themeBgColor = "bg-sky-500", lightThemeBg = "bg
372
372
  }
373
373
  }, firstIcon: _jsx("span", { className: `${buttonPlaceHolderTextColor}`, children: getFontAwesomeIcon("calendar", "regular") }), required: false, additionalClasses: "border-2 px-3 py-2 flex-auto h-10 text-left rounded-r min-w-52 max-w-52", hasAutoFocus: true, firstIconTop: firstIconTop, placeHolderColor: placeHolderColor }) })) : (_jsx(_Fragment, { children: _jsxs("button", { onClick: openSinglePicker, className: `${selectedDate
374
374
  ? ""
375
- : buttonPlaceHolderTextColor} border-2 px-3 py-2 flex-auto h-10 text-left rounded-r min-w-52 max-w-52 rounded-r`, children: [_jsx("span", { className: `pr-2 ${buttonPlaceHolderTextColor}`, children: getFontAwesomeIcon("calendar", "regular") }), localDate
375
+ : buttonPlaceHolderTextColor} border-2 px-3 py-2 flex-auto h-10 text-left rounded-r min-w-52 max-w-52`, children: [_jsx("span", { className: `pr-2 ${buttonPlaceHolderTextColor}`, children: getFontAwesomeIcon("calendar", "regular") }), localDate
376
376
  ? formatDateAsMonthDayYear(localDate)
377
377
  : "mm/dd/yyyy"] }) }))] })) }), dayPicker, _jsxs("div", { className: "flex justify-between items-end bg-white px-5 pb-2 rounded-md mt-4", children: [_jsx(ToggleButton, { initialStatus: toggleStatus, onClick: () => setToggleStatus?.(!toggleStatus), activeColorBackground: toggleColor, activeColorBorder: activeColorBorder, activeLabel: "Range", activeTextColor: toggleTextColor, additionalClasses: "flex items-center", inactiveColorBackground: inactiveColorBackground, inactiveColorBorder: inactiveColorBorder, inactiveLabel: "Range", inactiveTextColor: "text-gray-500", pillHeight: "h-8", textPosition: "right", textSize: "text-sm", smallToggle: true, borderStyle: true, inactiveCircleColor: inactiveCircleColor, activeCircleColor: activeCircleColor }), _jsx(BaseButton, { text: buttonText, backgroundColor: themeBgColor, additionalClasses: "py-0.5 px-6 text-white", borderColor: "border-none", onClick: handleFilterClick, shape: "rounded-full" })] }), searchItems?.length ? (_jsx("div", { className: "py-1 border-t", children: _jsx("div", { className: "flex flex-wrap bg-white py-2 px-2 mt-2 rounded-md", children: searchItems.map((item, index) => {
378
378
  const cleanedText = getCleanedText(item, removePattern);
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {
3
+ fullWidth?: boolean;
4
+ }
5
+ export declare const Table: React.ForwardRefExoticComponent<TableProps & React.RefAttributes<HTMLTableElement>>;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { cn } from "../../utils/cn";
4
+ // forwardRef lets a parent component get a direct reference to the underlying <table> DOM element.
5
+ // This enables the parent to imperatively scroll, measure, focus, or animate the table.
6
+ export const Table = React.forwardRef(({ children, className, fullWidth, style, ...props }, ref) => (_jsx("table", { ref: ref, className: cn(fullWidth && "w-full", className), style: {
7
+ borderCollapse: "collapse",
8
+ ...style,
9
+ }, ...props, children: children })));
10
+ Table.displayName = "Table";
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ import type { StoryFn } from "@storybook/react";
3
+ import { Table } from "./index";
4
+ declare const _default: {
5
+ title: string;
6
+ component: React.ForwardRefExoticComponent<import("./Table").TableProps & React.RefAttributes<HTMLTableElement>>;
7
+ tags: string[];
8
+ parameters: {
9
+ layout: string;
10
+ };
11
+ argTypes: {
12
+ fullWidth: {
13
+ control: string;
14
+ description: string;
15
+ };
16
+ };
17
+ };
18
+ export default _default;
19
+ /** Default table */
20
+ export declare const Default: StoryFn<typeof Table>;
21
+ /** Default table with basic styles */
22
+ export declare const DefaultWithStyles: StoryFn<typeof Table>;
23
+ /** Sticky header — scroll to see the header stay pinned */
24
+ export declare const StickyHeader: StoryFn<typeof Table>;
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Table, TableHead, TableBody, TableRow, TableHeaderCell, TableCell, } from "./index";
3
+ export default {
4
+ title: "Components/Table",
5
+ component: Table,
6
+ tags: ["autodocs"],
7
+ parameters: {
8
+ layout: "centered",
9
+ },
10
+ argTypes: {
11
+ fullWidth: {
12
+ control: "boolean",
13
+ description: "Whether the table takes the full width of its container.",
14
+ },
15
+ },
16
+ };
17
+ const columns = [
18
+ { key: "name", header: "Name" },
19
+ { key: "email", header: "Email" },
20
+ { key: "role", header: "Role" },
21
+ ];
22
+ const rows = [
23
+ { name: "Alice", email: "alice@example.com", role: "Admin" },
24
+ { name: "Bob", email: "bob@example.com", role: "Editor" },
25
+ { name: "Carol", email: "carol@example.com", role: "Viewer" },
26
+ ];
27
+ /** Default table */
28
+ export const Default = (args) => (_jsxs(Table, { ...args, children: [_jsx(TableHead, { children: _jsx(TableRow, { children: columns.map((col) => (_jsx(TableHeaderCell, { children: col.header }, col.key))) }) }), _jsx(TableBody, { children: rows.map((row) => (_jsx(TableRow, { children: columns.map((col) => (_jsx(TableCell, { children: row[col.key] }, col.key))) }, row.email))) })] }));
29
+ Default.args = {
30
+ fullWidth: true,
31
+ };
32
+ /** Default table with basic styles */
33
+ export const DefaultWithStyles = (args) => (_jsxs(Table, { ...args, className: "w-96", children: [_jsx(TableHead, { children: _jsx(TableRow, { className: "bg-gray-50", children: columns.map((col) => (_jsx(TableHeaderCell, { className: "px-4 py-3 text-left font-bold", children: col.header }, col.key))) }) }), _jsx(TableBody, { className: "bg-white", children: rows.map((row) => (_jsx(TableRow, { className: "hover:bg-gray-200 border-b", children: columns.map((col) => (_jsx(TableCell, { className: "px-4 py-2 text-sm", children: row[col.key] }, col.key))) }, row.email))) })] }));
34
+ const manyRows = Array.from({ length: 20 }, (_, i) => ({
35
+ name: `User ${i + 1}`,
36
+ email: `user${i + 1}@example.com`,
37
+ role: i % 3 === 0 ? "Admin" : i % 3 === 1 ? "Editor" : "Viewer",
38
+ }));
39
+ /** Sticky header — scroll to see the header stay pinned */
40
+ export const StickyHeader = () => (_jsx("div", { className: "h-64 overflow-auto w-[500px]", children: _jsxs(Table, { fullWidth: true, children: [_jsx(TableHead, { sticky: true, children: _jsx(TableRow, { className: "bg-gray-50", children: columns.map((col) => (_jsx(TableHeaderCell, { className: "px-4 py-3 text-left font-bold border-b", children: col.header }, col.key))) }) }), _jsx(TableBody, { children: manyRows.map((row) => (_jsx(TableRow, { className: "hover:bg-gray-100 border-b", children: columns.map((col) => (_jsx(TableCell, { className: "px-4 py-2 text-sm", children: row[col.key] }, col.key))) }, row.email))) })] }) }));
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import type { StoryFn } from "@storybook/react";
3
+ declare const _default: {
4
+ title: string;
5
+ component: React.ForwardRefExoticComponent<import("./Table").TableProps & React.RefAttributes<HTMLTableElement>>;
6
+ tags: string[];
7
+ parameters: {
8
+ layout: string;
9
+ };
10
+ };
11
+ export default _default;
12
+ /** Shows the minimum wiring needed: column defs, data, `getCoreRowModel`, and your Table primitives. */
13
+ export declare const Basic: StoryFn;
14
+ /** Click any column header to cycle through ascending → descending → unsorted. */
15
+ export declare const Sorting: StoryFn;
16
+ /** Type in the search box to filter all columns at once. */
17
+ export declare const Filtering: StoryFn;
18
+ /** Rows are split into pages of 5. Use the controls below the table to navigate. */
19
+ export declare const Pagination: StoryFn;
20
+ /** All features enabled together: sort by clicking headers, search with the text input, and paginate with the controls. */
21
+ export declare const Combined: StoryFn;
@@ -0,0 +1,124 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { useReactTable, getCoreRowModel, getSortedRowModel, getFilteredRowModel, getPaginationRowModel, flexRender, createColumnHelper, } from "@tanstack/react-table";
4
+ import { Table, TableHead, TableBody, TableRow, TableHeaderCell, TableCell, } from "./index";
5
+ export default {
6
+ title: "Demos/TanStack Table",
7
+ component: Table,
8
+ tags: ["autodocs"],
9
+ parameters: {
10
+ layout: "centered",
11
+ },
12
+ };
13
+ const data = [
14
+ { name: "Alice", email: "alice@example.com", role: "Admin", age: 32 },
15
+ { name: "Bob", email: "bob@example.com", role: "Editor", age: 25 },
16
+ { name: "Carol", email: "carol@example.com", role: "Viewer", age: 28 },
17
+ { name: "Dan", email: "dan@example.com", role: "Admin", age: 41 },
18
+ { name: "Eve", email: "eve@example.com", role: "Editor", age: 35 },
19
+ { name: "Frank", email: "frank@example.com", role: "Viewer", age: 23 },
20
+ { name: "Grace", email: "grace@example.com", role: "Admin", age: 29 },
21
+ { name: "Hank", email: "hank@example.com", role: "Editor", age: 37 },
22
+ { name: "Iris", email: "iris@example.com", role: "Viewer", age: 26 },
23
+ { name: "Jack", email: "jack@example.com", role: "Admin", age: 44 },
24
+ { name: "Kate", email: "kate@example.com", role: "Editor", age: 31 },
25
+ { name: "Leo", email: "leo@example.com", role: "Viewer", age: 22 },
26
+ ];
27
+ const columnHelper = createColumnHelper();
28
+ const columns = [
29
+ columnHelper.accessor("name", { header: "Name" }),
30
+ columnHelper.accessor("email", { header: "Email" }),
31
+ columnHelper.accessor("role", { header: "Role" }),
32
+ columnHelper.accessor("age", { header: "Age" }),
33
+ ];
34
+ // ── Shared style classes ──
35
+ const headerCellClasses = "px-4 py-3 text-left font-bold";
36
+ const cellClasses = "px-4 py-2 text-sm";
37
+ const headerRowClasses = "bg-gray-50";
38
+ const bodyRowClasses = "hover:bg-gray-100 border-b";
39
+ // ────────────────────────────────────────────
40
+ // 1. Basic — minimal TanStack Table wiring
41
+ // ────────────────────────────────────────────
42
+ /** Shows the minimum wiring needed: column defs, data, `getCoreRowModel`, and your Table primitives. */
43
+ export const Basic = () => {
44
+ const table = useReactTable({
45
+ data,
46
+ columns,
47
+ getCoreRowModel: getCoreRowModel(),
48
+ });
49
+ return (_jsxs(Table, { fullWidth: true, className: "w-[600px]", children: [_jsx(TableHead, { children: table.getHeaderGroups().map((headerGroup) => (_jsx(TableRow, { className: headerRowClasses, children: headerGroup.headers.map((header) => (_jsx(TableHeaderCell, { className: headerCellClasses, children: flexRender(header.column.columnDef.header, header.getContext()) }, header.id))) }, headerGroup.id))) }), _jsx(TableBody, { children: table.getRowModel().rows.map((row) => (_jsx(TableRow, { className: bodyRowClasses, children: row.getVisibleCells().map((cell) => (_jsx(TableCell, { className: cellClasses, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id))) }, row.id))) })] }));
50
+ };
51
+ // ────────────────────────────────────────────
52
+ // 2. Sorting — click headers to sort
53
+ // ────────────────────────────────────────────
54
+ /** Click any column header to cycle through ascending → descending → unsorted. */
55
+ export const Sorting = () => {
56
+ const [sorting, setSorting] = useState([]);
57
+ const table = useReactTable({
58
+ data,
59
+ columns,
60
+ state: { sorting },
61
+ onSortingChange: setSorting,
62
+ getCoreRowModel: getCoreRowModel(),
63
+ getSortedRowModel: getSortedRowModel(),
64
+ });
65
+ return (_jsxs(Table, { fullWidth: true, className: "w-[600px]", children: [_jsx(TableHead, { children: table.getHeaderGroups().map((headerGroup) => (_jsx(TableRow, { className: headerRowClasses, children: headerGroup.headers.map((header) => (_jsx(TableHeaderCell, { className: `${headerCellClasses} cursor-pointer select-none`, onClick: header.column.getToggleSortingHandler(), children: _jsxs("span", { className: "flex items-center gap-1", children: [flexRender(header.column.columnDef.header, header.getContext()), {
66
+ asc: " ▲",
67
+ desc: " ▼",
68
+ }[header.column.getIsSorted()] ??
69
+ null] }) }, header.id))) }, headerGroup.id))) }), _jsx(TableBody, { children: table.getRowModel().rows.map((row) => (_jsx(TableRow, { className: bodyRowClasses, children: row.getVisibleCells().map((cell) => (_jsx(TableCell, { className: cellClasses, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id))) }, row.id))) })] }));
70
+ };
71
+ // ────────────────────────────────────────────
72
+ // 3. Filtering — global text filter
73
+ // ────────────────────────────────────────────
74
+ /** Type in the search box to filter all columns at once. */
75
+ export const Filtering = () => {
76
+ const [globalFilter, setGlobalFilter] = useState("");
77
+ const table = useReactTable({
78
+ data,
79
+ columns,
80
+ state: { globalFilter },
81
+ onGlobalFilterChange: setGlobalFilter,
82
+ getCoreRowModel: getCoreRowModel(),
83
+ getFilteredRowModel: getFilteredRowModel(),
84
+ });
85
+ return (_jsxs("div", { className: "w-[600px] flex flex-col gap-3", children: [_jsx("input", { value: globalFilter, onChange: (e) => setGlobalFilter(e.target.value), placeholder: "Search all columns\u2026", className: "px-3 py-2 border rounded-md text-sm w-60" }), _jsxs(Table, { fullWidth: true, children: [_jsx(TableHead, { children: table.getHeaderGroups().map((headerGroup) => (_jsx(TableRow, { className: headerRowClasses, children: headerGroup.headers.map((header) => (_jsx(TableHeaderCell, { className: headerCellClasses, children: flexRender(header.column.columnDef.header, header.getContext()) }, header.id))) }, headerGroup.id))) }), _jsxs(TableBody, { children: [table.getRowModel().rows.map((row) => (_jsx(TableRow, { className: bodyRowClasses, children: row.getVisibleCells().map((cell) => (_jsx(TableCell, { className: cellClasses, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id))) }, row.id))), table.getRowModel().rows.length === 0 && (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: columns.length, className: "px-4 py-8 text-center text-gray-400 text-sm", children: "No results found." }) }))] })] })] }));
86
+ };
87
+ // ────────────────────────────────────────────
88
+ // 4. Pagination — navigate pages of rows
89
+ // ────────────────────────────────────────────
90
+ /** Rows are split into pages of 5. Use the controls below the table to navigate. */
91
+ export const Pagination = () => {
92
+ const table = useReactTable({
93
+ data,
94
+ columns,
95
+ getCoreRowModel: getCoreRowModel(),
96
+ getPaginationRowModel: getPaginationRowModel(),
97
+ initialState: { pagination: { pageSize: 5 } },
98
+ });
99
+ return (_jsxs("div", { className: "w-[600px] flex flex-col gap-3", children: [_jsxs(Table, { fullWidth: true, children: [_jsx(TableHead, { children: table.getHeaderGroups().map((headerGroup) => (_jsx(TableRow, { className: headerRowClasses, children: headerGroup.headers.map((header) => (_jsx(TableHeaderCell, { className: headerCellClasses, children: flexRender(header.column.columnDef.header, header.getContext()) }, header.id))) }, headerGroup.id))) }), _jsx(TableBody, { children: table.getRowModel().rows.map((row) => (_jsx(TableRow, { className: bodyRowClasses, children: row.getVisibleCells().map((cell) => (_jsx(TableCell, { className: cellClasses, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id))) }, row.id))) })] }), _jsxs("div", { className: "flex items-center justify-between text-sm", children: [_jsxs("span", { className: "text-gray-500", children: ["Page ", table.getState().pagination.pageIndex + 1, " of", " ", table.getPageCount()] }), _jsxs("span", { className: "flex gap-2", children: [_jsx("button", { className: "px-3 py-1 border rounded disabled:opacity-40", onClick: () => table.previousPage(), disabled: !table.getCanPreviousPage(), children: "Previous" }), _jsx("button", { className: "px-3 py-1 border rounded disabled:opacity-40", onClick: () => table.nextPage(), disabled: !table.getCanNextPage(), children: "Next" })] })] })] }));
100
+ };
101
+ // ────────────────────────────────────────────
102
+ // 5. Combined — sorting + filtering + pagination
103
+ // ────────────────────────────────────────────
104
+ /** All features enabled together: sort by clicking headers, search with the text input, and paginate with the controls. */
105
+ export const Combined = () => {
106
+ const [sorting, setSorting] = useState([]);
107
+ const [globalFilter, setGlobalFilter] = useState("");
108
+ const table = useReactTable({
109
+ data,
110
+ columns,
111
+ state: { sorting, globalFilter },
112
+ onSortingChange: setSorting,
113
+ onGlobalFilterChange: setGlobalFilter,
114
+ getCoreRowModel: getCoreRowModel(),
115
+ getSortedRowModel: getSortedRowModel(),
116
+ getFilteredRowModel: getFilteredRowModel(),
117
+ getPaginationRowModel: getPaginationRowModel(),
118
+ initialState: { pagination: { pageSize: 5 } },
119
+ });
120
+ return (_jsxs("div", { className: "w-[600px] flex flex-col gap-3", children: [_jsx("input", { value: globalFilter, onChange: (e) => setGlobalFilter(e.target.value), placeholder: "Search all columns\u2026", className: "px-3 py-2 border rounded-md text-sm w-60" }), _jsxs(Table, { fullWidth: true, children: [_jsx(TableHead, { children: table.getHeaderGroups().map((headerGroup) => (_jsx(TableRow, { className: headerRowClasses, children: headerGroup.headers.map((header) => (_jsx(TableHeaderCell, { className: `${headerCellClasses} cursor-pointer select-none`, onClick: header.column.getToggleSortingHandler(), children: _jsxs("span", { className: "flex items-center gap-1", children: [flexRender(header.column.columnDef.header, header.getContext()), {
121
+ asc: " ▲",
122
+ desc: " ▼",
123
+ }[header.column.getIsSorted()] ?? null] }) }, header.id))) }, headerGroup.id))) }), _jsxs(TableBody, { children: [table.getRowModel().rows.map((row) => (_jsx(TableRow, { className: bodyRowClasses, children: row.getVisibleCells().map((cell) => (_jsx(TableCell, { className: cellClasses, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id))) }, row.id))), table.getRowModel().rows.length === 0 && (_jsx(TableRow, { children: _jsx(TableCell, { colSpan: columns.length, className: "px-4 py-8 text-center text-gray-400 text-sm", children: "No results found." }) }))] })] }), _jsxs("div", { className: "flex items-center justify-between text-sm", children: [_jsxs("span", { className: "text-gray-500", children: ["Page ", table.getState().pagination.pageIndex + 1, " of", " ", table.getPageCount()] }), _jsxs("span", { className: "flex gap-2", children: [_jsx("button", { className: "px-3 py-1 border rounded disabled:opacity-40", onClick: () => table.previousPage(), disabled: !table.getCanPreviousPage(), children: "Previous" }), _jsx("button", { className: "px-3 py-1 border rounded disabled:opacity-40", onClick: () => table.nextPage(), disabled: !table.getCanNextPage(), children: "Next" })] })] })] }));
124
+ };
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ interface TableBodyProps extends React.HTMLAttributes<HTMLTableSectionElement> {
3
+ }
4
+ export declare const TableBody: React.ForwardRefExoticComponent<TableBodyProps & React.RefAttributes<HTMLTableSectionElement>>;
5
+ export {};
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { cn } from "../../utils/cn";
4
+ export const TableBody = React.forwardRef(({ children, className, ...props }, ref) => (_jsx("tbody", { ref: ref, className: cn(className), ...props, children: children })));
5
+ TableBody.displayName = "TableBody";
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ interface TableCellProps extends React.TdHTMLAttributes<HTMLTableCellElement> {
3
+ }
4
+ export declare const TableCell: React.ForwardRefExoticComponent<TableCellProps & React.RefAttributes<HTMLTableCellElement>>;
5
+ export {};
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { cn } from "../../utils/cn";
4
+ export const TableCell = React.forwardRef(({ children, className, ...props }, ref) => (_jsx("td", { ref: ref, className: cn(className), ...props, children: children })));
5
+ TableCell.displayName = "TableCell";
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ interface TableHeadProps extends React.HTMLAttributes<HTMLTableSectionElement> {
3
+ sticky?: boolean;
4
+ }
5
+ export declare const TableHead: React.ForwardRefExoticComponent<TableHeadProps & React.RefAttributes<HTMLTableSectionElement>>;
6
+ export {};
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { cn } from "../../utils/cn";
4
+ export const TableHead = React.forwardRef(({ children, className, sticky, style, ...props }, ref) => (_jsx("thead", { ref: ref, className: cn(sticky && "sticky top-0", className), style: style, ...props, children: children })));
5
+ TableHead.displayName = "TableHead";
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ interface TableHeaderCellProps extends React.ThHTMLAttributes<HTMLTableCellElement> {
3
+ }
4
+ export declare const TableHeaderCell: React.ForwardRefExoticComponent<TableHeaderCellProps & React.RefAttributes<HTMLTableCellElement>>;
5
+ export {};
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { cn } from "../../utils/cn";
4
+ export const TableHeaderCell = React.forwardRef(({ children, className, ...props }, ref) => (_jsx("th", { ref: ref, className: cn(className), ...props, children: children })));
5
+ TableHeaderCell.displayName = "TableHeaderCell";
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement> {
3
+ }
4
+ export declare const TableRow: React.ForwardRefExoticComponent<TableRowProps & React.RefAttributes<HTMLTableRowElement>>;
5
+ export {};
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { cn } from "../../utils/cn";
4
+ export const TableRow = React.forwardRef(({ children, className, ...props }, ref) => (_jsx("tr", { ref: ref, className: cn(className), ...props, children: children })));
5
+ TableRow.displayName = "TableRow";
@@ -0,0 +1,6 @@
1
+ export { Table } from "./Table";
2
+ export { TableHead } from "./TableHead";
3
+ export { TableBody } from "./TableBody";
4
+ export { TableRow } from "./TableRow";
5
+ export { TableHeaderCell } from "./TableHeaderCell";
6
+ export { TableCell } from "./TableCell";
@@ -0,0 +1,6 @@
1
+ export { Table } from "./Table";
2
+ export { TableHead } from "./TableHead";
3
+ export { TableBody } from "./TableBody";
4
+ export { TableRow } from "./TableRow";
5
+ export { TableHeaderCell } from "./TableHeaderCell";
6
+ export { TableCell } from "./TableCell";
@@ -0,0 +1,50 @@
1
+ export { default as Badge } from "./components/Badge";
2
+ export * from "./components/Badge";
3
+ export { default as BaseButton } from "./components/BaseButton";
4
+ export * from "./components/BaseButton";
5
+ export { default as BaseToolTip } from "./components/BaseToolTip";
6
+ export * from "./components/BaseToolTip";
7
+ export { Card } from "./components/Card";
8
+ export * from "./components/Card";
9
+ export { default as DropdownContainer } from "./components/DropdownContainer";
10
+ export { default as DropDownIconButton } from "./components/DropDownIconButton";
11
+ export * from "./components/DropDownIconButton";
12
+ export { DynamicSection } from "./components/DynamicSection";
13
+ export type { DynamicSectionProps } from "./components/DynamicSection";
14
+ export { FeatureList } from "./components/FeatureList";
15
+ export { default as GenericList } from "./components/GenericList";
16
+ export * from "./components/GenericList";
17
+ export { default as HamburgerButton } from "./components/HamburgerButton";
18
+ export * from "./components/HamburgerButton";
19
+ export { default as Header } from "./components/Header";
20
+ export * from "./components/Header";
21
+ export { default as Hero } from "./components/Hero";
22
+ export * from "./components/Hero";
23
+ export { default as IconButton } from "./components/IconButton";
24
+ export * from "./components/IconButton";
25
+ export { default as Image } from "./components/Image";
26
+ export * from "./components/Image";
27
+ export { InfoBanner } from "./components/InfoBanner";
28
+ export { Input } from "./components/Input";
29
+ export * from "./components/Input";
30
+ export { default as MobileMenu } from "./components/MobileMenu";
31
+ export * from "./components/MobileMenu";
32
+ export { default as Nav } from "./components/Nav";
33
+ export * from "./components/Nav";
34
+ export { default as ViewPageTemplate } from "./components/Page";
35
+ export * from "./components/Page";
36
+ export { default as PageSection } from "./components/PageSection";
37
+ export * from "./components/PageSection";
38
+ export { TabList } from "./components/TabList";
39
+ export { default as Text } from "./components/Text";
40
+ export * from "./components/Text";
41
+ export { default as Toaster } from "./components/Toaster";
42
+ export * from "./components/Toaster";
43
+ export { default as EnvironmentBadge } from "./components/EnvironmentBadge";
44
+ export { withStoryBook } from "./hoc";
45
+ export { withMemo } from "./userHoc";
46
+ export { Table, TableHead, TableBody, TableRow, TableHeaderCell, TableCell, } from "./components/Table";
47
+ export type { useTableInfiniteScrollOptions } from "./hooks";
48
+ export { useTableInfiniteScroll } from "./hooks";
49
+ export { formatPhoneNumber, getFontAwesomeIcon, roundNumToDecimalPlaces, formatCurrency, formatDate, validateEmailFormat, assertTagName, formatTimestamp, getEndPointFromEnvironment, } from "./utils";
50
+ export { apiGet, apiPost, apiPut, apiDelete } from "./api/apiFunctions";
package/dist/index.js ADDED
@@ -0,0 +1,52 @@
1
+ // Components
2
+ export { default as Badge } from "./components/Badge";
3
+ export * from "./components/Badge";
4
+ export { default as BaseButton } from "./components/BaseButton";
5
+ export * from "./components/BaseButton";
6
+ export { default as BaseToolTip } from "./components/BaseToolTip";
7
+ export * from "./components/BaseToolTip";
8
+ export { Card } from "./components/Card";
9
+ export * from "./components/Card";
10
+ export { default as DropdownContainer } from "./components/DropdownContainer";
11
+ export { default as DropDownIconButton } from "./components/DropDownIconButton";
12
+ export * from "./components/DropDownIconButton";
13
+ export { DynamicSection } from "./components/DynamicSection";
14
+ export { FeatureList } from "./components/FeatureList";
15
+ export { default as GenericList } from "./components/GenericList";
16
+ export * from "./components/GenericList";
17
+ export { default as HamburgerButton } from "./components/HamburgerButton";
18
+ export * from "./components/HamburgerButton";
19
+ export { default as Header } from "./components/Header";
20
+ export * from "./components/Header";
21
+ export { default as Hero } from "./components/Hero";
22
+ export * from "./components/Hero";
23
+ export { default as IconButton } from "./components/IconButton";
24
+ export * from "./components/IconButton";
25
+ export { default as Image } from "./components/Image";
26
+ export * from "./components/Image";
27
+ export { InfoBanner } from "./components/InfoBanner";
28
+ export { Input } from "./components/Input";
29
+ export * from "./components/Input";
30
+ export { default as MobileMenu } from "./components/MobileMenu";
31
+ export * from "./components/MobileMenu";
32
+ export { default as Nav } from "./components/Nav";
33
+ export * from "./components/Nav";
34
+ export { default as ViewPageTemplate } from "./components/Page";
35
+ export * from "./components/Page";
36
+ export { default as PageSection } from "./components/PageSection";
37
+ export * from "./components/PageSection";
38
+ export { TabList } from "./components/TabList";
39
+ export { default as Text } from "./components/Text";
40
+ export * from "./components/Text";
41
+ export { default as Toaster } from "./components/Toaster";
42
+ export * from "./components/Toaster";
43
+ export { default as EnvironmentBadge } from "./components/EnvironmentBadge";
44
+ // HOC
45
+ export { withStoryBook } from "./hoc";
46
+ export { withMemo } from "./userHoc";
47
+ // Table Components
48
+ export { Table, TableHead, TableBody, TableRow, TableHeaderCell, TableCell, } from "./components/Table";
49
+ export { useTableInfiniteScroll } from "./hooks";
50
+ // Utils
51
+ export { formatPhoneNumber, getFontAwesomeIcon, roundNumToDecimalPlaces, formatCurrency, formatDate, validateEmailFormat, assertTagName, formatTimestamp, getEndPointFromEnvironment, } from "./utils";
52
+ export { apiGet, apiPost, apiPut, apiDelete } from "./api/apiFunctions";
package/dist/main.css CHANGED
@@ -1 +1 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-right-2{right:-.5rem}.-right-4{right:-1rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-1\.5{bottom:.375rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-\[10px\]{left:10px}.left-\[3px\]{left:3px}.left-\[5px\]{left:5px}.left-full{left:100%}.right-0{right:0}.right-16{right:4rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-full{right:100%}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-12{top:3rem}.top-16{top:4rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-6{top:1.5rem}.top-\[-14px\]{top:-14px}.top-\[-5px\]{top:-5px}.top-\[10px\]{top:10px}.top-\[12px\]{top:12px}.top-\[3px\]{top:3px}.top-\[5px\]{top:5px}.top-\[8px\]{top:8px}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[9989\]{z-index:9989}.order-first{order:-9999}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-6{grid-column:span 6/span 6}.m-0{margin:0}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-12{margin-left:3rem;margin-right:3rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-20{margin-top:5rem;margin-bottom:5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-8{margin-top:2rem;margin-bottom:2rem}.my-auto{margin-top:auto;margin-bottom:auto}.-ml-\[20px\]{margin-left:-20px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-8{margin-right:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.size-5{width:1.25rem;height:1.25rem}.size-80{width:20rem;height:20rem}.size-96{width:24rem;height:24rem}.size-\[18px\]{width:18px;height:18px}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-18px{height:18px}.h-2{height:.5rem}.h-20{height:5rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-42px{height:42px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-\[1\.25rem\]{height:1.25rem}.h-\[100\%\]{height:100%}.h-\[100px\]{height:100px}.h-\[300px\]{height:300px}.h-\[30px\]{height:30px}.h-\[32px\]{height:32px}.h-\[50px\]{height:50px}.h-\[75px\]{height:75px}.h-\[80px\]{height:80px}.h-\[9px\]{height:9px}.h-\[fit-content\]{height:-moz-fit-content;height:fit-content}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-11{max-height:2.75rem}.max-h-16{max-height:4rem}.max-h-36{max-height:9rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.max-h-full{max-height:100%}.min-h-12{min-height:3rem}.min-h-20{min-height:5rem}.min-h-72{min-height:18rem}.min-h-8{min-height:2rem}.min-h-96{min-height:24rem}.min-h-\[40px\]{min-height:40px}.min-h-fit{min-height:-moz-fit-content;min-height:fit-content}.min-h-full{min-height:100%}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-18px{width:18px}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-26px{width:26px}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-42px{width:42px}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10\%\]{width:10%}.w-\[100px\]{width:100px}.w-\[200px\]{width:200px}.w-\[2rem\]{width:2rem}.w-\[300px\]{width:300px}.w-\[30px\]{width:30px}.w-\[344px\]{width:344px}.w-\[40rem\]{width:40rem}.w-\[425px\]{width:425px}.w-\[75px\]{width:75px}.w-\[80px\]{width:80px}.w-\[9px\]{width:9px}.w-\[fit-content\]{width:-moz-fit-content;width:fit-content}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-10{min-width:2.5rem}.min-w-14{min-width:3.5rem}.min-w-20{min-width:5rem}.min-w-28{min-width:7rem}.min-w-4{min-width:1rem}.min-w-40{min-width:10rem}.min-w-44{min-width:11rem}.min-w-52{min-width:13rem}.min-w-96{min-width:24rem}.min-w-\[120px\]{min-width:120px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[250px\]{min-width:250px}.min-w-\[300px\]{min-width:300px}.min-w-\[700px\]{min-width:700px}.min-w-full{min-width:100%}.min-w-navDropDown{min-width:25em}.max-w-14{max-width:3.5rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-44{max-width:11rem}.max-w-52{max-width:13rem}.max-w-72{max-width:18rem}.max-w-\[180px\]{max-width:180px}.max-w-\[250px\]{max-width:250px}.max-w-\[320px\]{max-width:320px}.max-w-\[408px\]{max-width:408px}.max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.max-w-lg{max-width:32rem}.max-w-pageSectionMaxWidth{max-width:1500px}.flex-1{flex:1 1 0%}.flex-\[1\]{flex:1}.flex-\[2\]{flex:2}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-0{--tw-scale-x:0;--tw-scale-y:0}.scale-0,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-12{row-gap:3rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px*var(--tw-divide-x-reverse));border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.text-nowrap{text-wrap:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\[3px\]{border-radius:3px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-lg{border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.border-none{border-style:none}.border-\[\#00B9A8\]{--tw-border-opacity:1;border-color:rgb(0 185 168/var(--tw-border-opacity,1))}.border-\[\#DFE4EA\]{--tw-border-opacity:1;border-color:rgb(223 228 234/var(--tw-border-opacity,1))}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-50{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-b-blue-700{--tw-border-opacity:1;border-bottom-color:rgb(29 78 216/var(--tw-border-opacity,1))}.border-b-teal-700{--tw-border-opacity:1;border-bottom-color:rgb(15 118 110/var(--tw-border-opacity,1))}.bg-\[\#9ca3af\]{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-\[\#DAF8E6\]{--tw-bg-opacity:1;background-color:rgb(218 248 230/var(--tw-bg-opacity,1))}.bg-\[\#DBEAFE\]{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.bg-pink-300{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-none{background-image:none}.from-cyan-700{--tw-gradient-from:#0e7490 var(--tw-gradient-from-position);--tw-gradient-to:rgba(14,116,144,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-blue-900{--tw-gradient-to:#1e3a8a var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-no-repeat{background-repeat:no-repeat}.fill-blue-500{fill:#3b82f6}.fill-current{fill:currentColor}.fill-red-500{fill:#ef4444}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-\[1px\]{padding-top:1px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace}.font-sans{font-family:ui-sans-serif}.font-serif{font-family:ui-serif}.text-11px{font-size:11px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl,.text-4xl{font-size:2.25rem}.text-4xl{line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xxs{font-size:.6rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[18px\]{line-height:18px}.leading-relaxed{line-height:1.625}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity,1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.text-teal-700{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.text-teal-800{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-0{outline-width:0}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[max-height\]{transition-property:max-height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-150{transition-delay:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.placeholder\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\:text-green-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.placeholder\:text-green-500::placeholder{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-\[3px\]:after{content:var(--tw-content);left:3px}.after\:left-\[4px\]:after{content:var(--tw-content);left:4px}.after\:top-1:after{content:var(--tw-content);top:.25rem}.after\:top-\[4\.5px\]:after{content:var(--tw-content);top:4.5px}.after\:h-3:after{content:var(--tw-content);height:.75rem}.after\:h-\[19px\]:after{content:var(--tw-content);height:19px}.after\:w-3:after{content:var(--tw-content);width:.75rem}.after\:w-\[19px\]:after{content:var(--tw-content);width:19px}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:bg-gray-300:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.after\:bg-purple-300:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.after\:bg-red-300:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.checked\:border-blue-600:checked{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.checked\:bg-blue-600:checked{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-1:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:cursor-not-allowed:hover{cursor:not-allowed}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-2:hover{border-width:2px}.hover\:border-none:hover{border-style:none}.hover\:border-black:hover{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.hover\:border-green-900:hover{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.hover\:border-red-700:hover{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.hover\:border-teal-500:hover{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.hover\:border-teal-600:hover{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}.hover\:bg-\[\#FFEBEE\]:hover{--tw-bg-opacity:1;background-color:rgb(255 235 238/var(--tw-bg-opacity,1))}.hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-orange-50:hover{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-sky-600:hover{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.hover\:bg-teal-600:hover{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.hover\:bg-teal-800:hover{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-none:hover{background-image:none}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-green-500:hover{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.hover\:text-neutral-400:hover{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.hover\:text-neutral-800:hover{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-sky-600:hover{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-l-2:focus{border-left-width:2px}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-4:focus{outline-width:4px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-1:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-transparent:focus{--tw-ring-color:transparent}.group:hover .group-hover\:inline{display:inline}.group:hover .group-hover\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.peer:checked~.peer-checked\:scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:opacity-100{opacity:1}.peer:checked~.peer-checked\:after\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:after\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:after\:bg-purple-500:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:bg-red-500:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:bg-sky-500:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}@media not all and (min-width:1280px){.max-xl\:flex{display:flex}.max-xl\:hidden{display:none}.max-xl\:justify-end{justify-content:flex-end}.max-xl\:gap-1{gap:.25rem}.max-xl\:gap-10{gap:2.5rem}.max-xl\:px-2{padding-left:.5rem;padding-right:.5rem}.max-xl\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media not all and (min-width:1024px){.max-lg\:flex{display:flex}.max-lg\:w-full{width:100%}.max-lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.max-lg\:flex-col{flex-direction:column}.max-lg\:justify-between{justify-content:space-between}.max-lg\:justify-items-center{justify-items:center}.max-lg\:gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.max-lg\:gap-y-12{row-gap:3rem}.max-lg\:gap-y-24{row-gap:6rem}.max-lg\:text-xl{font-size:1.25rem;line-height:1.75rem}.max-lg\:transition-none{transition-property:none}.max-lg\:hover\:transform-none:hover{transform:none}}@media not all and (min-width:768px){.max-md\:flex{display:flex}.max-md\:hidden{display:none}.max-md\:gap-12{gap:3rem}.max-md\:p-0{padding:0}.max-md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media not all and (min-width:640px){.max-sm\:mb-1{margin-bottom:.25rem}.max-sm\:mb-2{margin-bottom:.5rem}.max-sm\:flex{display:flex}.max-sm\:hidden{display:none}.max-sm\:w-1\/2{width:50%}.max-sm\:w-3\/4{width:75%}.max-sm\:w-\[90\%\]{width:90%}.max-sm\:w-full{width:100%}.max-sm\:flex-row{flex-direction:row}.max-sm\:flex-col{flex-direction:column}.max-sm\:items-end{align-items:flex-end}.max-sm\:justify-between{justify-content:space-between}.max-sm\:gap-8{gap:2rem}.max-sm\:p-2{padding:.5rem}.max-sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.max-sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.max-sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:640px){.sm\:left-5{left:1.25rem}.sm\:top-5{top:1.25rem}.sm\:m-20{margin:5rem}.sm\:m-5{margin:1.25rem}.sm\:mb-0{margin-bottom:0}.sm\:mb-2{margin-bottom:.5rem}.sm\:mb-4{margin-bottom:1rem}.sm\:mb-5{margin-bottom:1.25rem}.sm\:ml-5{margin-left:1.25rem}.sm\:mt-0{margin-top:0}.sm\:mt-20{margin-top:5rem}.sm\:mt-4{margin-top:1rem}.sm\:mt-auto{margin-top:auto}.sm\:h-20{height:5rem}.sm\:h-64{height:16rem}.sm\:h-8{height:2rem}.sm\:h-\[100px\]{height:100px}.sm\:h-\[120px\]{height:120px}.sm\:h-\[255px\]{height:255px}.sm\:h-\[300px\]{height:300px}.sm\:h-\[350px\]{height:350px}.sm\:h-\[40px\]{height:40px}.sm\:h-\[500px\]{height:500px}.sm\:h-auto{height:auto}.sm\:w-24{width:6rem}.sm\:w-8{width:2rem}.sm\:w-\[100px\]{width:100px}.sm\:w-\[120px\]{width:120px}.sm\:w-\[244px\]{width:244px}.sm\:w-\[300px\]{width:300px}.sm\:w-auto{width:auto}.sm\:min-w-\[150px\]{min-width:150px}.sm\:max-w-\[408px\]{max-width:408px}.sm\:max-w-full{max-width:100%}.sm\:flex-row{flex-direction:row}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:pb-5{padding-bottom:1.25rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:768px){.md\:w-full{width:100%}.md\:p-8{padding:2rem}.md\:text-center{text-align:center}.md\:text-3xl{font-size:2.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:max-h-view-page{max-height:1000px}.lg\:gap-10{gap:2.5rem}.lg\:p-10{padding:2.5rem}.lg\:text-center{text-align:center}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-3xl,.lg\:text-4xl{font-size:2.25rem}.lg\:text-4xl{line-height:2.5rem}}@media (min-width:1536px){.\32xl\:flex{display:flex}}.rtl\:space-x-reverse:where([dir=rtl],[dir=rtl] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.\[\&\:has\(\:focus-visible\)\]\:ring-2:has(:focus-visible){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-right-2{right:-.5rem}.-right-4{right:-1rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-1\.5{bottom:.375rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-\[10px\]{left:10px}.left-\[3px\]{left:3px}.left-\[5px\]{left:5px}.left-full{left:100%}.right-0{right:0}.right-16{right:4rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-full{right:100%}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-12{top:3rem}.top-16{top:4rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-6{top:1.5rem}.top-\[-14px\]{top:-14px}.top-\[-5px\]{top:-5px}.top-\[10px\]{top:10px}.top-\[12px\]{top:12px}.top-\[3px\]{top:3px}.top-\[5px\]{top:5px}.top-\[8px\]{top:8px}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[9989\]{z-index:9989}.order-first{order:-9999}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-6{grid-column:span 6/span 6}.m-0{margin:0}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-12{margin-left:3rem;margin-right:3rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-20{margin-top:5rem;margin-bottom:5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-8{margin-top:2rem;margin-bottom:2rem}.my-auto{margin-top:auto;margin-bottom:auto}.-ml-\[20px\]{margin-left:-20px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-8{margin-right:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.size-5{width:1.25rem;height:1.25rem}.size-80{width:20rem;height:20rem}.size-96{width:24rem;height:24rem}.size-\[18px\]{width:18px;height:18px}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-18px{height:18px}.h-2{height:.5rem}.h-20{height:5rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-42px{height:42px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-\[1\.25rem\]{height:1.25rem}.h-\[100\%\]{height:100%}.h-\[100px\]{height:100px}.h-\[300px\]{height:300px}.h-\[30px\]{height:30px}.h-\[32px\]{height:32px}.h-\[50px\]{height:50px}.h-\[75px\]{height:75px}.h-\[80px\]{height:80px}.h-\[9px\]{height:9px}.h-\[fit-content\]{height:-moz-fit-content;height:fit-content}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-11{max-height:2.75rem}.max-h-16{max-height:4rem}.max-h-36{max-height:9rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-fit{max-height:-moz-fit-content;max-height:fit-content}.max-h-full{max-height:100%}.min-h-12{min-height:3rem}.min-h-20{min-height:5rem}.min-h-72{min-height:18rem}.min-h-8{min-height:2rem}.min-h-96{min-height:24rem}.min-h-\[40px\]{min-height:40px}.min-h-fit{min-height:-moz-fit-content;min-height:fit-content}.min-h-full{min-height:100%}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-18px{width:18px}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-26px{width:26px}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-42px{width:42px}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-96{width:24rem}.w-\[10\%\]{width:10%}.w-\[100px\]{width:100px}.w-\[200px\]{width:200px}.w-\[2rem\]{width:2rem}.w-\[300px\]{width:300px}.w-\[30px\]{width:30px}.w-\[344px\]{width:344px}.w-\[40rem\]{width:40rem}.w-\[425px\]{width:425px}.w-\[500px\]{width:500px}.w-\[600px\]{width:600px}.w-\[75px\]{width:75px}.w-\[80px\]{width:80px}.w-\[9px\]{width:9px}.w-\[fit-content\]{width:-moz-fit-content;width:fit-content}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-10{min-width:2.5rem}.min-w-14{min-width:3.5rem}.min-w-20{min-width:5rem}.min-w-28{min-width:7rem}.min-w-4{min-width:1rem}.min-w-40{min-width:10rem}.min-w-44{min-width:11rem}.min-w-52{min-width:13rem}.min-w-96{min-width:24rem}.min-w-\[120px\]{min-width:120px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[250px\]{min-width:250px}.min-w-\[300px\]{min-width:300px}.min-w-\[700px\]{min-width:700px}.min-w-full{min-width:100%}.min-w-navDropDown{min-width:25em}.max-w-14{max-width:3.5rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-44{max-width:11rem}.max-w-52{max-width:13rem}.max-w-72{max-width:18rem}.max-w-\[180px\]{max-width:180px}.max-w-\[250px\]{max-width:250px}.max-w-\[320px\]{max-width:320px}.max-w-\[408px\]{max-width:408px}.max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.max-w-lg{max-width:32rem}.max-w-pageSectionMaxWidth{max-width:1500px}.flex-1{flex:1 1 0%}.flex-\[1\]{flex:1}.flex-\[2\]{flex:2}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-0{--tw-scale-x:0;--tw-scale-y:0}.scale-0,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-none{cursor:none}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-items-center{justify-items:center}.gap-1{gap:.25rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-12{row-gap:3rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px*var(--tw-divide-x-reverse));border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.text-nowrap{text-wrap:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\[3px\]{border-radius:3px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-lg{border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.border-none{border-style:none}.border-\[\#00B9A8\]{--tw-border-opacity:1;border-color:rgb(0 185 168/var(--tw-border-opacity,1))}.border-\[\#DFE4EA\]{--tw-border-opacity:1;border-color:rgb(223 228 234/var(--tw-border-opacity,1))}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity,1))}.border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-50{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity,1))}.border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.border-b-blue-700{--tw-border-opacity:1;border-bottom-color:rgb(29 78 216/var(--tw-border-opacity,1))}.border-b-teal-700{--tw-border-opacity:1;border-bottom-color:rgb(15 118 110/var(--tw-border-opacity,1))}.bg-\[\#9ca3af\]{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-\[\#DAF8E6\]{--tw-bg-opacity:1;background-color:rgb(218 248 230/var(--tw-bg-opacity,1))}.bg-\[\#DBEAFE\]{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.bg-crimson-700{--tw-bg-opacity:1;background-color:rgb(214 0 39/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.bg-honey-100{--tw-bg-opacity:1;background-color:rgb(255 232 184/var(--tw-bg-opacity,1))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(211 207 255/var(--tw-bg-opacity,1))}.bg-mauve-100{--tw-bg-opacity:1;background-color:rgb(246 226 228/var(--tw-bg-opacity,1))}.bg-mint-200{--tw-bg-opacity:1;background-color:rgb(234 252 232/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity,1))}.bg-pink-300{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity,1))}.bg-pumpkin-100{--tw-bg-opacity:1;background-color:rgb(255 208 185/var(--tw-bg-opacity,1))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity,1))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity,1))}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity,1))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(230 206 255/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-none{background-image:none}.from-cyan-700{--tw-gradient-from:#0e7490 var(--tw-gradient-from-position);--tw-gradient-to:rgba(14,116,144,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-blue-900{--tw-gradient-to:#1e3a8a var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-no-repeat{background-repeat:no-repeat}.fill-blue-500{fill:#3b82f6}.fill-current{fill:currentColor}.fill-red-500{fill:#ef4444}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-\[1px\]{padding-top:1px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace}.font-sans{font-family:ui-sans-serif}.font-serif{font-family:ui-serif}.text-11px{font-size:11px}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl,.text-4xl{font-size:2.25rem}.text-4xl{line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xxs{font-size:.6rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-\[18px\]{line-height:18px}.leading-relaxed{line-height:1.625}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-crimson-700{--tw-text-opacity:1;color:rgb(214 0 39/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity,1))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity,1))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.text-teal-700{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity,1))}.text-teal-800{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-0{outline-width:0}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[max-height\]{transition-property:max-height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-150{transition-delay:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.placeholder\:text-gray-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.placeholder\:text-green-500::-moz-placeholder{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.placeholder\:text-green-500::placeholder{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-\[3px\]:after{content:var(--tw-content);left:3px}.after\:left-\[4px\]:after{content:var(--tw-content);left:4px}.after\:top-1:after{content:var(--tw-content);top:.25rem}.after\:top-\[4\.5px\]:after{content:var(--tw-content);top:4.5px}.after\:h-3:after{content:var(--tw-content);height:.75rem}.after\:h-\[19px\]:after{content:var(--tw-content);height:19px}.after\:w-3:after{content:var(--tw-content);width:.75rem}.after\:w-\[19px\]:after{content:var(--tw-content);width:19px}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:bg-gray-300:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.after\:bg-purple-300:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity,1))}.after\:bg-red-300:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity,1))}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.checked\:border-blue-600:checked{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.checked\:bg-blue-600:checked{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-1:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:cursor-not-allowed:hover{cursor:not-allowed}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-2:hover{border-width:2px}.hover\:border-none:hover{border-style:none}.hover\:border-black:hover{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.hover\:border-green-900:hover{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity,1))}.hover\:border-red-700:hover{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.hover\:border-teal-500:hover{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity,1))}.hover\:border-teal-600:hover{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}.hover\:bg-\[\#FFEBEE\]:hover{--tw-bg-opacity:1;background-color:rgb(255 235 238/var(--tw-bg-opacity,1))}.hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-orange-50:hover{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-sky-600:hover{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity,1))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.hover\:bg-teal-600:hover{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.hover\:bg-teal-800:hover{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-none:hover{background-image:none}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-green-500:hover{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.hover\:text-neutral-400:hover{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.hover\:text-neutral-800:hover{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-sky-600:hover{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-inner:hover{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-l-2:focus{border-left-width:2px}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-4:focus{outline-width:4px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-1:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-transparent:focus{--tw-ring-color:transparent}.disabled\:opacity-40:disabled{opacity:.4}.group:hover .group-hover\:inline{display:inline}.group:hover .group-hover\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.peer:checked~.peer-checked\:scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:opacity-100{opacity:1}.peer:checked~.peer-checked\:after\:translate-x-full:after{content:var(--tw-content);--tw-translate-x:100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:after\:border-white:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.peer:checked~.peer-checked\:after\:bg-purple-500:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:bg-red-500:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.peer:checked~.peer-checked\:after\:bg-sky-500:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}@media not all and (min-width:1280px){.max-xl\:flex{display:flex}.max-xl\:hidden{display:none}.max-xl\:justify-end{justify-content:flex-end}.max-xl\:gap-1{gap:.25rem}.max-xl\:gap-10{gap:2.5rem}.max-xl\:px-2{padding-left:.5rem;padding-right:.5rem}.max-xl\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media not all and (min-width:1024px){.max-lg\:flex{display:flex}.max-lg\:w-full{width:100%}.max-lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.max-lg\:flex-col{flex-direction:column}.max-lg\:justify-between{justify-content:space-between}.max-lg\:justify-items-center{justify-items:center}.max-lg\:gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.max-lg\:gap-y-12{row-gap:3rem}.max-lg\:gap-y-24{row-gap:6rem}.max-lg\:text-xl{font-size:1.25rem;line-height:1.75rem}.max-lg\:transition-none{transition-property:none}.max-lg\:hover\:transform-none:hover{transform:none}}@media not all and (min-width:768px){.max-md\:flex{display:flex}.max-md\:hidden{display:none}.max-md\:gap-12{gap:3rem}.max-md\:p-0{padding:0}.max-md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media not all and (min-width:640px){.max-sm\:mb-1{margin-bottom:.25rem}.max-sm\:mb-2{margin-bottom:.5rem}.max-sm\:flex{display:flex}.max-sm\:hidden{display:none}.max-sm\:w-1\/2{width:50%}.max-sm\:w-3\/4{width:75%}.max-sm\:w-\[90\%\]{width:90%}.max-sm\:w-full{width:100%}.max-sm\:flex-row{flex-direction:row}.max-sm\:flex-col{flex-direction:column}.max-sm\:items-end{align-items:flex-end}.max-sm\:justify-between{justify-content:space-between}.max-sm\:gap-8{gap:2rem}.max-sm\:p-2{padding:.5rem}.max-sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.max-sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.max-sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:640px){.sm\:left-5{left:1.25rem}.sm\:top-5{top:1.25rem}.sm\:m-20{margin:5rem}.sm\:m-5{margin:1.25rem}.sm\:mb-0{margin-bottom:0}.sm\:mb-2{margin-bottom:.5rem}.sm\:mb-4{margin-bottom:1rem}.sm\:mb-5{margin-bottom:1.25rem}.sm\:ml-5{margin-left:1.25rem}.sm\:mt-0{margin-top:0}.sm\:mt-20{margin-top:5rem}.sm\:mt-4{margin-top:1rem}.sm\:mt-auto{margin-top:auto}.sm\:h-20{height:5rem}.sm\:h-64{height:16rem}.sm\:h-8{height:2rem}.sm\:h-\[100px\]{height:100px}.sm\:h-\[120px\]{height:120px}.sm\:h-\[255px\]{height:255px}.sm\:h-\[300px\]{height:300px}.sm\:h-\[350px\]{height:350px}.sm\:h-\[40px\]{height:40px}.sm\:h-\[500px\]{height:500px}.sm\:h-auto{height:auto}.sm\:w-24{width:6rem}.sm\:w-8{width:2rem}.sm\:w-\[100px\]{width:100px}.sm\:w-\[120px\]{width:120px}.sm\:w-\[244px\]{width:244px}.sm\:w-\[300px\]{width:300px}.sm\:w-auto{width:auto}.sm\:min-w-\[150px\]{min-width:150px}.sm\:max-w-\[408px\]{max-width:408px}.sm\:max-w-full{max-width:100%}.sm\:flex-row{flex-direction:row}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:pb-5{padding-bottom:1.25rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:768px){.md\:w-full{width:100%}.md\:p-8{padding:2rem}.md\:text-center{text-align:center}.md\:text-3xl{font-size:2.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:max-h-view-page{max-height:1000px}.lg\:gap-10{gap:2.5rem}.lg\:p-10{padding:2.5rem}.lg\:text-center{text-align:center}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-3xl,.lg\:text-4xl{font-size:2.25rem}.lg\:text-4xl{line-height:2.5rem}}@media (min-width:1536px){.\32xl\:flex{display:flex}}.rtl\:space-x-reverse:where([dir=rtl],[dir=rtl] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.\[\&\:has\(\:focus-visible\)\]\:ring-2:has(:focus-visible){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}
@@ -114,19 +114,26 @@ export function assembleOptionsSort(input) {
114
114
  }
115
115
  }
116
116
  export function urlEncode(input, encodeSpecialChars = true) {
117
- if (encodeSpecialChars && input) {
118
- input = input.replace(/[%&?]/g, (match) => {
117
+ if (input == null) {
118
+ return "";
119
+ }
120
+ if (encodeSpecialChars) {
121
+ // Encode special URL characters including # which marks fragment identifiers
122
+ input = input.replace(/[%&?#]/g, (match) => {
119
123
  return encodeURIComponent(match);
120
124
  });
125
+ if (!input) {
126
+ return "";
127
+ }
121
128
  input = input.replace(/[!'()*\-._~,]/g, (c) => {
122
129
  return "%" + c.charCodeAt(0).toString(16).toUpperCase();
123
130
  });
124
131
  return input;
125
132
  }
126
133
  else {
127
- return encodeURIComponent(input);
134
+ return input ? encodeURIComponent(input) : "";
128
135
  }
129
136
  }
130
137
  export function toCamelCase(slug) {
131
- return slug.replace(/-([a-z])/g, (letter) => letter.toUpperCase());
138
+ return slug.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
132
139
  }
@@ -1,2 +1,2 @@
1
1
  import { UseQueryOptions, QueryKey } from "@tanstack/react-query";
2
- export declare const useApiQuery: <TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(key: TQueryKey, route: string, options?: {}, payload?: {}, queryOptions?: Omit<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<import("@tanstack/react-query").NoInfer<TData>, TError>;
2
+ export declare const useApiQuery: <TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(key: TQueryKey, route: string, options?: {}, payload?: {}, queryOptions?: Omit<UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, "queryKey" | "queryFn">) => import("@tanstack/react-query").UseQueryResult<import("@tanstack/query-core").NoInfer<TData>, TError>;
@@ -0,0 +1 @@
1
+ export declare const getEndPointFromEnvironment: () => string;
@@ -0,0 +1,20 @@
1
+ export const getEndPointFromEnvironment = () => {
2
+ switch (import.meta.env.MODE) {
3
+ // Gets current endpoint from development env
4
+ case "development": {
5
+ const baseUrl = import.meta.env.VITE_API || "";
6
+ const match = baseUrl.match(/api\.([\w-]+)\.togahub\.com/);
7
+ return match ? match[1] : "production";
8
+ }
9
+ // Gets current environment name
10
+ case "alpha":
11
+ case "beta":
12
+ case "gamma":
13
+ case "sprint":
14
+ case "stage":
15
+ case "test":
16
+ return import.meta.env.MODE;
17
+ default:
18
+ return "Unknown";
19
+ }
20
+ };
@@ -14,3 +14,5 @@ import assertTagName from "./assertTagName";
14
14
  export { assertTagName };
15
15
  import formatTimestamp from "./formatTimestamp";
16
16
  export { formatTimestamp };
17
+ import { getEndPointFromEnvironment } from "./getEndpointFromEnvironment";
18
+ export { getEndPointFromEnvironment };
@@ -14,3 +14,5 @@ import assertTagName from "./assertTagName";
14
14
  export { assertTagName };
15
15
  import formatTimestamp from "./formatTimestamp";
16
16
  export { formatTimestamp };
17
+ import { getEndPointFromEnvironment } from "./getEndpointFromEnvironment";
18
+ export { getEndPointFromEnvironment };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@agilant/toga-blox",
3
3
  "private": false,
4
- "version": "1.0.314",
4
+ "version": "1.0.316",
5
5
  "description": "Toga-Blox is a comprehensive and reusable React component library",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -19,6 +19,7 @@
19
19
  "license": "ISC",
20
20
  "files": [
21
21
  "dist",
22
+ "assets",
22
23
  "README.md"
23
24
  ],
24
25
  "dependencies": {
@@ -30,7 +31,7 @@
30
31
  "@storybook/addon-viewport": "^7.6.10",
31
32
  "@tanstack/react-virtual": "^3.1.3",
32
33
  "@tanstack/virtual-core": "^3.1.3",
33
- "axios": "^1.8.4",
34
+ "axios": "1.8.4",
34
35
  "classnames": "^2.5.1",
35
36
  "clsx": "^2.1.1",
36
37
  "dayjs": "^1.11.19",
@@ -66,6 +67,7 @@
66
67
  "@tanstack/react-query": "^5.59.19",
67
68
  "@tanstack/react-query-devtools": "^5.59.19",
68
69
  "@tanstack/react-query-persist-client": "^5.59.20",
70
+ "@tanstack/react-table": "^8.21.3",
69
71
  "@testing-library/jest-dom": "^6.6.3",
70
72
  "@testing-library/react": "^16.2.0",
71
73
  "@testing-library/user-event": "^14.5.2",
@@ -98,7 +100,7 @@
98
100
  "@tanstack/react-query": "^5.59.19",
99
101
  "@tanstack/react-query-devtools": "^5.59.19",
100
102
  "@tanstack/react-query-persist-client": "^5.59.20",
101
- "axios": "^1.8.4",
103
+ "axios": "1.8.4",
102
104
  "react-hook-form": "^7.43.9",
103
105
  "react-router-dom": "^6.16.0"
104
106
  }