@kompasid/lit-web-components 0.8.20 → 0.8.21

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 (28) hide show
  1. package/demo/index.html +8 -2
  2. package/dist/src/components/kompasid-header-account/KompasHeaderAccount.d.ts +1 -1
  3. package/dist/src/components/kompasid-header-account/KompasHeaderAccount.js +19 -20
  4. package/dist/src/components/kompasid-header-account/KompasHeaderAccount.js.map +1 -1
  5. package/dist/src/components/kompasid-header-account-menu/KompasHeaderAccountMenu.d.ts +0 -4
  6. package/dist/src/components/kompasid-header-account-menu/KompasHeaderAccountMenu.js +0 -7
  7. package/dist/src/components/kompasid-header-account-menu/KompasHeaderAccountMenu.js.map +1 -1
  8. package/dist/src/components/kompasid-header-account-profile/KompasHeaderAccountProfile.js +2 -2
  9. package/dist/src/components/kompasid-header-account-profile/KompasHeaderAccountProfile.js.map +1 -1
  10. package/dist/src/components/kompasid-header-notification/KompasHeaderNotification.d.ts +1 -0
  11. package/dist/src/components/kompasid-header-notification/KompasHeaderNotification.js +18 -4
  12. package/dist/src/components/kompasid-header-notification/KompasHeaderNotification.js.map +1 -1
  13. package/dist/src/utils/getHeaderTheme.d.ts +3 -0
  14. package/dist/src/utils/getHeaderTheme.js +17 -0
  15. package/dist/src/utils/getHeaderTheme.js.map +1 -0
  16. package/dist/tailwind/tailwind.js +13 -16
  17. package/dist/tailwind/tailwind.js.map +1 -1
  18. package/dist/tsconfig.tsbuildinfo +1 -1
  19. package/package.json +2 -1
  20. package/src/components/kompasid-header-account/KompasHeaderAccount.ts +18 -18
  21. package/src/components/kompasid-header-account/readme.md +46 -0
  22. package/src/components/kompasid-header-account-menu/KompasHeaderAccountMenu.ts +0 -5
  23. package/src/components/kompasid-header-account-profile/KompasHeaderAccountProfile.ts +2 -2
  24. package/src/components/kompasid-header-notification/KompasHeaderNotification.ts +16 -4
  25. package/src/components/kompasid-header-notification/readme.md +3 -0
  26. package/src/utils/getHeaderTheme.ts +19 -0
  27. package/tailwind/tailwind.css +4 -16
  28. package/tailwind/tailwind.ts +13 -16
@@ -1 +1 @@
1
- {"version":3,"file":"KompasHeaderNotification.js","sourceRoot":"","sources":["../../../../src/components/kompasid-header-notification/KompasHeaderNotification.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, css } from 'lit'\nimport { format, isToday, formatDistanceStrict, subDays } from 'date-fns'\nimport { id } from 'date-fns/locale/id'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js'\nimport { getFontAwesomeIcon } from '../../utils/fontawesome-setup.js'\nimport { TWStyles } from '../../../tailwind/tailwind.js'\nimport {\n UserNotification,\n NotificationList,\n ApiResponse,\n ApiRubrikResponse,\n} from './types.js'\nimport { customFetch } from './utils.js'\n\n@customElement('kompasid-header-notification')\nexport class KompasHeaderNotification extends LitElement {\n static styles = [\n css`\n :host {\n font-family: 'PT Sans', sans-serif;\n }\n\n .header-account--notification-indicator {\n position: absolute;\n top: 0;\n height: 0.5rem;\n width: 0.5rem;\n background-color: #ff7a00;\n border-radius: 50%;\n right: -0.403rem;\n top: -0.281rem;\n }\n\n .break-words {\n overflow-wrap: break-word;\n }\n\n .header-notification-dropdown {\n width: 20.5rem;\n background-color: #ffffff;\n font-family: 'PT Sans', sans-serif;\n font-size: 0.875rem;\n position: absolute;\n right: -7.5vmax;\n }\n\n .w-14 {\n width: 3.25rem;\n }\n\n .pb-18 {\n padding-bottom: 4.5rem;\n }\n\n .h-\\\\[300px\\\\] {\n height: 300px;\n }\n\n .h-14 {\n height: 3.25rem;\n }\n\n .bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(238 252 210 / var(--tw-bg-opacity));\n }\n\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n\n .link-active {\n color: #0468cb;\n border-color: #0468cb;\n border-bottom-width: 3px;\n background-color: transparent !important;\n }\n\n .animate-spin {\n animation: spin 2s linear infinite;\n }\n\n @keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n\n .object-cover {\n object-fit: cover;\n }\n\n .z-index-max {\n z-index: 99999;\n }\n\n /* Custom Scrollbar for header */\n /* width */\n ::-webkit-scrollbar {\n width: 4px;\n }\n\n /* Track */\n ::-webkit-scrollbar-track {\n background: transparent;\n }\n\n /* Handle */\n ::-webkit-scrollbar-thumb {\n background: #0356a8;\n border-radius: 100px;\n }\n\n /* Handle on hover */\n ::-webkit-scrollbar-thumb:hover {\n background: #0356a8;\n }\n\n @media (min-width: 1024px) {\n .header-notification-dropdown {\n right: -4vmax;\n }\n }\n\n @media (max-width: 360px) {\n .header-notification-dropdown {\n right: -10vmax;\n }\n }\n `,\n TWStyles,\n ]\n\n @state() isShowDropdown: boolean = false\n @state() selectedTab: string = 'Info'\n @state() notificationInfoData: UserNotification = {} as UserNotification\n @state() notificationContentData: any[] = []\n @state() isDataLoaded: boolean = false\n\n /*\n * property accessToken is the access token of the user\n * property refreshToken is the refresh token of the user\n * property domain is the domain of the API based on website\n * property tracker_user_type is the type of user based on their subscription\n * property tracker_subscription_status is the status of their subscription\n * property tracker_page_domain is the page domain\n * property tracker_metered_wall_type is the type of metered wall\n * property tracker_metered_wall_balance is the balance of their metered wall\n */\n\n @property({ type: String }) accessToken = ''\n @property({ type: String }) refreshToken = ''\n @property({ type: String }) domain = 'id' // 'id' | 'cloud'\n @property({ type: String }) tracker_user_type = ''\n @property({ type: String }) tracker_subscription_status = ''\n @property({ type: String }) tracker_page_domain = ''\n @property({ type: String }) tracker_metered_wall_type = ''\n @property({ type: Number }) tracker_metered_wall_balance = 0\n\n constructor() {\n super()\n this.handleClickOutside = this.handleClickOutside.bind(this)\n }\n\n /**\n * Function to format date\n */\n formatDate(date: string) {\n // Check if the provided date is today\n let result\n if (isToday(date)) {\n // Return time difference if it's today (e.g., \"7 hours ago\")\n result = `${formatDistanceStrict(date, new Date(), { locale: id })} lalu`\n } else {\n // Return formatted date (e.g., \"12 Sep 2024, 09:00\")\n result = format(date, 'dd MMM yyyy, HH:mm', { locale: id })\n }\n return result\n }\n\n override async connectedCallback() {\n super.connectedCallback()\n this.isShowDropdown = false\n\n if ((this.accessToken || this.refreshToken) && this.domain)\n await this.loadData()\n document.addEventListener('click', this.handleClickOutside)\n }\n\n override async disconnectedCallback() {\n super.disconnectedCallback()\n document.removeEventListener('click', this.handleClickOutside)\n }\n\n private async apiFetch(url: string, options: any) {\n const response = await customFetch(\n url,\n this.refreshToken,\n this.accessToken,\n this.domain,\n { ...options }\n )\n\n return response\n }\n\n private async getNotifRubrik() {\n const req = this.apiFetch(\n `https://cds.kompas.${this.domain}/api/v1/article/pilihanku`,\n {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n }\n )\n return req\n }\n\n private async getNotifList() {\n const req = await this.apiFetch(\n `https://api.kompas.${this.domain}/account/api/v1/users/notification`,\n {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n }\n )\n return req\n }\n\n private async getEpaperData() {\n const formatDate = 'yyyy/MM/dd'\n const startDate = format(subDays(new Date(), 1), formatDate)\n const endDate = format(new Date(), formatDate).toString()\n const req = await this.apiFetch(\n `https://apiepaper.kompas.${this.domain}/products?startDate=${startDate}&endDate=${endDate}&sort=desc`,\n {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n }\n )\n\n return req\n }\n\n private async notifRead(notifId: string) {\n const req = await this.apiFetch(\n `https://api.kompas.${this.domain}/account/api/v1/users/notification/read`,\n {\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PUT',\n body: JSON.stringify({\n notificationId: notifId,\n }),\n }\n )\n return req\n }\n\n private async loadData() {\n const apiCalls = [\n this.getNotifList(),\n this.getNotifRubrik(),\n this.getEpaperData(),\n ]\n this.isDataLoaded = false\n\n Promise.all(apiCalls)\n .then(responses =>\n Promise.all(responses.map(response => response.json()))\n )\n .then(values => {\n this.notificationInfoData = (\n values[0] as ApiResponse<UserNotification>\n ).data\n this.notificationInfoData.notificationList =\n this.notificationInfoData.notificationList || []\n const rubrikData = (values[1] as ApiRubrikResponse<any>).result || []\n const ePaperData = (values[2] as ApiResponse<any>).data[0] || {}\n\n const { publishDate, description, thumbnail, title, url } = ePaperData\n\n const data = {\n title,\n category: [{ name: 'ePaper', slug: 'epaper' }],\n publishedDate: format(new Date(publishDate), 'yyyy-MM-dd HH:mm:ss'),\n permalink: url,\n thumbnails: {\n sizes: { thumbnailSquareMedium: { permalink: thumbnail } },\n },\n excerpt: description,\n }\n\n this.notificationContentData = [data, ...rubrikData]\n this.notificationContentData.sort(\n (a: any, b: any) =>\n new Date(b.publishedDate).getTime() -\n new Date(a.publishedDate).getTime()\n )\n\n this.isDataLoaded = true\n })\n }\n\n private toggleDropdown() {\n this.isShowDropdown = !this.isShowDropdown\n\n // if opened, fire the datalayer\n if (this.isShowDropdown) this.pushDataLayer('notification_opened')\n }\n\n private notificationIcon() {\n const notificationIndicator = () => {\n if (!this.notificationInfoData.notificationCount) return html``\n return html`<div class=\"header-account--notification-indicator\"></div>`\n }\n\n return html`\n <button\n @click=${this.toggleDropdown}\n class=\"cursor-pointer relative flex items-center\"\n >\n ${notificationIndicator()}\n <div class=\"flex flex-row items-center self-center\">\n <div class=\"text-white cursor-pointer mt-0.5\">\n ${unsafeSVG(getFontAwesomeIcon('fas', 'bell', 21, 21))}\n </div>\n </div>\n </button>\n `\n }\n\n private handleClick = (value: string) => {\n this.selectedTab = value\n }\n\n private handleNotificationUrlParam = (url: string, type: string) => {\n const params = {\n open_from: type,\n }\n const newUrl = new URL(decodeURIComponent(url))\n if (newUrl.search) {\n for (const [key, value] of Object.entries(params)) {\n if (!newUrl.searchParams.has(key)) {\n newUrl.searchParams.append(key, value)\n }\n }\n } else {\n newUrl.search = new URLSearchParams(params).toString()\n }\n\n return newUrl.toString()\n }\n\n private redirectTo = async (notifData: NotificationList) => {\n const { notificationId: notifId, link, label } = notifData\n const res = await this.notifRead(notifId)\n\n if (res.status === 200) {\n this.notificationInfoData = {\n ...this.notificationInfoData,\n notificationList: this.notificationInfoData.notificationList\n ? this.notificationInfoData.notificationList.map(notifItem => ({\n ...notifItem,\n isRead:\n notifItem.notificationId === notifId ? true : notifItem.isRead,\n }))\n : [],\n }\n }\n\n this.pushDataLayer('notification_clicked', 'Information', label)\n if (link) {\n const url = this.handleNotificationUrlParam(link, 'Notification_Info')\n window.open(url, '_blank')\n }\n }\n\n private handleClickOutside(event: Event) {\n if (!this.isShowDropdown) return\n\n const popup = this.shadowRoot?.getElementById('headerNotification')\n const ev = event.composedPath()\n if (this.isShowDropdown && popup && !ev?.includes(popup as HTMLElement)) {\n this.isShowDropdown = false // Close the popup\n }\n }\n\n // Notification Info\n private notificationInfoSection() {\n const {\n notificationList,\n }: { notificationList: NotificationList[] | null } =\n this.notificationInfoData\n\n // Empty state\n if (!notificationList || !notificationList.length)\n return html`\n <div class=\"text-center px-4 pt-6 pb-18\">\n <img\n src=\"https://cdn-www.kompas.id/assets/empty-state-notification.png\"\n alt=\"empty-state-notification\"\n class=\"w-auto mx-auto\"\n />\n <p class=\"font-bold text-center text-lg py-2\">Belum Ada Notifikasi</p>\n <p class=\"px-2\">\n Kami akan memberitahukan Anda ketika ada informasi dan pemberitahuan\n terbaru.\n </p>\n </div>\n `\n\n const notificationInfoListTemplate = (item: NotificationList) => {\n const imgUrl =\n item.label === 'Akun'\n ? `https://cdn-www.kompas.id/assets/notifikasi-akun.svg`\n : `https://cdn-www.kompas.id/assets/langganan-anda-telah-berakhir.svg`\n\n return html`<div class=\"w-3/4 pr-1\">\n <div class=\"flex items-center mb-1 text-xs font-bold\">\n <span class=\"text-green-500 bg-green-100 rounded-sm p-1 px-2\">\n ${item.label}\n </span>\n <span class=\"text-grey-400 ml-2\"\n >${this.formatDate(item.time)}</span\n >\n </div>\n <div class=\"text-grey-600\">\n <p class=\"text-sm font-bold break-words\">${item.title}</p>\n <p class=\"text-sm\">${item.description}</p>\n </div>\n </div>\n <div class=\"w-1/4\">\n <img src=\"${imgUrl}\" alt=\"${item.label}-alt\" class=\"w-14 h-14\" />\n </div>`\n }\n\n return html`<div class=\"h-[300px] overflow-y-scroll\">\n ${notificationList.map(\n item =>\n html`<button\n class=\"flex w-full text-left items-start p-4 cursor-pointer justify-between ${!item.isRead\n ? 'bg-blue-100'\n : ''}\"\n @click=${() => this.redirectTo(item)}\n >\n ${notificationInfoListTemplate(item)}\n </button> `\n )}\n </div>\n <!-- Footer Link -->\n <div class=\"px-4 py-4 text-center\">\n <a href=\"#\" @click=\"${() =>\n this.redirectToNotification(\n 'info'\n )}\" class=\"text-base font-bold text-blue-500\">\n Lihat Selengkapnya</a\n >\n </div>\n </div>`\n }\n\n private redirectToNotification(tab: string) {\n window.open(\n `https://account.kompas.${this.domain}/manage-account/notification/${tab}`,\n '_blank'\n )\n }\n\n // Notification Content\n private notificationContentSection() {\n // Empty state\n if (!this.notificationContentData.length) {\n return html`\n <div class=\"text-center px-4 pt-6 pb-18\">\n <img\n src=\"https://cdn-www.kompas.id/assets/empty-state-notification.png\"\n alt=\"empty-state-notification\"\n class=\"w-auto mx-auto\"\n />\n <p class=\"font-bold text-center text-lg py-2\">Belum Ada Notifikasi</p>\n <p class=\"px-2\">\n Kami akan memberitahukan Anda ketika ada informasi dan pemberitahuan\n terbaru.\n </p>\n </div>\n `\n }\n const notificationContentListTemplate = (item: any) => html`<div\n class=\"w-3/4 pr-1 \"\n >\n <div class=\"flex items-center mb-1 text-xs font-bold\">\n <span class=\"text-green-500 bg-green-100 rounded-sm p-1 px-2\">\n ${item.category[0].name}\n </span>\n <span class=\"text-grey-400 ml-2\">\n ${this.formatDate(item.publishedDate)}</span\n >\n </div>\n <p class=\"font-bold text-sm text-grey-600 py-1 break-words\">\n ${item.title}\n </p>\n </div>\n <div class=\"w-1/4\">\n <img\n src=\"${item.thumbnails.sizes.thumbnailSquareMedium.permalink}\"\n alt=\"content-img-alt\"\n class=\"w-14 h-14 object-cover\"\n />\n </div>`\n\n return html`<div class=\"h-[300px] overflow-y-scroll\">\n ${this.notificationContentData.map(\n item =>\n html`<button\n class=\"flex w-full text-left items-start p-4 cursor-pointer justify-between ${!item.isRead\n ? 'bg-blue-100'\n : ''}\"\n @click=${() => {\n this.pushDataLayer('notification_clicked', 'Content', 'Content')\n window.open(\n this.handleNotificationUrlParam(\n item.permalink,\n 'Notification_Content'\n ),\n '_blank'\n )\n }}\n >\n ${notificationContentListTemplate(item)}\n </button> `\n )}\n </div>\n <!-- Footer Link -->\n <div class=\"px-4 py-4 text-center\">\n <a href=\"#\" @click=\"${() =>\n this.redirectToNotification(\n 'konten'\n )}\" class=\"text-base font-bold text-blue-500\">\n Lihat Selengkapnya</a\n >\n </div>\n </div>`\n }\n\n private notificationPopup() {\n const tab = ['Info', 'Konten']\n\n return html`\n <div\n id=\"notificationPopup\"\n class=\"header-notification-dropdown rounded-lg shadow-lg z-50 mt-2 ${this\n .isShowDropdown\n ? 'active'\n : ''}\"\n >\n <div class=\"sticky\">\n <div class=\"flex justify-center py-4 border-b border-grey-300\">\n <span class=\"font-bold text-base text-grey-700\">Notifikasi</span>\n </div>\n <!-- Tabs for Info and Content -->\n <div class=\"flex justify-between text-grey-400\">\n ${tab.map(\n item =>\n html`\n <button\n class=\"focus:outline-none font-bold py-2 w-1/2 ${this\n .selectedTab === item && 'link-active'}\"\n @click=${() => this.handleClick(item)}\n >\n ${item}\n </button>\n `\n )}\n </div>\n </div>\n\n <!-- Notification Content -->\n ${this.selectedTab === 'Info'\n ? this.notificationInfoSection()\n : this.notificationContentSection()}\n </div>\n `\n }\n\n private getParamsData(tab?: string, type?: string): any {\n let notificationData = {}\n let notifType = type\n\n if (type && tab) {\n if (type !== 'Content') {\n switch (true) {\n case /langganan/i.test(type):\n notifType = 'Subscription'\n break\n case type === 'Akun':\n notifType = 'Account'\n break\n case /bayar/i.test(type):\n notifType = 'Payment'\n break\n default:\n notifType = 'Information'\n break\n }\n }\n\n notificationData = {\n notification_tab: tab,\n notification_type: notifType,\n }\n }\n\n const data = {\n user_type: this.tracker_user_type,\n subscription_status: this.tracker_subscription_status,\n page_domain: this.tracker_page_domain || 'Kompas.id',\n metered_wall_type: this.tracker_metered_wall_type || 'FP',\n metered_wall_balance: this.tracker_metered_wall_balance,\n }\n\n return {\n ...notificationData,\n ...data,\n }\n }\n\n private pushDataLayer(eventName: string, tab?: string, type?: string): void {\n const data = this.getParamsData(tab, type)\n window.dataLayer.push({\n event: eventName,\n ...data,\n })\n }\n\n render() {\n return html`<div id=\"headerNotification\" class=\"relative\">\n ${this.isDataLoaded\n ? this.notificationIcon()\n : html`<div class=\"text-white cursor-pointer mt-0.5 animate-spin\">\n ${unsafeSVG(getFontAwesomeIcon('fa', 'circle-notch', 21, 21))}\n </div>`}\n ${this.isShowDropdown ? this.notificationPopup() : ''}\n </div>`\n }\n}\n"]}
1
+ {"version":3,"file":"KompasHeaderNotification.js","sourceRoot":"","sources":["../../../../src/components/kompasid-header-notification/KompasHeaderNotification.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, css } from 'lit'\nimport { format, isToday, formatDistanceStrict, subDays } from 'date-fns'\nimport { id } from 'date-fns/locale/id'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js'\nimport { getFontAwesomeIcon } from '../../utils/fontawesome-setup.js'\nimport { TWStyles } from '../../../tailwind/tailwind.js'\nimport {\n UserNotification,\n NotificationList,\n ApiResponse,\n ApiRubrikResponse,\n} from './types.js'\nimport { customFetch } from './utils.js'\nimport { getHeaderTheme } from '../../utils/getHeaderTheme.js'\n\n@customElement('kompasid-header-notification')\nexport class KompasHeaderNotification extends LitElement {\n static styles = [\n css`\n :host {\n font-family: 'PT Sans', sans-serif;\n }\n\n .header-account--notification-indicator {\n position: absolute;\n top: 0;\n height: 0.5rem;\n width: 0.5rem;\n background-color: #ff7a00;\n border-radius: 50%;\n right: 0.03rem;\n top: 0.09rem;\n border: 1.2px solid white;\n }\n\n .break-words {\n overflow-wrap: break-word;\n }\n\n .header-notification-dropdown {\n width: 20.5rem;\n background-color: #ffffff;\n font-family: 'PT Sans', sans-serif;\n font-size: 0.875rem;\n position: absolute;\n right: -7.5vmax;\n }\n\n .w-14 {\n width: 3.25rem;\n }\n\n .pb-18 {\n padding-bottom: 4.5rem;\n }\n\n .h-\\\\[300px\\\\] {\n height: 300px;\n }\n\n .h-14 {\n height: 3.25rem;\n }\n\n .bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(238 252 210 / var(--tw-bg-opacity));\n }\n\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n\n .link-active {\n color: #0468cb;\n border-color: #0468cb;\n border-bottom-width: 3px;\n background-color: transparent !important;\n }\n\n .animate-spin {\n animation: spin 2s linear infinite;\n }\n\n @keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n\n .object-cover {\n object-fit: cover;\n }\n\n .z-index-max {\n z-index: 99999;\n }\n\n /* Custom Scrollbar for header */\n /* width */\n ::-webkit-scrollbar {\n width: 4px;\n }\n\n /* Track */\n ::-webkit-scrollbar-track {\n background: transparent;\n }\n\n /* Handle */\n ::-webkit-scrollbar-thumb {\n background: #0356a8;\n border-radius: 100px;\n }\n\n /* Handle on hover */\n ::-webkit-scrollbar-thumb:hover {\n background: #0356a8;\n }\n\n @media (min-width: 1024px) {\n .header-notification-dropdown {\n right: -4vmax;\n }\n }\n\n @media (max-width: 360px) {\n .header-notification-dropdown {\n right: -10vmax;\n }\n }\n `,\n TWStyles,\n ]\n\n @state() isShowDropdown: boolean = false\n @state() selectedTab: string = 'Info'\n @state() notificationInfoData: UserNotification = {} as UserNotification\n @state() notificationContentData: any[] = []\n @state() isDataLoaded: boolean = false\n\n /*\n * property accessToken is the access token of the user\n * property refreshToken is the refresh token of the user\n * property domain is the domain of the API based on website\n * property tracker_user_type is the type of user based on their subscription\n * property tracker_subscription_status is the status of their subscription\n * property tracker_page_domain is the page domain\n * property tracker_metered_wall_type is the type of metered wall\n * property tracker_metered_wall_balance is the balance of their metered wall\n */\n\n @property({ type: String }) accessToken = ''\n @property({ type: String }) refreshToken = ''\n @property({ type: String }) domain = 'id' // 'id' | 'cloud'\n @property({ type: String }) theme: 'default' | 'primary' = 'default'\n\n @property({ type: String }) tracker_user_type = ''\n @property({ type: String }) tracker_subscription_status = ''\n @property({ type: String }) tracker_page_domain = ''\n @property({ type: String }) tracker_metered_wall_type = ''\n @property({ type: Number }) tracker_metered_wall_balance = 0\n\n constructor() {\n super()\n this.handleClickOutside = this.handleClickOutside.bind(this)\n }\n\n /**\n * Function to format date\n */\n formatDate(date: string) {\n // Check if the provided date is today\n let result\n if (isToday(date)) {\n // Return time difference if it's today (e.g., \"7 hours ago\")\n result = `${formatDistanceStrict(date, new Date(), { locale: id })} lalu`\n } else {\n // Return formatted date (e.g., \"12 Sep 2024, 09:00\")\n result = format(date, 'dd MMM yyyy, HH:mm', { locale: id })\n }\n return result\n }\n\n override async connectedCallback() {\n super.connectedCallback()\n this.isShowDropdown = false\n\n if ((this.accessToken || this.refreshToken) && this.domain)\n await this.loadData()\n document.addEventListener('click', this.handleClickOutside)\n }\n\n override async disconnectedCallback() {\n super.disconnectedCallback()\n document.removeEventListener('click', this.handleClickOutside)\n }\n\n private async apiFetch(url: string, options: any) {\n const response = await customFetch(\n url,\n this.refreshToken,\n this.accessToken,\n this.domain,\n { ...options }\n )\n\n return response\n }\n\n private async getNotifRubrik() {\n const req = this.apiFetch(\n `https://cds.kompas.${this.domain}/api/v1/article/pilihanku`,\n {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n }\n )\n return req\n }\n\n private async getNotifList() {\n const req = await this.apiFetch(\n `https://api.kompas.${this.domain}/account/api/v1/users/notification`,\n {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n }\n )\n return req\n }\n\n private async getEpaperData() {\n const formatDate = 'yyyy/MM/dd'\n const startDate = format(subDays(new Date(), 1), formatDate)\n const endDate = format(new Date(), formatDate).toString()\n const req = await this.apiFetch(\n `https://apiepaper.kompas.${this.domain}/products?startDate=${startDate}&endDate=${endDate}&sort=desc`,\n {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n }\n )\n\n return req\n }\n\n private async notifRead(notifId: string) {\n const req = await this.apiFetch(\n `https://api.kompas.${this.domain}/account/api/v1/users/notification/read`,\n {\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PUT',\n body: JSON.stringify({\n notificationId: notifId,\n }),\n }\n )\n return req\n }\n\n private async loadData() {\n const apiCalls = [\n this.getNotifList(),\n this.getNotifRubrik(),\n this.getEpaperData(),\n ]\n this.isDataLoaded = false\n\n Promise.all(apiCalls)\n .then(responses =>\n Promise.all(responses.map(response => response.json()))\n )\n .then(values => {\n this.notificationInfoData = (\n values[0] as ApiResponse<UserNotification>\n ).data\n this.notificationInfoData.notificationList =\n this.notificationInfoData.notificationList || []\n const rubrikData = (values[1] as ApiRubrikResponse<any>).result || []\n const ePaperData = (values[2] as ApiResponse<any>).data[0] || {}\n\n const { publishDate, description, thumbnail, title, url } = ePaperData\n\n const data = {\n title,\n category: [{ name: 'ePaper', slug: 'epaper' }],\n publishedDate: format(new Date(publishDate), 'yyyy-MM-dd HH:mm:ss'),\n permalink: url,\n thumbnails: {\n sizes: { thumbnailSquareMedium: { permalink: thumbnail } },\n },\n excerpt: description,\n }\n\n this.notificationContentData = [data, ...rubrikData]\n this.notificationContentData.sort(\n (a: any, b: any) =>\n new Date(b.publishedDate).getTime() -\n new Date(a.publishedDate).getTime()\n )\n\n this.isDataLoaded = true\n })\n }\n\n private toggleDropdown() {\n this.isShowDropdown = !this.isShowDropdown\n\n // if opened, fire the datalayer\n if (this.isShowDropdown) this.pushDataLayer('notification_opened')\n }\n\n private notificationIcon() {\n const notificationIndicator = () => {\n if (!this.notificationInfoData.notificationCount) return html``\n return html`<div class=\"header-account--notification-indicator\"></div>`\n }\n\n return html`\n <button\n @click=${this.toggleDropdown}\n class=\"cursor-pointer relative flex items-center\"\n >\n ${notificationIndicator()}\n <div class=\"flex flex-row items-center self-center\">\n <div\n class=\"cursor-pointer mt-0.5 ${getHeaderTheme({\n icon: this.theme,\n })}\"\n >\n ${unsafeSVG(getFontAwesomeIcon('fas', 'bell', 21, 21))}\n </div>\n </div>\n </button>\n `\n }\n\n private handleClick = (value: string) => {\n this.selectedTab = value\n }\n\n private handleNotificationUrlParam = (url: string, type: string) => {\n const params = {\n open_from: type,\n }\n const newUrl = new URL(decodeURIComponent(url))\n if (newUrl.search) {\n for (const [key, value] of Object.entries(params)) {\n if (!newUrl.searchParams.has(key)) {\n newUrl.searchParams.append(key, value)\n }\n }\n } else {\n newUrl.search = new URLSearchParams(params).toString()\n }\n\n return newUrl.toString()\n }\n\n private redirectTo = async (notifData: NotificationList) => {\n const { notificationId: notifId, link, label } = notifData\n const res = await this.notifRead(notifId)\n\n if (res.status === 200) {\n this.notificationInfoData = {\n ...this.notificationInfoData,\n notificationList: this.notificationInfoData.notificationList\n ? this.notificationInfoData.notificationList.map(notifItem => ({\n ...notifItem,\n isRead:\n notifItem.notificationId === notifId ? true : notifItem.isRead,\n }))\n : [],\n }\n }\n\n this.pushDataLayer('notification_clicked', 'Information', label)\n if (link) {\n const url = this.handleNotificationUrlParam(link, 'Notification_Info')\n window.open(url, '_blank')\n }\n }\n\n private handleClickOutside(event: Event) {\n if (!this.isShowDropdown) return\n\n const popup = this.shadowRoot?.getElementById('headerNotification')\n const ev = event.composedPath()\n if (this.isShowDropdown && popup && !ev?.includes(popup as HTMLElement)) {\n this.isShowDropdown = false // Close the popup\n }\n }\n\n // Notification Info\n private notificationInfoSection() {\n const {\n notificationList,\n }: { notificationList: NotificationList[] | null } =\n this.notificationInfoData\n\n // Empty state\n if (!notificationList || !notificationList.length)\n return html`\n <div class=\"text-center px-4 pt-6 pb-18\">\n <img\n src=\"https://cdn-www.kompas.id/assets/empty-state-notification.png\"\n alt=\"empty-state-notification\"\n class=\"w-auto mx-auto\"\n />\n <p class=\"font-bold text-center text-lg py-2\">Belum Ada Notifikasi</p>\n <p class=\"px-2\">\n Kami akan memberitahukan Anda ketika ada informasi dan pemberitahuan\n terbaru.\n </p>\n </div>\n `\n\n const notificationInfoListTemplate = (item: NotificationList) => {\n const imgUrl =\n item.label === 'Akun'\n ? `https://cdn-www.kompas.id/assets/notifikasi-akun.svg`\n : `https://cdn-www.kompas.id/assets/langganan-anda-telah-berakhir.svg`\n\n return html`<div class=\"w-3/4 pr-1\">\n <div class=\"flex items-center mb-1 text-xs font-bold\">\n <span class=\"text-green-500 bg-green-100 rounded-sm p-1 px-2\">\n ${item.label}\n </span>\n <span class=\"text-grey-400 ml-2\"\n >${this.formatDate(item.time)}</span\n >\n </div>\n <div class=\"text-grey-600\">\n <p class=\"text-sm font-bold break-words\">${item.title}</p>\n <p class=\"text-sm\">${item.description}</p>\n </div>\n </div>\n <div class=\"w-1/4\">\n <img src=\"${imgUrl}\" alt=\"${item.label}-alt\" class=\"w-14 h-14\" />\n </div>`\n }\n\n return html`<div class=\"h-[300px] overflow-y-scroll\">\n ${notificationList.map(\n item =>\n html`<button\n class=\"flex w-full text-left items-start p-4 cursor-pointer justify-between ${!item.isRead\n ? 'bg-blue-100'\n : ''}\"\n @click=${() => this.redirectTo(item)}\n >\n ${notificationInfoListTemplate(item)}\n </button> `\n )}\n </div>\n <!-- Footer Link -->\n <div class=\"px-4 py-4 text-center\">\n <a href=\"#\" @click=\"${() =>\n this.redirectToNotification(\n 'info'\n )}\" class=\"text-base font-bold text-blue-500\">\n Lihat Selengkapnya</a\n >\n </div>\n </div>`\n }\n\n private redirectToNotification(tab: string) {\n window.open(\n `https://account.kompas.${this.domain}/manage-account/notification/${tab}`,\n '_blank'\n )\n }\n\n // Notification Content\n private notificationContentSection() {\n // Empty state\n if (!this.notificationContentData.length) {\n return html`\n <div class=\"text-center px-4 pt-6 pb-18\">\n <img\n src=\"https://cdn-www.kompas.id/assets/empty-state-notification.png\"\n alt=\"empty-state-notification\"\n class=\"w-auto mx-auto\"\n />\n <p class=\"font-bold text-center text-lg py-2\">Belum Ada Notifikasi</p>\n <p class=\"px-2\">\n Kami akan memberitahukan Anda ketika ada informasi dan pemberitahuan\n terbaru.\n </p>\n </div>\n `\n }\n const notificationContentListTemplate = (item: any) => html`<div\n class=\"w-3/4 pr-1 \"\n >\n <div class=\"flex items-center mb-1 text-xs font-bold\">\n <span class=\"text-green-500 bg-green-100 rounded-sm p-1 px-2\">\n ${item.category[0].name}\n </span>\n <span class=\"text-grey-400 ml-2\">\n ${this.formatDate(item.publishedDate)}</span\n >\n </div>\n <p class=\"font-bold text-sm text-grey-600 py-1 break-words\">\n ${item.title}\n </p>\n </div>\n <div class=\"w-1/4\">\n <img\n src=\"${item.thumbnails.sizes.thumbnailSquareMedium.permalink}\"\n alt=\"content-img-alt\"\n class=\"w-14 h-14 object-cover\"\n />\n </div>`\n\n return html`<div class=\"h-[300px] overflow-y-scroll\">\n ${this.notificationContentData.map(\n item =>\n html`<button\n class=\"flex w-full text-left items-start p-4 cursor-pointer justify-between ${!item.isRead\n ? 'bg-blue-100'\n : ''}\"\n @click=${() => {\n this.pushDataLayer('notification_clicked', 'Content', 'Content')\n window.open(\n this.handleNotificationUrlParam(\n item.permalink,\n 'Notification_Content'\n ),\n '_blank'\n )\n }}\n >\n ${notificationContentListTemplate(item)}\n </button> `\n )}\n </div>\n <!-- Footer Link -->\n <div class=\"px-4 py-4 text-center\">\n <a href=\"#\" @click=\"${() =>\n this.redirectToNotification(\n 'konten'\n )}\" class=\"text-base font-bold text-blue-500\">\n Lihat Selengkapnya</a\n >\n </div>\n </div>`\n }\n\n private notificationPopup() {\n const tab = ['Info', 'Konten']\n\n return html`\n <div\n id=\"notificationPopup\"\n class=\"header-notification-dropdown rounded-lg shadow-lg z-50 mt-2 ${this\n .isShowDropdown\n ? 'active'\n : ''}\"\n >\n <div class=\"sticky\">\n <div class=\"flex justify-center py-4 border-b border-grey-300\">\n <span class=\"font-bold text-base text-grey-700\">Notifikasi</span>\n </div>\n <!-- Tabs for Info and Content -->\n <div class=\"flex justify-between text-grey-400\">\n ${tab.map(\n item =>\n html`\n <button\n class=\"focus:outline-none font-bold py-2 w-1/2 ${this\n .selectedTab === item && 'link-active'}\"\n @click=${() => this.handleClick(item)}\n >\n ${item}\n </button>\n `\n )}\n </div>\n </div>\n\n <!-- Notification Content -->\n ${this.selectedTab === 'Info'\n ? this.notificationInfoSection()\n : this.notificationContentSection()}\n </div>\n `\n }\n\n private getParamsData(tab?: string, type?: string): any {\n let notificationData = {}\n let notifType = type\n\n if (type && tab) {\n if (type !== 'Content') {\n switch (true) {\n case /langganan/i.test(type):\n notifType = 'Subscription'\n break\n case type === 'Akun':\n notifType = 'Account'\n break\n case /bayar/i.test(type):\n notifType = 'Payment'\n break\n default:\n notifType = 'Information'\n break\n }\n }\n\n notificationData = {\n notification_tab: tab,\n notification_type: notifType,\n }\n }\n\n const data = {\n user_type: this.tracker_user_type,\n subscription_status: this.tracker_subscription_status,\n page_domain: this.tracker_page_domain || 'Kompas.id',\n metered_wall_type: this.tracker_metered_wall_type || 'FP',\n metered_wall_balance: this.tracker_metered_wall_balance,\n }\n\n return {\n ...notificationData,\n ...data,\n }\n }\n\n private pushDataLayer(eventName: string, tab?: string, type?: string): void {\n const data = this.getParamsData(tab, type)\n window.dataLayer.push({\n event: eventName,\n ...data,\n })\n }\n\n render() {\n return html`<div id=\"headerNotification\" class=\"relative\">\n ${this.isDataLoaded\n ? this.notificationIcon()\n : html`<div\n class=\"cursor-pointer mt-0.5 animate-spin ${getHeaderTheme({\n icon: this.theme,\n })}\"\n >\n ${unsafeSVG(getFontAwesomeIcon('fa', 'circle-notch', 21, 21))}\n </div>`}\n ${this.isShowDropdown ? this.notificationPopup() : ''}\n </div>`\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const getHeaderTheme: (props?: import("class-variance-authority/dist/types").ClassProp | ({
2
+ [x: string]: string | number | symbol | null | undefined;
3
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
@@ -0,0 +1,17 @@
1
+ // eslint-disable-next-line import/no-extraneous-dependencies
2
+ import { cva } from 'class-variance-authority';
3
+ let responseData;
4
+ await fetch('https://cdn-www.kompas.id/global-header/theme.json', {
5
+ method: 'GET',
6
+ headers: {
7
+ 'Content-Type': 'application/json',
8
+ },
9
+ })
10
+ .then(response => response.json())
11
+ .then(data => {
12
+ responseData = data;
13
+ });
14
+ export const getHeaderTheme = cva('', {
15
+ variants: responseData.header,
16
+ });
17
+ //# sourceMappingURL=getHeaderTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getHeaderTheme.js","sourceRoot":"","sources":["../../../src/utils/getHeaderTheme.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAA;AAE9C,IAAI,YAAY,CAAA;AAEhB,MAAM,KAAK,CAAC,oDAAoD,EAAE;IAChE,MAAM,EAAE,KAAK;IACb,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;KACnC;CACF,CAAC;KACC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACjC,IAAI,CAAC,IAAI,CAAC,EAAE;IACX,YAAY,GAAG,IAAI,CAAA;AACrB,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC,EAAE,EAAE;IACpC,QAAQ,EAAG,YAAoB,CAAC,MAAM;CACvC,CAAC,CAAA","sourcesContent":["// eslint-disable-next-line import/no-extraneous-dependencies\nimport { cva } from 'class-variance-authority'\n\nlet responseData\n\nawait fetch('https://cdn-www.kompas.id/global-header/theme.json', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n})\n .then(response => response.json())\n .then(data => {\n responseData = data\n })\n\nexport const getHeaderTheme = cva('', {\n variants: (responseData as any).header,\n})\n"]}
@@ -822,14 +822,6 @@ Constrain images and videos to the parent width and preserve their intrinsic asp
822
822
  height: 4rem;
823
823
  }
824
824
 
825
- .h-2 {
826
- height: 0.5rem;
827
- }
828
-
829
- .h-2\\.5 {
830
- height: 0.625rem;
831
- }
832
-
833
825
  .h-20 {
834
826
  height: 5rem;
835
827
  }
@@ -919,14 +911,6 @@ Constrain images and videos to the parent width and preserve their intrinsic asp
919
911
  width: 4rem;
920
912
  }
921
913
 
922
- .w-2 {
923
- width: 0.5rem;
924
- }
925
-
926
- .w-2\\.5 {
927
- width: 0.625rem;
928
- }
929
-
930
914
  .w-2\\/3 {
931
915
  width: 66.666667%;
932
916
  }
@@ -935,6 +919,10 @@ Constrain images and videos to the parent width and preserve their intrinsic asp
935
919
  width: 5rem;
936
920
  }
937
921
 
922
+ .w-3 {
923
+ width: 0.75rem;
924
+ }
925
+
938
926
  .w-3\\/4 {
939
927
  width: 75%;
940
928
  }
@@ -1230,6 +1218,10 @@ Constrain images and videos to the parent width and preserve their intrinsic asp
1230
1218
  white-space: nowrap;
1231
1219
  }
1232
1220
 
1221
+ .break-words {
1222
+ overflow-wrap: break-word;
1223
+ }
1224
+
1233
1225
  .rounded {
1234
1226
  border-radius: 0.25rem;
1235
1227
  }
@@ -1892,6 +1884,11 @@ Constrain images and videos to the parent width and preserve their intrinsic asp
1892
1884
  color: rgb(51 51 51 / var(--tw-text-opacity));
1893
1885
  }
1894
1886
 
1887
+ .text-grey-700 {
1888
+ --tw-text-opacity: 1;
1889
+ color: rgb(0 0 0 / var(--tw-text-opacity));
1890
+ }
1891
+
1895
1892
  .text-orange-400 {
1896
1893
  --tw-text-opacity: 1;
1897
1894
  color: rgb(255 122 0 / var(--tw-text-opacity));
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind.js","sourceRoot":"","sources":["../../tailwind/tailwind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAk9E1B,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport const TWStyles = css`\n /*\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\n*/\n\n /*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n *,\n ::before,\n ::after {\n box-sizing: border-box;\n /* 1 */\n border-width: 0;\n /* 2 */\n border-style: solid;\n /* 2 */\n border-color: currentColor;\n /* 2 */\n }\n\n ::before,\n ::after {\n --tw-content: '';\n }\n\n /*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured sans font-family by default.\n5. Use the user's configured sans font-feature-settings by default.\n6. Use the user's configured sans font-variation-settings by default.\n*/\n\n html {\n line-height: 1.5;\n /* 1 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n -moz-tab-size: 4;\n /* 3 */\n -o-tab-size: 4;\n tab-size: 4;\n /* 3 */\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,\n 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n /* 4 */\n font-feature-settings: normal;\n /* 5 */\n font-variation-settings: normal;\n /* 6 */\n }\n\n /*\n1. Remove the margin in all browsers.\n2. Inherit line-height from html so users can set them as a class directly on the html element.\n*/\n\n body {\n margin: 0;\n /* 1 */\n line-height: inherit;\n /* 2 */\n }\n\n /*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\n hr {\n height: 0;\n /* 1 */\n color: inherit;\n /* 2 */\n border-top-width: 1px;\n /* 3 */\n }\n\n /*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n\n /*\nRemove the default font size and weight for headings.\n*/\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n /*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\n a {\n color: inherit;\n text-decoration: inherit;\n }\n\n /*\nAdd the correct font weight in Edge and Safari.\n*/\n\n b,\n strong {\n font-weight: bolder;\n }\n\n /*\n1. Use the user's configured mono font family by default.\n2. Correct the odd em font sizing in all browsers.\n*/\n\n code,\n kbd,\n samp,\n pre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,\n 'Liberation Mono', 'Courier New', monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n }\n\n /*\nAdd the correct font size in all browsers.\n*/\n\n small {\n font-size: 80%;\n }\n\n /*\nPrevent sub and sup elements from affecting the line height in all browsers.\n*/\n\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n\n sub {\n bottom: -0.25em;\n }\n\n sup {\n top: -0.5em;\n }\n\n /*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\n table {\n text-indent: 0;\n /* 1 */\n border-color: inherit;\n /* 2 */\n border-collapse: collapse;\n /* 3 */\n }\n\n /*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n /* 1 */\n font-feature-settings: inherit;\n /* 1 */\n font-variation-settings: inherit;\n /* 1 */\n font-size: 100%;\n /* 1 */\n font-weight: inherit;\n /* 1 */\n line-height: inherit;\n /* 1 */\n color: inherit;\n /* 1 */\n margin: 0;\n /* 2 */\n padding: 0;\n /* 3 */\n }\n\n /*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\n button,\n select {\n text-transform: none;\n }\n\n /*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\n button,\n [type='button'],\n [type='reset'],\n [type='submit'] {\n -webkit-appearance: button;\n /* 1 */\n background-color: transparent;\n /* 2 */\n background-image: none;\n /* 2 */\n }\n\n /*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n :-moz-focusring {\n outline: auto;\n }\n\n /*\nRemove the additional :invalid styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n :-moz-ui-invalid {\n box-shadow: none;\n }\n\n /*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\n progress {\n vertical-align: baseline;\n }\n\n /*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n\n /*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n [type='search'] {\n -webkit-appearance: textfield;\n /* 1 */\n outline-offset: -2px;\n /* 2 */\n }\n\n /*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n /*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to inherit in Safari.\n*/\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n /* 1 */\n font: inherit;\n /* 2 */\n }\n\n /*\nAdd the correct display in Chrome and Safari.\n*/\n\n summary {\n display: list-item;\n }\n\n /*\nRemoves the default spacing and border for appropriate elements.\n*/\n\n blockquote,\n dl,\n dd,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n hr,\n figure,\n p,\n pre {\n margin: 0;\n }\n\n fieldset {\n margin: 0;\n padding: 0;\n }\n\n legend {\n padding: 0;\n }\n\n ol,\n ul,\n menu {\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n /*\nReset default styling for dialogs.\n*/\n\n dialog {\n padding: 0;\n }\n\n /*\nPrevent resizing textareas horizontally by default.\n*/\n\n textarea {\n resize: vertical;\n }\n\n /*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\n input::-moz-placeholder,\n textarea::-moz-placeholder {\n opacity: 1;\n /* 1 */\n color: #9ca3af;\n /* 2 */\n }\n\n input::placeholder,\n textarea::placeholder {\n opacity: 1;\n /* 1 */\n color: #9ca3af;\n /* 2 */\n }\n\n /*\nSet the default cursor for buttons.\n*/\n\n button,\n [role='button'] {\n cursor: pointer;\n }\n\n /*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n\n :disabled {\n cursor: default;\n }\n\n /*\n1. Make replaced elements display: block by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add vertical-align: middle to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n /* 1 */\n vertical-align: middle;\n /* 2 */\n }\n\n /*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n\n /* Make elements with the HTML hidden attribute stay hidden by default */\n\n [hidden] {\n display: none;\n }\n\n *,\n ::before,\n ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(4 104 203 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n }\n\n ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(4 104 203 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n }\n\n .collapse {\n visibility: collapse;\n }\n\n .static {\n position: static;\n }\n\n .fixed {\n position: fixed;\n }\n\n .absolute {\n position: absolute;\n }\n\n .relative {\n position: relative;\n }\n\n .sticky {\n position: sticky;\n }\n\n .inset-0 {\n inset: 0px;\n }\n\n .-bottom-6 {\n bottom: -1.5rem;\n }\n\n .-top-2 {\n top: -0.5rem;\n }\n\n .bottom-0 {\n bottom: 0px;\n }\n\n .left-0 {\n left: 0px;\n }\n\n .left-4 {\n left: 1rem;\n }\n\n .right-0 {\n right: 0px;\n }\n\n .top-0 {\n top: 0px;\n }\n\n .z-0 {\n z-index: 0;\n }\n\n .z-10 {\n z-index: 10;\n }\n\n .z-20 {\n z-index: 20;\n }\n\n .z-50 {\n z-index: 50;\n }\n\n .col-span-2 {\n grid-column: span 2 / span 2;\n }\n\n .col-span-4 {\n grid-column: span 4 / span 4;\n }\n\n .m-auto {\n margin: auto;\n }\n\n .mx-1 {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n }\n\n .mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n }\n\n .mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n }\n\n .mx-auto {\n margin-left: auto;\n margin-right: auto;\n }\n\n .my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .my-5 {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n\n .my-6 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n\n .-ml-2 {\n margin-left: -0.5rem;\n }\n\n .-mt-24 {\n margin-top: -6rem;\n }\n\n .-mt-7 {\n margin-top: -1.75rem;\n }\n\n .mb-0 {\n margin-bottom: 0px;\n }\n\n .mb-1 {\n margin-bottom: 0.25rem;\n }\n\n .mb-2 {\n margin-bottom: 0.5rem;\n }\n\n .mb-3 {\n margin-bottom: 0.75rem;\n }\n\n .mb-4 {\n margin-bottom: 1rem;\n }\n\n .mb-5 {\n margin-bottom: 1.25rem;\n }\n\n .mb-6 {\n margin-bottom: 1.5rem;\n }\n\n .ml-0 {\n margin-left: 0px;\n }\n\n .ml-0\\\\.5 {\n margin-left: 0.125rem;\n }\n\n .ml-1 {\n margin-left: 0.25rem;\n }\n\n .ml-2 {\n margin-left: 0.5rem;\n }\n\n .ml-3 {\n margin-left: 0.75rem;\n }\n\n .ml-8 {\n margin-left: 2rem;\n }\n\n .ml-auto {\n margin-left: auto;\n }\n\n .mr-10 {\n margin-right: 2.5rem;\n }\n\n .mr-3 {\n margin-right: 0.75rem;\n }\n\n .mr-3\\\\.5 {\n margin-right: 0.875rem;\n }\n\n .mr-4 {\n margin-right: 1rem;\n }\n\n .mr-6 {\n margin-right: 1.5rem;\n }\n\n .mt-0 {\n margin-top: 0px;\n }\n\n .mt-0\\\\.5 {\n margin-top: 0.125rem;\n }\n\n .mt-1 {\n margin-top: 0.25rem;\n }\n\n .mt-2 {\n margin-top: 0.5rem;\n }\n\n .mt-2\\\\.5 {\n margin-top: 0.625rem;\n }\n\n .mt-3 {\n margin-top: 0.75rem;\n }\n\n .mt-4 {\n margin-top: 1rem;\n }\n\n .mt-6 {\n margin-top: 1.5rem;\n }\n\n .mt-8 {\n margin-top: 2rem;\n }\n\n .block {\n display: block;\n }\n\n .flex {\n display: flex;\n }\n\n .grid {\n display: grid;\n }\n\n .hidden {\n display: none;\n }\n\n .aspect-video {\n aspect-ratio: 16 / 9;\n }\n\n .h-10 {\n height: 2.5rem;\n }\n\n .h-12 {\n height: 3rem;\n }\n\n .h-14 {\n height: 3.5rem;\n }\n\n .h-16 {\n height: 4rem;\n }\n\n .h-2 {\n height: 0.5rem;\n }\n\n .h-2\\\\.5 {\n height: 0.625rem;\n }\n\n .h-20 {\n height: 5rem;\n }\n\n .h-3 {\n height: 0.75rem;\n }\n\n .h-4 {\n height: 1rem;\n }\n\n .h-5 {\n height: 1.25rem;\n }\n\n .h-6 {\n height: 1.5rem;\n }\n\n .h-8 {\n height: 2rem;\n }\n\n .h-9 {\n height: 2.25rem;\n }\n\n .h-\\\\[17px\\\\] {\n height: 17px;\n }\n\n .h-\\\\[300px\\\\] {\n height: 300px;\n }\n\n .h-\\\\[68px\\\\] {\n height: 68px;\n }\n\n .h-\\\\[76px\\\\] {\n height: 76px;\n }\n\n .h-auto {\n height: auto;\n }\n\n .h-full {\n height: 100%;\n }\n\n .h-max {\n height: -moz-max-content;\n height: max-content;\n }\n\n .w-1\\\\/2 {\n width: 50%;\n }\n\n .w-1\\\\/3 {\n width: 33.333333%;\n }\n\n .w-1\\\\/4 {\n width: 25%;\n }\n\n .w-1\\\\/5 {\n width: 20%;\n }\n\n .w-10 {\n width: 2.5rem;\n }\n\n .w-11\\\\/12 {\n width: 91.666667%;\n }\n\n .w-14 {\n width: 3.5rem;\n }\n\n .w-16 {\n width: 4rem;\n }\n\n .w-2 {\n width: 0.5rem;\n }\n\n .w-2\\\\.5 {\n width: 0.625rem;\n }\n\n .w-2\\\\/3 {\n width: 66.666667%;\n }\n\n .w-20 {\n width: 5rem;\n }\n\n .w-3\\\\/4 {\n width: 75%;\n }\n\n .w-32 {\n width: 8rem;\n }\n\n .w-4 {\n width: 1rem;\n }\n\n .w-40 {\n width: 10rem;\n }\n\n .w-5 {\n width: 1.25rem;\n }\n\n .w-6 {\n width: 1.5rem;\n }\n\n .w-60 {\n width: 15rem;\n }\n\n .w-76 {\n width: 19rem;\n }\n\n .w-8 {\n width: 2rem;\n }\n\n .w-9 {\n width: 2.25rem;\n }\n\n .w-\\\\[120px\\\\] {\n width: 120px;\n }\n\n .w-\\\\[138px\\\\] {\n width: 138px;\n }\n\n .w-\\\\[296px\\\\] {\n width: 296px;\n }\n\n .w-\\\\[328px\\\\] {\n width: 328px;\n }\n\n .w-auto {\n width: auto;\n }\n\n .w-full {\n width: 100%;\n }\n\n .w-screen {\n width: 100vw;\n }\n\n .max-w-7xl {\n max-width: 80rem;\n }\n\n .max-w-screen-md {\n max-width: 768px;\n }\n\n .max-w-screen-sm {\n max-width: 640px;\n }\n\n .max-w-xl {\n max-width: 36rem;\n }\n\n .max-w-xs {\n max-width: 20rem;\n }\n\n .flex-none {\n flex: none;\n }\n\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n\n .shrink-0 {\n flex-shrink: 0;\n }\n\n .flex-grow {\n flex-grow: 1;\n }\n\n .rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y))\n rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))\n scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y))\n rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))\n scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n @keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n }\n\n .animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n }\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n .animate-spin {\n animation: spin 1s linear infinite;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .grid-flow-row {\n grid-auto-flow: row;\n }\n\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n\n .grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n\n .grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n }\n\n .flex-row {\n flex-direction: row;\n }\n\n .flex-col {\n flex-direction: column;\n }\n\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .flex-wrap {\n flex-wrap: wrap;\n }\n\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .place-items-center {\n place-items: center;\n }\n\n .items-start {\n align-items: flex-start;\n }\n\n .items-center {\n align-items: center;\n }\n\n .justify-start {\n justify-content: flex-start;\n }\n\n .justify-end {\n justify-content: flex-end;\n }\n\n .justify-center {\n justify-content: center;\n }\n\n .justify-between {\n justify-content: space-between;\n }\n\n .justify-evenly {\n justify-content: space-evenly;\n }\n\n .gap-4 {\n gap: 1rem;\n }\n\n .gap-6 {\n gap: 1.5rem;\n }\n\n .gap-8 {\n gap: 2rem;\n }\n\n .gap-y-2 {\n row-gap: 0.5rem;\n }\n\n .gap-y-4 {\n row-gap: 1rem;\n }\n\n .space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.25rem * var(--tw-space-x-reverse));\n margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n }\n\n .space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n }\n\n .space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n }\n\n .self-center {\n align-self: center;\n }\n\n .overflow-hidden {\n overflow: hidden;\n }\n\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n\n .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .whitespace-nowrap {\n white-space: nowrap;\n }\n\n .rounded {\n border-radius: 0.25rem;\n }\n\n .rounded-\\\\[10px\\\\] {\n border-radius: 10px;\n }\n\n .rounded-full {\n border-radius: 9999px;\n }\n\n .rounded-lg {\n border-radius: 0.5rem;\n }\n\n .rounded-md {\n border-radius: 0.375rem;\n }\n\n .rounded-sm {\n border-radius: 0.125rem;\n }\n\n .rounded-xl {\n border-radius: 0.75rem;\n }\n\n .rounded-b-xl {\n border-bottom-right-radius: 0.75rem;\n border-bottom-left-radius: 0.75rem;\n }\n\n .border {\n border-width: 1px;\n }\n\n .border-2 {\n border-width: 2px;\n }\n\n .border-b {\n border-bottom-width: 1px;\n }\n\n .border-b-2 {\n border-bottom-width: 2px;\n }\n\n .border-t {\n border-top-width: 1px;\n }\n\n .border-blue-200 {\n --tw-border-opacity: 1;\n border-color: rgb(147 200 253 / var(--tw-border-opacity));\n }\n\n .border-brand-1 {\n --tw-border-opacity: 1;\n border-color: rgb(0 85 154 / var(--tw-border-opacity));\n }\n\n .border-dark-6 {\n --tw-border-opacity: 1;\n border-color: rgb(46 46 46 / var(--tw-border-opacity));\n }\n\n .border-dark-8 {\n --tw-border-opacity: 1;\n border-color: rgb(136 136 136 / var(--tw-border-opacity));\n }\n\n .border-dark-9 {\n --tw-border-opacity: 1;\n border-color: rgb(35 35 35 / var(--tw-border-opacity));\n }\n\n .border-green-400 {\n --tw-border-opacity: 1;\n border-color: rgb(106 195 34 / var(--tw-border-opacity));\n }\n\n .border-green-500 {\n --tw-border-opacity: 1;\n border-color: rgb(80 167 24 / var(--tw-border-opacity));\n }\n\n .border-grey-100 {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n }\n\n .border-grey-200 {\n --tw-border-opacity: 1;\n border-color: rgb(238 238 238 / var(--tw-border-opacity));\n }\n\n .border-grey-300 {\n --tw-border-opacity: 1;\n border-color: rgb(221 221 221 / var(--tw-border-opacity));\n }\n\n .border-grey-400 {\n --tw-border-opacity: 1;\n border-color: rgb(153 153 153 / var(--tw-border-opacity));\n }\n\n .border-white {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n }\n\n .border-yellow-400 {\n --tw-border-opacity: 1;\n border-color: rgb(255 204 0 / var(--tw-border-opacity));\n }\n\n .bg-\\\\[\\\\#2C2C2C\\\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(44 44 44 / var(--tw-bg-opacity));\n }\n\n .bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n }\n\n .bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(225 240 255 / var(--tw-bg-opacity));\n }\n\n .bg-blue-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(147 200 253 / var(--tw-bg-opacity));\n }\n\n .bg-blue-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(3 86 168 / var(--tw-bg-opacity));\n }\n\n .bg-brand-1 {\n --tw-bg-opacity: 1;\n background-color: rgb(0 85 154 / var(--tw-bg-opacity));\n }\n\n .bg-dark-3 {\n --tw-bg-opacity: 1;\n background-color: rgb(37 37 37 / var(--tw-bg-opacity));\n }\n\n .bg-dark-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(30 30 30 / var(--tw-bg-opacity));\n }\n\n .bg-dark-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(18 18 18 / var(--tw-bg-opacity));\n }\n\n .bg-dark-6 {\n --tw-bg-opacity: 1;\n background-color: rgb(46 46 46 / var(--tw-bg-opacity));\n }\n\n .bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(238 252 210 / var(--tw-bg-opacity));\n }\n\n .bg-green-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(151 219 83 / var(--tw-bg-opacity));\n }\n\n .bg-green-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(106 195 34 / var(--tw-bg-opacity));\n }\n\n .bg-green-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(80 167 24 / var(--tw-bg-opacity));\n }\n\n .bg-grey-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n }\n\n .bg-grey-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(238 238 238 / var(--tw-bg-opacity));\n }\n\n .bg-grey-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(221 221 221 / var(--tw-bg-opacity));\n }\n\n .bg-grey-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(51 51 51 / var(--tw-bg-opacity));\n }\n\n .bg-orange-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 238 204 / var(--tw-bg-opacity));\n }\n\n .bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 225 207 / var(--tw-bg-opacity));\n }\n\n .bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n }\n\n .bg-yellow-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 220 63 / var(--tw-bg-opacity));\n }\n\n .bg-opacity-75 {\n --tw-bg-opacity: 0.75;\n }\n\n .object-cover {\n -o-object-fit: cover;\n object-fit: cover;\n }\n\n .object-scale-down {\n -o-object-fit: scale-down;\n object-fit: scale-down;\n }\n\n .p-1 {\n padding: 0.25rem;\n }\n\n .p-1\\\\.5 {\n padding: 0.375rem;\n }\n\n .p-2 {\n padding: 0.5rem;\n }\n\n .p-3 {\n padding: 0.75rem;\n }\n\n .p-4 {\n padding: 1rem;\n }\n\n .p-5 {\n padding: 1.25rem;\n }\n\n .p-6 {\n padding: 1.5rem;\n }\n\n .px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n\n .px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n }\n\n .px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n\n .px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n .px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n }\n\n .px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n\n .px-\\\\[10px\\\\] {\n padding-left: 10px;\n padding-right: 10px;\n }\n\n .px-\\\\[22px\\\\] {\n padding-left: 22px;\n padding-right: 22px;\n }\n\n .py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n\n .py-0\\\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n }\n\n .py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n\n .py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n\n .py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n }\n\n .py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n\n .py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n }\n\n .py-\\\\[5\\\\.6px\\\\] {\n padding-top: 5.6px;\n padding-bottom: 5.6px;\n }\n\n .pb-1 {\n padding-bottom: 0.25rem;\n }\n\n .pb-2 {\n padding-bottom: 0.5rem;\n }\n\n .pb-20 {\n padding-bottom: 5rem;\n }\n\n .pb-3 {\n padding-bottom: 0.75rem;\n }\n\n .pb-32 {\n padding-bottom: 8rem;\n }\n\n .pb-4 {\n padding-bottom: 1rem;\n }\n\n .pb-5 {\n padding-bottom: 1.25rem;\n }\n\n .pb-6 {\n padding-bottom: 1.5rem;\n }\n\n .pb-8 {\n padding-bottom: 2rem;\n }\n\n .pl-0 {\n padding-left: 0px;\n }\n\n .pl-0\\\\.5 {\n padding-left: 0.125rem;\n }\n\n .pl-1 {\n padding-left: 0.25rem;\n }\n\n .pl-2 {\n padding-left: 0.5rem;\n }\n\n .pl-4 {\n padding-left: 1rem;\n }\n\n .pl-px {\n padding-left: 1px;\n }\n\n .pr-1 {\n padding-right: 0.25rem;\n }\n\n .pr-2 {\n padding-right: 0.5rem;\n }\n\n .pr-3 {\n padding-right: 0.75rem;\n }\n\n .pt-0 {\n padding-top: 0px;\n }\n\n .pt-0\\\\.5 {\n padding-top: 0.125rem;\n }\n\n .pt-10 {\n padding-top: 2.5rem;\n }\n\n .pt-2 {\n padding-top: 0.5rem;\n }\n\n .pt-4 {\n padding-top: 1rem;\n }\n\n .pt-6 {\n padding-top: 1.5rem;\n }\n\n .pt-\\\\[5px\\\\] {\n padding-top: 5px;\n }\n\n .text-left {\n text-align: left;\n }\n\n .text-center {\n text-align: center;\n }\n\n .text-start {\n text-align: start;\n }\n\n .font-sans {\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,\n 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n }\n\n .font-serif {\n font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;\n }\n\n .text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n }\n\n .text-\\\\[11px\\\\] {\n font-size: 11px;\n }\n\n .text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n\n .text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n }\n\n .text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n }\n\n .text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n }\n\n .text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n }\n\n .text-xxs {\n font-size: 0.625rem;\n }\n\n .font-bold {\n font-weight: 700;\n }\n\n .font-medium {\n font-weight: 500;\n }\n\n .font-normal {\n font-weight: 400;\n }\n\n .uppercase {\n text-transform: uppercase;\n }\n\n .capitalize {\n text-transform: capitalize;\n }\n\n .leading-4 {\n line-height: 1rem;\n }\n\n .leading-5 {\n line-height: 1.25rem;\n }\n\n .leading-\\\\[18px\\\\] {\n line-height: 18px;\n }\n\n .leading-\\\\[22px\\\\] {\n line-height: 22px;\n }\n\n .leading-\\\\[30px\\\\] {\n line-height: 30px;\n }\n\n .leading-none {\n line-height: 1;\n }\n\n .leading-normal {\n line-height: 1.5;\n }\n\n .leading-tight {\n line-height: 1.25;\n }\n\n .tracking-wide {\n letter-spacing: 0.025em;\n }\n\n .text-\\\\[\\\\#00559a\\\\] {\n --tw-text-opacity: 1;\n color: rgb(0 85 154 / var(--tw-text-opacity));\n }\n\n .text-\\\\[\\\\#FFFFFF\\\\] {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n }\n\n .text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity));\n }\n\n .text-blue-200 {\n --tw-text-opacity: 1;\n color: rgb(147 200 253 / var(--tw-text-opacity));\n }\n\n .text-blue-300 {\n --tw-text-opacity: 1;\n color: rgb(90 171 252 / var(--tw-text-opacity));\n }\n\n .text-blue-500 {\n --tw-text-opacity: 1;\n color: rgb(4 104 203 / var(--tw-text-opacity));\n }\n\n .text-blue-600 {\n --tw-text-opacity: 1;\n color: rgb(3 86 168 / var(--tw-text-opacity));\n }\n\n .text-brand-1 {\n --tw-text-opacity: 1;\n color: rgb(0 85 154 / var(--tw-text-opacity));\n }\n\n .text-dark-5 {\n --tw-text-opacity: 1;\n color: rgb(18 18 18 / var(--tw-text-opacity));\n }\n\n .text-dark-6 {\n --tw-text-opacity: 1;\n color: rgb(46 46 46 / var(--tw-text-opacity));\n }\n\n .text-dark-7 {\n --tw-text-opacity: 1;\n color: rgb(224 224 224 / var(--tw-text-opacity));\n }\n\n .text-green-300 {\n --tw-text-opacity: 1;\n color: rgb(151 219 83 / var(--tw-text-opacity));\n }\n\n .text-green-400 {\n --tw-text-opacity: 1;\n color: rgb(106 195 34 / var(--tw-text-opacity));\n }\n\n .text-green-500 {\n --tw-text-opacity: 1;\n color: rgb(80 167 24 / var(--tw-text-opacity));\n }\n\n .text-grey-100 {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n }\n\n .text-grey-300 {\n --tw-text-opacity: 1;\n color: rgb(221 221 221 / var(--tw-text-opacity));\n }\n\n .text-grey-400 {\n --tw-text-opacity: 1;\n color: rgb(153 153 153 / var(--tw-text-opacity));\n }\n\n .text-grey-500 {\n --tw-text-opacity: 1;\n color: rgb(102 102 102 / var(--tw-text-opacity));\n }\n\n .text-grey-600 {\n --tw-text-opacity: 1;\n color: rgb(51 51 51 / var(--tw-text-opacity));\n }\n\n .text-orange-400 {\n --tw-text-opacity: 1;\n color: rgb(255 122 0 / var(--tw-text-opacity));\n }\n\n .text-orange-500 {\n --tw-text-opacity: 1;\n color: rgb(219 93 0 / var(--tw-text-opacity));\n }\n\n .text-red-600 {\n --tw-text-opacity: 1;\n color: rgb(174 9 27 / var(--tw-text-opacity));\n }\n\n .text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n }\n\n .underline {\n text-decoration-line: underline;\n }\n\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),\n 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n }\n\n .shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n }\n\n .transition {\n transition-property: color, background-color, border-color,\n text-decoration-color, fill, stroke, opacity, box-shadow, transform,\n filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color,\n text-decoration-color, fill, stroke, opacity, box-shadow, transform,\n filter, backdrop-filter;\n transition-property: color, background-color, border-color,\n text-decoration-color, fill, stroke, opacity, box-shadow, transform,\n filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n }\n\n .hover\\\\:underline:hover {\n text-decoration-line: underline;\n }\n\n .focus\\\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n\n @media (min-width: 640px) {\n .sm\\\\:w-3\\\\/4 {\n width: 75%;\n }\n\n .sm\\\\:max-w-lg {\n max-width: 32rem;\n }\n\n .sm\\\\:grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n\n .sm\\\\:px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n }\n }\n\n @media (min-width: 768px) {\n .md\\\\:mx-0 {\n margin-left: 0px;\n margin-right: 0px;\n }\n\n .md\\\\:my-3 {\n margin-top: 0.75rem;\n margin-bottom: 0.75rem;\n }\n\n .md\\\\:my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n }\n\n .md\\\\:my-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n\n .md\\\\:mb-0 {\n margin-bottom: 0px;\n }\n\n .md\\\\:mb-5 {\n margin-bottom: 1.25rem;\n }\n\n .md\\\\:ml-1 {\n margin-left: 0.25rem;\n }\n\n .md\\\\:ml-6 {\n margin-left: 1.5rem;\n }\n\n .md\\\\:mr-5 {\n margin-right: 1.25rem;\n }\n\n .md\\\\:mr-6 {\n margin-right: 1.5rem;\n }\n\n .md\\\\:mt-2 {\n margin-top: 0.5rem;\n }\n\n .md\\\\:mt-2\\\\.5 {\n margin-top: 0.625rem;\n }\n\n .md\\\\:mt-3 {\n margin-top: 0.75rem;\n }\n\n .md\\\\:mt-4 {\n margin-top: 1rem;\n }\n\n .md\\\\:mt-8 {\n margin-top: 2rem;\n }\n\n .md\\\\:block {\n display: block;\n }\n\n .md\\\\:flex {\n display: flex;\n }\n\n .md\\\\:hidden {\n display: none;\n }\n\n .md\\\\:h-12 {\n height: 3rem;\n }\n\n .md\\\\:h-5 {\n height: 1.25rem;\n }\n\n .md\\\\:h-\\\\[68px\\\\] {\n height: 68px;\n }\n\n .md\\\\:h-max {\n height: -moz-max-content;\n height: max-content;\n }\n\n .md\\\\:max-h-\\\\[220px\\\\] {\n max-height: 220px;\n }\n\n .md\\\\:min-h-\\\\[244px\\\\] {\n min-height: 244px;\n }\n\n .md\\\\:w-1\\\\/2 {\n width: 50%;\n }\n\n .md\\\\:w-3\\\\/5 {\n width: 60%;\n }\n\n .md\\\\:w-40 {\n width: 10rem;\n }\n\n .md\\\\:w-5\\\\/12 {\n width: 41.666667%;\n }\n\n .md\\\\:w-52 {\n width: 13rem;\n }\n\n .md\\\\:w-\\\\[350px\\\\] {\n width: 350px;\n }\n\n .md\\\\:w-\\\\[370px\\\\] {\n width: 370px;\n }\n\n .md\\\\:w-\\\\[374px\\\\] {\n width: 374px;\n }\n\n .md\\\\:w-\\\\[400px\\\\] {\n width: 400px;\n }\n\n .md\\\\:w-\\\\[580px\\\\] {\n width: 580px;\n }\n\n .md\\\\:w-auto {\n width: auto;\n }\n\n .md\\\\:w-full {\n width: 100%;\n }\n\n .md\\\\:max-w-\\\\[137px\\\\] {\n max-width: 137px;\n }\n\n .md\\\\:max-w-\\\\[200px\\\\] {\n max-width: 200px;\n }\n\n .md\\\\:max-w-\\\\[464px\\\\] {\n max-width: 464px;\n }\n\n .md\\\\:max-w-\\\\[737px\\\\] {\n max-width: 737px;\n }\n\n .md\\\\:max-w-full {\n max-width: 100%;\n }\n\n .md\\\\:max-w-sm {\n max-width: 24rem;\n }\n\n .md\\\\:grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n\n .md\\\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .md\\\\:flex-row {\n flex-direction: row;\n }\n\n .md\\\\:flex-col {\n flex-direction: column;\n }\n\n .md\\\\:items-start {\n align-items: flex-start;\n }\n\n .md\\\\:justify-start {\n justify-content: flex-start;\n }\n\n .md\\\\:justify-center {\n justify-content: center;\n }\n\n .md\\\\:gap-8 {\n gap: 2rem;\n }\n\n .md\\\\:space-x-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0px * var(--tw-space-x-reverse));\n margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .md\\\\:space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .md\\\\:space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .md\\\\:space-x-5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1.25rem * var(--tw-space-x-reverse));\n margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .md\\\\:space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n }\n\n .md\\\\:space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n }\n\n .md\\\\:space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n }\n\n .md\\\\:self-start {\n align-self: flex-start;\n }\n\n .md\\\\:self-end {\n align-self: flex-end;\n }\n\n .md\\\\:rounded {\n border-radius: 0.25rem;\n }\n\n .md\\\\:rounded-lg {\n border-radius: 0.5rem;\n }\n\n .md\\\\:p-5 {\n padding: 1.25rem;\n }\n\n .md\\\\:px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n\n .md\\\\:px-20 {\n padding-left: 5rem;\n padding-right: 5rem;\n }\n\n .md\\\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n .md\\\\:px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n }\n\n .md\\\\:px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n\n .md\\\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n\n .md\\\\:py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n\n .md\\\\:py-1\\\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n }\n\n .md\\\\:py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n\n .md\\\\:py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n }\n\n .md\\\\:py-3\\\\.5 {\n padding-top: 0.875rem;\n padding-bottom: 0.875rem;\n }\n\n .md\\\\:py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n\n .md\\\\:pb-4 {\n padding-bottom: 1rem;\n }\n\n .md\\\\:pb-7 {\n padding-bottom: 1.75rem;\n }\n\n .md\\\\:pt-0 {\n padding-top: 0px;\n }\n\n .md\\\\:pt-3 {\n padding-top: 0.75rem;\n }\n\n .md\\\\:pt-5 {\n padding-top: 1.25rem;\n }\n\n .md\\\\:pt-8 {\n padding-top: 2rem;\n }\n\n .md\\\\:text-left {\n text-align: left;\n }\n\n .md\\\\:text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n }\n\n .md\\\\:text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n\n .md\\\\:text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n }\n\n .md\\\\:text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n }\n\n .md\\\\:text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n }\n\n .md\\\\:text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n }\n\n .md\\\\:leading-6 {\n line-height: 1.5rem;\n }\n\n .md\\\\:tracking-normal {\n letter-spacing: 0em;\n }\n }\n\n @media (min-width: 1024px) {\n .lg\\\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n\n .lg\\\\:col-span-3 {\n grid-column: span 3 / span 3;\n }\n\n .lg\\\\:col-span-5 {\n grid-column: span 5 / span 5;\n }\n\n .lg\\\\:col-start-10 {\n grid-column-start: 10;\n }\n\n .lg\\\\:mx-auto {\n margin-left: auto;\n margin-right: auto;\n }\n\n .lg\\\\:mb-0 {\n margin-bottom: 0px;\n }\n\n .lg\\\\:mt-0 {\n margin-top: 0px;\n }\n\n .lg\\\\:block {\n display: block;\n }\n\n .lg\\\\:flex {\n display: flex;\n }\n\n .lg\\\\:hidden {\n display: none;\n }\n\n .lg\\\\:min-h-\\\\[220px\\\\] {\n min-height: 220px;\n }\n\n .lg\\\\:w-1\\\\/2 {\n width: 50%;\n }\n\n .lg\\\\:w-1\\\\/3 {\n width: 33.333333%;\n }\n\n .lg\\\\:w-\\\\[410px\\\\] {\n width: 410px;\n }\n\n .lg\\\\:max-w-7xl {\n max-width: 80rem;\n }\n\n .lg\\\\:grid-cols-12 {\n grid-template-columns: repeat(12, minmax(0, 1fr));\n }\n\n .lg\\\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .lg\\\\:flex-row {\n flex-direction: row;\n }\n\n .lg\\\\:flex-col {\n flex-direction: column;\n }\n\n .lg\\\\:items-center {\n align-items: center;\n }\n\n .lg\\\\:justify-end {\n justify-content: flex-end;\n }\n\n .lg\\\\:justify-between {\n justify-content: space-between;\n }\n\n .lg\\\\:gap-0 {\n gap: 0px;\n }\n\n .lg\\\\:gap-8 {\n gap: 2rem;\n }\n\n .lg\\\\:gap-x-6 {\n -moz-column-gap: 1.5rem;\n column-gap: 1.5rem;\n }\n\n .lg\\\\:px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n\n .lg\\\\:px-24 {\n padding-left: 6rem;\n padding-right: 6rem;\n }\n\n .lg\\\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n\n .lg\\\\:py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n }\n\n .lg\\\\:pb-0 {\n padding-bottom: 0px;\n }\n\n .lg\\\\:pb-6 {\n padding-bottom: 1.5rem;\n }\n }\n\n @media (min-width: 1280px) {\n .xl\\\\:px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n }\n\n @media (min-width: 1536px) {\n .\\\\32xl\\\\:w-1\\\\/4 {\n width: 25%;\n }\n }\n`\n"]}
1
+ {"version":3,"file":"tailwind.js","sourceRoot":"","sources":["../../tailwind/tailwind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+8E1B,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport const TWStyles = css`\n /*\n! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com\n*/\n\n /*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n *,\n ::before,\n ::after {\n box-sizing: border-box;\n /* 1 */\n border-width: 0;\n /* 2 */\n border-style: solid;\n /* 2 */\n border-color: currentColor;\n /* 2 */\n }\n\n ::before,\n ::after {\n --tw-content: '';\n }\n\n /*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured sans font-family by default.\n5. Use the user's configured sans font-feature-settings by default.\n6. Use the user's configured sans font-variation-settings by default.\n*/\n\n html {\n line-height: 1.5;\n /* 1 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n -moz-tab-size: 4;\n /* 3 */\n -o-tab-size: 4;\n tab-size: 4;\n /* 3 */\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,\n 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n /* 4 */\n font-feature-settings: normal;\n /* 5 */\n font-variation-settings: normal;\n /* 6 */\n }\n\n /*\n1. Remove the margin in all browsers.\n2. Inherit line-height from html so users can set them as a class directly on the html element.\n*/\n\n body {\n margin: 0;\n /* 1 */\n line-height: inherit;\n /* 2 */\n }\n\n /*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\n hr {\n height: 0;\n /* 1 */\n color: inherit;\n /* 2 */\n border-top-width: 1px;\n /* 3 */\n }\n\n /*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n\n /*\nRemove the default font size and weight for headings.\n*/\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n /*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\n a {\n color: inherit;\n text-decoration: inherit;\n }\n\n /*\nAdd the correct font weight in Edge and Safari.\n*/\n\n b,\n strong {\n font-weight: bolder;\n }\n\n /*\n1. Use the user's configured mono font family by default.\n2. Correct the odd em font sizing in all browsers.\n*/\n\n code,\n kbd,\n samp,\n pre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,\n 'Liberation Mono', 'Courier New', monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n }\n\n /*\nAdd the correct font size in all browsers.\n*/\n\n small {\n font-size: 80%;\n }\n\n /*\nPrevent sub and sup elements from affecting the line height in all browsers.\n*/\n\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n\n sub {\n bottom: -0.25em;\n }\n\n sup {\n top: -0.5em;\n }\n\n /*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\n table {\n text-indent: 0;\n /* 1 */\n border-color: inherit;\n /* 2 */\n border-collapse: collapse;\n /* 3 */\n }\n\n /*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n /* 1 */\n font-feature-settings: inherit;\n /* 1 */\n font-variation-settings: inherit;\n /* 1 */\n font-size: 100%;\n /* 1 */\n font-weight: inherit;\n /* 1 */\n line-height: inherit;\n /* 1 */\n color: inherit;\n /* 1 */\n margin: 0;\n /* 2 */\n padding: 0;\n /* 3 */\n }\n\n /*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\n button,\n select {\n text-transform: none;\n }\n\n /*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\n button,\n [type='button'],\n [type='reset'],\n [type='submit'] {\n -webkit-appearance: button;\n /* 1 */\n background-color: transparent;\n /* 2 */\n background-image: none;\n /* 2 */\n }\n\n /*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n :-moz-focusring {\n outline: auto;\n }\n\n /*\nRemove the additional :invalid styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n :-moz-ui-invalid {\n box-shadow: none;\n }\n\n /*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\n progress {\n vertical-align: baseline;\n }\n\n /*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n\n /*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n [type='search'] {\n -webkit-appearance: textfield;\n /* 1 */\n outline-offset: -2px;\n /* 2 */\n }\n\n /*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n /*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to inherit in Safari.\n*/\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n /* 1 */\n font: inherit;\n /* 2 */\n }\n\n /*\nAdd the correct display in Chrome and Safari.\n*/\n\n summary {\n display: list-item;\n }\n\n /*\nRemoves the default spacing and border for appropriate elements.\n*/\n\n blockquote,\n dl,\n dd,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n hr,\n figure,\n p,\n pre {\n margin: 0;\n }\n\n fieldset {\n margin: 0;\n padding: 0;\n }\n\n legend {\n padding: 0;\n }\n\n ol,\n ul,\n menu {\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n /*\nReset default styling for dialogs.\n*/\n\n dialog {\n padding: 0;\n }\n\n /*\nPrevent resizing textareas horizontally by default.\n*/\n\n textarea {\n resize: vertical;\n }\n\n /*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\n input::-moz-placeholder,\n textarea::-moz-placeholder {\n opacity: 1;\n /* 1 */\n color: #9ca3af;\n /* 2 */\n }\n\n input::placeholder,\n textarea::placeholder {\n opacity: 1;\n /* 1 */\n color: #9ca3af;\n /* 2 */\n }\n\n /*\nSet the default cursor for buttons.\n*/\n\n button,\n [role='button'] {\n cursor: pointer;\n }\n\n /*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n\n :disabled {\n cursor: default;\n }\n\n /*\n1. Make replaced elements display: block by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add vertical-align: middle to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n /* 1 */\n vertical-align: middle;\n /* 2 */\n }\n\n /*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n\n /* Make elements with the HTML hidden attribute stay hidden by default */\n\n [hidden] {\n display: none;\n }\n\n *,\n ::before,\n ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(4 104 203 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n }\n\n ::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(4 104 203 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n }\n\n .collapse {\n visibility: collapse;\n }\n\n .static {\n position: static;\n }\n\n .fixed {\n position: fixed;\n }\n\n .absolute {\n position: absolute;\n }\n\n .relative {\n position: relative;\n }\n\n .sticky {\n position: sticky;\n }\n\n .inset-0 {\n inset: 0px;\n }\n\n .-bottom-6 {\n bottom: -1.5rem;\n }\n\n .-top-2 {\n top: -0.5rem;\n }\n\n .bottom-0 {\n bottom: 0px;\n }\n\n .left-0 {\n left: 0px;\n }\n\n .left-4 {\n left: 1rem;\n }\n\n .right-0 {\n right: 0px;\n }\n\n .top-0 {\n top: 0px;\n }\n\n .z-0 {\n z-index: 0;\n }\n\n .z-10 {\n z-index: 10;\n }\n\n .z-20 {\n z-index: 20;\n }\n\n .z-50 {\n z-index: 50;\n }\n\n .col-span-2 {\n grid-column: span 2 / span 2;\n }\n\n .col-span-4 {\n grid-column: span 4 / span 4;\n }\n\n .m-auto {\n margin: auto;\n }\n\n .mx-1 {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n }\n\n .mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n }\n\n .mx-4 {\n margin-left: 1rem;\n margin-right: 1rem;\n }\n\n .mx-auto {\n margin-left: auto;\n margin-right: auto;\n }\n\n .my-4 {\n margin-top: 1rem;\n margin-bottom: 1rem;\n }\n\n .my-5 {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n }\n\n .my-6 {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n\n .-ml-2 {\n margin-left: -0.5rem;\n }\n\n .-mt-24 {\n margin-top: -6rem;\n }\n\n .-mt-7 {\n margin-top: -1.75rem;\n }\n\n .mb-0 {\n margin-bottom: 0px;\n }\n\n .mb-1 {\n margin-bottom: 0.25rem;\n }\n\n .mb-2 {\n margin-bottom: 0.5rem;\n }\n\n .mb-3 {\n margin-bottom: 0.75rem;\n }\n\n .mb-4 {\n margin-bottom: 1rem;\n }\n\n .mb-5 {\n margin-bottom: 1.25rem;\n }\n\n .mb-6 {\n margin-bottom: 1.5rem;\n }\n\n .ml-0 {\n margin-left: 0px;\n }\n\n .ml-0\\\\.5 {\n margin-left: 0.125rem;\n }\n\n .ml-1 {\n margin-left: 0.25rem;\n }\n\n .ml-2 {\n margin-left: 0.5rem;\n }\n\n .ml-3 {\n margin-left: 0.75rem;\n }\n\n .ml-8 {\n margin-left: 2rem;\n }\n\n .ml-auto {\n margin-left: auto;\n }\n\n .mr-10 {\n margin-right: 2.5rem;\n }\n\n .mr-3 {\n margin-right: 0.75rem;\n }\n\n .mr-3\\\\.5 {\n margin-right: 0.875rem;\n }\n\n .mr-4 {\n margin-right: 1rem;\n }\n\n .mr-6 {\n margin-right: 1.5rem;\n }\n\n .mt-0 {\n margin-top: 0px;\n }\n\n .mt-0\\\\.5 {\n margin-top: 0.125rem;\n }\n\n .mt-1 {\n margin-top: 0.25rem;\n }\n\n .mt-2 {\n margin-top: 0.5rem;\n }\n\n .mt-2\\\\.5 {\n margin-top: 0.625rem;\n }\n\n .mt-3 {\n margin-top: 0.75rem;\n }\n\n .mt-4 {\n margin-top: 1rem;\n }\n\n .mt-6 {\n margin-top: 1.5rem;\n }\n\n .mt-8 {\n margin-top: 2rem;\n }\n\n .block {\n display: block;\n }\n\n .flex {\n display: flex;\n }\n\n .grid {\n display: grid;\n }\n\n .hidden {\n display: none;\n }\n\n .aspect-video {\n aspect-ratio: 16 / 9;\n }\n\n .h-10 {\n height: 2.5rem;\n }\n\n .h-12 {\n height: 3rem;\n }\n\n .h-14 {\n height: 3.5rem;\n }\n\n .h-16 {\n height: 4rem;\n }\n\n .h-20 {\n height: 5rem;\n }\n\n .h-3 {\n height: 0.75rem;\n }\n\n .h-4 {\n height: 1rem;\n }\n\n .h-5 {\n height: 1.25rem;\n }\n\n .h-6 {\n height: 1.5rem;\n }\n\n .h-8 {\n height: 2rem;\n }\n\n .h-9 {\n height: 2.25rem;\n }\n\n .h-\\\\[17px\\\\] {\n height: 17px;\n }\n\n .h-\\\\[300px\\\\] {\n height: 300px;\n }\n\n .h-\\\\[68px\\\\] {\n height: 68px;\n }\n\n .h-\\\\[76px\\\\] {\n height: 76px;\n }\n\n .h-auto {\n height: auto;\n }\n\n .h-full {\n height: 100%;\n }\n\n .h-max {\n height: -moz-max-content;\n height: max-content;\n }\n\n .w-1\\\\/2 {\n width: 50%;\n }\n\n .w-1\\\\/3 {\n width: 33.333333%;\n }\n\n .w-1\\\\/4 {\n width: 25%;\n }\n\n .w-1\\\\/5 {\n width: 20%;\n }\n\n .w-10 {\n width: 2.5rem;\n }\n\n .w-11\\\\/12 {\n width: 91.666667%;\n }\n\n .w-14 {\n width: 3.5rem;\n }\n\n .w-16 {\n width: 4rem;\n }\n\n .w-2\\\\/3 {\n width: 66.666667%;\n }\n\n .w-20 {\n width: 5rem;\n }\n\n .w-3 {\n width: 0.75rem;\n }\n\n .w-3\\\\/4 {\n width: 75%;\n }\n\n .w-32 {\n width: 8rem;\n }\n\n .w-4 {\n width: 1rem;\n }\n\n .w-40 {\n width: 10rem;\n }\n\n .w-5 {\n width: 1.25rem;\n }\n\n .w-6 {\n width: 1.5rem;\n }\n\n .w-60 {\n width: 15rem;\n }\n\n .w-76 {\n width: 19rem;\n }\n\n .w-8 {\n width: 2rem;\n }\n\n .w-9 {\n width: 2.25rem;\n }\n\n .w-\\\\[120px\\\\] {\n width: 120px;\n }\n\n .w-\\\\[138px\\\\] {\n width: 138px;\n }\n\n .w-\\\\[296px\\\\] {\n width: 296px;\n }\n\n .w-\\\\[328px\\\\] {\n width: 328px;\n }\n\n .w-auto {\n width: auto;\n }\n\n .w-full {\n width: 100%;\n }\n\n .w-screen {\n width: 100vw;\n }\n\n .max-w-7xl {\n max-width: 80rem;\n }\n\n .max-w-screen-md {\n max-width: 768px;\n }\n\n .max-w-screen-sm {\n max-width: 640px;\n }\n\n .max-w-xl {\n max-width: 36rem;\n }\n\n .max-w-xs {\n max-width: 20rem;\n }\n\n .flex-none {\n flex: none;\n }\n\n .flex-shrink-0 {\n flex-shrink: 0;\n }\n\n .shrink-0 {\n flex-shrink: 0;\n }\n\n .flex-grow {\n flex-grow: 1;\n }\n\n .rotate-180 {\n --tw-rotate: 180deg;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y))\n rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))\n scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n .transform {\n transform: translate(var(--tw-translate-x), var(--tw-translate-y))\n rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))\n scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n\n @keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n }\n\n .animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n }\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n .animate-spin {\n animation: spin 1s linear infinite;\n }\n\n .cursor-pointer {\n cursor: pointer;\n }\n\n .grid-flow-row {\n grid-auto-flow: row;\n }\n\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n\n .grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n\n .grid-cols-5 {\n grid-template-columns: repeat(5, minmax(0, 1fr));\n }\n\n .grid-rows-2 {\n grid-template-rows: repeat(2, minmax(0, 1fr));\n }\n\n .flex-row {\n flex-direction: row;\n }\n\n .flex-col {\n flex-direction: column;\n }\n\n .flex-col-reverse {\n flex-direction: column-reverse;\n }\n\n .flex-wrap {\n flex-wrap: wrap;\n }\n\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n\n .place-items-center {\n place-items: center;\n }\n\n .items-start {\n align-items: flex-start;\n }\n\n .items-center {\n align-items: center;\n }\n\n .justify-start {\n justify-content: flex-start;\n }\n\n .justify-end {\n justify-content: flex-end;\n }\n\n .justify-center {\n justify-content: center;\n }\n\n .justify-between {\n justify-content: space-between;\n }\n\n .justify-evenly {\n justify-content: space-evenly;\n }\n\n .gap-4 {\n gap: 1rem;\n }\n\n .gap-6 {\n gap: 1.5rem;\n }\n\n .gap-8 {\n gap: 2rem;\n }\n\n .gap-y-2 {\n row-gap: 0.5rem;\n }\n\n .gap-y-4 {\n row-gap: 1rem;\n }\n\n .space-x-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.25rem * var(--tw-space-x-reverse));\n margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n }\n\n .space-y-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));\n }\n\n .space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n }\n\n .self-center {\n align-self: center;\n }\n\n .overflow-hidden {\n overflow: hidden;\n }\n\n .overflow-y-scroll {\n overflow-y: scroll;\n }\n\n .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .whitespace-nowrap {\n white-space: nowrap;\n }\n\n .break-words {\n overflow-wrap: break-word;\n }\n\n .rounded {\n border-radius: 0.25rem;\n }\n\n .rounded-\\\\[10px\\\\] {\n border-radius: 10px;\n }\n\n .rounded-full {\n border-radius: 9999px;\n }\n\n .rounded-lg {\n border-radius: 0.5rem;\n }\n\n .rounded-md {\n border-radius: 0.375rem;\n }\n\n .rounded-sm {\n border-radius: 0.125rem;\n }\n\n .rounded-xl {\n border-radius: 0.75rem;\n }\n\n .rounded-b-xl {\n border-bottom-right-radius: 0.75rem;\n border-bottom-left-radius: 0.75rem;\n }\n\n .border {\n border-width: 1px;\n }\n\n .border-2 {\n border-width: 2px;\n }\n\n .border-b {\n border-bottom-width: 1px;\n }\n\n .border-b-2 {\n border-bottom-width: 2px;\n }\n\n .border-t {\n border-top-width: 1px;\n }\n\n .border-blue-200 {\n --tw-border-opacity: 1;\n border-color: rgb(147 200 253 / var(--tw-border-opacity));\n }\n\n .border-brand-1 {\n --tw-border-opacity: 1;\n border-color: rgb(0 85 154 / var(--tw-border-opacity));\n }\n\n .border-dark-6 {\n --tw-border-opacity: 1;\n border-color: rgb(46 46 46 / var(--tw-border-opacity));\n }\n\n .border-dark-8 {\n --tw-border-opacity: 1;\n border-color: rgb(136 136 136 / var(--tw-border-opacity));\n }\n\n .border-dark-9 {\n --tw-border-opacity: 1;\n border-color: rgb(35 35 35 / var(--tw-border-opacity));\n }\n\n .border-green-400 {\n --tw-border-opacity: 1;\n border-color: rgb(106 195 34 / var(--tw-border-opacity));\n }\n\n .border-green-500 {\n --tw-border-opacity: 1;\n border-color: rgb(80 167 24 / var(--tw-border-opacity));\n }\n\n .border-grey-100 {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n }\n\n .border-grey-200 {\n --tw-border-opacity: 1;\n border-color: rgb(238 238 238 / var(--tw-border-opacity));\n }\n\n .border-grey-300 {\n --tw-border-opacity: 1;\n border-color: rgb(221 221 221 / var(--tw-border-opacity));\n }\n\n .border-grey-400 {\n --tw-border-opacity: 1;\n border-color: rgb(153 153 153 / var(--tw-border-opacity));\n }\n\n .border-white {\n --tw-border-opacity: 1;\n border-color: rgb(255 255 255 / var(--tw-border-opacity));\n }\n\n .border-yellow-400 {\n --tw-border-opacity: 1;\n border-color: rgb(255 204 0 / var(--tw-border-opacity));\n }\n\n .bg-\\\\[\\\\#2C2C2C\\\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(44 44 44 / var(--tw-bg-opacity));\n }\n\n .bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n }\n\n .bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(225 240 255 / var(--tw-bg-opacity));\n }\n\n .bg-blue-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(147 200 253 / var(--tw-bg-opacity));\n }\n\n .bg-blue-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(3 86 168 / var(--tw-bg-opacity));\n }\n\n .bg-brand-1 {\n --tw-bg-opacity: 1;\n background-color: rgb(0 85 154 / var(--tw-bg-opacity));\n }\n\n .bg-dark-3 {\n --tw-bg-opacity: 1;\n background-color: rgb(37 37 37 / var(--tw-bg-opacity));\n }\n\n .bg-dark-4 {\n --tw-bg-opacity: 1;\n background-color: rgb(30 30 30 / var(--tw-bg-opacity));\n }\n\n .bg-dark-5 {\n --tw-bg-opacity: 1;\n background-color: rgb(18 18 18 / var(--tw-bg-opacity));\n }\n\n .bg-dark-6 {\n --tw-bg-opacity: 1;\n background-color: rgb(46 46 46 / var(--tw-bg-opacity));\n }\n\n .bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(238 252 210 / var(--tw-bg-opacity));\n }\n\n .bg-green-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(151 219 83 / var(--tw-bg-opacity));\n }\n\n .bg-green-400 {\n --tw-bg-opacity: 1;\n background-color: rgb(106 195 34 / var(--tw-bg-opacity));\n }\n\n .bg-green-500 {\n --tw-bg-opacity: 1;\n background-color: rgb(80 167 24 / var(--tw-bg-opacity));\n }\n\n .bg-grey-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n }\n\n .bg-grey-200 {\n --tw-bg-opacity: 1;\n background-color: rgb(238 238 238 / var(--tw-bg-opacity));\n }\n\n .bg-grey-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(221 221 221 / var(--tw-bg-opacity));\n }\n\n .bg-grey-600 {\n --tw-bg-opacity: 1;\n background-color: rgb(51 51 51 / var(--tw-bg-opacity));\n }\n\n .bg-orange-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 238 204 / var(--tw-bg-opacity));\n }\n\n .bg-red-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(254 225 207 / var(--tw-bg-opacity));\n }\n\n .bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n }\n\n .bg-yellow-300 {\n --tw-bg-opacity: 1;\n background-color: rgb(255 220 63 / var(--tw-bg-opacity));\n }\n\n .bg-opacity-75 {\n --tw-bg-opacity: 0.75;\n }\n\n .object-cover {\n -o-object-fit: cover;\n object-fit: cover;\n }\n\n .object-scale-down {\n -o-object-fit: scale-down;\n object-fit: scale-down;\n }\n\n .p-1 {\n padding: 0.25rem;\n }\n\n .p-1\\\\.5 {\n padding: 0.375rem;\n }\n\n .p-2 {\n padding: 0.5rem;\n }\n\n .p-3 {\n padding: 0.75rem;\n }\n\n .p-4 {\n padding: 1rem;\n }\n\n .p-5 {\n padding: 1.25rem;\n }\n\n .p-6 {\n padding: 1.5rem;\n }\n\n .px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n\n .px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n }\n\n .px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n }\n\n .px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n .px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n }\n\n .px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n\n .px-\\\\[10px\\\\] {\n padding-left: 10px;\n padding-right: 10px;\n }\n\n .px-\\\\[22px\\\\] {\n padding-left: 22px;\n padding-right: 22px;\n }\n\n .py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n\n .py-0\\\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n }\n\n .py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n\n .py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n\n .py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n }\n\n .py-4 {\n padding-top: 1rem;\n padding-bottom: 1rem;\n }\n\n .py-5 {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n }\n\n .py-\\\\[5\\\\.6px\\\\] {\n padding-top: 5.6px;\n padding-bottom: 5.6px;\n }\n\n .pb-1 {\n padding-bottom: 0.25rem;\n }\n\n .pb-2 {\n padding-bottom: 0.5rem;\n }\n\n .pb-20 {\n padding-bottom: 5rem;\n }\n\n .pb-3 {\n padding-bottom: 0.75rem;\n }\n\n .pb-32 {\n padding-bottom: 8rem;\n }\n\n .pb-4 {\n padding-bottom: 1rem;\n }\n\n .pb-5 {\n padding-bottom: 1.25rem;\n }\n\n .pb-6 {\n padding-bottom: 1.5rem;\n }\n\n .pb-8 {\n padding-bottom: 2rem;\n }\n\n .pl-0 {\n padding-left: 0px;\n }\n\n .pl-0\\\\.5 {\n padding-left: 0.125rem;\n }\n\n .pl-1 {\n padding-left: 0.25rem;\n }\n\n .pl-2 {\n padding-left: 0.5rem;\n }\n\n .pl-4 {\n padding-left: 1rem;\n }\n\n .pl-px {\n padding-left: 1px;\n }\n\n .pr-1 {\n padding-right: 0.25rem;\n }\n\n .pr-2 {\n padding-right: 0.5rem;\n }\n\n .pr-3 {\n padding-right: 0.75rem;\n }\n\n .pt-0 {\n padding-top: 0px;\n }\n\n .pt-0\\\\.5 {\n padding-top: 0.125rem;\n }\n\n .pt-10 {\n padding-top: 2.5rem;\n }\n\n .pt-2 {\n padding-top: 0.5rem;\n }\n\n .pt-4 {\n padding-top: 1rem;\n }\n\n .pt-6 {\n padding-top: 1.5rem;\n }\n\n .pt-\\\\[5px\\\\] {\n padding-top: 5px;\n }\n\n .text-left {\n text-align: left;\n }\n\n .text-center {\n text-align: center;\n }\n\n .text-start {\n text-align: start;\n }\n\n .font-sans {\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,\n 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\n 'Noto Color Emoji';\n }\n\n .font-serif {\n font-family: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;\n }\n\n .text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n }\n\n .text-\\\\[11px\\\\] {\n font-size: 11px;\n }\n\n .text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n\n .text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n }\n\n .text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n }\n\n .text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n }\n\n .text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n }\n\n .text-xxs {\n font-size: 0.625rem;\n }\n\n .font-bold {\n font-weight: 700;\n }\n\n .font-medium {\n font-weight: 500;\n }\n\n .font-normal {\n font-weight: 400;\n }\n\n .uppercase {\n text-transform: uppercase;\n }\n\n .capitalize {\n text-transform: capitalize;\n }\n\n .leading-4 {\n line-height: 1rem;\n }\n\n .leading-5 {\n line-height: 1.25rem;\n }\n\n .leading-\\\\[18px\\\\] {\n line-height: 18px;\n }\n\n .leading-\\\\[22px\\\\] {\n line-height: 22px;\n }\n\n .leading-\\\\[30px\\\\] {\n line-height: 30px;\n }\n\n .leading-none {\n line-height: 1;\n }\n\n .leading-normal {\n line-height: 1.5;\n }\n\n .leading-tight {\n line-height: 1.25;\n }\n\n .tracking-wide {\n letter-spacing: 0.025em;\n }\n\n .text-\\\\[\\\\#00559a\\\\] {\n --tw-text-opacity: 1;\n color: rgb(0 85 154 / var(--tw-text-opacity));\n }\n\n .text-\\\\[\\\\#FFFFFF\\\\] {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n }\n\n .text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity));\n }\n\n .text-blue-200 {\n --tw-text-opacity: 1;\n color: rgb(147 200 253 / var(--tw-text-opacity));\n }\n\n .text-blue-300 {\n --tw-text-opacity: 1;\n color: rgb(90 171 252 / var(--tw-text-opacity));\n }\n\n .text-blue-500 {\n --tw-text-opacity: 1;\n color: rgb(4 104 203 / var(--tw-text-opacity));\n }\n\n .text-blue-600 {\n --tw-text-opacity: 1;\n color: rgb(3 86 168 / var(--tw-text-opacity));\n }\n\n .text-brand-1 {\n --tw-text-opacity: 1;\n color: rgb(0 85 154 / var(--tw-text-opacity));\n }\n\n .text-dark-5 {\n --tw-text-opacity: 1;\n color: rgb(18 18 18 / var(--tw-text-opacity));\n }\n\n .text-dark-6 {\n --tw-text-opacity: 1;\n color: rgb(46 46 46 / var(--tw-text-opacity));\n }\n\n .text-dark-7 {\n --tw-text-opacity: 1;\n color: rgb(224 224 224 / var(--tw-text-opacity));\n }\n\n .text-green-300 {\n --tw-text-opacity: 1;\n color: rgb(151 219 83 / var(--tw-text-opacity));\n }\n\n .text-green-400 {\n --tw-text-opacity: 1;\n color: rgb(106 195 34 / var(--tw-text-opacity));\n }\n\n .text-green-500 {\n --tw-text-opacity: 1;\n color: rgb(80 167 24 / var(--tw-text-opacity));\n }\n\n .text-grey-100 {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n }\n\n .text-grey-300 {\n --tw-text-opacity: 1;\n color: rgb(221 221 221 / var(--tw-text-opacity));\n }\n\n .text-grey-400 {\n --tw-text-opacity: 1;\n color: rgb(153 153 153 / var(--tw-text-opacity));\n }\n\n .text-grey-500 {\n --tw-text-opacity: 1;\n color: rgb(102 102 102 / var(--tw-text-opacity));\n }\n\n .text-grey-600 {\n --tw-text-opacity: 1;\n color: rgb(51 51 51 / var(--tw-text-opacity));\n }\n\n .text-grey-700 {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity));\n }\n\n .text-orange-400 {\n --tw-text-opacity: 1;\n color: rgb(255 122 0 / var(--tw-text-opacity));\n }\n\n .text-orange-500 {\n --tw-text-opacity: 1;\n color: rgb(219 93 0 / var(--tw-text-opacity));\n }\n\n .text-red-600 {\n --tw-text-opacity: 1;\n color: rgb(174 9 27 / var(--tw-text-opacity));\n }\n\n .text-white {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity));\n }\n\n .underline {\n text-decoration-line: underline;\n }\n\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),\n 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n }\n\n .shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n }\n\n .transition {\n transition-property: color, background-color, border-color,\n text-decoration-color, fill, stroke, opacity, box-shadow, transform,\n filter, -webkit-backdrop-filter;\n transition-property: color, background-color, border-color,\n text-decoration-color, fill, stroke, opacity, box-shadow, transform,\n filter, backdrop-filter;\n transition-property: color, background-color, border-color,\n text-decoration-color, fill, stroke, opacity, box-shadow, transform,\n filter, backdrop-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n }\n\n .hover\\\\:underline:hover {\n text-decoration-line: underline;\n }\n\n .focus\\\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n\n @media (min-width: 640px) {\n .sm\\\\:w-3\\\\/4 {\n width: 75%;\n }\n\n .sm\\\\:max-w-lg {\n max-width: 32rem;\n }\n\n .sm\\\\:grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n\n .sm\\\\:px-16 {\n padding-left: 4rem;\n padding-right: 4rem;\n }\n }\n\n @media (min-width: 768px) {\n .md\\\\:mx-0 {\n margin-left: 0px;\n margin-right: 0px;\n }\n\n .md\\\\:my-3 {\n margin-top: 0.75rem;\n margin-bottom: 0.75rem;\n }\n\n .md\\\\:my-8 {\n margin-top: 2rem;\n margin-bottom: 2rem;\n }\n\n .md\\\\:my-auto {\n margin-top: auto;\n margin-bottom: auto;\n }\n\n .md\\\\:mb-0 {\n margin-bottom: 0px;\n }\n\n .md\\\\:mb-5 {\n margin-bottom: 1.25rem;\n }\n\n .md\\\\:ml-1 {\n margin-left: 0.25rem;\n }\n\n .md\\\\:ml-6 {\n margin-left: 1.5rem;\n }\n\n .md\\\\:mr-5 {\n margin-right: 1.25rem;\n }\n\n .md\\\\:mr-6 {\n margin-right: 1.5rem;\n }\n\n .md\\\\:mt-2 {\n margin-top: 0.5rem;\n }\n\n .md\\\\:mt-2\\\\.5 {\n margin-top: 0.625rem;\n }\n\n .md\\\\:mt-3 {\n margin-top: 0.75rem;\n }\n\n .md\\\\:mt-4 {\n margin-top: 1rem;\n }\n\n .md\\\\:mt-8 {\n margin-top: 2rem;\n }\n\n .md\\\\:block {\n display: block;\n }\n\n .md\\\\:flex {\n display: flex;\n }\n\n .md\\\\:hidden {\n display: none;\n }\n\n .md\\\\:h-12 {\n height: 3rem;\n }\n\n .md\\\\:h-5 {\n height: 1.25rem;\n }\n\n .md\\\\:h-\\\\[68px\\\\] {\n height: 68px;\n }\n\n .md\\\\:h-max {\n height: -moz-max-content;\n height: max-content;\n }\n\n .md\\\\:max-h-\\\\[220px\\\\] {\n max-height: 220px;\n }\n\n .md\\\\:min-h-\\\\[244px\\\\] {\n min-height: 244px;\n }\n\n .md\\\\:w-1\\\\/2 {\n width: 50%;\n }\n\n .md\\\\:w-3\\\\/5 {\n width: 60%;\n }\n\n .md\\\\:w-40 {\n width: 10rem;\n }\n\n .md\\\\:w-5\\\\/12 {\n width: 41.666667%;\n }\n\n .md\\\\:w-52 {\n width: 13rem;\n }\n\n .md\\\\:w-\\\\[350px\\\\] {\n width: 350px;\n }\n\n .md\\\\:w-\\\\[370px\\\\] {\n width: 370px;\n }\n\n .md\\\\:w-\\\\[374px\\\\] {\n width: 374px;\n }\n\n .md\\\\:w-\\\\[400px\\\\] {\n width: 400px;\n }\n\n .md\\\\:w-\\\\[580px\\\\] {\n width: 580px;\n }\n\n .md\\\\:w-auto {\n width: auto;\n }\n\n .md\\\\:w-full {\n width: 100%;\n }\n\n .md\\\\:max-w-\\\\[137px\\\\] {\n max-width: 137px;\n }\n\n .md\\\\:max-w-\\\\[200px\\\\] {\n max-width: 200px;\n }\n\n .md\\\\:max-w-\\\\[464px\\\\] {\n max-width: 464px;\n }\n\n .md\\\\:max-w-\\\\[737px\\\\] {\n max-width: 737px;\n }\n\n .md\\\\:max-w-full {\n max-width: 100%;\n }\n\n .md\\\\:max-w-sm {\n max-width: 24rem;\n }\n\n .md\\\\:grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n\n .md\\\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .md\\\\:flex-row {\n flex-direction: row;\n }\n\n .md\\\\:flex-col {\n flex-direction: column;\n }\n\n .md\\\\:items-start {\n align-items: flex-start;\n }\n\n .md\\\\:justify-start {\n justify-content: flex-start;\n }\n\n .md\\\\:justify-center {\n justify-content: center;\n }\n\n .md\\\\:gap-8 {\n gap: 2rem;\n }\n\n .md\\\\:space-x-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0px * var(--tw-space-x-reverse));\n margin-left: calc(0px * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .md\\\\:space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .md\\\\:space-x-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1rem * var(--tw-space-x-reverse));\n margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .md\\\\:space-x-5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(1.25rem * var(--tw-space-x-reverse));\n margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));\n }\n\n .md\\\\:space-y-0 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0px * var(--tw-space-y-reverse));\n }\n\n .md\\\\:space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n }\n\n .md\\\\:space-y-4 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(1rem * var(--tw-space-y-reverse));\n }\n\n .md\\\\:self-start {\n align-self: flex-start;\n }\n\n .md\\\\:self-end {\n align-self: flex-end;\n }\n\n .md\\\\:rounded {\n border-radius: 0.25rem;\n }\n\n .md\\\\:rounded-lg {\n border-radius: 0.5rem;\n }\n\n .md\\\\:p-5 {\n padding: 1.25rem;\n }\n\n .md\\\\:px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n\n .md\\\\:px-20 {\n padding-left: 5rem;\n padding-right: 5rem;\n }\n\n .md\\\\:px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n }\n\n .md\\\\:px-5 {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n }\n\n .md\\\\:px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n }\n\n .md\\\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n\n .md\\\\:py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n }\n\n .md\\\\:py-1\\\\.5 {\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n }\n\n .md\\\\:py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n }\n\n .md\\\\:py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n }\n\n .md\\\\:py-3\\\\.5 {\n padding-top: 0.875rem;\n padding-bottom: 0.875rem;\n }\n\n .md\\\\:py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n }\n\n .md\\\\:pb-4 {\n padding-bottom: 1rem;\n }\n\n .md\\\\:pb-7 {\n padding-bottom: 1.75rem;\n }\n\n .md\\\\:pt-0 {\n padding-top: 0px;\n }\n\n .md\\\\:pt-3 {\n padding-top: 0.75rem;\n }\n\n .md\\\\:pt-5 {\n padding-top: 1.25rem;\n }\n\n .md\\\\:pt-8 {\n padding-top: 2rem;\n }\n\n .md\\\\:text-left {\n text-align: left;\n }\n\n .md\\\\:text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n }\n\n .md\\\\:text-base {\n font-size: 1rem;\n line-height: 1.5rem;\n }\n\n .md\\\\:text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n }\n\n .md\\\\:text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n }\n\n .md\\\\:text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n }\n\n .md\\\\:text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n }\n\n .md\\\\:leading-6 {\n line-height: 1.5rem;\n }\n\n .md\\\\:tracking-normal {\n letter-spacing: 0em;\n }\n }\n\n @media (min-width: 1024px) {\n .lg\\\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n\n .lg\\\\:col-span-3 {\n grid-column: span 3 / span 3;\n }\n\n .lg\\\\:col-span-5 {\n grid-column: span 5 / span 5;\n }\n\n .lg\\\\:col-start-10 {\n grid-column-start: 10;\n }\n\n .lg\\\\:mx-auto {\n margin-left: auto;\n margin-right: auto;\n }\n\n .lg\\\\:mb-0 {\n margin-bottom: 0px;\n }\n\n .lg\\\\:mt-0 {\n margin-top: 0px;\n }\n\n .lg\\\\:block {\n display: block;\n }\n\n .lg\\\\:flex {\n display: flex;\n }\n\n .lg\\\\:hidden {\n display: none;\n }\n\n .lg\\\\:min-h-\\\\[220px\\\\] {\n min-height: 220px;\n }\n\n .lg\\\\:w-1\\\\/2 {\n width: 50%;\n }\n\n .lg\\\\:w-1\\\\/3 {\n width: 33.333333%;\n }\n\n .lg\\\\:w-\\\\[410px\\\\] {\n width: 410px;\n }\n\n .lg\\\\:max-w-7xl {\n max-width: 80rem;\n }\n\n .lg\\\\:grid-cols-12 {\n grid-template-columns: repeat(12, minmax(0, 1fr));\n }\n\n .lg\\\\:grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n .lg\\\\:flex-row {\n flex-direction: row;\n }\n\n .lg\\\\:flex-col {\n flex-direction: column;\n }\n\n .lg\\\\:items-center {\n align-items: center;\n }\n\n .lg\\\\:justify-end {\n justify-content: flex-end;\n }\n\n .lg\\\\:justify-between {\n justify-content: space-between;\n }\n\n .lg\\\\:gap-0 {\n gap: 0px;\n }\n\n .lg\\\\:gap-8 {\n gap: 2rem;\n }\n\n .lg\\\\:gap-x-6 {\n -moz-column-gap: 1.5rem;\n column-gap: 1.5rem;\n }\n\n .lg\\\\:px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n\n .lg\\\\:px-24 {\n padding-left: 6rem;\n padding-right: 6rem;\n }\n\n .lg\\\\:px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n }\n\n .lg\\\\:py-10 {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n }\n\n .lg\\\\:pb-0 {\n padding-bottom: 0px;\n }\n\n .lg\\\\:pb-6 {\n padding-bottom: 1.5rem;\n }\n }\n\n @media (min-width: 1280px) {\n .xl\\\\:px-0 {\n padding-left: 0px;\n padding-right: 0px;\n }\n }\n\n @media (min-width: 1536px) {\n .\\\\32xl\\\\:w-1\\\\/4 {\n width: 25%;\n }\n }\n`\n"]}