diff --git a/SC2.png b/SC2.png new file mode 100644 index 00000000..011fbfb8 Binary files /dev/null and b/SC2.png differ diff --git a/src/frontend/apps/impress/cunningham.ts b/src/frontend/apps/impress/cunningham.ts index a324b170..633e2db9 100644 --- a/src/frontend/apps/impress/cunningham.ts +++ b/src/frontend/apps/impress/cunningham.ts @@ -5,6 +5,7 @@ const config = { colors: { 'card-border': '#ededed', 'primary-bg': '#FAFAFA', + 'primary-action': '#1212FF', 'primary-050': '#F5F5FE', 'primary-100': '#EDF5FA', 'primary-150': '#E5EEFA', @@ -59,6 +60,11 @@ const config = { h4: '1.375rem', h5: '1.25rem', h6: '1.125rem', + 'xl-alt': '5rem', + 'lg-alt': '4.5rem', + 'md-alt': '4rem', + 'sm-alt': '3.5rem', + 'xs-alt': '3rem', }, weights: { thin: 100, @@ -224,7 +230,7 @@ const config = { 'color-hover': 'var(--c--theme--colors--primary-700)', }, border: { - color: 'var(--c--theme--colors--primary-200)', + color: 'var(--c--theme--colors--greyscale-300)', }, }, tertiary: { @@ -379,8 +385,8 @@ const config = { 'color-active': '#EDEDED', }, border: { - color: 'var(--c--theme--colors--primary-600)', - 'color-hover': 'var(--c--theme--colors--primary-600)', + color: 'var(--c--theme--colors--greyscale-300)', + 'color-hover': 'var(--c--theme--colors--greyscale-300)', }, color: 'var(--c--theme--colors--primary-text)', }, diff --git a/src/frontend/apps/impress/src/assets/common/logo-doc-big.png b/src/frontend/apps/impress/src/assets/common/logo-doc-big.png new file mode 100644 index 00000000..07d55857 Binary files /dev/null and b/src/frontend/apps/impress/src/assets/common/logo-doc-big.png differ diff --git a/src/frontend/apps/impress/src/assets/common/logo-docs-md.svg b/src/frontend/apps/impress/src/assets/common/logo-docs-md.svg new file mode 100644 index 00000000..72a90e9c --- /dev/null +++ b/src/frontend/apps/impress/src/assets/common/logo-docs-md.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/frontend/apps/impress/src/assets/common/logo-docs-sm.png b/src/frontend/apps/impress/src/assets/common/logo-docs-sm.png new file mode 100644 index 00000000..7d5f385c Binary files /dev/null and b/src/frontend/apps/impress/src/assets/common/logo-docs-sm.png differ diff --git a/src/frontend/apps/impress/src/assets/common/logo-docs.svg b/src/frontend/apps/impress/src/assets/common/logo-docs.svg new file mode 100644 index 00000000..72a90e9c --- /dev/null +++ b/src/frontend/apps/impress/src/assets/common/logo-docs.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/frontend/apps/impress/src/assets/common/pro-connect-disabled.png b/src/frontend/apps/impress/src/assets/common/pro-connect-disabled.png new file mode 100644 index 00000000..1248bd91 Binary files /dev/null and b/src/frontend/apps/impress/src/assets/common/pro-connect-disabled.png differ diff --git a/src/frontend/apps/impress/src/assets/common/pro-connect.png b/src/frontend/apps/impress/src/assets/common/pro-connect.png new file mode 100644 index 00000000..c99e1f5e Binary files /dev/null and b/src/frontend/apps/impress/src/assets/common/pro-connect.png differ diff --git a/src/frontend/apps/impress/src/components/DocsTitle.tsx b/src/frontend/apps/impress/src/components/DocsTitle.tsx new file mode 100644 index 00000000..53499496 --- /dev/null +++ b/src/frontend/apps/impress/src/components/DocsTitle.tsx @@ -0,0 +1,29 @@ +import Image from 'next/image'; +import { useTranslation } from 'react-i18next'; + +import IconDocs from '@/assets/common/logo-docs-sm.png'; +import { useCunninghamTheme } from '@/cunningham'; +import Title from '@/features/header/components/Title/Title'; +import { useResponsiveStore } from '@/stores'; + +import { Box } from './Box'; + +export const DocsTitle = () => { + const theme = useCunninghamTheme(); + const { t } = useTranslation(); + const { isDesktop } = useResponsiveStore(); + const spacings = theme.spacingsTokens(); + const colors = theme.colorsTokens(); + return ( + + {t('Docs + + </Box> + ); +}; diff --git a/src/frontend/apps/impress/src/components/ProConnectButton.tsx b/src/frontend/apps/impress/src/components/ProConnectButton.tsx new file mode 100644 index 00000000..28f2022b --- /dev/null +++ b/src/frontend/apps/impress/src/components/ProConnectButton.tsx @@ -0,0 +1,31 @@ +import { css } from 'styled-components'; + +import { baseApiUrl } from '@/api'; + +import { BoxButton } from './BoxButton'; + +export const ProConnectButton = () => { + const handleClick = () => { + window.location.replace(`${baseApiUrl()}authenticate/`); + }; + + return ( + <BoxButton + onClick={handleClick} + $css={css` + border-radius: 4px; + background-color: transparent !important; + background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMTEnIGhlaWdodD0nNTgnIGZpbGw9J25vbmUnPjxwYXRoIGZpbGw9JyMwMDAwOTEnIGQ9J00wIDBoMjExdjU4SDB6Jy8+PHBhdGggZmlsbD0nI2ZmZicgZD0nbTY5Ljk4NiAyNi4zNjggMS4xNTYtMS4wNzFjLjgzMyAxLjA1NCAxLjgxOSAxLjU5OCAyLjk0MSAxLjU5OCAxLjI5MiAwIDIuMDQtLjgxNiAyLjA0LTEuOTA0IDAtMi41NS01LjYyNy0yLjI0NC01LjYyNy02LjAzNSAwLTEuNzM0IDEuNDI4LTMuMTk2IDMuNDUxLTMuMTk2IDEuNjgzIDAgMi45MDcuNzY1IDMuNzkxIDEuOTM4bC0xLjE5IDEuMDM3Yy0uNjk3LTEuMDAzLTEuNTQ3LTEuNTQ3LTIuNTg0LTEuNTQ3LTEuMTA1IDAtMS44MzYuNzQ4LTEuODM2IDEuNzM0IDAgMi41NjcgNS42MjcgMi4yNDQgNS42MjcgNi4wNTIgMCAyLjAyMy0xLjU4MSAzLjM0OS0zLjY1NSAzLjM0OS0xLjc2OCAwLTMuMDc3LS42NjMtNC4xMTQtMS45NTVabTEwLjgxNy01LjcxMkg3OS40NmwxLjQ0NS00LjU1NmgxLjY0OWwtMS43NTEgNC41NTZabTQuODE4LTMuNDUxYy0uNTYgMC0xLjAyLS40NTktMS4wMi0xLjAyYTEuMDIgMS4wMiAwIDAgMSAxLjAyLTEuMDAzYy41NjEgMCAxLjAwMy40NTkgMS4wMDMgMS4wMDMgMCAuNTYxLS40NDIgMS4wMi0xLjAwMyAxLjAyWk04NC44OTEgMjh2LTguNTY4aDEuNDQ0VjI4SDg0Ljg5Wm0zLjc2Ny00LjI4NGMwLTIuNDk5IDEuNzE3LTQuNjI0IDQuNDAzLTQuNjI0IDEuMjQxIDAgMi4yNjEuNDU5IDMuMDQzIDEuMjkyVjE1LjI1aDEuNDQ1VjI4aC0xLjQ0NXYtLjk1MmMtLjc4Mi44MzMtMS44MDIgMS4yOTItMy4wNDMgMS4yOTItMi42ODYgMC00LjQwMy0yLjEyNS00LjQwMy00LjYyNFptMS41MyAwYzAgMS44MTkgMS4yMjQgMy4yNjQgMy4wNDMgMy4yNjQgMS4xOSAwIDIuMjEtLjU3OCAyLjg3My0xLjU5OFYyMi4wNWMtLjY4LTEuMDM3LTEuNy0xLjU5OC0yLjg3My0xLjU5OC0xLjgxOSAwLTMuMDQzIDEuNDQ1LTMuMDQzIDMuMjY0Wm0xOC4wMjMgMi44NzNjLS43OTkgMS4wNzEtMi4wNzQgMS43NTEtMy42NzIgMS43NTEtMi44OSAwLTQuNjc1LTIuMTI1LTQuNjc1LTQuNjI0IDAtMi42MDEgMS42NjYtNC42MjQgNC4zMTgtNC42MjQgMi4zMjkgMCAzLjg0MiAxLjU4MSAzLjg0MiAzLjcyMyAwIC4zNC0uMDUxLjY4LS4xMDIuOTE4aC02LjU2MnYuMDM0YzAgMS44ODcgMS4yOTIgMy4yNjQgMy4yMTMgMy4yNjQgMS4wODggMCAyLjAwNi0uNTEgMi41NjctMS4yNzVsMS4wNzEuODMzWm0tNC4wMTItNi4yNTZjLTEuMzk0IDAtMi4zOC43ODItMi43MiAyLjI2MWg1LjA4M2MtLjA1MS0xLjI0MS0uOTUyLTIuMjYxLTIuMzYzLTIuMjYxWk0xMTAuNDczIDI4di04LjU2OGgxLjQ0NXYuOTY5Yy42OTctLjc2NSAxLjU4MS0xLjMwOSAyLjg1Ni0xLjMwOSAxLjkyMSAwIDMuMzQ5IDEuMjkyIDMuMzQ5IDMuNzIzVjI4aC0xLjQ2MnYtNS4xMzRjMC0xLjUzLS44NS0yLjQxNC0yLjE3Ni0yLjQxNC0xLjI0MSAwLTIuMDIzLjcxNC0yLjU2NyAxLjYxNVYyOGgtMS40NDVabTExLjA1Mi0yLjg3M3YtNC4zNjloLTEuNjE1di0xLjMyNmgxLjYxNVYxNy4yOWgxLjQ2MnYyLjE0MmgyLjk3NXYxLjMyNmgtMi45NzV2NC4zNjljMCAxLjM0My42OCAxLjcxNyAxLjcxNyAxLjcxNy41NjEgMCAuOTUyLS4wNjggMS4yNzUtLjIwNHYxLjI5MmMtLjQwOC4xNy0uODY3LjIzOC0xLjQ3OS4yMzgtMS45MDQgMC0yLjk3NS0uOTUyLTIuOTc1LTMuMDQzWm03LjM3Ny03LjkyMmMtLjU2MSAwLTEuMDItLjQ1OS0xLjAyLTEuMDJhMS4wMiAxLjAyIDAgMCAxIDEuMDItMS4wMDNjLjU2MSAwIDEuMDAzLjQ1OSAxLjAwMyAxLjAwMyAwIC41NjEtLjQ0MiAxLjAyLTEuMDAzIDEuMDJaTTEyOC4xNzEgMjh2LTguNTY4aDEuNDQ1VjI4aC0xLjQ0NVptMy4zNzctOC41NjhoMS42MTV2LTEuMDU0YzAtMS44MzYgMS4yMDctMy4xMjggMy4wNDMtMy4xMjguOTUyIDAgMS43LjM0IDIuMjEuODMzbC0uOTAxIDEuMDU0YTEuNjMzIDEuNjMzIDAgMCAwLTEuMjkyLS41NzhjLS45MzUgMC0xLjU5OC42OC0xLjU5OCAxLjc4NXYxLjA4OGgyLjk3NXYxLjMyNmgtMi45NzVWMjhoLTEuNDYydi03LjI0MmgtMS42MTV2LTEuMzI2Wm04LjU0My0yLjIyN2MtLjU2MSAwLTEuMDItLjQ1OS0xLjAyLTEuMDJhMS4wMiAxLjAyIDAgMCAxIDEuMDItMS4wMDNjLjU2MSAwIDEuMDAzLjQ1OSAxLjAwMyAxLjAwMyAwIC41NjEtLjQ0MiAxLjAyLTEuMDAzIDEuMDJaTTEzOS4zNiAyOHYtOC41NjhoMS40NDVWMjhoLTEuNDQ1Wm0xMi4xMTUtMS40MTFjLS43OTkgMS4wNzEtMi4wNzQgMS43NTEtMy42NzIgMS43NTEtMi44OSAwLTQuNjc1LTIuMTI1LTQuNjc1LTQuNjI0IDAtMi42MDEgMS42NjYtNC42MjQgNC4zMTgtNC42MjQgMi4zMjkgMCAzLjg0MiAxLjU4MSAzLjg0MiAzLjcyMyAwIC4zNC0uMDUxLjY4LS4xMDIuOTE4aC02LjU2MnYuMDM0YzAgMS44ODcgMS4yOTIgMy4yNjQgMy4yMTMgMy4yNjQgMS4wODggMCAyLjAwNi0uNTEgMi41NjctMS4yNzVsMS4wNzEuODMzWm0tNC4wMTItNi4yNTZjLTEuMzk0IDAtMi4zOC43ODItMi43MiAyLjI2MWg1LjA4M2MtLjA1MS0xLjI0MS0uOTUyLTIuMjYxLTIuMzYzLTIuMjYxWk0xNTMuNzM3IDI4di04LjU2OGgxLjQ0NXYxLjA3MWMuNjI5LS43NDggMS40MTEtMS4yNDEgMi40OTktMS4yNDEuMjcyIDAgLjUyNy4wMzQuNzMxLjEwMnYxLjQ5NmEzLjEwNSAzLjEwNSAwIDAgMC0uODUtLjExOWMtMS4xMjIgMC0xLjg1My41NzgtMi4zOCAxLjQ0NVYyOGgtMS40NDVabTEzLjY4NS4zNGMtMS42ODMgMC0yLjgyMi0uOTUyLTIuODIyLTIuNDQ4IDAtMS4zMjYuOTg2LTIuMjc4IDIuODIyLTIuNTY3bDIuODczLS40NzZ2LS41OTVjMC0xLjE5LS44NS0xLjg3LTIuMDU3LTEuODctMS4wMDMgMC0xLjgzNi40NDItMi4zMjkgMS4xOWwtMS4wODgtLjgzM2MuNzQ4LTEuMDIgMS45NTUtMS42NDkgMy40NTEtMS42NDkgMi4xNzYgMCAzLjQ2OCAxLjI3NSAzLjQ2OCAzLjE2MlYyOGgtMS40NDV2LTEuMDg4Yy0uNjQ2LjkwMS0xLjcxNyAxLjQyOC0yLjg3MyAxLjQyOFptLTEuMzc3LTIuNDk5YzAgLjczMS42MjkgMS4yOTIgMS42MTUgMS4yOTIgMS4xMzkgMCAyLjA0LS41OTUgMi42MzUtMS41ODFWMjMuOTJsLTIuNTMzLjQ0MmMtMS4xOS4xODctMS43MTcuNzMxLTEuNzE3IDEuNDc5Wm03LjI1Mi02LjQwOWgxLjU2NGwyLjczNyA3LjA1NSAyLjczNy03LjA1NWgxLjU2NEwxNzguNTUgMjhoLTEuOTA0bC0zLjM0OS04LjU2OFptMTcuODU2IDcuMTU3Yy0uNzk5IDEuMDcxLTIuMDc0IDEuNzUxLTMuNjcyIDEuNzUxLTIuODkgMC00LjY3NS0yLjEyNS00LjY3NS00LjYyNCAwLTIuNjAxIDEuNjY2LTQuNjI0IDQuMzE4LTQuNjI0IDIuMzI5IDAgMy44NDIgMS41ODEgMy44NDIgMy43MjMgMCAuMzQtLjA1MS42OC0uMTAyLjkxOGgtNi41NjJ2LjAzNGMwIDEuODg3IDEuMjkyIDMuMjY0IDMuMjEzIDMuMjY0IDEuMDg4IDAgMi4wMDYtLjUxIDIuNTY3LTEuMjc1bDEuMDcxLjgzM1ptLTQuMDEyLTYuMjU2Yy0xLjM5NCAwLTIuMzguNzgyLTIuNzIgMi4yNjFoNS4wODNjLS4wNTEtMS4yNDEtLjk1Mi0yLjI2MS0yLjM2My0yLjI2MVptMTAuMTg1IDYuNjQ3YzEuMDU0IDAgMS45MDQtLjUxIDIuNDMxLTEuMjc1bDEuMTU2Ljg4NGMtLjc5OSAxLjA3MS0yLjA0IDEuNzUxLTMuNjA0IDEuNzUxLTIuODM5IDAtNC42NTgtMi4xMjUtNC42NTgtNC42MjQgMC0yLjQ5OSAxLjgxOS00LjYyNCA0LjY1OC00LjYyNCAxLjU0NyAwIDIuODA1LjY5NyAzLjYwNCAxLjc1MWwtMS4xNTYuODg0YTIuOTI1IDIuOTI1IDAgMCAwLTIuNDQ4LTEuMjc1Yy0xLjgzNiAwLTMuMTQ1IDEuNDQ1LTMuMTQ1IDMuMjY0IDAgMS44MzYgMS4zMDkgMy4yNjQgMy4xNjIgMy4yNjRaTTcwLjg1NCA0NVYzMi40aDQuMTU4YzIuNzcyIDAgNC40NjQgMS40MjIgNC40NjQgMy43NjIgMCAyLjMyMi0xLjY5MiAzLjc0NC00LjQ2NCAzLjc0NEg3My40MVY0NWgtMi41NTZabTQuMjY2LTEwLjQyMmgtMS43MXYzLjE1aDEuNzFjMS4wOCAwIDEuNzI4LS41NzYgMS43MjgtMS42MDIgMC0uOTU0LS42NDgtMS41NDgtMS43MjgtMS41NDhaTTgxLjI0OSA0NXYtOS4wNzJoMi4yODZ2LjljLjU5NC0uNjEyIDEuMzY4LTEuMDggMi4zOTQtMS4wOC4zMDYgMCAuNTc2LjA1NC43OTIuMTI2djIuMzk0YTMuOTM4IDMuOTM4IDAgMCAwLTEuMDA4LS4xMjZjLTEuMTE2IDAtMS44MzYuNjEyLTIuMTc4IDEuMTdWNDVoLTIuMjg2Wm0xMS4zODYtOS40MzJjMi45NTIgMCA0Ljk2OCAyLjE3OCA0Ljk2OCA0Ljg5NnMtMi4wMTYgNC44OTYtNC45NjggNC44OTYtNC45NjgtMi4xNzgtNC45NjgtNC44OTYgMi4wMTYtNC44OTYgNC45NjgtNC44OTZabS4wMzYgNy42MzJjMS40NTggMCAyLjU1Ni0xLjE3IDIuNTU2LTIuNzM2IDAtMS41ODQtMS4wOTgtMi43MzYtMi41NTYtMi43MzYtMS41MTIgMC0yLjYyOCAxLjE1Mi0yLjYyOCAyLjczNiAwIDEuNTg0IDEuMTE2IDIuNzM2IDIuNjI4IDIuNzM2Wm0xMy4xNzItLjIzNGMxLjQ0IDAgMi41NzQtLjcwMiAzLjI5NC0xLjcyOGwyLjAxNiAxLjU0OGMtMS4xNTIgMS41NjYtMy4wMjQgMi41NzQtNS4zMSAyLjU3NC0zLjk3OCAwLTYuNjk2LTMuMDYtNi42OTYtNi42NnMyLjcxOC02LjY2IDYuNjk2LTYuNjZjMi4yODYgMCA0LjE1OCAxLjAyNiA1LjMxIDIuNTU2bC0yLjAxNiAxLjU2NmMtLjcyLTEuMDI2LTEuODU0LTEuNzI4LTMuMjk0LTEuNzI4LTIuMzc2IDAtNC4wNjggMS44NTQtNC4wNjggNC4yNjZzMS42OTIgNC4yNjYgNC4wNjggNC4yNjZabTExLjM2Ni03LjM5OGMyLjk1MiAwIDQuOTY4IDIuMTc4IDQuOTY4IDQuODk2cy0yLjAxNiA0Ljg5Ni00Ljk2OCA0Ljg5Ni00Ljk2OC0yLjE3OC00Ljk2OC00Ljg5NiAyLjAxNi00Ljg5NiA0Ljk2OC00Ljg5NlptLjAzNiA3LjYzMmMxLjQ1OCAwIDIuNTU2LTEuMTcgMi41NTYtMi43MzYgMC0xLjU4NC0xLjA5OC0yLjczNi0yLjU1Ni0yLjczNi0xLjUxMiAwLTIuNjI4IDEuMTUyLTIuNjI4IDIuNzM2IDAgMS41ODQgMS4xMTYgMi43MzYgMi42MjggMi43MzZabTcuMDE4IDEuOHYtOS4wNzJoMi4yODZ2LjcyYy42My0uNjEyIDEuNDc2LTEuMDggMi42ODItMS4wOCAxLjk2MiAwIDMuNTI4IDEuMzUgMy41MjggNC4wMzJWNDVoLTIuMzIydi01LjMxYzAtMS4yMDYtLjY2Ni0xLjk2Mi0xLjc4Mi0xLjk2Mi0xLjE1MiAwLTEuNzY0Ljc3NC0yLjEwNiAxLjM1VjQ1aC0yLjI4NlptMTEuMDkxIDB2LTkuMDcyaDIuMjg2di43MmMuNjMtLjYxMiAxLjQ3Ni0xLjA4IDIuNjgyLTEuMDggMS45NjIgMCAzLjUyOCAxLjM1IDMuNTI4IDQuMDMyVjQ1aC0yLjMyMnYtNS4zMWMwLTEuMjA2LS42NjYtMS45NjItMS43ODItMS45NjItMS4xNTIgMC0xLjc2NC43NzQtMi4xMDYgMS4zNVY0NWgtMi4yODZabTE5LjQ0NC0xLjQ3NmMtLjg0NiAxLjEzNC0yLjI1IDEuODM2LTMuOTYgMS44MzYtMy4yMjIgMC01LjA0LTIuMjUtNS4wNC00Ljg5NiAwLTIuNjgyIDEuNjkyLTQuODk2IDQuNjYyLTQuODk2IDIuNTIgMCA0LjE3NiAxLjY5MiA0LjE3NiA0LjA2OCAwIC41MDQtLjA3Mi45OS0uMTQ0IDEuMjk2aC02LjM1NGMuMTQ0IDEuNDk0IDEuMTg4IDIuMzc2IDIuNzM2IDIuMzc2Ljk5IDAgMS44LS40MzIgMi4yODYtMS4wOGwxLjYzOCAxLjI5NlptLTQuMzM4LTYuMDQ4Yy0xLjExNiAwLTEuODcyLjU0LTIuMTc4IDEuNzI4aDQuMDg2Yy0uMDM2LS45LS43MDItMS43MjgtMS45MDgtMS43MjhabTEwLjY5NiA1LjcyNGMuODgyIDAgMS41ODQtLjQzMiAyLjAxNi0xLjA2MmwxLjgxOCAxLjM4NmMtLjg0NiAxLjExNi0yLjE3OCAxLjgzNi0zLjgzNCAxLjgzNi0zLjEzMiAwLTUuMDA0LTIuMjUtNS4wMDQtNC44OTZzMS44NzItNC44OTYgNS4wMDQtNC44OTZjMS42NTYgMCAyLjk4OC43MiAzLjgzNCAxLjgzNmwtMS44MTggMS4zODZjLS40MzItLjYzLTEuMTE2LTEuMDYyLTIuMDUyLTEuMDYyLTEuNDk0IDAtMi41OTIgMS4xNTItMi41OTIgMi43MzYgMCAxLjYwMiAxLjA5OCAyLjczNiAyLjYyOCAyLjczNlptNi4yMDQtMS41MTJ2LTMuNjcyaC0xLjY5MnYtMi4wODhoMS42OTJWMzMuNjZoMi4zMDR2Mi4yNjhoMi43NzJ2Mi4wODhoLTIuNzcydjMuNjcyYzAgMS4wMDguNTQgMS40MDQgMS40NCAxLjQwNC42MyAwIDEuMDQ0LS4wNzIgMS4zNS0uMTk4djEuOTk4Yy0uNDUuMTk4LS45OS4yODgtMS43NDYuMjg4LTIuMjY4IDAtMy4zNDgtMS4yNzgtMy4zNDgtMy40OTJaJy8+PHBhdGggZmlsbD0nIzAwMDA5MScgZD0nTTQ2Ljk5MiAxOS4wOTggMzEuOTk4IDEwLjQybC0xNC45OTQgOC43NmEuNjA2LjYwNiAwIDAgMC0uMzA2LjUyNXYxNi45NDhhLjY2Ni42NjYgMCAwIDAgLjMwNi41MjRsMTQuOTkyIDguNiAxNC45OTQtOC43MDZhLjY2Ni42NjYgMCAwIDAgLjMwNi0uNTI0VjE5LjYyNmEuNjA0LjYwNCAwIDAgMC0uMzA0LS41MjhaJy8+PHBhdGggZmlsbD0nI0ZDQzYzQScgZD0nbTI2LjY0MSAxOS41OTgtNS4wMjkgOC42MjgtNC41NTctOS4xNzUgNS4zOS0zLjExMyA0LjQ4OSAzLjE2LS4yOTMuNVptMjAuNjU2IDE2Ljk4VjE5LjYyYS42LjYgMCAwIDAtLjMwNi0uNTIzTDMxLjk5OCAxMC40MicvPjxwYXRoIGZpbGw9JyMwMDYzQ0InIGQ9J00xNi43IDM2LjU3OCAzMiAxMC40MnYzNS4zNjJsLTE0Ljk5Ni04LjYwNWEuNjY1LjY2NSAwIDAgMS0uMzA2LS41MjRWMTkuNzA2bC4wMDIgMTYuODcyWm0yNC42NjktMjAuNzM1IDUuNDU4IDMuMTU1LTQuNDg5IDkuMTUtNS4zODctOS4yMzYgNC40MTgtMy4wN1onLz48cGF0aCBmaWxsPScjZmZmJyBkPSdtNTEuNjA2IDE2LjMwMy0xOS4xOS0xMS4wMmEuOTMzLjkzMyAwIDAgMC0uODMyIDBsLTE5LjE5IDExLjAyYS44ODcuODg3IDAgMCAwLS4zOTQuNjk1djIyYS44ODUuODg1IDAgMCAwIC4zOTQuN2wxOS4xODkgMTEuMDJhLjkzMi45MzIgMCAwIDAgLjgzMiAwbDE5LjE5MS0xMS4wMmEuODg2Ljg4NiAwIDAgMCAuMzk0LS43di0yMmEuODg3Ljg4NyAwIDAgMC0uMzk0LS42OTVaTTIyLjc4OSAzNC4wNTloLjA3OWMtLjA0MiAwLS4wNzkuMDA3LS4wNzkuMDUgMCAuMS4xNTEgMCAuMi4xYS45MTIuOTEyIDAgMCAwLS42MjkuMjc2YzAgLjA1LjEuMDUuMTUxLjA1LS4wNzUuMS0uMjI2LjA1LS4yNzcuMTUyYS4xNzYuMTc2IDAgMCAwIC4xLjA1Yy0uMDUgMC0uMSAwLS4xLjA1di4xNTJjLS4xMjYgMC0uMTc2LjEtLjI3Ny4xNS4yLjE1Mi4zMjcgMCAuNTI4IDAtLjUyOC4yLS45NTYuNDc5LTEuNDg0LjYzLS4xIDAgMCAuMTUtLjEuMTUuMTUxLjEuMjI3LS4wNS4zNzctLjA1LS42NTQuMzc4LTEuMzMzLjctMi4wMzcgMS4xMzNhLjM1MS4zNTEgMCAwIDAtLjEuMmgtLjJjLS4xLjA1LS4wNS4xNzYtLjE1MS4yNzcuMjI2LjE1LjUtLjIuNjU0IDAgLjA1IDAtLjEuMDUtLjIuMDUtLjA1IDAtLjA1LjEtLjEuMWgtLjE1NGMtLjEuMDc1LS4yLjEyNi0uMi4yNzZhLjIyLjIyIDAgMCAwLS4yMjYuMSA5LjAzMSA5LjAzMSAwIDAgMCAzLjE0NC0uNTc4IDcuNjgzIDcuNjgzIDAgMCAwIDIuMDg4LTEuNTYuMTc2LjE3NiAwIDAgMSAuMDUuMWMtLjE0Ny40MzctLjQzLjgxNi0uODA2IDEuMDgtLjI3Ny4xNTItLjQ3OC4zNzgtLjcuNDc5YTQuMDU3IDQuMDU3IDAgMCAwLS40MjguMjc2Yy0uNjMyLjE5Ny0xLjI4MS4zMzUtMS45MzkuNDEybC0uMzA1LjA0NGMtLjIyNS4wMzMtLjQ0OS4wNjktLjY3MS4xMDhsLTEuOTkzLTEuMTM4YS42NDcuNjQ3IDAgMCAxLS4yODgtLjQxMS41Ny41NyAwIDAgMCAuMDk0LS4wNjMuMjY2LjI2NiAwIDAgMC0uMTEzLS4wNzF2LS42NWExMi43ODIgMTIuNzgyIDAgMCAwIDMuMDM4LS45NDIgOC43NDYgOC43NDYgMCAwIDAtMy4wMzctMS4zNDN2LTEuNTE1YTExLjY3IDExLjY3IDAgMCAxIDEuNjM5LjM5MiA2LjQyIDYuNDIgMCAwIDEgMS4xODIuNTc4Yy4xNDcuMTQuMzA3LjI2Ny40NzguMzc3YS45MS45MSAwIDAgMCAuOC4wNWguMzNhMy45NjEgMy45NjEgMCAwIDAgMS45MzctLjkwNWMwIC4wNS4wNS4wNS4xLjA1YTMuNjI5IDMuNjI5IDAgMCAxLS40MjggMS4xMzJjLjAwMy4wNS0uMDQ4LjE1Mi4wNTMuMjAyWm0yLjgxNyAzLjU3Yy4yNTEtLjEuNC0uMjc2LjYyOS0uMzc2LS4wNS4wNS0uMDUuMTUtLjEuMmEzLjY5OSAzLjY5OSAwIDAgMC0uNTI4LjQgMTUuOTY1IDE1Ljk2NSAwIDAgMC0xLjU4NSAxLjYxYy0uMjUyLjMtLjUyOC41NzgtLjguODU1LS4wOTYuMDktLjIuMTcyLS4zMS4yNDVsLTIuNTI3LTEuNDVjLjM2LjAzLjcyMS4wMTMgMS4wNzYtLjA1My4yOTQtLjA4My41OC0uMTkyLjg1NS0uMzI3di4xYy43LS4yNzcgMS4yMzItLjkwNiAxLjkzNy0xLjEzMi4wMjUgMCAuMTI2LjEuMjI2LjA1YTEuODgzIDEuODgzIDAgMCAxIDEuNTA5LS43YzAgLjA1IDAgLjEuMDUuMWguMDI1Yy0uMTUxLjEyNi0uMzI3LjI1LS41LjM3Ny0uMDU3LjA1Mi0uMDA3LjEwMi4wNDMuMTAyWm0tOC45MDgtNi4xNjN2LS4xODZhNS44MTcgNS44MTcgMCAwIDEgMS41ODgtLjE4OCAxLjUyIDEuNTIgMCAwIDEgLjQ3OCAwIDUuODYgNS44NiAwIDAgMC0yLjA2Ni4zNzRabTMwLjYgNS4wODhhLjY2NS42NjUgMCAwIDEtLjMwNi41MjRsLTEwLjA3OSA1Ljg1YTMyLjI5NiAzMi4yOTYgMCAwIDEtMy40MDgtMS4xODQgMi44MjYgMi44MjYgMCAwIDEtLjA1LTIuMjQ1Yy4wOC0uMzA4LjE5OC0uNjA1LjM1Mi0uODgzLjAyNS0uMDI1LjA1LS4wNS4wNS0uMDc2YS4wMjUuMDI1IDAgMCAwIC4wMjUtLjAyNSA0LjMyIDQuMzIgMCAwIDEgLjM3Ny0uNTU1bC4wMTUtLjAxNS4wMi0uMDIxLjAxNS0uMDE1YzAtLjAyNS4wMjUtLjA1LjA1LS4wNzYuMDI1LS4wNTEuMDc1LS4wNzYuMS0uMTI2LjE3Ni0uMTg2LjM3LS4zNTQuNTc5LS41LjIxMy0uMDc3LjQzMS0uMTM2LjY1NC0uMTc3LjgxMS4wNiAxLjYxNy4xNyAyLjQxNS4zMjhhLjc1Mi43NTIgMCAwIDEgLjI3Ny4xYy4zMDEuMDU5LjYxMi4wNDEuOTA1LS4wNWExLjEzNyAxLjEzNyAwIDAgMCAuODU1LS43MDYgMS4yMTIgMS4yMTIgMCAwIDAgLjA1LTEuMDZjLS4xNzgtLjI3NS0uMDEzLS40MzYuMTgxLS41OWwuMDY4LS4wNTRjLjA4Ni0uMDYxLjE2NC0uMTM0LjIzMS0uMjE2LjEyNi0uMjUyLS4xLS40LS4xNTEtLjYzLS4wNS0uMS0uMjI2LS4wNS0uMzI3LS4yLjM1Mi0uMTUxLjg1NS0uNDMuNjI5LS44NTctLjE1MS0uMjI3LS4zNzctLjYzLS4xLS44NTcuMzUyLS4yLjg1NS0uMTUxIDEuMDA2LS40OGExLjEzNyAxLjEzNyAwIDAgMC0uMjkyLTEuMDg0bC0uMDc1LS4xMDhhNC43NTQgNC43NTQgMCAwIDEtLjIxMS0uMzIgNi45MDUgNi45MDUgMCAwIDAtLjUyOC0uNzU3IDQuMjk3IDQuMjk3IDAgMCAxLS41MjgtMS4wMWMtLjE1MS0uMzc3LjA1LS43MDUuMDUtMS4wODNhNi4zNDcgNi4zNDcgMCAwIDAtLjMyNy0yLjE0NGMtLjEyNi0uMzUzLS4xNzYtLjczMS0uMzI3LTEuMDZhMS4xMiAxLjEyIDAgMCAwLS4yMjYtLjU4LjM3NC4zNzQgMCAwIDEgMC0uMzI3Yy4yMDUtLjE0NS4zOTktLjMwNS41NzktLjQ4YS41NjcuNTY3IDAgMCAwLS4yLS43MDVjLS4zMjctLjE1MS0uMy4zMjgtLjUyOC40MjloLS4xNTFjLS4wNS0uMTI2LjA1LS4xNzcuMTUxLS4yNzcgMC0uMDUgMC0uMTUxLS4wNS0uMTUxLS4yIDAtLjM3Ny0uMDUxLS40MjgtLjE1MWEzLjk1NyAzLjk1NyAwIDAgMC0xLjg2MS0xLjI4NmMuMTg4LjA1OC4zODIuMDkxLjU3OS4xLjMzOC4wNzEuNjkuMDM2IDEuMDA2LS4xLjIyNy0uMDc2LjI3Ny0uNDguMzc3LS43MDZhLjguOCAwIDAgMC0uMTUxLS42MzEgMi4xOSAyLjE5IDAgMCAwLS45MDYtLjc1NiA5LjEzIDkuMTMgMCAwIDEtLjY3OS0uMzUzLjk1Ni45NTYgMCAwIDAtLjI1MS0uMTI2Yy0yLjk2NS0xLjQ4NS05LjA2OS0uMi05LjUzNCAwaC0uMDA5YTguMjU0IDguMjU0IDAgMCAwLTEuMjQ5LjQ3NSAzLjkyMiAzLjkyMiAwIDAgMC0yLjM2NSAyLjQ2NSAzLjgzIDMuODMgMCAwIDAtMS4zMzMgMS41MDljLS40MjguOC0xLjA1NiAxLjUwOS0uOTU2IDIuNDE0LjEuNzguMjc3IDEuNDg0LjQyOCAyLjI4OS4wNDMuMjcyLjExLjU0LjIuOC4xLjI3NiAwIC42MjkuMTUxLjg1NS4wNzUuMTUuMDI1LjMyNy4yMjcuNDI4di4yYy4wNS4wNS4wNS4xLjE1MS4xdi4yYy40MzUuNDIzLjgwNy45MDYgMS4xMDcgMS40MzQuMS4yNzYtLjQ3OC4xNS0uNy4wNWE1Ljk3NyA1Ljk3NyAwIDAgMS0xLjEzMi0uOTU2LjE3Ni4xNzYgMCAwIDAtLjA1MS4xYy4yLjM1Mi45MDYuNzguNTI4IDEuMDA2LS4yLjEtLjQyOC0uMTUxLS42MjkuMDUtLjA1LjA3NiAwIC4xNzcgMCAuMjc3LS4yNzctLjItLjU3OC0uMS0uODU1LS4yLS4yLS4wNS0uMjUyLS40MjctLjQ3OC0uNDI3YTE1LjE5MSAxNS4xOTEgMCAwIDAtMS44MTEtLjMyNyAxNS4xNDQgMTUuMTQ0IDAgMCAwLTEuNzM5LS4xNlYxOS43MDdhLjYwNi42MDYgMCAwIDEgLjMwNi0uNTI0bDE0Ljk4Ny04Ljc2MSAxNC45OTQgOC42NzdhLjYwNS42MDUgMCAwIDEgLjMwNi41MjR2MTYuOTMyWm0tNy45NTQtOC4yNjFhLjMyNS4zMjUgMCAwIDEtLjI4Mi4xNDkgMi44NCAyLjg0IDAgMCAwLS4yODIuMjczYy4xIDAgMCAuMTQ5LjEuMTQ5LS4yMDUuMjIzLjA3Ny42OTQtLjIwNS43OTMtLjM3LjA5OS0uNzU4LjA5OS0xLjEyNyAwYS43MjcuNzI3IDAgMCAxIC4xNjctLjAxNmguMDg1YS4zODIuMzgyIDAgMCAwIC4zMzctLjEzMnYtLjJjMC0uMDUtLjA1MS0uMDUtLjEtLjA1YS4xNi4xNiAwIDAgMS0uMS4wNS4yMjMuMjIzIDAgMCAwLS4xNTQtLjIuODA2LjgwNiAwIDAgMS0uNzE4LS4yNzMuNjcuNjcgMCAwIDEgLjQzNi0uMDVjLjEyOCAwIC4wNzctLjIyMy4yMzEtLjMyMmguMTU0Yy4zMDctLjM3Mi44NzEtLjQ3MS45NzQtLjg0MyAwLS4xLS4yODItLjEtLjQ4Ny0uMTVhMi4yNiAyLjI2IDAgMCAwLS44Mi4wNWMtLjM2LjA1LS43MTIuMTQyLTEuMDUxLjI3NC4yOC0uMjA2LjU5Mi0uMzY1LjkyMy0uNDcxLjIzMi0uMDkuNDczLS4xNTcuNzE4LS4ybC4xMzItLjAyNi4xMzMtLjAyN2EuOTcuOTcgMCAwIDEgLjU1NiAwYy4yMzEuMS42MTUuMS42NjYuMjQ4LjEuMjczLS4xNTQuNTQ1LS40MzUuNzQ0LS4wNTcuMDguMTQ5LjEzNS4xNDkuMjNaJy8+PHJlY3Qgd2lkdGg9JzI5LjU2JyBoZWlnaHQ9JzEzLjMwMicgeD0nMzcnIHk9JzUnIGZpbGw9JyNGQ0M2M0EnIHJ4PScyJy8+PHBhdGggZmlsbD0nIzE2MTYxNicgZD0nTTM5LjU2MiAxNi4xNjhWNy4zMTZoMi45MjFjLjk3IDAgMS43MzIuMjM2IDIuMjg5LjcwOC41NjUuNDcyLjg0NyAxLjExNy44NDcgMS45MzUgMCAuODEtLjI4MiAxLjQ1LS44NDcgMS45MjItLjU1Ny40NzItMS4zMi43MDgtMi4yODkuNzA4aC0xLjEyNXYzLjU3OWgtMS43OTZabTIuOTk3LTcuMzIyaC0xLjIwMXYyLjIxM2gxLjJjLjM4IDAgLjY3NS0uMDk3Ljg4Ni0uMjkuMjItLjE5NS4zMjktLjQ3My4zMjktLjgzNiAwLS4zMzctLjExLS42MDItLjMyOS0uNzk2LS4yMS0uMTk0LS41MDYtLjI5MS0uODg1LS4yOTFaTTQ3LjIzIDE2LjE2OFY3LjMxNmgyLjcwN2MuOTcgMCAxLjczNi4yMzYgMi4zMDEuNzA4LjU2NS40NzIuODQ3IDEuMTE3Ljg0NyAxLjkzNSAwIC41My0uMTI2Ljk5NS0uMzc5IDEuMzktLjI0NC4zODktLjU5LjY4OC0xLjAzNy44OTlsMi43ODIgMy45MmgtMi4xNWwtMi4zNTItMy41NzloLS45MjN2My41NzloLTEuNzk1Wm0yLjgwOC03LjMyMmgtMS4wMTJ2Mi4yMTNoMS4wMTJjLjM4IDAgLjY3NC0uMDk3Ljg4NS0uMjkuMjEtLjE5NS4zMTYtLjQ3My4zMTYtLjgzNiAwLS4zMzctLjEwNS0uNjAyLS4zMTYtLjc5Ni0uMjEtLjE5NC0uNTA2LS4yOTEtLjg4NS0uMjkxWk01OS41NDkgNy4wNjNjLjY5IDAgMS4zMjMuMTI2IDEuODk2LjM4LjU4Mi4yNTIgMS4wOC41OSAxLjQ5MiAxLjAxMS40MTQuNDIxLjczNC45MTkuOTYyIDEuNDkyLjIyNy41NjUuMzQxIDEuMTY0LjM0MSAxLjc5NiAwIC42MzItLjExNCAxLjIzNS0uMzQxIDEuODA4YTQuNDg1IDQuNDg1IDAgMCAxLS45NjIgMS40OGMtLjQxMy40MjEtLjkxLjc1OC0xLjQ5MiAxLjAxMWE0LjY0OCA0LjY0OCAwIDAgMS0xLjg5Ni4zOCA0LjczOCA0LjczOCAwIDAgMS0zLjQwMi0xLjM5MSA0LjQ4NCA0LjQ4NCAwIDAgMS0uOTYxLTEuNDggNC44NTUgNC44NTUgMCAwIDEtLjM0Mi0xLjgwOGMwLS42MzMuMTE0LTEuMjMxLjM0Mi0xLjc5Ni4yMjctLjU3My41NDgtMS4wNy45NjEtMS40OTIuNDEzLS40MjIuOTEtLjc1OSAxLjQ5Mi0xLjAxMmE0LjczNyA0LjczNyAwIDAgMSAxLjkxLS4zNzlabTAgNy42NzZhMi44IDIuOCAwIDAgMCAxLjEzOC0uMjI4Yy4zNTQtLjE2LjY1My0uMzcuODk4LS42MzIuMjUyLS4yNy40NS0uNTg2LjU5NC0uOTQ5YTMuMjcgMy4yNyAwIDAgMCAuMjE1LTEuMTg4IDMuMTcgMy4xNyAwIDAgMC0uMjE1LTEuMTc2IDIuNzkxIDIuNzkxIDAgMCAwLS41OTUtLjk0OSAyLjU0OCAyLjU0OCAwIDAgMC0uODk3LS42MzIgMi42NzMgMi42NzMgMCAwIDAtMS4xMzgtLjI0Yy0uNDEzIDAtLjc5Ny4wOC0xLjE1MS4yNGEyLjY3OCAyLjY3OCAwIDAgMC0uOTEuNjMyIDIuODk5IDIuODk5IDAgMCAwLS41ODIuOTQ5IDMuMTcgMy4xNyAwIDAgMC0uMjE1IDEuMTc2YzAgLjQyMS4wNzEuODE3LjIxNSAxLjE4OC4xNDMuMzYzLjMzNy42NzkuNTgxLjk0OS4yNTMuMjYxLjU1Ny40NzIuOTEuNjMyLjM1NS4xNTIuNzM5LjIyOCAxLjE1Mi4yMjhaJy8+PC9zdmc+'); + background-position: 50% 50%; + background-repeat: 'no-repeat'; + width: 214px; + height: 56px; + border: 'none'; + cursor: pointer; + &:hover { + background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMTEnIGhlaWdodD0nNTgnIGZpbGw9J25vbmUnPjxnIGNsaXAtcGF0aD0ndXJsKCNhKSc+PHBhdGggZmlsbD0nIzEyMTJGRicgZD0nTTIxMSAwSDB2NThoMjExVjBaJy8+PHBhdGggZmlsbD0nI2ZmZicgZD0nbTY5Ljk4NiAyNi4zNjggMS4xNTYtMS4wNzFjLjgzMyAxLjA1NCAxLjgxOSAxLjU5OCAyLjk0MSAxLjU5OCAxLjI5MiAwIDIuMDQtLjgxNiAyLjA0LTEuOTA0IDAtMi41NS01LjYyNy0yLjI0NC01LjYyNy02LjAzNSAwLTEuNzM0IDEuNDI4LTMuMTk2IDMuNDUxLTMuMTk2IDEuNjgzIDAgMi45MDcuNzY1IDMuNzkxIDEuOTM4bC0xLjE5IDEuMDM3Yy0uNjk3LTEuMDAzLTEuNTQ3LTEuNTQ3LTIuNTg0LTEuNTQ3LTEuMTA1IDAtMS44MzYuNzQ4LTEuODM2IDEuNzM0IDAgMi41NjcgNS42MjcgMi4yNDQgNS42MjcgNi4wNTIgMCAyLjAyMy0xLjU4MSAzLjM0OS0zLjY1NSAzLjM0OS0xLjc2OCAwLTMuMDc3LS42NjMtNC4xMTQtMS45NTVabTEwLjgxNy01LjcxMkg3OS40NmwxLjQ0NS00LjU1NmgxLjY0OWwtMS43NTEgNC41NTZabTQuODE4LTMuNDUxYy0uNTYgMC0xLjAyLS40NTktMS4wMi0xLjAyYTEuMDIgMS4wMiAwIDAgMSAxLjAyLTEuMDAzYy41NjEgMCAxLjAwMy40NTkgMS4wMDMgMS4wMDMgMCAuNTYxLS40NDIgMS4wMi0xLjAwMyAxLjAyWk04NC44OTEgMjh2LTguNTY4aDEuNDQ0VjI4SDg0Ljg5Wm0zLjc2Ny00LjI4NGMwLTIuNDk5IDEuNzE3LTQuNjI0IDQuNDAzLTQuNjI0IDEuMjQxIDAgMi4yNjEuNDU5IDMuMDQzIDEuMjkyVjE1LjI1aDEuNDQ1VjI4aC0xLjQ0NXYtLjk1MmMtLjc4Mi44MzMtMS44MDIgMS4yOTItMy4wNDMgMS4yOTItMi42ODYgMC00LjQwMy0yLjEyNS00LjQwMy00LjYyNFptMS41MyAwYzAgMS44MTkgMS4yMjQgMy4yNjQgMy4wNDMgMy4yNjQgMS4xOSAwIDIuMjEtLjU3OCAyLjg3My0xLjU5OFYyMi4wNWMtLjY4LTEuMDM3LTEuNy0xLjU5OC0yLjg3My0xLjU5OC0xLjgxOSAwLTMuMDQzIDEuNDQ1LTMuMDQzIDMuMjY0Wm0xOC4wMjMgMi44NzNjLS43OTkgMS4wNzEtMi4wNzQgMS43NTEtMy42NzIgMS43NTEtMi44OSAwLTQuNjc1LTIuMTI1LTQuNjc1LTQuNjI0IDAtMi42MDEgMS42NjYtNC42MjQgNC4zMTgtNC42MjQgMi4zMjkgMCAzLjg0MiAxLjU4MSAzLjg0MiAzLjcyMyAwIC4zNC0uMDUxLjY4LS4xMDIuOTE4aC02LjU2MnYuMDM0YzAgMS44ODcgMS4yOTIgMy4yNjQgMy4yMTMgMy4yNjQgMS4wODggMCAyLjAwNi0uNTEgMi41NjctMS4yNzVsMS4wNzEuODMzWm0tNC4wMTItNi4yNTZjLTEuMzk0IDAtMi4zOC43ODItMi43MiAyLjI2MWg1LjA4M2MtLjA1MS0xLjI0MS0uOTUyLTIuMjYxLTIuMzYzLTIuMjYxWk0xMTAuNDczIDI4di04LjU2OGgxLjQ0NXYuOTY5Yy42OTctLjc2NSAxLjU4MS0xLjMwOSAyLjg1Ni0xLjMwOSAxLjkyMSAwIDMuMzQ5IDEuMjkyIDMuMzQ5IDMuNzIzVjI4aC0xLjQ2MnYtNS4xMzRjMC0xLjUzLS44NS0yLjQxNC0yLjE3Ni0yLjQxNC0xLjI0MSAwLTIuMDIzLjcxNC0yLjU2NyAxLjYxNVYyOGgtMS40NDVabTExLjA1Mi0yLjg3M3YtNC4zNjloLTEuNjE1di0xLjMyNmgxLjYxNVYxNy4yOWgxLjQ2MnYyLjE0MmgyLjk3NXYxLjMyNmgtMi45NzV2NC4zNjljMCAxLjM0My42OCAxLjcxNyAxLjcxNyAxLjcxNy41NjEgMCAuOTUyLS4wNjggMS4yNzUtLjIwNHYxLjI5MmMtLjQwOC4xNy0uODY3LjIzOC0xLjQ3OS4yMzgtMS45MDQgMC0yLjk3NS0uOTUyLTIuOTc1LTMuMDQzWm03LjM3Ny03LjkyMmMtLjU2MSAwLTEuMDItLjQ1OS0xLjAyLTEuMDJhMS4wMiAxLjAyIDAgMCAxIDEuMDItMS4wMDNjLjU2MSAwIDEuMDAzLjQ1OSAxLjAwMyAxLjAwMyAwIC41NjEtLjQ0MiAxLjAyLTEuMDAzIDEuMDJaTTEyOC4xNzEgMjh2LTguNTY4aDEuNDQ1VjI4aC0xLjQ0NVptMy4zNzctOC41NjhoMS42MTV2LTEuMDU0YzAtMS44MzYgMS4yMDctMy4xMjggMy4wNDMtMy4xMjguOTUyIDAgMS43LjM0IDIuMjEuODMzbC0uOTAxIDEuMDU0YTEuNjMzIDEuNjMzIDAgMCAwLTEuMjkyLS41NzhjLS45MzUgMC0xLjU5OC42OC0xLjU5OCAxLjc4NXYxLjA4OGgyLjk3NXYxLjMyNmgtMi45NzVWMjhoLTEuNDYydi03LjI0MmgtMS42MTV2LTEuMzI2Wm04LjU0My0yLjIyN2MtLjU2MSAwLTEuMDItLjQ1OS0xLjAyLTEuMDJhMS4wMiAxLjAyIDAgMCAxIDEuMDItMS4wMDNjLjU2MSAwIDEuMDAzLjQ1OSAxLjAwMyAxLjAwMyAwIC41NjEtLjQ0MiAxLjAyLTEuMDAzIDEuMDJaTTEzOS4zNiAyOHYtOC41NjhoMS40NDVWMjhoLTEuNDQ1Wm0xMi4xMTUtMS40MTFjLS43OTkgMS4wNzEtMi4wNzQgMS43NTEtMy42NzIgMS43NTEtMi44OSAwLTQuNjc1LTIuMTI1LTQuNjc1LTQuNjI0IDAtMi42MDEgMS42NjYtNC42MjQgNC4zMTgtNC42MjQgMi4zMjkgMCAzLjg0MiAxLjU4MSAzLjg0MiAzLjcyMyAwIC4zNC0uMDUxLjY4LS4xMDIuOTE4aC02LjU2MnYuMDM0YzAgMS44ODcgMS4yOTIgMy4yNjQgMy4yMTMgMy4yNjQgMS4wODggMCAyLjAwNi0uNTEgMi41NjctMS4yNzVsMS4wNzEuODMzWm0tNC4wMTItNi4yNTZjLTEuMzk0IDAtMi4zOC43ODItMi43MiAyLjI2MWg1LjA4M2MtLjA1MS0xLjI0MS0uOTUyLTIuMjYxLTIuMzYzLTIuMjYxWk0xNTMuNzM3IDI4di04LjU2OGgxLjQ0NXYxLjA3MWMuNjI5LS43NDggMS40MTEtMS4yNDEgMi40OTktMS4yNDEuMjcyIDAgLjUyNy4wMzQuNzMxLjEwMnYxLjQ5NmEzLjEwNSAzLjEwNSAwIDAgMC0uODUtLjExOWMtMS4xMjIgMC0xLjg1My41NzgtMi4zOCAxLjQ0NVYyOGgtMS40NDVabTEzLjY4NS4zNGMtMS42ODMgMC0yLjgyMi0uOTUyLTIuODIyLTIuNDQ4IDAtMS4zMjYuOTg2LTIuMjc4IDIuODIyLTIuNTY3bDIuODczLS40NzZ2LS41OTVjMC0xLjE5LS44NS0xLjg3LTIuMDU3LTEuODctMS4wMDMgMC0xLjgzNi40NDItMi4zMjkgMS4xOWwtMS4wODgtLjgzM2MuNzQ4LTEuMDIgMS45NTUtMS42NDkgMy40NTEtMS42NDkgMi4xNzYgMCAzLjQ2OCAxLjI3NSAzLjQ2OCAzLjE2MlYyOGgtMS40NDV2LTEuMDg4Yy0uNjQ2LjkwMS0xLjcxNyAxLjQyOC0yLjg3MyAxLjQyOFptLTEuMzc3LTIuNDk5YzAgLjczMS42MjkgMS4yOTIgMS42MTUgMS4yOTIgMS4xMzkgMCAyLjA0LS41OTUgMi42MzUtMS41ODFWMjMuOTJsLTIuNTMzLjQ0MmMtMS4xOS4xODctMS43MTcuNzMxLTEuNzE3IDEuNDc5Wm03LjI1Mi02LjQwOWgxLjU2NGwyLjczNyA3LjA1NSAyLjczNy03LjA1NWgxLjU2NEwxNzguNTUgMjhoLTEuOTA0bC0zLjM0OS04LjU2OFptMTcuODU2IDcuMTU3Yy0uNzk5IDEuMDcxLTIuMDc0IDEuNzUxLTMuNjcyIDEuNzUxLTIuODkgMC00LjY3NS0yLjEyNS00LjY3NS00LjYyNCAwLTIuNjAxIDEuNjY2LTQuNjI0IDQuMzE4LTQuNjI0IDIuMzI5IDAgMy44NDIgMS41ODEgMy44NDIgMy43MjMgMCAuMzQtLjA1MS42OC0uMTAyLjkxOGgtNi41NjJ2LjAzNGMwIDEuODg3IDEuMjkyIDMuMjY0IDMuMjEzIDMuMjY0IDEuMDg4IDAgMi4wMDYtLjUxIDIuNTY3LTEuMjc1bDEuMDcxLjgzM1ptLTQuMDEyLTYuMjU2Yy0xLjM5NCAwLTIuMzguNzgyLTIuNzIgMi4yNjFoNS4wODNjLS4wNTEtMS4yNDEtLjk1Mi0yLjI2MS0yLjM2My0yLjI2MVptMTAuMTg1IDYuNjQ3YzEuMDU0IDAgMS45MDQtLjUxIDIuNDMxLTEuMjc1bDEuMTU2Ljg4NGMtLjc5OSAxLjA3MS0yLjA0IDEuNzUxLTMuNjA0IDEuNzUxLTIuODM5IDAtNC42NTgtMi4xMjUtNC42NTgtNC42MjQgMC0yLjQ5OSAxLjgxOS00LjYyNCA0LjY1OC00LjYyNCAxLjU0NyAwIDIuODA1LjY5NyAzLjYwNCAxLjc1MWwtMS4xNTYuODg0YTIuOTI1IDIuOTI1IDAgMCAwLTIuNDQ4LTEuMjc1Yy0xLjgzNiAwLTMuMTQ1IDEuNDQ1LTMuMTQ1IDMuMjY0IDAgMS44MzYgMS4zMDkgMy4yNjQgMy4xNjIgMy4yNjRaTTcwLjg1NCA0NVYzMi40aDQuMTU4YzIuNzcyIDAgNC40NjQgMS40MjIgNC40NjQgMy43NjIgMCAyLjMyMi0xLjY5MiAzLjc0NC00LjQ2NCAzLjc0NEg3My40MVY0NWgtMi41NTZabTQuMjY2LTEwLjQyMmgtMS43MXYzLjE1aDEuNzFjMS4wOCAwIDEuNzI4LS41NzYgMS43MjgtMS42MDIgMC0uOTU0LS42NDgtMS41NDgtMS43MjgtMS41NDhaTTgxLjI0OSA0NXYtOS4wNzJoMi4yODZ2LjljLjU5NC0uNjEyIDEuMzY4LTEuMDggMi4zOTQtMS4wOC4zMDYgMCAuNTc2LjA1NC43OTIuMTI2djIuMzk0YTMuOTM4IDMuOTM4IDAgMCAwLTEuMDA4LS4xMjZjLTEuMTE2IDAtMS44MzYuNjEyLTIuMTc4IDEuMTdWNDVoLTIuMjg2Wm0xMS4zODYtOS40MzJjMi45NTIgMCA0Ljk2OCAyLjE3OCA0Ljk2OCA0Ljg5NnMtMi4wMTYgNC44OTYtNC45NjggNC44OTYtNC45NjgtMi4xNzgtNC45NjgtNC44OTYgMi4wMTYtNC44OTYgNC45NjgtNC44OTZabS4wMzYgNy42MzJjMS40NTggMCAyLjU1Ni0xLjE3IDIuNTU2LTIuNzM2IDAtMS41ODQtMS4wOTgtMi43MzYtMi41NTYtMi43MzYtMS41MTIgMC0yLjYyOCAxLjE1Mi0yLjYyOCAyLjczNiAwIDEuNTg0IDEuMTE2IDIuNzM2IDIuNjI4IDIuNzM2Wm0xMy4xNzItLjIzNGMxLjQ0IDAgMi41NzQtLjcwMiAzLjI5NC0xLjcyOGwyLjAxNiAxLjU0OGMtMS4xNTIgMS41NjYtMy4wMjQgMi41NzQtNS4zMSAyLjU3NC0zLjk3OCAwLTYuNjk2LTMuMDYtNi42OTYtNi42NnMyLjcxOC02LjY2IDYuNjk2LTYuNjZjMi4yODYgMCA0LjE1OCAxLjAyNiA1LjMxIDIuNTU2bC0yLjAxNiAxLjU2NmMtLjcyLTEuMDI2LTEuODU0LTEuNzI4LTMuMjk0LTEuNzI4LTIuMzc2IDAtNC4wNjggMS44NTQtNC4wNjggNC4yNjZzMS42OTIgNC4yNjYgNC4wNjggNC4yNjZabTExLjM2Ni03LjM5OGMyLjk1MiAwIDQuOTY4IDIuMTc4IDQuOTY4IDQuODk2cy0yLjAxNiA0Ljg5Ni00Ljk2OCA0Ljg5Ni00Ljk2OC0yLjE3OC00Ljk2OC00Ljg5NiAyLjAxNi00Ljg5NiA0Ljk2OC00Ljg5NlptLjAzNiA3LjYzMmMxLjQ1OCAwIDIuNTU2LTEuMTcgMi41NTYtMi43MzYgMC0xLjU4NC0xLjA5OC0yLjczNi0yLjU1Ni0yLjczNi0xLjUxMiAwLTIuNjI4IDEuMTUyLTIuNjI4IDIuNzM2IDAgMS41ODQgMS4xMTYgMi43MzYgMi42MjggMi43MzZabTcuMDE4IDEuOHYtOS4wNzJoMi4yODZ2LjcyYy42My0uNjEyIDEuNDc2LTEuMDggMi42ODItMS4wOCAxLjk2MiAwIDMuNTI4IDEuMzUgMy41MjggNC4wMzJWNDVoLTIuMzIydi01LjMxYzAtMS4yMDYtLjY2Ni0xLjk2Mi0xLjc4Mi0xLjk2Mi0xLjE1MiAwLTEuNzY0Ljc3NC0yLjEwNiAxLjM1VjQ1aC0yLjI4NlptMTEuMDkxIDB2LTkuMDcyaDIuMjg2di43MmMuNjMtLjYxMiAxLjQ3Ni0xLjA4IDIuNjgyLTEuMDggMS45NjIgMCAzLjUyOCAxLjM1IDMuNTI4IDQuMDMyVjQ1aC0yLjMyMnYtNS4zMWMwLTEuMjA2LS42NjYtMS45NjItMS43ODItMS45NjItMS4xNTIgMC0xLjc2NC43NzQtMi4xMDYgMS4zNVY0NWgtMi4yODZabTE5LjQ0NC0xLjQ3NmMtLjg0NiAxLjEzNC0yLjI1IDEuODM2LTMuOTYgMS44MzYtMy4yMjIgMC01LjA0LTIuMjUtNS4wNC00Ljg5NiAwLTIuNjgyIDEuNjkyLTQuODk2IDQuNjYyLTQuODk2IDIuNTIgMCA0LjE3NiAxLjY5MiA0LjE3NiA0LjA2OCAwIC41MDQtLjA3Mi45OS0uMTQ0IDEuMjk2aC02LjM1NGMuMTQ0IDEuNDk0IDEuMTg4IDIuMzc2IDIuNzM2IDIuMzc2Ljk5IDAgMS44LS40MzIgMi4yODYtMS4wOGwxLjYzOCAxLjI5NlptLTQuMzM4LTYuMDQ4Yy0xLjExNiAwLTEuODcyLjU0LTIuMTc4IDEuNzI4aDQuMDg2Yy0uMDM2LS45LS43MDItMS43MjgtMS45MDgtMS43MjhabTEwLjY5NiA1LjcyNGMuODgyIDAgMS41ODQtLjQzMiAyLjAxNi0xLjA2MmwxLjgxOCAxLjM4NmMtLjg0NiAxLjExNi0yLjE3OCAxLjgzNi0zLjgzNCAxLjgzNi0zLjEzMiAwLTUuMDA0LTIuMjUtNS4wMDQtNC44OTZzMS44NzItNC44OTYgNS4wMDQtNC44OTZjMS42NTYgMCAyLjk4OC43MiAzLjgzNCAxLjgzNmwtMS44MTggMS4zODZjLS40MzItLjYzLTEuMTE2LTEuMDYyLTIuMDUyLTEuMDYyLTEuNDk0IDAtMi41OTIgMS4xNTItMi41OTIgMi43MzYgMCAxLjYwMiAxLjA5OCAyLjczNiAyLjYyOCAyLjczNlptNi4yMDQtMS41MTJ2LTMuNjcyaC0xLjY5MnYtMi4wODhoMS42OTJWMzMuNjZoMi4zMDR2Mi4yNjhoMi43NzJ2Mi4wODhoLTIuNzcydjMuNjcyYzAgMS4wMDguNTQgMS40MDQgMS40NCAxLjQwNC42MyAwIDEuMDQ0LS4wNzIgMS4zNS0uMTk4djEuOTk4Yy0uNDUuMTk4LS45OS4yODgtMS43NDYuMjg4LTIuMjY4IDAtMy4zNDgtMS4yNzgtMy4zNDgtMy40OTJaJy8+PHBhdGggZmlsbD0nIzAwMDA5MScgZD0nTTQ2Ljk5MiAxOS4wOTggMzEuOTk4IDEwLjQybC0xNC45OTQgOC43NmEuNjA2LjYwNiAwIDAgMC0uMzA2LjUyNXYxNi45NDhhLjY2Ni42NjYgMCAwIDAgLjMwNi41MjRsMTQuOTkyIDguNiAxNC45OTQtOC43MDZhLjY2Ni42NjYgMCAwIDAgLjMwNi0uNTI0VjE5LjYyNmEuNjA0LjYwNCAwIDAgMC0uMzA0LS41MjhaJy8+PHBhdGggZmlsbD0nI0ZDQzYzQScgZD0nbTI2LjY0MSAxOS41OTgtNS4wMjkgOC42MjgtNC41NTctOS4xNzUgNS4zOS0zLjExMyA0LjQ4OSAzLjE2LS4yOTMuNVptMjAuNjU2IDE2Ljk4VjE5LjYyYS42LjYgMCAwIDAtLjMwNi0uNTIzTDMxLjk5OCAxMC40MicvPjxwYXRoIGZpbGw9JyMwMDYzQ0InIGQ9J00xNi43IDM2LjU3OCAzMiAxMC40MnYzNS4zNjJsLTE0Ljk5Ni04LjYwNWEuNjY1LjY2NSAwIDAgMS0uMzA2LS41MjRWMTkuNzA2bC4wMDIgMTYuODcyWm0yNC42NjktMjAuNzM1IDUuNDU4IDMuMTU1LTQuNDg5IDkuMTUtNS4zODctOS4yMzYgNC40MTgtMy4wN1onLz48cGF0aCBmaWxsPScjZmZmJyBkPSdtNTEuNjA2IDE2LjMwMy0xOS4xOS0xMS4wMmEuOTMzLjkzMyAwIDAgMC0uODMyIDBsLTE5LjE5IDExLjAyYS44ODcuODg3IDAgMCAwLS4zOTQuNjk1djIyYS44ODUuODg1IDAgMCAwIC4zOTQuN2wxOS4xODkgMTEuMDJhLjkzMi45MzIgMCAwIDAgLjgzMiAwbDE5LjE5MS0xMS4wMmEuODg2Ljg4NiAwIDAgMCAuMzk0LS43di0yMmEuODg3Ljg4NyAwIDAgMC0uMzk0LS42OTVaTTIyLjc4OSAzNC4wNTloLjA3OWMtLjA0MiAwLS4wNzkuMDA3LS4wNzkuMDUgMCAuMS4xNTEgMCAuMi4xYS45MTIuOTEyIDAgMCAwLS42MjkuMjc2YzAgLjA1LjEuMDUuMTUxLjA1LS4wNzUuMS0uMjI2LjA1LS4yNzcuMTUyYS4xNzYuMTc2IDAgMCAwIC4xLjA1Yy0uMDUgMC0uMSAwLS4xLjA1di4xNTJjLS4xMjYgMC0uMTc2LjEtLjI3Ny4xNS4yLjE1Mi4zMjcgMCAuNTI4IDAtLjUyOC4yLS45NTYuNDc5LTEuNDg0LjYzLS4xIDAgMCAuMTUtLjEuMTUuMTUxLjEuMjI3LS4wNS4zNzctLjA1LS42NTQuMzc4LTEuMzMzLjctMi4wMzcgMS4xMzNhLjM1MS4zNTEgMCAwIDAtLjEuMmgtLjJjLS4xLjA1LS4wNS4xNzYtLjE1MS4yNzcuMjI2LjE1LjUtLjIuNjU0IDAgLjA1IDAtLjEuMDUtLjIuMDUtLjA1IDAtLjA1LjEtLjEuMWgtLjE1NGMtLjEuMDc1LS4yLjEyNi0uMi4yNzZhLjIyLjIyIDAgMCAwLS4yMjYuMSA5LjAzMSA5LjAzMSAwIDAgMCAzLjE0NC0uNTc4IDcuNjgzIDcuNjgzIDAgMCAwIDIuMDg4LTEuNTYuMTc2LjE3NiAwIDAgMSAuMDUuMWMtLjE0Ny40MzctLjQzLjgxNi0uODA2IDEuMDgtLjI3Ny4xNTItLjQ3OC4zNzgtLjcuNDc5YTQuMDU3IDQuMDU3IDAgMCAwLS40MjguMjc2Yy0uNjMyLjE5Ny0xLjI4MS4zMzUtMS45MzkuNDEybC0uMzA1LjA0NGMtLjIyNS4wMzMtLjQ0OS4wNjktLjY3MS4xMDhsLTEuOTkzLTEuMTM4YS42NDcuNjQ3IDAgMCAxLS4yODgtLjQxMS41Ny41NyAwIDAgMCAuMDk0LS4wNjMuMjY2LjI2NiAwIDAgMC0uMTEzLS4wNzF2LS42NWExMi43ODIgMTIuNzgyIDAgMCAwIDMuMDM4LS45NDIgOC43NDYgOC43NDYgMCAwIDAtMy4wMzctMS4zNDN2LTEuNTE1YTExLjY3IDExLjY3IDAgMCAxIDEuNjM5LjM5MiA2LjQyIDYuNDIgMCAwIDEgMS4xODIuNTc4Yy4xNDcuMTQuMzA3LjI2Ny40NzguMzc3YS45MS45MSAwIDAgMCAuOC4wNWguMzNhMy45NjEgMy45NjEgMCAwIDAgMS45MzctLjkwNWMwIC4wNS4wNS4wNS4xLjA1YTMuNjI5IDMuNjI5IDAgMCAxLS40MjggMS4xMzJjLjAwMy4wNS0uMDQ4LjE1Mi4wNTMuMjAyWm0yLjgxNyAzLjU3Yy4yNTEtLjEuNC0uMjc2LjYyOS0uMzc2LS4wNS4wNS0uMDUuMTUtLjEuMmEzLjY5OSAzLjY5OSAwIDAgMC0uNTI4LjQgMTUuOTY1IDE1Ljk2NSAwIDAgMC0xLjU4NSAxLjYxYy0uMjUyLjMtLjUyOC41NzgtLjguODU1LS4wOTYuMDktLjIuMTcyLS4zMS4yNDVsLTIuNTI3LTEuNDVjLjM2LjAzLjcyMS4wMTMgMS4wNzYtLjA1My4yOTQtLjA4My41OC0uMTkyLjg1NS0uMzI3di4xYy43LS4yNzcgMS4yMzItLjkwNiAxLjkzNy0xLjEzMi4wMjUgMCAuMTI2LjEuMjI2LjA1YTEuODgzIDEuODgzIDAgMCAxIDEuNTA5LS43YzAgLjA1IDAgLjEuMDUuMWguMDI1Yy0uMTUxLjEyNi0uMzI3LjI1LS41LjM3Ny0uMDU3LjA1Mi0uMDA3LjEwMi4wNDMuMTAyWm0tOC45MDgtNi4xNjN2LS4xODZhNS44MTcgNS44MTcgMCAwIDEgMS41ODgtLjE4OCAxLjUyIDEuNTIgMCAwIDEgLjQ3OCAwIDUuODYgNS44NiAwIDAgMC0yLjA2Ni4zNzRabTMwLjYgNS4wODhhLjY2NS42NjUgMCAwIDEtLjMwNi41MjRsLTEwLjA3OSA1Ljg1YTMyLjI5NiAzMi4yOTYgMCAwIDEtMy40MDgtMS4xODQgMi44MjYgMi44MjYgMCAwIDEtLjA1LTIuMjQ1Yy4wOC0uMzA4LjE5OC0uNjA1LjM1Mi0uODgzLjAyNS0uMDI1LjA1LS4wNS4wNS0uMDc2YS4wMjUuMDI1IDAgMCAwIC4wMjUtLjAyNSA0LjMyIDQuMzIgMCAwIDEgLjM3Ny0uNTU1bC4wMTUtLjAxNS4wMi0uMDIxLjAxNS0uMDE1YzAtLjAyNS4wMjUtLjA1LjA1LS4wNzYuMDI1LS4wNTEuMDc1LS4wNzYuMS0uMTI2LjE3Ni0uMTg2LjM3LS4zNTQuNTc5LS41LjIxMy0uMDc3LjQzMS0uMTM2LjY1NC0uMTc3LjgxMS4wNiAxLjYxNy4xNyAyLjQxNS4zMjhhLjc1Mi43NTIgMCAwIDEgLjI3Ny4xYy4zMDEuMDU5LjYxMi4wNDEuOTA1LS4wNWExLjEzNyAxLjEzNyAwIDAgMCAuODU1LS43MDYgMS4yMTIgMS4yMTIgMCAwIDAgLjA1LTEuMDZjLS4xNzgtLjI3NS0uMDEzLS40MzYuMTgxLS41OWwuMDY4LS4wNTRjLjA4Ni0uMDYxLjE2NC0uMTM0LjIzMS0uMjE2LjEyNi0uMjUyLS4xLS40LS4xNTEtLjYzLS4wNS0uMS0uMjI2LS4wNS0uMzI3LS4yLjM1Mi0uMTUxLjg1NS0uNDMuNjI5LS44NTctLjE1MS0uMjI3LS4zNzctLjYzLS4xLS44NTcuMzUyLS4yLjg1NS0uMTUxIDEuMDA2LS40OGExLjEzNyAxLjEzNyAwIDAgMC0uMjkyLTEuMDg0bC0uMDc1LS4xMDhhNC43NTQgNC43NTQgMCAwIDEtLjIxMS0uMzIgNi45MDUgNi45MDUgMCAwIDAtLjUyOC0uNzU3IDQuMjk3IDQuMjk3IDAgMCAxLS41MjgtMS4wMWMtLjE1MS0uMzc3LjA1LS43MDUuMDUtMS4wODNhNi4zNDcgNi4zNDcgMCAwIDAtLjMyNy0yLjE0NGMtLjEyNi0uMzUzLS4xNzYtLjczMS0uMzI3LTEuMDZhMS4xMiAxLjEyIDAgMCAwLS4yMjYtLjU4LjM3NC4zNzQgMCAwIDEgMC0uMzI3Yy4yMDUtLjE0NS4zOTktLjMwNS41NzktLjQ4YS41NjcuNTY3IDAgMCAwLS4yLS43MDVjLS4zMjctLjE1MS0uMy4zMjgtLjUyOC40MjloLS4xNTFjLS4wNS0uMTI2LjA1LS4xNzcuMTUxLS4yNzcgMC0uMDUgMC0uMTUxLS4wNS0uMTUxLS4yIDAtLjM3Ny0uMDUxLS40MjgtLjE1MWEzLjk1NyAzLjk1NyAwIDAgMC0xLjg2MS0xLjI4NmMuMTg4LjA1OC4zODIuMDkxLjU3OS4xLjMzOC4wNzEuNjkuMDM2IDEuMDA2LS4xLjIyNy0uMDc2LjI3Ny0uNDguMzc3LS43MDZhLjguOCAwIDAgMC0uMTUxLS42MzEgMi4xOSAyLjE5IDAgMCAwLS45MDYtLjc1NiA5LjEzIDkuMTMgMCAwIDEtLjY3OS0uMzUzLjk1Ni45NTYgMCAwIDAtLjI1MS0uMTI2Yy0yLjk2NS0xLjQ4NS05LjA2OS0uMi05LjUzNCAwaC0uMDA5YTguMjU0IDguMjU0IDAgMCAwLTEuMjQ5LjQ3NSAzLjkyMiAzLjkyMiAwIDAgMC0yLjM2NSAyLjQ2NSAzLjgzIDMuODMgMCAwIDAtMS4zMzMgMS41MDljLS40MjguOC0xLjA1NiAxLjUwOS0uOTU2IDIuNDE0LjEuNzguMjc3IDEuNDg0LjQyOCAyLjI4OS4wNDMuMjcyLjExLjU0LjIuOC4xLjI3NiAwIC42MjkuMTUxLjg1NS4wNzUuMTUuMDI1LjMyNy4yMjcuNDI4di4yYy4wNS4wNS4wNS4xLjE1MS4xdi4yYy40MzUuNDIzLjgwNy45MDYgMS4xMDcgMS40MzQuMS4yNzYtLjQ3OC4xNS0uNy4wNWE1Ljk3NyA1Ljk3NyAwIDAgMS0xLjEzMi0uOTU2LjE3Ni4xNzYgMCAwIDAtLjA1MS4xYy4yLjM1Mi45MDYuNzguNTI4IDEuMDA2LS4yLjEtLjQyOC0uMTUxLS42MjkuMDUtLjA1LjA3NiAwIC4xNzcgMCAuMjc3LS4yNzctLjItLjU3OC0uMS0uODU1LS4yLS4yLS4wNS0uMjUyLS40MjctLjQ3OC0uNDI3YTE1LjE5MSAxNS4xOTEgMCAwIDAtMS44MTEtLjMyNyAxNS4xNDQgMTUuMTQ0IDAgMCAwLTEuNzM5LS4xNlYxOS43MDdhLjYwNi42MDYgMCAwIDEgLjMwNi0uNTI0bDE0Ljk4Ny04Ljc2MSAxNC45OTQgOC42NzdhLjYwNS42MDUgMCAwIDEgLjMwNi41MjR2MTYuOTMyWm0tNy45NTQtOC4yNjFhLjMyNS4zMjUgMCAwIDEtLjI4Mi4xNDkgMi44NCAyLjg0IDAgMCAwLS4yODIuMjczYy4xIDAgMCAuMTQ5LjEuMTQ5LS4yMDUuMjIzLjA3Ny42OTQtLjIwNS43OTMtLjM3LjA5OS0uNzU4LjA5OS0xLjEyNyAwYS43MjcuNzI3IDAgMCAxIC4xNjctLjAxNmguMDg1YS4zODIuMzgyIDAgMCAwIC4zMzctLjEzMnYtLjJjMC0uMDUtLjA1MS0uMDUtLjEtLjA1YS4xNi4xNiAwIDAgMS0uMS4wNS4yMjMuMjIzIDAgMCAwLS4xNTQtLjIuODA2LjgwNiAwIDAgMS0uNzE4LS4yNzMuNjcuNjcgMCAwIDEgLjQzNi0uMDVjLjEyOCAwIC4wNzctLjIyMy4yMzEtLjMyMmguMTU0Yy4zMDctLjM3Mi44NzEtLjQ3MS45NzQtLjg0MyAwLS4xLS4yODItLjEtLjQ4Ny0uMTVhMi4yNiAyLjI2IDAgMCAwLS44Mi4wNWMtLjM2LjA1LS43MTIuMTQyLTEuMDUxLjI3NC4yOC0uMjA2LjU5Mi0uMzY1LjkyMy0uNDcxLjIzMi0uMDkuNDczLS4xNTcuNzE4LS4ybC4xMzItLjAyNi4xMzMtLjAyN2EuOTcuOTcgMCAwIDEgLjU1NiAwYy4yMzEuMS42MTUuMS42NjYuMjQ4LjEuMjczLS4xNTQuNTQ1LS40MzUuNzQ0LS4wNTcuMDguMTQ5LjEzNS4xNDkuMjNaJy8+PHBhdGggZmlsbD0nI0ZDQzYzQScgZD0nTTY0LjU2IDVIMzlhMiAyIDAgMCAwLTIgMnY5LjMwMmEyIDIgMCAwIDAgMiAyaDI1LjU2YTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0yWicvPjxwYXRoIGZpbGw9JyMxNjE2MTYnIGQ9J00zOS41NjIgMTYuMTY4VjcuMzE2aDIuOTIxYy45NyAwIDEuNzMyLjIzNiAyLjI4OS43MDguNTY1LjQ3Mi44NDcgMS4xMTcuODQ3IDEuOTM1IDAgLjgxLS4yODIgMS40NS0uODQ3IDEuOTIyLS41NTcuNDcyLTEuMzIuNzA4LTIuMjg5LjcwOGgtMS4xMjV2My41NzloLTEuNzk2Wm0yLjk5Ny03LjMyMmgtMS4yMDF2Mi4yMTNoMS4yYy4zOCAwIC42NzUtLjA5Ny44ODYtLjI5LjIyLS4xOTUuMzI5LS40NzMuMzI5LS44MzYgMC0uMzM3LS4xMS0uNjAyLS4zMjktLjc5Ni0uMjEtLjE5NC0uNTA2LS4yOTEtLjg4NS0uMjkxWk00Ny4yMyAxNi4xNjhWNy4zMTZoMi43MDdjLjk3IDAgMS43MzYuMjM2IDIuMzAxLjcwOC41NjUuNDcyLjg0NyAxLjExNy44NDcgMS45MzUgMCAuNTMtLjEyNi45OTUtLjM3OSAxLjM5LS4yNDQuMzg5LS41OS42ODgtMS4wMzcuODk5bDIuNzgyIDMuOTJoLTIuMTVsLTIuMzUyLTMuNTc5aC0uOTIzdjMuNTc5aC0xLjc5NVptMi44MDgtNy4zMjJoLTEuMDEydjIuMjEzaDEuMDEyYy4zOCAwIC42NzQtLjA5Ny44ODUtLjI5LjIxLS4xOTUuMzE2LS40NzMuMzE2LS44MzYgMC0uMzM3LS4xMDUtLjYwMi0uMzE2LS43OTYtLjIxLS4xOTQtLjUwNi0uMjkxLS44ODUtLjI5MVpNNTkuNTQ5IDcuMDYzYy42OSAwIDEuMzIzLjEyNiAxLjg5Ni4zOC41ODIuMjUyIDEuMDguNTkgMS40OTIgMS4wMTEuNDE0LjQyMS43MzQuOTE5Ljk2MiAxLjQ5Mi4yMjcuNTY1LjM0MSAxLjE2NC4zNDEgMS43OTYgMCAuNjMyLS4xMTQgMS4yMzUtLjM0MSAxLjgwOGE0LjQ4NSA0LjQ4NSAwIDAgMS0uOTYyIDEuNDhjLS40MTMuNDIxLS45MS43NTgtMS40OTIgMS4wMTFhNC42NDggNC42NDggMCAwIDEtMS44OTYuMzggNC43MzggNC43MzggMCAwIDEtMy40MDItMS4zOTEgNC40ODQgNC40ODQgMCAwIDEtLjk2MS0xLjQ4IDQuODU1IDQuODU1IDAgMCAxLS4zNDItMS44MDhjMC0uNjMzLjExNC0xLjIzMS4zNDItMS43OTYuMjI3LS41NzMuNTQ4LTEuMDcuOTYxLTEuNDkyLjQxMy0uNDIyLjkxLS43NTkgMS40OTItMS4wMTJhNC43MzcgNC43MzcgMCAwIDEgMS45MS0uMzc5Wm0wIDcuNjc2YTIuOCAyLjggMCAwIDAgMS4xMzgtLjIyOGMuMzU0LS4xNi42NTMtLjM3Ljg5OC0uNjMyLjI1Mi0uMjcuNDUtLjU4Ni41OTQtLjk0OWEzLjI3IDMuMjcgMCAwIDAgLjIxNS0xLjE4OCAzLjE3IDMuMTcgMCAwIDAtLjIxNS0xLjE3NiAyLjc5MSAyLjc5MSAwIDAgMC0uNTk1LS45NDkgMi41NDggMi41NDggMCAwIDAtLjg5Ny0uNjMyIDIuNjczIDIuNjczIDAgMCAwLTEuMTM4LS4yNGMtLjQxMyAwLS43OTcuMDgtMS4xNTEuMjRhMi42NzggMi42NzggMCAwIDAtLjkxLjYzMiAyLjg5OSAyLjg5OSAwIDAgMC0uNTgyLjk0OSAzLjE3IDMuMTcgMCAwIDAtLjIxNSAxLjE3NmMwIC40MjEuMDcxLjgxNy4yMTUgMS4xODguMTQzLjM2My4zMzcuNjc5LjU4MS45NDkuMjUzLjI2MS41NTcuNDcyLjkxLjYzMi4zNTUuMTUyLjczOS4yMjggMS4xNTIuMjI4WicvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9J2EnPjxwYXRoIGZpbGw9JyNmZmYnIGQ9J00wIDBoMjExdjU4SDB6Jy8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+'); + } + `} + /> + ); +}; diff --git a/src/frontend/apps/impress/src/core/auth/Auth.tsx b/src/frontend/apps/impress/src/core/auth/Auth.tsx index bcfa6a53..3f8c5008 100644 --- a/src/frontend/apps/impress/src/core/auth/Auth.tsx +++ b/src/frontend/apps/impress/src/core/auth/Auth.tsx @@ -14,7 +14,7 @@ import { useAuthStore } from './useAuthStore'; * When we will have a homepage design for non-authenticated users, we will remove this restriction to have * the full website accessible without authentication. */ -const regexpUrlsAuth = [/\/docs\/$/g, /^\/$/g]; +const regexpUrlsAuth = [/\/docs\/$/g]; export const Auth = ({ children }: PropsWithChildren) => { const { initAuth, initiated, authenticated, login, getAuthUrl } = diff --git a/src/frontend/apps/impress/src/core/auth/useAuthStore.tsx b/src/frontend/apps/impress/src/core/auth/useAuthStore.tsx index 63e285b2..e2c7a67c 100644 --- a/src/frontend/apps/impress/src/core/auth/useAuthStore.tsx +++ b/src/frontend/apps/impress/src/core/auth/useAuthStore.tsx @@ -38,9 +38,13 @@ export const useAuthStore = create<AuthStore>((set, get) => ({ }); }, login: () => { - get().setAuthUrl(window.location.pathname); + console.log(window.location.pathname); + if (window.location.pathname !== '/') { + get().setAuthUrl(window.location.pathname); + window.location.replace(`/`); + } - window.location.replace(`${baseApiUrl()}authenticate/`); + // window.location.replace(`${baseApiUrl()}authenticate/`); }, logout: () => { terminateCrispSession(); diff --git a/src/frontend/apps/impress/src/cunningham/cunningham-tokens.css b/src/frontend/apps/impress/src/cunningham/cunningham-tokens.css index 3357c29c..c21fb586 100644 --- a/src/frontend/apps/impress/src/cunningham/cunningham-tokens.css +++ b/src/frontend/apps/impress/src/cunningham/cunningham-tokens.css @@ -71,6 +71,7 @@ --c--theme--colors--danger-text: var(--c--theme--colors--greyscale-000); --c--theme--colors--card-border: #ededed; --c--theme--colors--primary-bg: #fafafa; + --c--theme--colors--primary-action: #1212ff; --c--theme--colors--primary-050: #f5f5fe; --c--theme--colors--primary-150: #e5eefa; --c--theme--colors--primary-950: #1b1b35; @@ -122,6 +123,11 @@ --c--theme--font--sizes--ml: 0.938rem; --c--theme--font--sizes--xl: 1.25rem; --c--theme--font--sizes--t: 0.6875rem; + --c--theme--font--sizes--xl-alt: 5rem; + --c--theme--font--sizes--lg-alt: 4.5rem; + --c--theme--font--sizes--md-alt: 4rem; + --c--theme--font--sizes--sm-alt: 3.5rem; + --c--theme--font--sizes--xs-alt: 3rem; --c--theme--font--weights--thin: 100; --c--theme--font--weights--light: 300; --c--theme--font--weights--regular: 400; @@ -316,7 +322,7 @@ --c--theme--colors--primary-700 ); --c--components--button--secondary--border--color: var( - --c--theme--colors--primary-200 + --c--theme--colors--greyscale-300 ); --c--components--button--tertiary--color: var( --c--theme--colors--primary-text @@ -340,7 +346,6 @@ --c--components--button--disabled--background--color: #b3cef0; --c--components--la-gauffre--activated: false; } - .cunningham-theme--dark { --c--theme--colors--greyscale-100: #182536; --c--theme--colors--greyscale-200: #303c4b; @@ -384,12 +389,11 @@ --c--theme--colors--danger-300: #f09898; --c--theme--colors--danger-400: #ed8585; --c--theme--colors--danger-500: #e96666; - --c--theme--colors--danger-600: #d66; + --c--theme--colors--danger-600: #dd6666; --c--theme--colors--danger-700: #c36666; --c--theme--colors--danger-800: #ae6666; --c--theme--colors--danger-900: #9d6666; } - .cunningham-theme--dsfr { --c--theme--colors--card-border: #e5e5e5; --c--theme--colors--primary-text: #000091; @@ -423,7 +427,7 @@ --c--theme--colors--greyscale-350: #ddd; --c--theme--colors--greyscale-400: #929292; --c--theme--colors--greyscale-500: #7c7c7c; - --c--theme--colors--greyscale-600: #666; + --c--theme--colors--greyscale-600: #666666; --c--theme--colors--greyscale-700: #3a3a3a; --c--theme--colors--greyscale-750: #353535; --c--theme--colors--greyscale-800: #2a2a2a; @@ -462,7 +466,7 @@ --c--theme--colors--warning-900: #361e19; --c--theme--colors--danger-text: #fff; --c--theme--colors--danger-100: #ffe9e9; - --c--theme--colors--danger-200: #fdd; + --c--theme--colors--danger-200: #ffdddd; --c--theme--colors--danger-300: #ffbdbd; --c--theme--colors--danger-400: #ff5655; --c--theme--colors--danger-500: #f60700; @@ -470,12 +474,12 @@ --c--theme--colors--danger-700: #642626; --c--theme--colors--danger-800: #412121; --c--theme--colors--danger-900: #391c1c; - --c--theme--font--families--accent: marianne; - --c--theme--font--families--base: marianne; + --c--theme--font--families--accent: Marianne; + --c--theme--font--families--base: Marianne; --c--theme--logo--src: /assets/logo-gouv.svg; --c--theme--logo--widthHeader: 110px; --c--theme--logo--widthFooter: 220px; - --c--theme--logo--alt: gouvernement logo; + --c--theme--logo--alt: Gouvernement Logo; --c--components--alert--border-radius: 0; --c--components--modal--width-small: 342px; --c--components--button--medium-height: 40px; @@ -501,10 +505,10 @@ --c--components--button--secondary--background--color-hover: #f6f6f6; --c--components--button--secondary--background--color-active: #ededed; --c--components--button--secondary--border--color: var( - --c--theme--colors--primary-600 + --c--theme--colors--greyscale-300 ); --c--components--button--secondary--border--color-hover: var( - --c--theme--colors--primary-600 + --c--theme--colors--greyscale-300 ); --c--components--button--secondary--color: var( --c--theme--colors--primary-text @@ -585,1975 +589,1512 @@ --c--components--forms-textarea--border-radius: 0; --c--components--la-gauffre--activated: true; } - .clr-secondary-text { color: var(--c--theme--colors--secondary-text); } - .clr-secondary-100 { color: var(--c--theme--colors--secondary-100); } - .clr-secondary-200 { color: var(--c--theme--colors--secondary-200); } - .clr-secondary-300 { color: var(--c--theme--colors--secondary-300); } - .clr-secondary-400 { color: var(--c--theme--colors--secondary-400); } - .clr-secondary-500 { color: var(--c--theme--colors--secondary-500); } - .clr-secondary-600 { color: var(--c--theme--colors--secondary-600); } - .clr-secondary-700 { color: var(--c--theme--colors--secondary-700); } - .clr-secondary-800 { color: var(--c--theme--colors--secondary-800); } - .clr-secondary-900 { color: var(--c--theme--colors--secondary-900); } - .clr-info-text { color: var(--c--theme--colors--info-text); } - .clr-info-100 { color: var(--c--theme--colors--info-100); } - .clr-info-200 { color: var(--c--theme--colors--info-200); } - .clr-info-300 { color: var(--c--theme--colors--info-300); } - .clr-info-400 { color: var(--c--theme--colors--info-400); } - .clr-info-500 { color: var(--c--theme--colors--info-500); } - .clr-info-600 { color: var(--c--theme--colors--info-600); } - .clr-info-700 { color: var(--c--theme--colors--info-700); } - .clr-info-800 { color: var(--c--theme--colors--info-800); } - .clr-info-900 { color: var(--c--theme--colors--info-900); } - .clr-greyscale-100 { color: var(--c--theme--colors--greyscale-100); } - .clr-greyscale-200 { color: var(--c--theme--colors--greyscale-200); } - .clr-greyscale-300 { color: var(--c--theme--colors--greyscale-300); } - .clr-greyscale-400 { color: var(--c--theme--colors--greyscale-400); } - .clr-greyscale-500 { color: var(--c--theme--colors--greyscale-500); } - .clr-greyscale-600 { color: var(--c--theme--colors--greyscale-600); } - .clr-greyscale-700 { color: var(--c--theme--colors--greyscale-700); } - .clr-greyscale-800 { color: var(--c--theme--colors--greyscale-800); } - .clr-greyscale-900 { color: var(--c--theme--colors--greyscale-900); } - .clr-greyscale-000 { color: var(--c--theme--colors--greyscale-000); } - .clr-primary-100 { color: var(--c--theme--colors--primary-100); } - .clr-primary-200 { color: var(--c--theme--colors--primary-200); } - .clr-primary-300 { color: var(--c--theme--colors--primary-300); } - .clr-primary-400 { color: var(--c--theme--colors--primary-400); } - .clr-primary-500 { color: var(--c--theme--colors--primary-500); } - .clr-primary-600 { color: var(--c--theme--colors--primary-600); } - .clr-primary-700 { color: var(--c--theme--colors--primary-700); } - .clr-primary-800 { color: var(--c--theme--colors--primary-800); } - .clr-primary-900 { color: var(--c--theme--colors--primary-900); } - .clr-success-100 { color: var(--c--theme--colors--success-100); } - .clr-success-200 { color: var(--c--theme--colors--success-200); } - .clr-success-300 { color: var(--c--theme--colors--success-300); } - .clr-success-400 { color: var(--c--theme--colors--success-400); } - .clr-success-500 { color: var(--c--theme--colors--success-500); } - .clr-success-600 { color: var(--c--theme--colors--success-600); } - .clr-success-700 { color: var(--c--theme--colors--success-700); } - .clr-success-800 { color: var(--c--theme--colors--success-800); } - .clr-success-900 { color: var(--c--theme--colors--success-900); } - .clr-warning-100 { color: var(--c--theme--colors--warning-100); } - .clr-warning-200 { color: var(--c--theme--colors--warning-200); } - .clr-warning-300 { color: var(--c--theme--colors--warning-300); } - .clr-warning-400 { color: var(--c--theme--colors--warning-400); } - .clr-warning-500 { color: var(--c--theme--colors--warning-500); } - .clr-warning-600 { color: var(--c--theme--colors--warning-600); } - .clr-warning-700 { color: var(--c--theme--colors--warning-700); } - .clr-warning-800 { color: var(--c--theme--colors--warning-800); } - .clr-warning-900 { color: var(--c--theme--colors--warning-900); } - .clr-danger-100 { color: var(--c--theme--colors--danger-100); } - .clr-danger-200 { color: var(--c--theme--colors--danger-200); } - .clr-danger-300 { color: var(--c--theme--colors--danger-300); } - .clr-danger-400 { color: var(--c--theme--colors--danger-400); } - .clr-danger-500 { color: var(--c--theme--colors--danger-500); } - .clr-danger-600 { color: var(--c--theme--colors--danger-600); } - .clr-danger-700 { color: var(--c--theme--colors--danger-700); } - .clr-danger-800 { color: var(--c--theme--colors--danger-800); } - .clr-danger-900 { color: var(--c--theme--colors--danger-900); } - .clr-primary-text { color: var(--c--theme--colors--primary-text); } - .clr-success-text { color: var(--c--theme--colors--success-text); } - .clr-warning-text { color: var(--c--theme--colors--warning-text); } - .clr-danger-text { color: var(--c--theme--colors--danger-text); } - .clr-card-border { color: var(--c--theme--colors--card-border); } - .clr-primary-bg { color: var(--c--theme--colors--primary-bg); } - +.clr-primary-action { + color: var(--c--theme--colors--primary-action); +} .clr-primary-050 { color: var(--c--theme--colors--primary-050); } - .clr-primary-150 { color: var(--c--theme--colors--primary-150); } - .clr-primary-950 { color: var(--c--theme--colors--primary-950); } - .clr-info-150 { color: var(--c--theme--colors--info-150); } - .clr-greyscale-1000 { color: var(--c--theme--colors--greyscale-1000); } - .clr-blue-400 { color: var(--c--theme--colors--blue-400); } - .clr-blue-500 { color: var(--c--theme--colors--blue-500); } - .clr-blue-600 { color: var(--c--theme--colors--blue-600); } - .clr-brown-400 { color: var(--c--theme--colors--brown-400); } - .clr-brown-500 { color: var(--c--theme--colors--brown-500); } - .clr-brown-600 { color: var(--c--theme--colors--brown-600); } - .clr-cyan-400 { color: var(--c--theme--colors--cyan-400); } - .clr-cyan-500 { color: var(--c--theme--colors--cyan-500); } - .clr-cyan-600 { color: var(--c--theme--colors--cyan-600); } - .clr-gold-400 { color: var(--c--theme--colors--gold-400); } - .clr-gold-500 { color: var(--c--theme--colors--gold-500); } - .clr-gold-600 { color: var(--c--theme--colors--gold-600); } - .clr-green-400 { color: var(--c--theme--colors--green-400); } - .clr-green-500 { color: var(--c--theme--colors--green-500); } - .clr-green-600 { color: var(--c--theme--colors--green-600); } - .clr-olive-400 { color: var(--c--theme--colors--olive-400); } - .clr-olive-500 { color: var(--c--theme--colors--olive-500); } - .clr-olive-600 { color: var(--c--theme--colors--olive-600); } - .clr-orange-400 { color: var(--c--theme--colors--orange-400); } - .clr-orange-500 { color: var(--c--theme--colors--orange-500); } - .clr-orange-600 { color: var(--c--theme--colors--orange-600); } - .clr-pink-400 { color: var(--c--theme--colors--pink-400); } - .clr-pink-500 { color: var(--c--theme--colors--pink-500); } - .clr-pink-600 { color: var(--c--theme--colors--pink-600); } - .clr-purple-400 { color: var(--c--theme--colors--purple-400); } - .clr-purple-500 { color: var(--c--theme--colors--purple-500); } - .clr-purple-600 { color: var(--c--theme--colors--purple-600); } - .clr-yellow-400 { color: var(--c--theme--colors--yellow-400); } - .clr-yellow-500 { color: var(--c--theme--colors--yellow-500); } - .clr-yellow-600 { color: var(--c--theme--colors--yellow-600); } - .bg-secondary-text { background-color: var(--c--theme--colors--secondary-text); } - .bg-secondary-100 { background-color: var(--c--theme--colors--secondary-100); } - .bg-secondary-200 { background-color: var(--c--theme--colors--secondary-200); } - .bg-secondary-300 { background-color: var(--c--theme--colors--secondary-300); } - .bg-secondary-400 { background-color: var(--c--theme--colors--secondary-400); } - .bg-secondary-500 { background-color: var(--c--theme--colors--secondary-500); } - .bg-secondary-600 { background-color: var(--c--theme--colors--secondary-600); } - .bg-secondary-700 { background-color: var(--c--theme--colors--secondary-700); } - .bg-secondary-800 { background-color: var(--c--theme--colors--secondary-800); } - .bg-secondary-900 { background-color: var(--c--theme--colors--secondary-900); } - .bg-info-text { background-color: var(--c--theme--colors--info-text); } - .bg-info-100 { background-color: var(--c--theme--colors--info-100); } - .bg-info-200 { background-color: var(--c--theme--colors--info-200); } - .bg-info-300 { background-color: var(--c--theme--colors--info-300); } - .bg-info-400 { background-color: var(--c--theme--colors--info-400); } - .bg-info-500 { background-color: var(--c--theme--colors--info-500); } - .bg-info-600 { background-color: var(--c--theme--colors--info-600); } - .bg-info-700 { background-color: var(--c--theme--colors--info-700); } - .bg-info-800 { background-color: var(--c--theme--colors--info-800); } - .bg-info-900 { background-color: var(--c--theme--colors--info-900); } - .bg-greyscale-100 { background-color: var(--c--theme--colors--greyscale-100); } - .bg-greyscale-200 { background-color: var(--c--theme--colors--greyscale-200); } - .bg-greyscale-300 { background-color: var(--c--theme--colors--greyscale-300); } - .bg-greyscale-400 { background-color: var(--c--theme--colors--greyscale-400); } - .bg-greyscale-500 { background-color: var(--c--theme--colors--greyscale-500); } - .bg-greyscale-600 { background-color: var(--c--theme--colors--greyscale-600); } - .bg-greyscale-700 { background-color: var(--c--theme--colors--greyscale-700); } - .bg-greyscale-800 { background-color: var(--c--theme--colors--greyscale-800); } - .bg-greyscale-900 { background-color: var(--c--theme--colors--greyscale-900); } - .bg-greyscale-000 { background-color: var(--c--theme--colors--greyscale-000); } - .bg-primary-100 { background-color: var(--c--theme--colors--primary-100); } - .bg-primary-200 { background-color: var(--c--theme--colors--primary-200); } - .bg-primary-300 { background-color: var(--c--theme--colors--primary-300); } - .bg-primary-400 { background-color: var(--c--theme--colors--primary-400); } - .bg-primary-500 { background-color: var(--c--theme--colors--primary-500); } - .bg-primary-600 { background-color: var(--c--theme--colors--primary-600); } - .bg-primary-700 { background-color: var(--c--theme--colors--primary-700); } - .bg-primary-800 { background-color: var(--c--theme--colors--primary-800); } - .bg-primary-900 { background-color: var(--c--theme--colors--primary-900); } - .bg-success-100 { background-color: var(--c--theme--colors--success-100); } - .bg-success-200 { background-color: var(--c--theme--colors--success-200); } - .bg-success-300 { background-color: var(--c--theme--colors--success-300); } - .bg-success-400 { background-color: var(--c--theme--colors--success-400); } - .bg-success-500 { background-color: var(--c--theme--colors--success-500); } - .bg-success-600 { background-color: var(--c--theme--colors--success-600); } - .bg-success-700 { background-color: var(--c--theme--colors--success-700); } - .bg-success-800 { background-color: var(--c--theme--colors--success-800); } - .bg-success-900 { background-color: var(--c--theme--colors--success-900); } - .bg-warning-100 { background-color: var(--c--theme--colors--warning-100); } - .bg-warning-200 { background-color: var(--c--theme--colors--warning-200); } - .bg-warning-300 { background-color: var(--c--theme--colors--warning-300); } - .bg-warning-400 { background-color: var(--c--theme--colors--warning-400); } - .bg-warning-500 { background-color: var(--c--theme--colors--warning-500); } - .bg-warning-600 { background-color: var(--c--theme--colors--warning-600); } - .bg-warning-700 { background-color: var(--c--theme--colors--warning-700); } - .bg-warning-800 { background-color: var(--c--theme--colors--warning-800); } - .bg-warning-900 { background-color: var(--c--theme--colors--warning-900); } - .bg-danger-100 { background-color: var(--c--theme--colors--danger-100); } - .bg-danger-200 { background-color: var(--c--theme--colors--danger-200); } - .bg-danger-300 { background-color: var(--c--theme--colors--danger-300); } - .bg-danger-400 { background-color: var(--c--theme--colors--danger-400); } - .bg-danger-500 { background-color: var(--c--theme--colors--danger-500); } - .bg-danger-600 { background-color: var(--c--theme--colors--danger-600); } - .bg-danger-700 { background-color: var(--c--theme--colors--danger-700); } - .bg-danger-800 { background-color: var(--c--theme--colors--danger-800); } - .bg-danger-900 { background-color: var(--c--theme--colors--danger-900); } - .bg-primary-text { background-color: var(--c--theme--colors--primary-text); } - .bg-success-text { background-color: var(--c--theme--colors--success-text); } - .bg-warning-text { background-color: var(--c--theme--colors--warning-text); } - .bg-danger-text { background-color: var(--c--theme--colors--danger-text); } - .bg-card-border { background-color: var(--c--theme--colors--card-border); } - .bg-primary-bg { background-color: var(--c--theme--colors--primary-bg); } - +.bg-primary-action { + background-color: var(--c--theme--colors--primary-action); +} .bg-primary-050 { background-color: var(--c--theme--colors--primary-050); } - .bg-primary-150 { background-color: var(--c--theme--colors--primary-150); } - .bg-primary-950 { background-color: var(--c--theme--colors--primary-950); } - .bg-info-150 { background-color: var(--c--theme--colors--info-150); } - .bg-greyscale-1000 { background-color: var(--c--theme--colors--greyscale-1000); } - .bg-blue-400 { background-color: var(--c--theme--colors--blue-400); } - .bg-blue-500 { background-color: var(--c--theme--colors--blue-500); } - .bg-blue-600 { background-color: var(--c--theme--colors--blue-600); } - .bg-brown-400 { background-color: var(--c--theme--colors--brown-400); } - .bg-brown-500 { background-color: var(--c--theme--colors--brown-500); } - .bg-brown-600 { background-color: var(--c--theme--colors--brown-600); } - .bg-cyan-400 { background-color: var(--c--theme--colors--cyan-400); } - .bg-cyan-500 { background-color: var(--c--theme--colors--cyan-500); } - .bg-cyan-600 { background-color: var(--c--theme--colors--cyan-600); } - .bg-gold-400 { background-color: var(--c--theme--colors--gold-400); } - .bg-gold-500 { background-color: var(--c--theme--colors--gold-500); } - .bg-gold-600 { background-color: var(--c--theme--colors--gold-600); } - .bg-green-400 { background-color: var(--c--theme--colors--green-400); } - .bg-green-500 { background-color: var(--c--theme--colors--green-500); } - .bg-green-600 { background-color: var(--c--theme--colors--green-600); } - .bg-olive-400 { background-color: var(--c--theme--colors--olive-400); } - .bg-olive-500 { background-color: var(--c--theme--colors--olive-500); } - .bg-olive-600 { background-color: var(--c--theme--colors--olive-600); } - .bg-orange-400 { background-color: var(--c--theme--colors--orange-400); } - .bg-orange-500 { background-color: var(--c--theme--colors--orange-500); } - .bg-orange-600 { background-color: var(--c--theme--colors--orange-600); } - .bg-pink-400 { background-color: var(--c--theme--colors--pink-400); } - .bg-pink-500 { background-color: var(--c--theme--colors--pink-500); } - .bg-pink-600 { background-color: var(--c--theme--colors--pink-600); } - .bg-purple-400 { background-color: var(--c--theme--colors--purple-400); } - .bg-purple-500 { background-color: var(--c--theme--colors--purple-500); } - .bg-purple-600 { background-color: var(--c--theme--colors--purple-600); } - .bg-yellow-400 { background-color: var(--c--theme--colors--yellow-400); } - .bg-yellow-500 { background-color: var(--c--theme--colors--yellow-500); } - .bg-yellow-600 { background-color: var(--c--theme--colors--yellow-600); } - .fw-thin { font-weight: var(--c--theme--font--weights--thin); } - .fw-light { font-weight: var(--c--theme--font--weights--light); } - .fw-regular { font-weight: var(--c--theme--font--weights--regular); } - .fw-medium { font-weight: var(--c--theme--font--weights--medium); } - .fw-bold { font-weight: var(--c--theme--font--weights--bold); } - .fw-extrabold { font-weight: var(--c--theme--font--weights--extrabold); } - .fw-black { font-weight: var(--c--theme--font--weights--black); } - .fs-h1 { font-size: var(--c--theme--font--sizes--h1); letter-spacing: var(--c--theme--font--letterspacings--h1); } - .fs-h2 { font-size: var(--c--theme--font--sizes--h2); letter-spacing: var(--c--theme--font--letterspacings--h2); } - .fs-h3 { font-size: var(--c--theme--font--sizes--h3); letter-spacing: var(--c--theme--font--letterspacings--h3); } - .fs-h4 { font-size: var(--c--theme--font--sizes--h4); letter-spacing: var(--c--theme--font--letterspacings--h4); } - .fs-h5 { font-size: var(--c--theme--font--sizes--h5); letter-spacing: var(--c--theme--font--letterspacings--h5); } - .fs-h6 { font-size: var(--c--theme--font--sizes--h6); letter-spacing: var(--c--theme--font--letterspacings--h6); } - .fs-l { font-size: var(--c--theme--font--sizes--l); letter-spacing: var(--c--theme--font--letterspacings--l); } - .fs-m { font-size: var(--c--theme--font--sizes--m); letter-spacing: var(--c--theme--font--letterspacings--m); } - .fs-s { font-size: var(--c--theme--font--sizes--s); letter-spacing: var(--c--theme--font--letterspacings--s); } - .fs-xs { font-size: var(--c--theme--font--sizes--xs); letter-spacing: var(--c--theme--font--letterspacings--xs); } - .fs-sm { font-size: var(--c--theme--font--sizes--sm); letter-spacing: var(--c--theme--font--letterspacings--sm); } - .fs-md { font-size: var(--c--theme--font--sizes--md); letter-spacing: var(--c--theme--font--letterspacings--md); } - .fs-lg { font-size: var(--c--theme--font--sizes--lg); letter-spacing: var(--c--theme--font--letterspacings--lg); } - .fs-ml { font-size: var(--c--theme--font--sizes--ml); letter-spacing: var(--c--theme--font--letterspacings--ml); } - .fs-xl { font-size: var(--c--theme--font--sizes--xl); letter-spacing: var(--c--theme--font--letterspacings--xl); } - .fs-t { font-size: var(--c--theme--font--sizes--t); letter-spacing: var(--c--theme--font--letterspacings--t); } - +.fs-xl-alt { + font-size: var(--c--theme--font--sizes--xl-alt); + letter-spacing: var(--c--theme--font--letterspacings--xl-alt); +} +.fs-lg-alt { + font-size: var(--c--theme--font--sizes--lg-alt); + letter-spacing: var(--c--theme--font--letterspacings--lg-alt); +} +.fs-md-alt { + font-size: var(--c--theme--font--sizes--md-alt); + letter-spacing: var(--c--theme--font--letterspacings--md-alt); +} +.fs-sm-alt { + font-size: var(--c--theme--font--sizes--sm-alt); + letter-spacing: var(--c--theme--font--letterspacings--sm-alt); +} +.fs-xs-alt { + font-size: var(--c--theme--font--sizes--xs-alt); + letter-spacing: var(--c--theme--font--letterspacings--xs-alt); +} .f-base { font-family: var(--c--theme--font--families--base); } - .f-accent { font-family: var(--c--theme--font--families--accent); } - .m-0 { margin: var(--c--theme--spacings--0); } - .mb-0 { margin-bottom: var(--c--theme--spacings--0); } - .mt-0 { margin-top: var(--c--theme--spacings--0); } - .ml-0 { margin-left: var(--c--theme--spacings--0); } - .mr-0 { margin-right: var(--c--theme--spacings--0); } - .m-xl { margin: var(--c--theme--spacings--xl); } - .mb-xl { margin-bottom: var(--c--theme--spacings--xl); } - .mt-xl { margin-top: var(--c--theme--spacings--xl); } - .ml-xl { margin-left: var(--c--theme--spacings--xl); } - .mr-xl { margin-right: var(--c--theme--spacings--xl); } - .m-l { margin: var(--c--theme--spacings--l); } - .mb-l { margin-bottom: var(--c--theme--spacings--l); } - .mt-l { margin-top: var(--c--theme--spacings--l); } - .ml-l { margin-left: var(--c--theme--spacings--l); } - .mr-l { margin-right: var(--c--theme--spacings--l); } - .m-b { margin: var(--c--theme--spacings--b); } - .mb-b { margin-bottom: var(--c--theme--spacings--b); } - .mt-b { margin-top: var(--c--theme--spacings--b); } - .ml-b { margin-left: var(--c--theme--spacings--b); } - .mr-b { margin-right: var(--c--theme--spacings--b); } - .m-s { margin: var(--c--theme--spacings--s); } - .mb-s { margin-bottom: var(--c--theme--spacings--s); } - .mt-s { margin-top: var(--c--theme--spacings--s); } - .ml-s { margin-left: var(--c--theme--spacings--s); } - .mr-s { margin-right: var(--c--theme--spacings--s); } - .m-t { margin: var(--c--theme--spacings--t); } - .mb-t { margin-bottom: var(--c--theme--spacings--t); } - .mt-t { margin-top: var(--c--theme--spacings--t); } - .ml-t { margin-left: var(--c--theme--spacings--t); } - .mr-t { margin-right: var(--c--theme--spacings--t); } - .m-st { margin: var(--c--theme--spacings--st); } - .mb-st { margin-bottom: var(--c--theme--spacings--st); } - .mt-st { margin-top: var(--c--theme--spacings--st); } - .ml-st { margin-left: var(--c--theme--spacings--st); } - .mr-st { margin-right: var(--c--theme--spacings--st); } - .m-none { margin: var(--c--theme--spacings--none); } - .mb-none { margin-bottom: var(--c--theme--spacings--none); } - .mt-none { margin-top: var(--c--theme--spacings--none); } - .ml-none { margin-left: var(--c--theme--spacings--none); } - .mr-none { margin-right: var(--c--theme--spacings--none); } - .m-auto { margin: var(--c--theme--spacings--auto); } - .mb-auto { margin-bottom: var(--c--theme--spacings--auto); } - .mt-auto { margin-top: var(--c--theme--spacings--auto); } - .ml-auto { margin-left: var(--c--theme--spacings--auto); } - .mr-auto { margin-right: var(--c--theme--spacings--auto); } - .m-bx { margin: var(--c--theme--spacings--bx); } - .mb-bx { margin-bottom: var(--c--theme--spacings--bx); } - .mt-bx { margin-top: var(--c--theme--spacings--bx); } - .ml-bx { margin-left: var(--c--theme--spacings--bx); } - .mr-bx { margin-right: var(--c--theme--spacings--bx); } - .m-full { margin: var(--c--theme--spacings--full); } - .mb-full { margin-bottom: var(--c--theme--spacings--full); } - .mt-full { margin-top: var(--c--theme--spacings--full); } - .ml-full { margin-left: var(--c--theme--spacings--full); } - .mr-full { margin-right: var(--c--theme--spacings--full); } - .m-4xs { margin: var(--c--theme--spacings--4xs); } - .mb-4xs { margin-bottom: var(--c--theme--spacings--4xs); } - .mt-4xs { margin-top: var(--c--theme--spacings--4xs); } - .ml-4xs { margin-left: var(--c--theme--spacings--4xs); } - .mr-4xs { margin-right: var(--c--theme--spacings--4xs); } - .m-3xs { margin: var(--c--theme--spacings--3xs); } - .mb-3xs { margin-bottom: var(--c--theme--spacings--3xs); } - .mt-3xs { margin-top: var(--c--theme--spacings--3xs); } - .ml-3xs { margin-left: var(--c--theme--spacings--3xs); } - .mr-3xs { margin-right: var(--c--theme--spacings--3xs); } - .m-2xs { margin: var(--c--theme--spacings--2xs); } - .mb-2xs { margin-bottom: var(--c--theme--spacings--2xs); } - .mt-2xs { margin-top: var(--c--theme--spacings--2xs); } - .ml-2xs { margin-left: var(--c--theme--spacings--2xs); } - .mr-2xs { margin-right: var(--c--theme--spacings--2xs); } - .m-xs { margin: var(--c--theme--spacings--xs); } - .mb-xs { margin-bottom: var(--c--theme--spacings--xs); } - .mt-xs { margin-top: var(--c--theme--spacings--xs); } - .ml-xs { margin-left: var(--c--theme--spacings--xs); } - .mr-xs { margin-right: var(--c--theme--spacings--xs); } - .m-sm { margin: var(--c--theme--spacings--sm); } - .mb-sm { margin-bottom: var(--c--theme--spacings--sm); } - .mt-sm { margin-top: var(--c--theme--spacings--sm); } - .ml-sm { margin-left: var(--c--theme--spacings--sm); } - .mr-sm { margin-right: var(--c--theme--spacings--sm); } - .m-base { margin: var(--c--theme--spacings--base); } - .mb-base { margin-bottom: var(--c--theme--spacings--base); } - .mt-base { margin-top: var(--c--theme--spacings--base); } - .ml-base { margin-left: var(--c--theme--spacings--base); } - .mr-base { margin-right: var(--c--theme--spacings--base); } - .m-md { margin: var(--c--theme--spacings--md); } - .mb-md { margin-bottom: var(--c--theme--spacings--md); } - .mt-md { margin-top: var(--c--theme--spacings--md); } - .ml-md { margin-left: var(--c--theme--spacings--md); } - .mr-md { margin-right: var(--c--theme--spacings--md); } - .m-lg { margin: var(--c--theme--spacings--lg); } - .mb-lg { margin-bottom: var(--c--theme--spacings--lg); } - .mt-lg { margin-top: var(--c--theme--spacings--lg); } - .ml-lg { margin-left: var(--c--theme--spacings--lg); } - .mr-lg { margin-right: var(--c--theme--spacings--lg); } - .m-xxl { margin: var(--c--theme--spacings--xxl); } - .mb-xxl { margin-bottom: var(--c--theme--spacings--xxl); } - .mt-xxl { margin-top: var(--c--theme--spacings--xxl); } - .ml-xxl { margin-left: var(--c--theme--spacings--xxl); } - .mr-xxl { margin-right: var(--c--theme--spacings--xxl); } - .m-xxxl { margin: var(--c--theme--spacings--xxxl); } - .mb-xxxl { margin-bottom: var(--c--theme--spacings--xxxl); } - .mt-xxxl { margin-top: var(--c--theme--spacings--xxxl); } - .ml-xxxl { margin-left: var(--c--theme--spacings--xxxl); } - .mr-xxxl { margin-right: var(--c--theme--spacings--xxxl); } - .m-4xl { margin: var(--c--theme--spacings--4xl); } - .mb-4xl { margin-bottom: var(--c--theme--spacings--4xl); } - .mt-4xl { margin-top: var(--c--theme--spacings--4xl); } - .ml-4xl { margin-left: var(--c--theme--spacings--4xl); } - .mr-4xl { margin-right: var(--c--theme--spacings--4xl); } - .m-5xl { margin: var(--c--theme--spacings--5xl); } - .mb-5xl { margin-bottom: var(--c--theme--spacings--5xl); } - .mt-5xl { margin-top: var(--c--theme--spacings--5xl); } - .ml-5xl { margin-left: var(--c--theme--spacings--5xl); } - .mr-5xl { margin-right: var(--c--theme--spacings--5xl); } - .m-6xl { margin: var(--c--theme--spacings--6xl); } - .mb-6xl { margin-bottom: var(--c--theme--spacings--6xl); } - .mt-6xl { margin-top: var(--c--theme--spacings--6xl); } - .ml-6xl { margin-left: var(--c--theme--spacings--6xl); } - .mr-6xl { margin-right: var(--c--theme--spacings--6xl); } - .m-7xl { margin: var(--c--theme--spacings--7xl); } - .mb-7xl { margin-bottom: var(--c--theme--spacings--7xl); } - .mt-7xl { margin-top: var(--c--theme--spacings--7xl); } - .ml-7xl { margin-left: var(--c--theme--spacings--7xl); } - .mr-7xl { margin-right: var(--c--theme--spacings--7xl); } - .p-0 { padding: var(--c--theme--spacings--0); } - .pb-0 { padding-bottom: var(--c--theme--spacings--0); } - .pt-0 { padding-top: var(--c--theme--spacings--0); } - .pl-0 { padding-left: var(--c--theme--spacings--0); } - .pr-0 { padding-right: var(--c--theme--spacings--0); } - .p-xl { padding: var(--c--theme--spacings--xl); } - .pb-xl { padding-bottom: var(--c--theme--spacings--xl); } - .pt-xl { padding-top: var(--c--theme--spacings--xl); } - .pl-xl { padding-left: var(--c--theme--spacings--xl); } - .pr-xl { padding-right: var(--c--theme--spacings--xl); } - .p-l { padding: var(--c--theme--spacings--l); } - .pb-l { padding-bottom: var(--c--theme--spacings--l); } - .pt-l { padding-top: var(--c--theme--spacings--l); } - .pl-l { padding-left: var(--c--theme--spacings--l); } - .pr-l { padding-right: var(--c--theme--spacings--l); } - .p-b { padding: var(--c--theme--spacings--b); } - .pb-b { padding-bottom: var(--c--theme--spacings--b); } - .pt-b { padding-top: var(--c--theme--spacings--b); } - .pl-b { padding-left: var(--c--theme--spacings--b); } - .pr-b { padding-right: var(--c--theme--spacings--b); } - .p-s { padding: var(--c--theme--spacings--s); } - .pb-s { padding-bottom: var(--c--theme--spacings--s); } - .pt-s { padding-top: var(--c--theme--spacings--s); } - .pl-s { padding-left: var(--c--theme--spacings--s); } - .pr-s { padding-right: var(--c--theme--spacings--s); } - .p-t { padding: var(--c--theme--spacings--t); } - .pb-t { padding-bottom: var(--c--theme--spacings--t); } - .pt-t { padding-top: var(--c--theme--spacings--t); } - .pl-t { padding-left: var(--c--theme--spacings--t); } - .pr-t { padding-right: var(--c--theme--spacings--t); } - .p-st { padding: var(--c--theme--spacings--st); } - .pb-st { padding-bottom: var(--c--theme--spacings--st); } - .pt-st { padding-top: var(--c--theme--spacings--st); } - .pl-st { padding-left: var(--c--theme--spacings--st); } - .pr-st { padding-right: var(--c--theme--spacings--st); } - .p-none { padding: var(--c--theme--spacings--none); } - .pb-none { padding-bottom: var(--c--theme--spacings--none); } - .pt-none { padding-top: var(--c--theme--spacings--none); } - .pl-none { padding-left: var(--c--theme--spacings--none); } - .pr-none { padding-right: var(--c--theme--spacings--none); } - .p-auto { padding: var(--c--theme--spacings--auto); } - .pb-auto { padding-bottom: var(--c--theme--spacings--auto); } - .pt-auto { padding-top: var(--c--theme--spacings--auto); } - .pl-auto { padding-left: var(--c--theme--spacings--auto); } - .pr-auto { padding-right: var(--c--theme--spacings--auto); } - .p-bx { padding: var(--c--theme--spacings--bx); } - .pb-bx { padding-bottom: var(--c--theme--spacings--bx); } - .pt-bx { padding-top: var(--c--theme--spacings--bx); } - .pl-bx { padding-left: var(--c--theme--spacings--bx); } - .pr-bx { padding-right: var(--c--theme--spacings--bx); } - .p-full { padding: var(--c--theme--spacings--full); } - .pb-full { padding-bottom: var(--c--theme--spacings--full); } - .pt-full { padding-top: var(--c--theme--spacings--full); } - .pl-full { padding-left: var(--c--theme--spacings--full); } - .pr-full { padding-right: var(--c--theme--spacings--full); } - .p-4xs { padding: var(--c--theme--spacings--4xs); } - .pb-4xs { padding-bottom: var(--c--theme--spacings--4xs); } - .pt-4xs { padding-top: var(--c--theme--spacings--4xs); } - .pl-4xs { padding-left: var(--c--theme--spacings--4xs); } - .pr-4xs { padding-right: var(--c--theme--spacings--4xs); } - .p-3xs { padding: var(--c--theme--spacings--3xs); } - .pb-3xs { padding-bottom: var(--c--theme--spacings--3xs); } - .pt-3xs { padding-top: var(--c--theme--spacings--3xs); } - .pl-3xs { padding-left: var(--c--theme--spacings--3xs); } - .pr-3xs { padding-right: var(--c--theme--spacings--3xs); } - .p-2xs { padding: var(--c--theme--spacings--2xs); } - .pb-2xs { padding-bottom: var(--c--theme--spacings--2xs); } - .pt-2xs { padding-top: var(--c--theme--spacings--2xs); } - .pl-2xs { padding-left: var(--c--theme--spacings--2xs); } - .pr-2xs { padding-right: var(--c--theme--spacings--2xs); } - .p-xs { padding: var(--c--theme--spacings--xs); } - .pb-xs { padding-bottom: var(--c--theme--spacings--xs); } - .pt-xs { padding-top: var(--c--theme--spacings--xs); } - .pl-xs { padding-left: var(--c--theme--spacings--xs); } - .pr-xs { padding-right: var(--c--theme--spacings--xs); } - .p-sm { padding: var(--c--theme--spacings--sm); } - .pb-sm { padding-bottom: var(--c--theme--spacings--sm); } - .pt-sm { padding-top: var(--c--theme--spacings--sm); } - .pl-sm { padding-left: var(--c--theme--spacings--sm); } - .pr-sm { padding-right: var(--c--theme--spacings--sm); } - .p-base { padding: var(--c--theme--spacings--base); } - .pb-base { padding-bottom: var(--c--theme--spacings--base); } - .pt-base { padding-top: var(--c--theme--spacings--base); } - .pl-base { padding-left: var(--c--theme--spacings--base); } - .pr-base { padding-right: var(--c--theme--spacings--base); } - .p-md { padding: var(--c--theme--spacings--md); } - .pb-md { padding-bottom: var(--c--theme--spacings--md); } - .pt-md { padding-top: var(--c--theme--spacings--md); } - .pl-md { padding-left: var(--c--theme--spacings--md); } - .pr-md { padding-right: var(--c--theme--spacings--md); } - .p-lg { padding: var(--c--theme--spacings--lg); } - .pb-lg { padding-bottom: var(--c--theme--spacings--lg); } - .pt-lg { padding-top: var(--c--theme--spacings--lg); } - .pl-lg { padding-left: var(--c--theme--spacings--lg); } - .pr-lg { padding-right: var(--c--theme--spacings--lg); } - .p-xxl { padding: var(--c--theme--spacings--xxl); } - .pb-xxl { padding-bottom: var(--c--theme--spacings--xxl); } - .pt-xxl { padding-top: var(--c--theme--spacings--xxl); } - .pl-xxl { padding-left: var(--c--theme--spacings--xxl); } - .pr-xxl { padding-right: var(--c--theme--spacings--xxl); } - .p-xxxl { padding: var(--c--theme--spacings--xxxl); } - .pb-xxxl { padding-bottom: var(--c--theme--spacings--xxxl); } - .pt-xxxl { padding-top: var(--c--theme--spacings--xxxl); } - .pl-xxxl { padding-left: var(--c--theme--spacings--xxxl); } - .pr-xxxl { padding-right: var(--c--theme--spacings--xxxl); } - .p-4xl { padding: var(--c--theme--spacings--4xl); } - .pb-4xl { padding-bottom: var(--c--theme--spacings--4xl); } - .pt-4xl { padding-top: var(--c--theme--spacings--4xl); } - .pl-4xl { padding-left: var(--c--theme--spacings--4xl); } - .pr-4xl { padding-right: var(--c--theme--spacings--4xl); } - .p-5xl { padding: var(--c--theme--spacings--5xl); } - .pb-5xl { padding-bottom: var(--c--theme--spacings--5xl); } - .pt-5xl { padding-top: var(--c--theme--spacings--5xl); } - .pl-5xl { padding-left: var(--c--theme--spacings--5xl); } - .pr-5xl { padding-right: var(--c--theme--spacings--5xl); } - .p-6xl { padding: var(--c--theme--spacings--6xl); } - .pb-6xl { padding-bottom: var(--c--theme--spacings--6xl); } - .pt-6xl { padding-top: var(--c--theme--spacings--6xl); } - .pl-6xl { padding-left: var(--c--theme--spacings--6xl); } - .pr-6xl { padding-right: var(--c--theme--spacings--6xl); } - .p-7xl { padding: var(--c--theme--spacings--7xl); } - .pb-7xl { padding-bottom: var(--c--theme--spacings--7xl); } - .pt-7xl { padding-top: var(--c--theme--spacings--7xl); } - .pl-7xl { padding-left: var(--c--theme--spacings--7xl); } - .pr-7xl { padding-right: var(--c--theme--spacings--7xl); } diff --git a/src/frontend/apps/impress/src/cunningham/cunningham-tokens.ts b/src/frontend/apps/impress/src/cunningham/cunningham-tokens.ts index 521094f4..b63ef0bf 100644 --- a/src/frontend/apps/impress/src/cunningham/cunningham-tokens.ts +++ b/src/frontend/apps/impress/src/cunningham/cunningham-tokens.ts @@ -75,6 +75,7 @@ export const tokens = { 'danger-text': '#fff', 'card-border': '#ededed', 'primary-bg': '#FAFAFA', + 'primary-action': '#1212FF', 'primary-050': '#F5F5FE', 'primary-150': '#E5EEFA', 'primary-950': '#1B1B35', @@ -129,6 +130,11 @@ export const tokens = { ml: '0.938rem', xl: '1.25rem', t: '0.6875rem', + 'xl-alt': '5rem', + 'lg-alt': '4.5rem', + 'md-alt': '4rem', + 'sm-alt': '3.5rem', + 'xs-alt': '3rem', }, weights: { thin: 100, @@ -315,7 +321,7 @@ export const tokens = { color: 'white', 'color-hover': 'var(--c--theme--colors--primary-700)', }, - border: { color: 'var(--c--theme--colors--primary-200)' }, + border: { color: 'var(--c--theme--colors--greyscale-300)' }, }, tertiary: { color: 'var(--c--theme--colors--primary-text)', @@ -502,8 +508,8 @@ export const tokens = { secondary: { background: { 'color-hover': '#F6F6F6', 'color-active': '#EDEDED' }, border: { - color: 'var(--c--theme--colors--primary-600)', - 'color-hover': 'var(--c--theme--colors--primary-600)', + color: 'var(--c--theme--colors--greyscale-300)', + 'color-hover': 'var(--c--theme--colors--greyscale-300)', }, color: 'var(--c--theme--colors--primary-text)', }, diff --git a/src/frontend/apps/impress/src/features/header/components/Header.tsx b/src/frontend/apps/impress/src/features/header/components/Header.tsx index de6eb6e6..fdd77f04 100644 --- a/src/frontend/apps/impress/src/features/header/components/Header.tsx +++ b/src/frontend/apps/impress/src/features/header/components/Header.tsx @@ -60,14 +60,13 @@ export const Header = () => { } /> )} - <StyledLink href="/"> + <StyledLink href="/docs"> <Box $align="center" $gap={spacings['3xs']} $direction="row" $position="relative" $height="fit-content" - $margin={{ top: 'auto' }} > <Image priority src={IconDocs} alt={t('Docs Logo')} width={25} /> <Title /> diff --git a/src/frontend/apps/impress/src/features/header/components/Title/Title.tsx b/src/frontend/apps/impress/src/features/header/components/Title/Title.tsx index afc16f01..d4687710 100644 --- a/src/frontend/apps/impress/src/features/header/components/Title/Title.tsx +++ b/src/frontend/apps/impress/src/features/header/components/Title/Title.tsx @@ -1,26 +1,47 @@ import { useTranslation } from 'react-i18next'; +import { css } from 'styled-components'; import { Box, Text } from '@/components/'; import { useCunninghamTheme } from '@/cunningham'; -const Title = () => { +type TitleProps = { + size?: 'sm' | 'md'; +}; + +const Title = ({ size = 'sm' }: TitleProps) => { const { t } = useTranslation(); const theme = useCunninghamTheme(); const spacings = theme.spacingsTokens(); const colors = theme.colorsTokens(); return ( - <Box $direction="row" $align="center" $gap={spacings['2xs']}> - <Text $margin="none" as="h2" $color="#000091" $zIndex={1} $size="1.30rem"> + <Box + $direction="row" + $align="center" + $gap={size === 'sm' ? spacings['2xs'] : '18px'} + > + <Text + $margin="none" + as="h2" + $color="#000091" + $zIndex={1} + $size={size === 'sm' ? '1.30rem' : '48px'} + > {t('Docs')} </Text> <Text - $padding={{ horizontal: 'xs', vertical: '1px' }} - $size="11px" + $padding={{ + horizontal: size === 'sm' ? '2xs' : '13px', + vertical: size === 'sm' ? '3xs' : '9px', + }} + $size={size === 'sm' ? '11px' : '24px'} $theme="primary" $variation="500" $weight="bold" - $radius="12px" + $radius={size === 'sm' ? '12px' : '24px'} + $css={css` + line-height: ${size === 'sm' ? '16px' : '20px'}; + `} $background={colors['primary-200']} > BETA diff --git a/src/frontend/apps/impress/src/features/home/assets/SC1-responsive.png b/src/frontend/apps/impress/src/features/home/assets/SC1-responsive.png new file mode 100644 index 00000000..33bc6583 Binary files /dev/null and b/src/frontend/apps/impress/src/features/home/assets/SC1-responsive.png differ diff --git a/src/frontend/apps/impress/src/features/home/assets/SC1.png b/src/frontend/apps/impress/src/features/home/assets/SC1.png new file mode 100644 index 00000000..39221a6e Binary files /dev/null and b/src/frontend/apps/impress/src/features/home/assets/SC1.png differ diff --git a/src/frontend/apps/impress/src/features/home/assets/SC2.png b/src/frontend/apps/impress/src/features/home/assets/SC2.png new file mode 100644 index 00000000..011fbfb8 Binary files /dev/null and b/src/frontend/apps/impress/src/features/home/assets/SC2.png differ diff --git a/src/frontend/apps/impress/src/features/home/assets/SC3.png b/src/frontend/apps/impress/src/features/home/assets/SC3.png new file mode 100644 index 00000000..d4eee62c Binary files /dev/null and b/src/frontend/apps/impress/src/features/home/assets/SC3.png differ diff --git a/src/frontend/apps/impress/src/features/home/assets/SC4-responsive.png b/src/frontend/apps/impress/src/features/home/assets/SC4-responsive.png new file mode 100644 index 00000000..53c3811a Binary files /dev/null and b/src/frontend/apps/impress/src/features/home/assets/SC4-responsive.png differ diff --git a/src/frontend/apps/impress/src/features/home/assets/SC4.png b/src/frontend/apps/impress/src/features/home/assets/SC4.png new file mode 100644 index 00000000..ca3070fb Binary files /dev/null and b/src/frontend/apps/impress/src/features/home/assets/SC4.png differ diff --git a/src/frontend/apps/impress/src/features/home/assets/first.png b/src/frontend/apps/impress/src/features/home/assets/first.png new file mode 100644 index 00000000..844499e1 Binary files /dev/null and b/src/frontend/apps/impress/src/features/home/assets/first.png differ diff --git a/src/frontend/apps/impress/src/features/home/assets/logo-docs.png b/src/frontend/apps/impress/src/features/home/assets/logo-docs.png new file mode 100644 index 00000000..258c8b95 Binary files /dev/null and b/src/frontend/apps/impress/src/features/home/assets/logo-docs.png differ diff --git a/src/frontend/apps/impress/src/features/home/assets/logo.png b/src/frontend/apps/impress/src/features/home/assets/logo.png new file mode 100644 index 00000000..7643a698 Binary files /dev/null and b/src/frontend/apps/impress/src/features/home/assets/logo.png differ diff --git a/src/frontend/apps/impress/src/features/home/components/HomeBanner.tsx b/src/frontend/apps/impress/src/features/home/components/HomeBanner.tsx new file mode 100644 index 00000000..91389705 --- /dev/null +++ b/src/frontend/apps/impress/src/features/home/components/HomeBanner.tsx @@ -0,0 +1,84 @@ +import { Button } from '@openfun/cunningham-react'; +import Image from 'next/image'; +import { useTranslation } from 'react-i18next'; +import { css } from 'styled-components'; + +import { Box, Icon, Text } from '@/components'; +import { ProConnectButton } from '@/components/ProConnectButton'; +import { useCunninghamTheme } from '@/cunningham'; +import { useResponsiveStore } from '@/stores'; + +import firstImage from '../assets/first.png'; +import DocLogo from '../assets/logo-docs.png'; + +export default function HomeBanner() { + const { t } = useTranslation(); + const { spacingsTokens } = useCunninghamTheme(); + const spacings = spacingsTokens(); + const { isDesktop } = useResponsiveStore(); + + return ( + <Box $maxWidth="78rem" $width="100%" $justify="center" $align="center"> + <Box + $width="100%" + $padding={{ top: 'xxxl', bottom: 'calc(3.5rem + 94px)' }} + $justify="space-between" + $align="center" + $height="calc(100dvh - 94px)" + $position="relative" + $direction={isDesktop ? 'row' : 'column'} + > + <Box + $width="100%" + $justify="center" + $align="center" + $padding={{ horizontal: '10px' }} + $gap={spacings['sm']} + > + <Image src={DocLogo} alt="DocLogo" /> + <Text + $size={isDesktop ? 'xs-alt' : '2.3rem'} + $variation="800" + $weight="bold" + $textAlign="center" + $css={css` + line-height: 56px; + `} + > + {t('Collaborative writing made simple')} + </Text> + <Text $size="lg" $variation="700" $textAlign="center"> + {t( + 'Collaborate and write in real time, without layout constraints.', + )} + </Text> + <ProConnectButton /> + </Box> + {isDesktop && ( + <Image src={firstImage} alt="first" style={{ maxWidth: '50%' }} /> + )} + <Box + $position="absolute" + $padding="base" + $justify="center" + $align="center" + $css={css` + bottom: 0; + left: 0; + right: 0; + `} + > + <Button + href="#docs-app-info" + color="secondary" + icon={ + <Icon $theme="primary" $variation="800" iconName="expand_more" /> + } + > + Voir plus + </Button> + </Box> + </Box> + </Box> + ); +} diff --git a/src/frontend/apps/impress/src/features/home/components/HomeContent.tsx b/src/frontend/apps/impress/src/features/home/components/HomeContent.tsx new file mode 100644 index 00000000..69a5e1db --- /dev/null +++ b/src/frontend/apps/impress/src/features/home/components/HomeContent.tsx @@ -0,0 +1,106 @@ +import { useTranslation } from 'react-i18next'; + +import IconDocs from '@/assets/common/logo-docs.svg'; +import { Box, Text } from '@/components'; +import { ProConnectButton } from '@/components/ProConnectButton'; +import { useCunninghamTheme } from '@/cunningham'; +import { Footer } from '@/features/footer'; +import Title from '@/features/header/components/Title/Title'; +import { useResponsiveStore } from '@/stores'; + +import SC1Responsive from '../assets/SC1-responsive.png'; +import SC1 from '../assets/SC1.png'; +import SC2 from '../assets/SC2.png'; +import SC3 from '../assets/SC3.png'; +import SC4Responsive from '../assets/SC4-responsive.png'; +import SC4 from '../assets/SC4.png'; + +import HomeBanner from './HomeBanner'; +import { HomeHeader } from './HomeHeader'; +import { HomeSection } from './HomeSection'; + +export default function HomeContent() { + const { t } = useTranslation(); + const { isDesktop } = useResponsiveStore(); + const { spacingsTokens } = useCunninghamTheme(); + const spacings = spacingsTokens(); + return ( + <Box $background="white"> + <HomeHeader /> + <Box $align="center" $justify="center"> + <Box $maxWidth="78rem" $width="100%" $justify="center" $align="center"> + <HomeBanner /> + <Box + id="docs-app-info" + $gap={isDesktop ? '230px' : '115px'} + $padding={{ + vertical: spacings['6xl'], + }} + > + <HomeSection + shadow={isDesktop} + isColumn={true} + illustration={isDesktop ? SC1 : SC1Responsive} + title={t('An uncompromising writing experience.')} + tag={t('Write')} + description={t( + 'Docs offers an intuitive writing experience. Its minimalist interface favors content over layout, while offering the essentials: media import, offline mode and keyboard shortcuts for greater efficiency.', + )} + /> + <HomeSection + isColumn={false} + illustration={SC2} + title={t('Simple and secure collaboration.')} + tag={t('Collaborate')} + description={t( + 'Docs makes real-time collaboration simple. Invite collaborators - public officials or external partners - with one click to see their changes live, while maintaining precise access control for data security.', + )} + /> + <HomeSection + isColumn={false} + reverse={true} + illustration={SC3} + title={t('Flexible export.')} + tag={t('Export')} + description={t( + 'To facilitate the circulation of documents, Docs allows you to export your content to the most common formats: PDF, Word or OpenDocument.', + )} + /> + + <HomeSection + illustration={isDesktop ? SC4 : SC4Responsive} + title={t('A new way to organize knowledge.')} + tag={t('Organize')} + availableSoon={true} + description={t( + 'Docs transforms your documents into knowledge bases thanks to subpages, powerful search and the ability to pin your important documents.', + )} + /> + <Box + $gap={spacings['md']} + $justify="center" + $align="center" + $padding={{ vertical: '140px' }} + > + <Box + $align="center" + $gap={spacings['3xs']} + $direction="row" + $position="relative" + $height="fit-content" + > + <IconDocs /> + <Title size="md" /> + </Box> + <Text $size="md" $variation="1000" $textAlign="center"> + {t('Docs is already available, log in to use it now.')} + </Text> + <ProConnectButton /> + </Box> + </Box> + </Box> + </Box> + <Footer /> + </Box> + ); +} diff --git a/src/frontend/apps/impress/src/features/home/components/HomeHeader.tsx b/src/frontend/apps/impress/src/features/home/components/HomeHeader.tsx new file mode 100644 index 00000000..374e658f --- /dev/null +++ b/src/frontend/apps/impress/src/features/home/components/HomeHeader.tsx @@ -0,0 +1,57 @@ +import Image from 'next/image'; +import { useTranslation } from 'react-i18next'; + +import IconDocs from '@/assets/common/logo-docs-sm.png'; +import { Box } from '@/components'; +import { useCunninghamTheme } from '@/cunningham'; +import { LaGaufre } from '@/features/header/components/LaGaufre'; +import Title from '@/features/header/components/Title/Title'; +import { LanguagePicker } from '@/features/language'; +import { useResponsiveStore } from '@/stores'; + +export const HomeHeader = () => { + const { t } = useTranslation(); + const { isDesktop } = useResponsiveStore(); + const { themeTokens, spacingsTokens } = useCunninghamTheme(); + const logo = themeTokens().logo; + const spacings = spacingsTokens(); + return ( + <Box + $direction="row" + $justify="space-between" + $align="center" + $width="100%" + $padding={{ horizontal: '18px', vertical: 'base' }} + > + <Box $align="center" $gap="3rem" $direction="row"> + {logo && ( + <Image + priority + src={logo.src} + alt={logo.alt} + width={0} + height={0} + style={{ width: 109, height: 'auto' }} + /> + )} + + {isDesktop && ( + <Box + $align="center" + $gap={spacings['3xs']} + $direction="row" + $position="relative" + $height="fit-content" + > + <Image src={IconDocs} alt="Docs app logo" /> + <Title /> + </Box> + )} + </Box> + <Box $direction="row" $gap="1rem" $align="center"> + <LanguagePicker /> + <LaGaufre /> + </Box> + </Box> + ); +}; diff --git a/src/frontend/apps/impress/src/features/home/components/HomeSection.tsx b/src/frontend/apps/impress/src/features/home/components/HomeSection.tsx new file mode 100644 index 00000000..b574b006 --- /dev/null +++ b/src/frontend/apps/impress/src/features/home/components/HomeSection.tsx @@ -0,0 +1,126 @@ +import Image, { ImageProps } from 'next/image'; +import { useMemo } from 'react'; +import { useTranslation } from 'react-i18next'; +import { css } from 'styled-components'; + +import { Box, Text } from '@/components'; +import { useCunninghamTheme } from '@/cunningham'; +import { useResponsiveStore } from '@/stores'; + +export type HomeSectionProps = { + illustration?: ImageProps['src']; + title: string; + description: string; + tag: string; + availableSoon?: boolean; + shadow?: boolean; + isColumn?: boolean; + reverse?: boolean; +}; +export const HomeSection = ({ + illustration, + title, + description, + tag, + reverse = false, + isColumn = true, + availableSoon = false, + shadow = false, +}: HomeSectionProps) => { + const { t } = useTranslation(); + const { spacingsTokens } = useCunninghamTheme(); + const spacings = spacingsTokens(); + + const { isDesktop } = useResponsiveStore(); + + const direction = useMemo(() => { + if (!isDesktop) { + return 'column'; + } else if (isColumn) { + return reverse ? 'column-reverse' : 'column'; + } + + return reverse ? 'row-reverse' : 'row'; + }, [isColumn, isDesktop, reverse]); + + return ( + <Box + $direction={direction} + $gap={spacings['lg']} + $padding={{ + horizontal: isDesktop ? '6xl' : spacings['md'], + }} + $align={isDesktop ? 'flex-start' : 'center'} + $justify={isDesktop ? 'flex-start' : 'center'} + > + <Box $gap={spacings['sm']} $maxWidth="850px" $width="100%"> + <Box $direction="row" $gap={spacings['sm']} $wrap="wrap"> + <SectionTag tag={tag} /> + {availableSoon && ( + <SectionTag tag={t('Available soon')} availableSoon /> + )} + </Box> + <Text + $css={css` + line-height: 50px; + `} + $variation="1000" + $weight="bold" + $size={isDesktop ? 'xs-alt' : 'h1'} + > + {title} + </Text> + <Text $variation="700" $weight="400" $size="md"> + {description} + </Text> + </Box> + + {illustration && ( + <Image + src={illustration} + alt="SC4Illustration" + style={{ + maxWidth: 'calc(100dvw - 50px)', + height: 'auto', + boxShadow: shadow + ? '0px 5px 25.1px 0px rgba(0, 0, 0, 0.08)' + : 'none', + }} + /> + )} + </Box> + ); +}; + +const SectionTag = ({ + tag, + availableSoon, +}: { + tag: string; + availableSoon?: boolean; +}) => { + const { colorsTokens, spacingsTokens } = useCunninghamTheme(); + const spacings = spacingsTokens(); + const colors = colorsTokens(); + return ( + <Box + $background={ + !availableSoon ? colors['primary-100'] : colors['warning-100'] + } + $padding={{ horizontal: spacings['sm'], vertical: '6px' }} + $css={css` + align-self: flex-start; + border-radius: 4px; + `} + > + <Text + $size="md" + $variation={availableSoon ? '600' : '800'} + $weight="bold" + $theme={availableSoon ? 'warning' : 'primary'} + > + {tag} + </Text> + </Box> + ); +}; diff --git a/src/frontend/apps/impress/src/features/home/components/HomeWriteSection.tsx b/src/frontend/apps/impress/src/features/home/components/HomeWriteSection.tsx new file mode 100644 index 00000000..a618553a --- /dev/null +++ b/src/frontend/apps/impress/src/features/home/components/HomeWriteSection.tsx @@ -0,0 +1,18 @@ +import Image from 'next/image'; + +import SC1 from '../assets/SC1.png'; +import SC1Responsive from '../assets/SC1-responsive.png'; + +import { HomeSection } from './HomeSection'; + +export const HomeWriteSection = () => { + return ( + <HomeSection + isColumn={true} + illustration={<Image src={illustration} alt="DocLogo" />} + title="Une expérience d'écriture sans compromis." + tag="Écrire" + description="Docs propose une expérience d'écriture intuitive. Son interface minimaliste privilégie le contenu sur la mise en page, tout en offrant l'essentiel : import de médias, mode hors-ligne et raccourcis clavier pour plus d'efficacité." + /> + ); +}; diff --git a/src/frontend/apps/impress/src/layouts/MainLayout.tsx b/src/frontend/apps/impress/src/layouts/MainLayout.tsx index 81523571..23ed037a 100644 --- a/src/frontend/apps/impress/src/layouts/MainLayout.tsx +++ b/src/frontend/apps/impress/src/layouts/MainLayout.tsx @@ -3,7 +3,6 @@ import { css } from 'styled-components'; import { Box } from '@/components'; import { useCunninghamTheme } from '@/cunningham'; -import { Footer } from '@/features/footer'; import { Header } from '@/features/header'; import { HEADER_HEIGHT } from '@/features/header/conf'; import { LeftPanel } from '@/features/left-panel'; @@ -12,13 +11,14 @@ import { useResponsiveStore } from '@/stores'; type MainLayoutProps = { backgroundColor?: 'white' | 'grey'; - withoutFooter?: boolean; + + withoutLeftPanel?: boolean; }; export function MainLayout({ children, backgroundColor = 'white', - withoutFooter = false, + withoutLeftPanel = false, }: PropsWithChildren<MainLayoutProps>) { const { isDesktop } = useResponsiveStore(); const { colorsTokens } = useCunninghamTheme(); @@ -33,7 +33,7 @@ export function MainLayout({ $margin={{ top: `${HEADER_HEIGHT}px` }} $width="100%" > - <LeftPanel /> + {!withoutLeftPanel && <LeftPanel />} <Box as="main" id={MAIN_LAYOUT_ID} @@ -57,7 +57,6 @@ export function MainLayout({ {children} </Box> </Box> - {!withoutFooter && <Footer />} </div> ); } diff --git a/src/frontend/apps/impress/src/pages/docs/[id]/index.tsx b/src/frontend/apps/impress/src/pages/docs/[id]/index.tsx index ede0f454..8a3b6075 100644 --- a/src/frontend/apps/impress/src/pages/docs/[id]/index.tsx +++ b/src/frontend/apps/impress/src/pages/docs/[id]/index.tsx @@ -34,7 +34,7 @@ export function DocLayout() { <meta name="robots" content="noindex" /> </Head> - <MainLayout withoutFooter> + <MainLayout> <DocPage id={id} /> </MainLayout> </> diff --git a/src/frontend/apps/impress/src/pages/home.tsx b/src/frontend/apps/impress/src/pages/home.tsx new file mode 100644 index 00000000..e2fe5d06 --- /dev/null +++ b/src/frontend/apps/impress/src/pages/home.tsx @@ -0,0 +1,5 @@ +import HomeContent from '@/features/home/components/HomeContent'; + +export default function Home() { + return <HomeContent />; +} diff --git a/src/frontend/apps/impress/src/pages/index.tsx b/src/frontend/apps/impress/src/pages/index.tsx index c6fc9734..249731fe 100644 --- a/src/frontend/apps/impress/src/pages/index.tsx +++ b/src/frontend/apps/impress/src/pages/index.tsx @@ -1,3 +1,16 @@ -import Docs from './docs'; +import { useRouter } from 'next/navigation'; -export default Docs; +import { useAuthStore } from '@/core'; +import HomeContent from '@/features/home/components/HomeContent'; + +export default function Index() { + const router = useRouter(); + const auth = useAuthStore(); + + if (auth.userData) { + router.push('/docs/'); + return null; + } + + return <HomeContent />; +}