From 911bc0599823f9d92be808ad95e664549d84412f Mon Sep 17 00:00:00 2001 From: Florence Haudin Date: Sat, 5 Jul 2025 13:36:11 +0200 Subject: [PATCH 01/12] Update SmallProjectCard to adapt text depending on the current number of funders and the max possible number of them. --- src/components/fundable/SmallProjectCard.tsx | 117 +++++++++++++++++++ src/components/fundable/projectsDetails.ts | 109 +++++++++++++++++ 2 files changed, 226 insertions(+) create mode 100644 src/components/fundable/SmallProjectCard.tsx create mode 100644 src/components/fundable/projectsDetails.ts diff --git a/src/components/fundable/SmallProjectCard.tsx b/src/components/fundable/SmallProjectCard.tsx new file mode 100644 index 00000000..775f971c --- /dev/null +++ b/src/components/fundable/SmallProjectCard.tsx @@ -0,0 +1,117 @@ +import styles from "./styles.module.css"; +import { useHistory } from "@docusaurus/router"; +import BlueCaretIcon from "@site/static/img/icons/BlueCaret.svg"; +import LinkToMoreInformation from "./LinkToMoreInformation"; +import ProgressBar from "./ProgressBar"; +import FundersIcon from "@site/static/img/icons/Funders.svg"; +import DollarIcon from "@site/static/img/icons/Dollar.svg"; + +export function SmallProjectCard({ project }) { + const history = useHistory(); + + function openDialog() { + const pageName = project.pageName; + + history.push({ + pathname: `/fundable/${pageName}`, + state: { fromFundable: true, scrollY: window.scrollY }, + }); + } + + return ( +
+
+
+
+
+
+ {project.title} +
+
+ {project.catchUpPhrase} +
+
+
+ +
+
+
+ {project.shortDescription.length < 250 + ? project.shortDescription + : project.shortDescription.substring(0, 250) + "..."} + +
+
+
+
+ +
+ + +
+
+ +
+
+ Open-source under relevant licenses +
+
+
+
+ +
+
+ The funding organization will be credited in communication about the project +
+
+ +
Note: Costs and features can be further adapted following discussion with the funding organization
+
+
+
+
+ {project.price} +
+
+
+ Indicative price +
+
+
+ Financed at {project.currentFundingPercentage} % +
+
+ +
+
+
+
{project.maxNbOfFunders === 1 + ? 'Not shareable between funders' + : `Shareable between ${project.maxNbOfFunders} funders` + } +
+
+
+
+
+ {project.currentNbOfFunders === 0 + ? 'The project is not supported yet' + : `Supported by ${project.currentNbOfFunders} + ${project.currentNbOfFunders === 1 ? 'funder' : 'funders'} + `} +
+ +
+
+
+
+
+
+
+ ) +} \ No newline at end of file diff --git a/src/components/fundable/projectsDetails.ts b/src/components/fundable/projectsDetails.ts new file mode 100644 index 00000000..f4640185 --- /dev/null +++ b/src/components/fundable/projectsDetails.ts @@ -0,0 +1,109 @@ +import NbconvertModernizationMD from "@site/src/components/fundable/descriptions/NbconvertModernization.md" +import JupyterGISRasterProcessingMD from "@site/src/components/fundable/descriptions/JupyterGISRasterProcessing.md" +import JupyterGISToolsForPythonAPIMD from "@site/src/components/fundable/descriptions/JupyterGISToolsForPythonAPI.md" +import EmscriptenForgePackageRequestsMD from "@site/src/components/fundable/descriptions/EmscriptenForgePackageRequests.md" +import JupyterLabParquetFileViewerMD from "@site/src/components/fundable/descriptions/JupyterLabParquetFileViewer.md" +import JupyterGISIcon from "/img/icons/JupyterGIS.svg"; +import ToolsIcon from "/img/icons/Tools.svg"; +import PythonIcon from "/img/icons/Python.svg"; +import GlobeIcon from "/img/icons/Globe.svg"; +import EmptyIcon from "/img/icons/Empty.svg"; +import JupyterIcon from "/img/icons/Jupyter.svg"; +import EmscriptenForgeIcon from "/img/icons/EmscriptenForge.svg"; + +export const fundableProjectsDetails = { + jupyterEcosystem: [ + { + category: "Jupyter Ecosystem", + title: "Modernize nbconvert", + pageName: "NbconvertModernization", + catchUpPhrase: "", + shortDescription: "Conversion of Jupyter notebooks to PDF currently relies on nbconvert in the backend, which in turns uses a headless browser for producing the PDF. We propose to directly perform the PDF conversion in the user's browser, which will simplify the architecture and make it function with JupyterLite.", + description: NbconvertModernizationMD, + optionA: "This is option A", + optionB: "This is option B", + customOption: "This is custom option", + icons: [JupyterIcon, EmptyIcon, EmptyIcon, EmptyIcon, EmptyIcon, EmptyIcon], + price: "15000 €", + maxNbOfFunders: 3, + currentNbOfFunders: 2, + currentFundingPercentage: 65, + note: "Note: Costs and features can be further adapted following discussion with the funding organization. Open-source under relevant licenses. The funding organization will be credited in communication about the project.", + repoLink: "https://github.com/jupyter/nbconvert" + }, + { + category: "Jupyter Ecosystem", + title: "Raster processing tools in JupyterGIS", + pageName: "JupyterGISRasterProcessing", + catchUpPhrase: "", + shortDescription: "JupyterGIS currently offers a set of vector processing and conversion tools. These capabilities are powered by a GDAL WebAssembly (WASM) build running in the browser. We will work on extending support to raster processing tools using the same underlying technology.", + description: JupyterGISRasterProcessingMD, + optionA: "This is option A", + optionB: "This is option B", + customOption: "This is custom option", + icons: [JupyterIcon, JupyterGISIcon, ToolsIcon, PythonIcon, GlobeIcon, EmptyIcon], + price: "15000 €", + maxNbOfFunders: 4, + currentNbOfFunders: 2, + currentFundingPercentage: 45, + note: "Note: Costs and features can be further adapted following discussion with the funding organization. Open-source under relevant licenses. The funding organization will be credited in communication about the project.", + repoLink: "https://github.com/geojupyter/jupytergis" + }, + { + category: "Jupyter Ecosystem", + title: "Bringing processing tools to the JupyterGIS Python API", + pageName: "JupyterGISToolsForPythonAPI", + catchUpPhrase: "", + shortDescription: "JupyterGIS currently supports several vector processing and conversion tools, currently available only through the JupyterGIS user interface. We plan to extend these capabilities to the JupyterGIS Python API, enabling users to access the same processing tools programmatically. ", + description: JupyterGISToolsForPythonAPIMD, + optionA: "This is option A", + optionB: "This is option B", + customOption: "This is custom option", + icons: [JupyterIcon, JupyterGISIcon, ToolsIcon, PythonIcon, GlobeIcon, EmptyIcon], + price: "10000 €", + maxNbOfFunders: 2, + currentNbOfFunders: 0, + currentFundingPercentage: 15, + note: "Note: Costs and features can be further adapted following discussion with the funding organization. Open-source under relevant licenses. The funding organization will be credited in communication about the project.", + repoLink: "https://github.com/geojupyter/jupytergis" + }, + { + category: "Jupyter Ecosystem", + title: "Parquet File Viewer For JupyterLab", + pageName: "JupyterLabParquetFileViewer", + catchUpPhrase: "", + shortDescription: "", + description: JupyterLabParquetFileViewerMD, + optionA: "This is option A", + optionB: "This is option B", + customOption: "This is custom option", + icons: [JupyterIcon, EmptyIcon, EmptyIcon, EmptyIcon, EmptyIcon, EmptyIcon], + price: "10000 €", + maxNbOfFunders: 3, + currentNbOfFunders: 1, + currentFundingPercentage: 15, + note: "Note: Costs and features can be further adapted following discussion with the funding organization. Open-source under relevant licenses. The funding organization will be credited in communication about the project.", + repoLink: "https://github.com/jupyterlab/jupyterlab" + } + ], + packageManagement: [ + { + category: "Package Management", + title: "Package requests for emscripten-forge", + pageName: "EmscriptenForgePackageRequests", + catchUpPhrase: "", + shortDescription: "Emscripten-forge is a conda package distribution specifically designed for WebAssembly. While the number of available emscripten-forge packages is growing quickly, many packages are still missing from the ecosystem. We will be working on adding new packages upon request.", + description: EmscriptenForgePackageRequestsMD, + optionA: "This is option A", + optionB: "This is option B", + customOption: "This is custom option", + icons: [EmscriptenForgeIcon, EmptyIcon, EmptyIcon, EmptyIcon, EmptyIcon, EmptyIcon], + price: "TBD", + maxNbOfFunders: 1, + currentNbOfFunders: 0, + currentFundingPercentage: 0, + note: "Note: Costs and features can be further adapted following discussion with the funding organization. Open-source under relevant licenses. The funding organization will be credited in communication about the project.", + repoLink: "https://github.com/mamba-org/mamba" + }], +} + From eb9ab8943ad2b0978cfcc1c4d9c70bb28f0e5887 Mon Sep 17 00:00:00 2001 From: Florence Haudin Date: Sat, 5 Jul 2025 17:11:16 +0200 Subject: [PATCH 02/12] Introduce mobile and tablet design for the page. --- src/components/fundable/index.tsx | 56 +++ src/components/fundable/styles.module.css | 407 ++++++++++++++++++++++ 2 files changed, 463 insertions(+) create mode 100644 src/components/fundable/index.tsx create mode 100644 src/components/fundable/styles.module.css diff --git a/src/components/fundable/index.tsx b/src/components/fundable/index.tsx new file mode 100644 index 00000000..d49d0b16 --- /dev/null +++ b/src/components/fundable/index.tsx @@ -0,0 +1,56 @@ +import styles from "./styles.module.css"; +import { fundableProjectsDetails } from "./projectsDetails"; +import ProjectCategory from "./ProjectCategory"; +import MenuSidebar from "./MenuSideBar"; + +export function getCategoryFromProjectPageName(pageName: string) { + for (const [categoryName, projectsByCategory] of Object.entries(fundableProjectsDetails)) { + const project = projectsByCategory.find((project) => project.pageName === pageName); + if (project) { + return projectsByCategory; + } + } + return null; +} + +export function MainAreaFundableProjects() { + return ( +
+

Check out our projects available for funding!

+ +
+ +
+
+ +
+
+ + ) +} + +export default function FundableProjects() { + return ( + +
+
+
+ +
+
+ +
+
+ +
+
+
+ + ); +} diff --git a/src/components/fundable/styles.module.css b/src/components/fundable/styles.module.css new file mode 100644 index 00000000..ab6f91d4 --- /dev/null +++ b/src/components/fundable/styles.module.css @@ -0,0 +1,407 @@ + + +.small_project_card:hover { + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); +} + +.category_header { + font-family: var(--ifm-font-family-rubik-one); + font-style: normal; + font-weight: 400; + line-height: 20px; + text-align: center; + margin-bottom: var(--ifm-spacing-xl); + color: var(--ifm-color-secondary-s3); + padding: 20px 0; + text-align: left; +} + +.project_title { + color: var(--ifm-text-color-main-title); + font-family: var(--ifm-font-family-bebas-neue); + font-size: 32px; + font-style: normal; + font-weight: 600; + /*line-height: 150%; /* 72px */ + letter-spacing: 2.112px; + text-align: left; + padding: 0; +} + +.project_catch_up_phrase { + font-family: var(--ifm-font-family-roboto); + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 24px; /* 150% */ + letter-spacing: 0.15px; + color: var(--ifm-color-secondary-s3); + padding: 10px 0 +} + +.modal_overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.3); + z-index: 1000; +} + +.modal_content { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background-color: white; + border: 1px solid #ccc; + box-shadow: 0 8px 16px rgba(0,0,0,0.2); + border-radius: 20px; + z-index: 4000; +} + + + +.large_project_card_title { + font-family: var(--ifm-font-family-roboto); + font-size: 32px; + font-style: normal; + font-weight: 400; + line-height: 40px; /* 125% */ + margin: var(--ifm-spacing-md) 0; + + } + + .large_project_card_text { + font-family: var(--ifm-font-family-roboto); + font-size: 14px; + font-style: normal; + font-weight: 500; + line-height: 24px; /* 150% */ + letter-spacing: 0.15px; + color: var(--ifm-text-color-on-primary-p1); + text-align: justify; +} + + + +.large_project_card_section_title { + font-weight: 600; +} + +.large_project_card_description_container { + background-color: #F1F1F1 +} +.large_project_card_description p { + font-family: var(--ifm-font-family-roboto); + /*background-color: #F1F1F1;*/ + font-size: 16px; +} + +.large_project_card_option { + background-color: #F1F1F1; + font-size: 16px; + height: 32px; +} + +.large_project_card_contact_text { + font-family: var(--ifm-font-family-roboto); + font-size: 14px; + font-style: normal; + font-weight: 600; + line-height: 20px; /* 142.857% */ + letter-spacing: 0.1px; + text-align: center; + padding: var(--ifm-spacing-xl) 0 var(--ifm-spacing-md) 0 +} + + .link_to_get_a_quote { + background-color: var(--ifm-color-orange-jupyter); + color: white; + width: 358px; + font-weight: 700; + } + +.icon_container { + display: flex; + gap: 10px; + margin: var(--ifm-spacing-md) 0; +} + +.menu_sidebar { + padding: 1rem; + overflow-y: auto; +} + +.menu_sidebar_item { + font-family: var(--ifm-font-family-roboto); + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 48px; /* 300% */ + letter-spacing: 0.15px; +} + +.menu_sidebar_container { + position: fixed; + display: flex; + height: auto; +} + +.indicator { + display: inline-block; + width: 6px; + height: 20px; + border-radius: 4px; + background-color: transparent; + margin-right: 10px; + transition: background-color 0.3s ease; + vertical-align: middle; +} + +.active_section .indicator { + background-color: #D9D9D9; +} + +.send_button { + width: 258px; + height: 59px; + background: var(--ifm-color-blue-jupyter); +} + +.contact_form { + margin-top: var(--ifm-spacing-xl); +} + +.form_label { + font-size: 12px; + color: var(--ifm-text-color); + background-color: var(--ifm-background-color); +} + + +.get_a_quote_dialog { + width: 100vw; + height: 100vh; + padding: 40px; + overflow-y: auto; +} + +.project_information_container { + display: flex; + align-items: center; +} + +.project_information { + font-family: var(--ifm-font-family-roboto); + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 20px; /* 142.857% */ + letter-spacing: 0.25px; + padding: 10px; + text-align: justify; +} + +.note { + font-family: var(--ifm-font-family-roboto); + font-size: 12px; + font-style: normal; + font-weight: 600; + line-height: 16px; /* 145.455% */ + letter-spacing: 0.5px; + margin: 12px 0; + text-align: justify; +} + +.price_container { + display: flex; + justify-content: center; + align-items: center; + padding: 8px 0; +} + +.price { + font-size: 20px; + padding: 8px 0; + background: var(--ifm-color-secondary-s1); + font-family: var(--ifm-font-family-roboto); + border-radius: 24px; + font-weight: 700; + width: 190px; + padding: 10px; + height: 56px; + text-align: center; + margin: 46px 0 4px 0; +} + +.indicative_price_text { + text-align: center; + font-family: var(--ifm-font-family-roboto); + font-size: 12px; + font-style: normal; + font-weight: 600; + line-height: 150%; /* 18px */ + letter-spacing: -0.132px; + text-transform: uppercase; +} + +.financed_at_text { + font-family: var(--ifm-font-family-roboto); + font-size: 14px; + font-style: normal; + font-weight: 700; + line-height: 36px; +} + +.shareable_container { + display: flex; + align-items: center; +} + +.shareable_text { + font-family: var(--ifm-font-family-roboto); + font-size: 16px; + font-style: normal; + font-weight: 700; + line-height: 150%; /* 18px */ + letter-spacing: -0.132px; + text-transform: uppercase; + padding: 12px +} + + .link_to_more_information { + background-color: var(--ifm-color-secondary-s1); + color: black; + width: 150px; + height: 24px; + font-size: 14px; + font-family: var(--ifm-font-family-roboto); + display: flex; + align-items: center; + justify-content: center; + margin: 12px 0 0 0; + font-family: var(--ifm-font-family-roboto); + border-radius: 35px; + font-style: normal; + font-weight: 600; + line-height: 150%; + letter-spacing: -0.176px; + border: none; + text-align: center; + } + +@media only screen and (max-width: 500px) { + /*Mobile*/ + .category_header { + font-size: 20px; +} +ul { + display: flex; + justify-content: center; +} +.main_area_desktop { +display: none +} + +.menu_sidebar { + display: none +} + +.small_project_card { + width: 90vw; + margin: var(--ifm-spacing-2xl) 0; + border: 1px solid #ccc; + cursor: pointer; + padding: 18px; +} + +.large_project_card { + width: 90vw; + padding: 40px; + overflow-y: auto; + border-radius: 8px; + padding: var(--ifm-spacing-xl) var(--ifm-spacing-xl); +} + + +.small_input { + width: 300px; + height: 56px; + border-radius: 4px; + } + + .large_input { + width: 300px; + height: 160px; + border-radius: 4px; + } +} + +@media (min-width: 500px) and (max-width: 996px) { + /*Tablet*/ + + .small_project_card { + width: 80vw; + margin: var(--ifm-spacing-2xl) 0; + border: 1px solid #ccc; + cursor: pointer; +} + .large_project_card { + width: 80vw; + padding: 40px; + overflow-y: auto; + border-radius: 8px; + padding: var(--ifm-spacing-xl) var(--ifm-spacing-xl); +} +.main_area_desktop { +display: none +} + +.menu_sidebar { + display: none +} + +} + +@media only screen and (min-width: 996px) { + /*Desktop*/ + .category_header { + font-size: 28px; +} +.small_project_card { + width: 920px; + margin: var(--ifm-spacing-2xl) 0; + border: 1px solid #ccc; + cursor: pointer; +} + +.large_project_card { + width: 1000px; + height: 900px; + padding: 40px; + overflow-y: auto; + border-radius: 8px; +} +.main_area_mobile { + display: none; +} +.small_input { + width: 508px; + height: 56px; + border-radius: 4px; + } + + .large_input { + width: 508px; + height: 160px; + border-radius: 4px; + } + .send_button_container { + height: 59px; + width: 508px; + margin: var(--ifm-spacing-xl) 0; + } + +} \ No newline at end of file From 4fee46145c1e4ca73ba8f7e237566f9f2be8f39f Mon Sep 17 00:00:00 2001 From: Florence Haudin Date: Sat, 5 Jul 2025 17:11:16 +0200 Subject: [PATCH 03/12] Introduce mobile and tablet design for the page. --- docusaurus.config.ts | 2 +- package-lock.json | 598 ++ package.json | 1 + .../about/LargePortraitCardPage.tsx | 4 +- src/components/about/styles.module.css | 4 +- src/components/fundable/GetAQuoteForm.tsx | 90 + src/components/fundable/GetAQuotePage.tsx | 72 + .../fundable/LargeProjectCardPage.tsx | 79 + src/components/fundable/MenuSideBar.tsx | 48 + src/components/fundable/ProjectCategory.tsx | 22 + src/components/fundable/SmallProjectCard.tsx | 73 +- src/components/fundable/styles.module.css | 431 +- src/css/custom.css | 15 +- static/img/avatars/QuantStack.html | 73 + .../img/avatars/QuantStack_files/styles.css | 6669 +++++++++++++++++ 15 files changed, 7966 insertions(+), 215 deletions(-) create mode 100644 src/components/fundable/GetAQuoteForm.tsx create mode 100644 src/components/fundable/GetAQuotePage.tsx create mode 100644 src/components/fundable/LargeProjectCardPage.tsx create mode 100644 src/components/fundable/MenuSideBar.tsx create mode 100644 src/components/fundable/ProjectCategory.tsx create mode 100644 static/img/avatars/QuantStack.html create mode 100644 static/img/avatars/QuantStack_files/styles.css diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 88b7e090..0726b589 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -124,7 +124,7 @@ const config: Config = { }, { to: "/contact/", - label: "CONTACT US", + label: "Contact us", position: "right", className: "contact", }, diff --git a/package-lock.json b/package-lock.json index 5a45bc63..ef8fb93d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -51,6 +51,7 @@ "@types/node": "^20.12.12", "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", + "stylelint": "^16.21.1", "typescript": "^5.8.3" }, "engines": { @@ -5080,6 +5081,41 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@keyv/serialize": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.3.tgz", + "integrity": "sha512-qnEovoOp5Np2JDGonIDL6Ayihw0RhnRh6vxPuHo4RDn1UOzwEo4AeIfpL6UGIrsceWrCMiVPgwRjbHu4vYFc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^6.0.3" + } + }, + "node_modules/@keyv/serialize/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", @@ -6900,6 +6936,16 @@ "node": ">=0.8" } }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/astring": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", @@ -7355,6 +7401,17 @@ "node": ">= 0.8" } }, + "node_modules/cacheable": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.1.tgz", + "integrity": "sha512-Fa2BZY0CS9F0PFc/6aVA6tgpOdw+hmv9dkZOlHXII5v5Hw+meJBIWDcPrG9q/dXxGcNbym5t77fzmawrBQfTmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "hookified": "^1.10.0", + "keyv": "^5.3.4" + } + }, "node_modules/cacheable-lookup": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", @@ -7394,6 +7451,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cacheable/node_modules/keyv": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.3.4.tgz", + "integrity": "sha512-ypEvQvInNpUe+u+w8BIcPkQvEqXquyyibWE/1NB5T2BTzIpS5cGEV1LZskDzPSTvNAaT4+5FutvzlvnkxOSKlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@keyv/serialize": "^1.0.3" + } + }, "node_modules/call-bind": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", @@ -8300,6 +8367,16 @@ "postcss": "^8.0.9" } }, + "node_modules/css-functions-list": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12 || >=16" + } + }, "node_modules/css-has-pseudo": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.2.tgz", @@ -9181,6 +9258,16 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -9724,6 +9811,16 @@ ], "license": "BSD-3-Clause" }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, "node_modules/fastq": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", @@ -9794,6 +9891,16 @@ "node": ">=0.8.0" } }, + "node_modules/file-entry-cache": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.1.tgz", + "integrity": "sha512-zcmsHjg2B2zjuBgjdnB+9q0+cWcgWfykIcsDkWDB4GTPtl1eXUA+gTI6sO0u01AqK3cliHryTU55/b2Ow1hfZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^6.1.10" + } + }, "node_modules/file-loader": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", @@ -9942,6 +10049,25 @@ "flat": "cli.js" } }, + "node_modules/flat-cache": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.11.tgz", + "integrity": "sha512-zfOAns94mp7bHG/vCn9Ru2eDCmIxVQ5dELUHKjHfDEOJmHNzE+uGa6208kfkgmtym4a0FFjEuFksCXFacbVhSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cacheable": "^1.10.1", + "flatted": "^3.3.3", + "hookified": "^1.10.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, "node_modules/follow-redirects": { "version": "1.15.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", @@ -10312,6 +10438,54 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -10341,6 +10515,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true, + "license": "MIT" + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -10771,6 +10952,13 @@ "react-is": "^16.7.0" } }, + "node_modules/hookified": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.10.0.tgz", + "integrity": "sha512-dJw0492Iddsj56U1JsSTm9E/0B/29a1AuoSLRAte8vQg/kaTGF3IgjEWT8c8yG4cC10+HisE1x5QAwR0Xwc+DA==", + "dev": true, + "license": "MIT" + }, "node_modules/hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", @@ -11955,6 +12143,13 @@ "node": ">=6" } }, + "node_modules/known-css-properties": { + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", + "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", + "dev": true, + "license": "MIT" + }, "node_modules/latest-version": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", @@ -12085,6 +12280,13 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "license": "MIT" }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -12198,6 +12400,17 @@ "node": ">= 0.4" } }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/mdast-util-directive": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", @@ -12627,6 +12840,19 @@ "node": ">= 4.0.0" } }, + "node_modules/meow": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/merge-descriptors": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", @@ -16820,6 +17046,40 @@ "postcss": "^8.0.3" } }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", + "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, "node_modules/postcss-selector-not": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-8.0.1.tgz", @@ -18920,6 +19180,24 @@ "node": ">=8" } }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, "node_modules/slick-carousel": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.1.tgz", @@ -19307,6 +19585,240 @@ "postcss": "^8.4.31" } }, + "node_modules/stylelint": { + "version": "16.21.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.21.1.tgz", + "integrity": "sha512-WCXdXnYK2tpCbebgMF0Bme3YZH/Rh/UXerj75twYo4uLULlcrLwFVdZTvTEF8idFnAcW21YUDJFyKOfaf6xJRw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3", + "@csstools/selector-specificity": "^5.0.0", + "@dual-bundle/import-meta-resolve": "^4.1.0", + "balanced-match": "^2.0.0", + "colord": "^2.9.3", + "cosmiconfig": "^9.0.0", + "css-functions-list": "^3.2.3", + "css-tree": "^3.1.0", + "debug": "^4.4.1", + "fast-glob": "^3.3.3", + "fastest-levenshtein": "^1.0.16", + "file-entry-cache": "^10.1.1", + "global-modules": "^2.0.0", + "globby": "^11.1.0", + "globjoin": "^0.1.4", + "html-tags": "^3.3.1", + "ignore": "^7.0.5", + "imurmurhash": "^0.1.4", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.37.0", + "mathml-tag-names": "^2.1.3", + "meow": "^13.2.0", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.5.6", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-safe-parser": "^7.0.1", + "postcss-selector-parser": "^7.1.0", + "postcss-value-parser": "^4.2.0", + "resolve-from": "^5.0.0", + "string-width": "^4.2.3", + "supports-hyperlinks": "^3.2.0", + "svg-tags": "^1.0.0", + "table": "^6.9.0", + "write-file-atomic": "^5.0.1" + }, + "bin": { + "stylelint": "bin/stylelint.mjs" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/stylelint/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylelint/node_modules/cosmiconfig": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", + "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.1", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/stylelint/node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/stylelint/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylelint/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/stylelint/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylelint/node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/stylelint/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/stylelint/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/stylelint/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/stylis": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", @@ -19324,6 +19836,23 @@ "node": ">=8" } }, + "node_modules/supports-hyperlinks": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" + } + }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -19342,6 +19871,12 @@ "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", "license": "MIT" }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, "node_modules/svgo": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", @@ -19376,6 +19911,69 @@ "node": ">= 10" } }, + "node_modules/table": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", + "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/table/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/tapable": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", diff --git a/package.json b/package.json index 96f36654..39855a5f 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,7 @@ "@types/node": "^20.12.12", "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", + "stylelint": "^16.21.1", "typescript": "^5.8.3" }, "browserslist": { diff --git a/src/components/about/LargePortraitCardPage.tsx b/src/components/about/LargePortraitCardPage.tsx index 23434081..5845edc6 100644 --- a/src/components/about/LargePortraitCardPage.tsx +++ b/src/components/about/LargePortraitCardPage.tsx @@ -54,9 +54,9 @@ export default function LargePortraitCardPage() { if (!person) return null; return ( -
+
e.stopPropagation()} >
+
+ ); + }} + /> + + ) +} \ No newline at end of file diff --git a/src/components/fundable/LargeProjectCardPage.tsx b/src/components/fundable/LargeProjectCardPage.tsx new file mode 100644 index 00000000..e634bd15 --- /dev/null +++ b/src/components/fundable/LargeProjectCardPage.tsx @@ -0,0 +1,79 @@ +import { useHistory, useLocation } from "@docusaurus/router"; +import { useEffect } from "react"; +import styles from "./styles.module.css"; +import LargeProjectCard from "./LargeProjectCard"; +import { getCategoryFromProjectPageName } from "."; +import FundableProjects from "."; +import Layout from "@theme/Layout"; +import { Route } from 'react-router-dom'; + + +export default function LargeProjectCardPage() { + const location = useLocation(); + const history = useHistory(); + + useEffect(() => { + if (location.state?.fromFundable) { + window.scrollTo({ top: location.state.scrollY ?? 0, behavior: 'auto' }); + } + }, []); + + const handleOverlayClick = () => { + const scrollY = location.state?.scrollY; + setTimeout(() => { + if (scrollY !== undefined) { + window.scrollTo({ top: scrollY, behavior: 'auto' }); + } + }, 0); + history.replace('/fundable'); + }; + + const handleClose = () => { + const scrollY = location.state?.scrollY; + if (location.state?.fromFundable) { + history.replace('/fundable'); + + setTimeout(() => { + if (scrollY !== undefined) { + window.scrollTo({ top: scrollY, behavior: 'auto' }); + } + }, 0); + } else { + history.goBack(); + } + } + return ( + + + { + const { pageName } = match.params; /* extract the dynamic part from the url i.e. the pageName*/ + const projectsByCategory = getCategoryFromProjectPageName(pageName); + const project = projectsByCategory.find((project) => project.pageName === pageName); + if (!project) return null; + + return ( +
+
e.stopPropagation()} + > +
+
+ ); + }} + /> +
+ ) +} \ No newline at end of file diff --git a/src/components/fundable/MenuSideBar.tsx b/src/components/fundable/MenuSideBar.tsx new file mode 100644 index 00000000..c751a776 --- /dev/null +++ b/src/components/fundable/MenuSideBar.tsx @@ -0,0 +1,48 @@ +// src/components/ScrollSidebar.js +import React, { useEffect, useState } from 'react'; +import styles from "./styles.module.css"; + +const sections = [ + { id: 'jupyter-ecosystem', label: 'Jupyter Ecosystem' }, + { id: 'project-management', label: 'Project Management' }, +]; + +export default function MenuSideBar() { + const [activeSectionId, setActiveSectionId] = useState('jupyter-ecosystem'); + + useEffect(() => { + const handleScroll = () => { + const scrollPosition = window.scrollY + 300; + for (const section of sections) { + const element = document.getElementById(section.id); + if (element && element.offsetTop <= scrollPosition) { + setActiveSectionId(section.id); + } + } + }; + window.addEventListener('scroll', handleScroll); + handleScroll(); + return () => window.removeEventListener('scroll', handleScroll); + }, []); + + return ( +
+ +
+ ); +} diff --git a/src/components/fundable/ProjectCategory.tsx b/src/components/fundable/ProjectCategory.tsx new file mode 100644 index 00000000..aca99175 --- /dev/null +++ b/src/components/fundable/ProjectCategory.tsx @@ -0,0 +1,22 @@ +import styles from "./styles.module.css"; +import { SmallProjectCard } from "./SmallProjectCard"; + + +export default function ProjectCategory({ projectCategoryName, projectCategory }) { + return ( +
+

{projectCategoryName }

+
+
    + {projectCategory.map((project) => ( +
  • +
    + +
    +
  • + ))} +
+
+
+ ); +} \ No newline at end of file diff --git a/src/components/fundable/SmallProjectCard.tsx b/src/components/fundable/SmallProjectCard.tsx index 775f971c..9b0ca109 100644 --- a/src/components/fundable/SmallProjectCard.tsx +++ b/src/components/fundable/SmallProjectCard.tsx @@ -23,7 +23,7 @@ export function SmallProjectCard({ project }) {
-
+
- -
@@ -70,48 +67,48 @@ export function SmallProjectCard({ project }) {
-
Note: Costs and features can be further adapted following discussion with the funding organization
-
-
-
-
- {project.price} -
-
-
- Indicative price +
Note: Costs and features can be further adapted following discussion with the funding organization
-
-
- Financed at {project.currentFundingPercentage} % -
-
- -
-
-
-
{project.maxNbOfFunders === 1 - ? 'Not shareable between funders' - : `Shareable between ${project.maxNbOfFunders} funders` - } -
-
-
-
-
- {project.currentNbOfFunders === 0 - ? 'The project is not supported yet' - : `Supported by ${project.currentNbOfFunders} +
+
+
+ {project.price} +
+
+
+ Indicative price +
+
+
+ Financed at {project.currentFundingPercentage} % +
+
+ +
+
+
+
{project.maxNbOfFunders === 1 + ? 'Not shareable between funders' + : `Shareable between ${project.maxNbOfFunders} funders` + } +
+
+
+
+
+ {project.currentNbOfFunders === 0 + ? 'The project is not supported yet' + : `Supported by ${project.currentNbOfFunders} ${project.currentNbOfFunders === 1 ? 'funder' : 'funders'} `} -
+
-
+
+
-
) } \ No newline at end of file diff --git a/src/components/fundable/styles.module.css b/src/components/fundable/styles.module.css index ab6f91d4..4620b441 100644 --- a/src/components/fundable/styles.module.css +++ b/src/components/fundable/styles.module.css @@ -1,31 +1,28 @@ - - .small_project_card:hover { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); } -.category_header { - font-family: var(--ifm-font-family-rubik-one); - font-style: normal; - font-weight: 400; - line-height: 20px; - text-align: center; - margin-bottom: var(--ifm-spacing-xl); - color: var(--ifm-color-secondary-s3); - padding: 20px 0; - text-align: left; +.project_category_header { + font-family: var(--ifm-font-family-rubik-one); + font-style: normal; + font-weight: 400; + line-height: 20px; + text-align: center; + margin-bottom: var(--ifm-spacing-xl); + color: var(--ifm-color-secondary-s3); + text-align: left; } .project_title { - color: var(--ifm-text-color-main-title); - font-family: var(--ifm-font-family-bebas-neue); - font-size: 32px; - font-style: normal; - font-weight: 600; - /*line-height: 150%; /* 72px */ - letter-spacing: 2.112px; - text-align: left; - padding: 0; + color: var(--ifm-text-color-main-title); + font-family: var(--ifm-font-family-bebas-neue); + font-size: 32px; + font-style: normal; + font-weight: 600; + /*line-height: 150%; /* 72px */ + letter-spacing: 2.112px; + text-align: left; + padding: 0; } .project_catch_up_phrase { @@ -33,13 +30,14 @@ font-size: 16px; font-style: normal; font-weight: 600; - line-height: 24px; /* 150% */ + line-height: 24px; + /* 150% */ letter-spacing: 0.15px; color: var(--ifm-color-secondary-s3); - padding: 10px 0 + padding: var(--ifm-spacing-sm) 0 } -.modal_overlay { +.project_dialog_overlay { position: fixed; top: 0; left: 0; @@ -49,43 +47,42 @@ z-index: 1000; } -.modal_content { +.project_dialog_content { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: white; border: 1px solid #ccc; - box-shadow: 0 8px 16px rgba(0,0,0,0.2); + box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); border-radius: 20px; z-index: 4000; } - - .large_project_card_title { font-family: var(--ifm-font-family-roboto); font-size: 32px; font-style: normal; font-weight: 400; - line-height: 40px; /* 125% */ + line-height: 40px; + /* 125% */ margin: var(--ifm-spacing-md) 0; - } +} - .large_project_card_text { +.large_project_card_text { font-family: var(--ifm-font-family-roboto); - font-size: 14px; + font-size: var(--ifm-font-size-small); font-style: normal; font-weight: 500; - line-height: 24px; /* 150% */ + line-height: 24px; + /* 150% */ letter-spacing: 0.15px; color: var(--ifm-text-color-on-primary-p1); text-align: justify; } - .large_project_card_section_title { font-weight: 600; } @@ -93,6 +90,7 @@ .large_project_card_description_container { background-color: #F1F1F1 } + .large_project_card_description p { font-family: var(--ifm-font-family-roboto); /*background-color: #F1F1F1;*/ @@ -107,21 +105,22 @@ .large_project_card_contact_text { font-family: var(--ifm-font-family-roboto); - font-size: 14px; + font-size: var(--ifm-font-size-small); font-style: normal; font-weight: 600; - line-height: 20px; /* 142.857% */ + line-height: 20px; + /* 142.857% */ letter-spacing: 0.1px; text-align: center; padding: var(--ifm-spacing-xl) 0 var(--ifm-spacing-md) 0 } - .link_to_get_a_quote { - background-color: var(--ifm-color-orange-jupyter); - color: white; - width: 358px; - font-weight: 700; - } +.link_to_get_a_quote { + background-color: var(--ifm-color-orange-jupyter); + color: white; + width: 358px; + font-weight: 700; +} .icon_container { display: flex; @@ -139,7 +138,8 @@ font-size: 16px; font-style: normal; font-weight: 500; - line-height: 48px; /* 300% */ + line-height: 48px; + /* 300% */ letter-spacing: 0.15px; } @@ -149,7 +149,7 @@ height: auto; } -.indicator { +.menu_sidebar_indicator { display: inline-block; width: 6px; height: 20px; @@ -160,7 +160,7 @@ vertical-align: middle; } -.active_section .indicator { +.active_section .menu_sidebar_indicator { background-color: #D9D9D9; } @@ -170,24 +170,16 @@ background: var(--ifm-color-blue-jupyter); } -.contact_form { +.get_a_quote_form { margin-top: var(--ifm-spacing-xl); } -.form_label { +.get_a_quote_form_label { font-size: 12px; color: var(--ifm-text-color); background-color: var(--ifm-background-color); } - -.get_a_quote_dialog { - width: 100vw; - height: 100vh; - padding: 40px; - overflow-y: auto; -} - .project_information_container { display: flex; align-items: center; @@ -198,34 +190,36 @@ font-size: 16px; font-style: normal; font-weight: 400; - line-height: 20px; /* 142.857% */ + line-height: 20px; + /* 142.857% */ letter-spacing: 0.25px; - padding: 10px; + padding: var(--ifm-spacing-sm); text-align: justify; } -.note { +.small_project_card_note { font-family: var(--ifm-font-family-roboto); font-size: 12px; font-style: normal; font-weight: 600; - line-height: 16px; /* 145.455% */ + line-height: 16px; + /* 145.455% */ letter-spacing: 0.5px; - margin: 12px 0; + margin: var(--ifm-spacing-sm) 0; text-align: justify; } -.price_container { +.small_project_card_price_container { display: flex; justify-content: center; align-items: center; padding: 8px 0; } -.price { +.small_project_card_price { font-size: 20px; padding: 8px 0; - background: var(--ifm-color-secondary-s1); + background: var(--ifm-color-secondary-s1); font-family: var(--ifm-font-family-roboto); border-radius: 24px; font-weight: 700; @@ -233,23 +227,24 @@ padding: 10px; height: 56px; text-align: center; - margin: 46px 0 4px 0; + margin: var(--ifm-spacing-xl) 0 var(--ifm-spacing-2xs) 0; } -.indicative_price_text { +.small_project_card_indicative_price_text { text-align: center; font-family: var(--ifm-font-family-roboto); font-size: 12px; font-style: normal; font-weight: 600; - line-height: 150%; /* 18px */ + line-height: 150%; + /* 18px */ letter-spacing: -0.132px; text-transform: uppercase; } -.financed_at_text { +.small_project_card_financed_at_text { font-family: var(--ifm-font-family-roboto); - font-size: 14px; + font-size: var(--ifm-font-size-small); font-style: normal; font-weight: 700; line-height: 36px; @@ -265,143 +260,237 @@ font-size: 16px; font-style: normal; font-weight: 700; - line-height: 150%; /* 18px */ + line-height: 150%; + /* 18px */ letter-spacing: -0.132px; text-transform: uppercase; - padding: 12px -} - - .link_to_more_information { - background-color: var(--ifm-color-secondary-s1); - color: black; - width: 150px; - height: 24px; - font-size: 14px; - font-family: var(--ifm-font-family-roboto); - display: flex; - align-items: center; - justify-content: center; - margin: 12px 0 0 0; - font-family: var(--ifm-font-family-roboto); - border-radius: 35px; - font-style: normal; - font-weight: 600; - line-height: 150%; - letter-spacing: -0.176px; - border: none; - text-align: center; - } - -@media only screen and (max-width: 500px) { - /*Mobile*/ - .category_header { - font-size: 20px; + padding: var(--ifm-spacing-sm); } -ul { + +.link_to_more_information { + background-color: var(--ifm-color-secondary-s1); + color: black; + width: 150px; + height: 24px; + font-size: var(--ifm-font-size-small); + font-family: var(--ifm-font-family-roboto); display: flex; + align-items: center; justify-content: center; -} -.main_area_desktop { -display: none + margin: var(--ifm-spacing-sm) 0 0 0; + font-family: var(--ifm-font-family-roboto); + border-radius: 35px; + font-style: normal; + font-weight: 600; + line-height: 150%; + letter-spacing: -0.176px; + border: none; + text-align: center; } -.menu_sidebar { - display: none +.small_project_card_price_col { + background-color: rgba(217, 217, 217, 0.25); } -.small_project_card { - width: 90vw; - margin: var(--ifm-spacing-2xl) 0; - border: 1px solid #ccc; - cursor: pointer; - padding: 18px; +.project_category_list { + display: flex; + justify-content: center; } -.large_project_card { - width: 90vw; - padding: 40px; - overflow-y: auto; - border-radius: 8px; - padding: var(--ifm-spacing-xl) var(--ifm-spacing-xl); -} +@media only screen and (max-width: 500px) { + + /*Mobile*/ + .project_category_header { + font-size: 20px; + padding: var(--ifm-spacing-md); + } + + .main_area_desktop { + display: none + } + + .menu_sidebar { + display: none + } + .small_project_card { + width: 90vw; + margin-bottom: var(--ifm-spacing-lg); + border: 1px solid #ccc; + cursor: pointer; + } + + .small_project_card_text_col { + padding: var(--ifm-spacing-sm); + } + + .small_project_card_price_col { + padding: var(--ifm-spacing-sm); + } + + .project_title { + margin-top: var(--ifm-spacing-sm); + } -.small_input { + .large_project_card { + width: 90vw; + padding: var(--ifm-spacing-xl); + overflow-y: auto; + border-radius: 8px; + padding: var(--ifm-spacing-xl) var(--ifm-spacing-xl); + } + + .small_input { width: 300px; height: 56px; border-radius: 4px; } - + .large_input { width: 300px; height: 160px; border-radius: 4px; } + + .get_a_quote_dialog { + width: 90vw; + padding: 40px; + overflow-y: auto; + } + + .get_a_quote_text_col_desktop { + display: none; + } + + .get_a_quote_form_col_desktop { + display: none; + } } @media (min-width: 500px) and (max-width: 996px) { + /*Tablet*/ + .project_category_header { + padding: var(--ifm-spacing-md); + } .small_project_card { - width: 80vw; - margin: var(--ifm-spacing-2xl) 0; - border: 1px solid #ccc; - cursor: pointer; -} + width: 80vw; + margin-bottom: var(--ifm-spacing-xl); + border: 1px solid #ccc; + cursor: pointer; + } + + .small_project_card_text_col { + padding: var(--ifm-spacing-md); + } + + .small_project_card_price_col { + padding: var(--ifm-spacing-md); + } + + .project_title { + margin-top: var(--ifm-spacing-md); + } + .large_project_card { - width: 80vw; - padding: 40px; - overflow-y: auto; - border-radius: 8px; - padding: var(--ifm-spacing-xl) var(--ifm-spacing-xl); -} -.main_area_desktop { -display: none -} + width: 80vw; + padding: 40px; + overflow-y: auto; + border-radius: 8px; + padding: var(--ifm-spacing-xl) var(--ifm-spacing-xl); + } -.menu_sidebar { - display: none -} - + .main_area_desktop { + display: none + } + + .small_input { + width: 400px; + height: 56px; + border-radius: 4px; + } + + .large_input { + width: 400px; + height: 160px; + border-radius: 4px; + } + + .menu_sidebar { + display: none + } + + .get_a_quote_dialog { + width: 80vw; + padding: 40px; + overflow-y: auto; + } + + .get_a_quote_text_col_desktop { + display: none; + } + + .get_a_quote_form_col_desktop { + display: none; + } } @media only screen and (min-width: 996px) { + /*Desktop*/ - .category_header { - font-size: 28px; -} -.small_project_card { - width: 920px; - margin: var(--ifm-spacing-2xl) 0; - border: 1px solid #ccc; - cursor: pointer; -} + .project_category_header { + font-size: 28px; + } -.large_project_card { - width: 1000px; - height: 900px; - padding: 40px; - overflow-y: auto; - border-radius: 8px; -} -.main_area_mobile { - display: none; -} -.small_input { - width: 508px; - height: 56px; - border-radius: 4px; - } - - .large_input { - width: 508px; - height: 160px; - border-radius: 4px; - } - .send_button_container { - height: 59px; - width: 508px; - margin: var(--ifm-spacing-xl) 0; - } + .small_project_card { + width: 70vw; + margin: var(--ifm-spacing-2xl) 0; + border: 1px solid #ccc; + cursor: pointer; + } + + .project_title { + margin-top: var(--ifm-spacing-lg); + } + + .large_project_card { + width: 1000px; + padding: 40px; + overflow-y: auto; + border-radius: 8px; + } + + .main_area_mobile { + display: none; + } + .small_input { + width: 400px; + height: 56px; + border-radius: 4px; + } + + .large_input { + width: 400px; + height: 160px; + border-radius: 4px; + } + + .send_button_container { + height: 59px; + width: 508px; + margin: var(--ifm-spacing-xl) 0; + } + + .get_a_quote_dialog { + width: 90vw; + padding: 40px; + overflow-y: auto; + } + + .get_a_quote_form_col_mobile { + display: none; + padding: var(--ifm-spacing-md) + } } \ No newline at end of file diff --git a/src/css/custom.css b/src/css/custom.css index 79a3da9e..7f55c2a7 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -552,13 +552,26 @@ a.menu__link:active { border-radius: 4px; font-weight: bolder; font-style: normal; - margin: var(--ifm-navbar-item-padding-vertical) 20px; + margin: var(--ifm-navbar-item-padding-vertical) 8px; } .contact:hover { background-color: white; } +.fundable_projects { + background-color: var(--ifm-color-secondary-s1); + color: black; + border-radius: 4px; + font-style: normal; + margin: var(--ifm-navbar-item-padding-vertical) 8px; +} + +.fundable_projects:hover { + background-color: var(--ifm-color-primary-p0); +} + + .custom_navbar_item { font-family: var(--ifm-font-family-roboto); width: 117px; diff --git a/static/img/avatars/QuantStack.html b/static/img/avatars/QuantStack.html new file mode 100644 index 00000000..36124027 --- /dev/null +++ b/static/img/avatars/QuantStack.html @@ -0,0 +1,73 @@ + + + + + + QuantStack + + + + + +

Check out our projects available for funding!

Jupyter Ecosystem

  • Modernize nbconvert
    Help us to modernize nbconvert

    Financed at 25 %

Package Management

  • New feature
    Help us to make mamba more complete

    Financed at 33 %

+ + + + + \ No newline at end of file diff --git a/static/img/avatars/QuantStack_files/styles.css b/static/img/avatars/QuantStack_files/styles.css new file mode 100644 index 00000000..582a8d3d --- /dev/null +++ b/static/img/avatars/QuantStack_files/styles.css @@ -0,0 +1,6669 @@ +@import url(https://fonts.googleapis.com/css2?family=Roboto); +@import url(https://fonts.cdnfonts.com/css/bebas-neue); +@import url(https://fonts.cdnfonts.com/css/rubik-one); +@import url(https://fonts.cdnfonts.com/css/roboto-flex); +@import url(https://fonts.googleapis.com/css2?family=Dosis); +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/* Common */ + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +:root { + --ifm-color-scheme: light; + + /* Colors. */ + --ifm-dark-value: 10%; + --ifm-darker-value: 15%; + --ifm-darkest-value: 30%; + --ifm-light-value: 15%; + --ifm-lighter-value: 30%; + --ifm-lightest-value: 50%; + + /* + This seems like a lot, but we want to ensure enough contrast. + Goal is to have a min score of 3 on https://www.myndex.com/APCA/fullmatrix + For fontWeight 400 + score 3, the cell must show a value < 16px (fontsize we use in places like alerts) + See also https://github.com/facebookincubator/infima/issues/55#issuecomment-884023075 + */ + --ifm-contrast-background-value: 90%; + --ifm-contrast-foreground-value: 70%; + /* Using slightly different values for dark mode */ + --ifm-contrast-background-dark-value: 70%; + --ifm-contrast-foreground-dark-value: 90%; + + --ifm-color-primary: #3578e5; + --ifm-color-secondary: #ebedf0; + --ifm-color-success: #00a400; + --ifm-color-info: #54c7ec; + --ifm-color-warning: #ffba00; + --ifm-color-danger: #fa383e; + --ifm-color-primary-dark: rgb(48, 108, 206); + --ifm-color-primary-darker: rgb(45, 102, 195); + --ifm-color-primary-darkest: rgb(37, 84, 160); + --ifm-color-primary-light: rgb(83, 140, 233); + --ifm-color-primary-lighter: rgb(114, 161, 237); + --ifm-color-primary-lightest: rgb(154, 188, 242); + --ifm-color-primary-contrast-background: rgb(235, 242, 252); + --ifm-color-primary-contrast-foreground: rgb(16, 36, 69); + --ifm-color-secondary-dark: rgb(212, 213, 216); + --ifm-color-secondary-darker: rgb(200, 201, 204); + --ifm-color-secondary-darkest: rgb(164, 166, 168); + --ifm-color-secondary-light: rgb(238, 240, 242); + --ifm-color-secondary-lighter: rgb(241, 242, 245); + --ifm-color-secondary-lightest: rgb(245, 246, 248); + --ifm-color-secondary-contrast-background: rgb(253, 253, 254); + --ifm-color-secondary-contrast-foreground: rgb(71, 71, 72); + --ifm-color-success-dark: rgb(0, 148, 0); + --ifm-color-success-darker: rgb(0, 139, 0); + --ifm-color-success-darkest: rgb(0, 115, 0); + --ifm-color-success-light: rgb(38, 178, 38); + --ifm-color-success-lighter: rgb(77, 191, 77); + --ifm-color-success-lightest: rgb(128, 210, 128); + --ifm-color-success-contrast-background: rgb(230, 246, 230); + --ifm-color-success-contrast-foreground: rgb(0, 49, 0); + --ifm-color-info-dark: rgb(76, 179, 212); + --ifm-color-info-darker: rgb(71, 169, 201); + --ifm-color-info-darkest: rgb(59, 139, 165); + --ifm-color-info-light: rgb(110, 207, 239); + --ifm-color-info-lighter: rgb(135, 216, 242); + --ifm-color-info-lightest: rgb(170, 227, 246); + --ifm-color-info-contrast-background: rgb(238, 249, 253); + --ifm-color-info-contrast-foreground: rgb(25, 60, 71); + --ifm-color-warning-dark: rgb(230, 167, 0); + --ifm-color-warning-darker: rgb(217, 158, 0); + --ifm-color-warning-darkest: rgb(179, 130, 0); + --ifm-color-warning-light: rgb(255, 196, 38); + --ifm-color-warning-lighter: rgb(255, 207, 77); + --ifm-color-warning-lightest: rgb(255, 221, 128); + --ifm-color-warning-contrast-background: rgb(255, 248, 230); + --ifm-color-warning-contrast-foreground: rgb(77, 56, 0); + --ifm-color-danger-dark: rgb(225, 50, 56); + --ifm-color-danger-darker: rgb(213, 48, 53); + --ifm-color-danger-darkest: rgb(175, 39, 43); + --ifm-color-danger-light: rgb(251, 86, 91); + --ifm-color-danger-lighter: rgb(251, 116, 120); + --ifm-color-danger-lightest: rgb(253, 156, 159); + --ifm-color-danger-contrast-background: rgb(255, 235, 236); + --ifm-color-danger-contrast-foreground: rgb(75, 17, 19); + + --ifm-color-white: #fff; + --ifm-color-black: #000; + + --ifm-color-gray-0: var(--ifm-color-white); + --ifm-color-gray-100: #f5f6f7; + --ifm-color-gray-200: #ebedf0; + --ifm-color-gray-300: #dadde1; + --ifm-color-gray-400: #ccd0d5; + --ifm-color-gray-500: #bec3c9; + --ifm-color-gray-600: #8d949e; + --ifm-color-gray-700: #606770; + --ifm-color-gray-800: #444950; + --ifm-color-gray-900: #1c1e21; + --ifm-color-gray-1000: var(--ifm-color-black); + + --ifm-color-emphasis-0: var(--ifm-color-gray-0); + --ifm-color-emphasis-100: var(--ifm-color-gray-100); + --ifm-color-emphasis-200: var(--ifm-color-gray-200); + --ifm-color-emphasis-300: var(--ifm-color-gray-300); + --ifm-color-emphasis-400: var(--ifm-color-gray-400); + --ifm-color-emphasis-500: var(--ifm-color-gray-500); + --ifm-color-emphasis-600: var(--ifm-color-gray-600); + --ifm-color-emphasis-700: var(--ifm-color-gray-700); + --ifm-color-emphasis-800: var(--ifm-color-gray-800); + --ifm-color-emphasis-900: var(--ifm-color-gray-900); + --ifm-color-emphasis-1000: var(--ifm-color-gray-1000); + + /* Base. */ + --ifm-color-content: var(--ifm-color-emphasis-900); + --ifm-color-content-inverse: var(--ifm-color-emphasis-0); + --ifm-color-content-secondary: #525860; + + --ifm-background-color: transparent; /* Body's background. */ + --ifm-background-surface-color: var(--ifm-color-content-inverse); + --ifm-global-border-width: 1px; + --ifm-global-radius: 0.4rem; + + --ifm-hover-overlay: rgba(0, 0, 0, 0.05); + + /* Typography. */ + --ifm-font-color-base: var(--ifm-color-content); + --ifm-font-color-base-inverse: var(--ifm-color-content-inverse); + --ifm-font-color-secondary: var(--ifm-color-content-secondary); + --ifm-font-family-base: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, + 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', + 'Segoe UI Emoji', 'Segoe UI Symbol'; + --ifm-font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, + 'Liberation Mono', 'Courier New', monospace; + --ifm-font-size-base: 100%; + + --ifm-font-weight-light: 300; + --ifm-font-weight-normal: 400; + --ifm-font-weight-semibold: 500; + --ifm-font-weight-bold: 700; + + --ifm-font-weight-base: var(--ifm-font-weight-normal); + --ifm-line-height-base: 1.65; + + /* Spacing. */ + --ifm-global-spacing: 1rem; + --ifm-spacing-vertical: var(--ifm-global-spacing); + --ifm-spacing-horizontal: var(--ifm-global-spacing); + + /* Transitions. */ + --ifm-transition-fast: 200ms; + --ifm-transition-slow: 400ms; + --ifm-transition-timing-default: cubic-bezier(0.08, 0.52, 0.52, 1); + + /* Shadows. */ + --ifm-global-shadow-lw: 0 1px 2px 0 rgba(0, 0, 0, 0.1); + --ifm-global-shadow-md: 0 5px 40px rgba(0, 0, 0, 0.2); + --ifm-global-shadow-tl: 0 12px 28px 0 rgba(0, 0, 0, 0.2), + 0 2px 4px 0 rgba(0, 0, 0, 0.1); + + /* Z-index. */ + --ifm-z-index-dropdown: 100; + --ifm-z-index-fixed: 200; + --ifm-z-index-overlay: 400; + --ifm-container-width: 1140px; + --ifm-container-width-xl: 1320px; + --ifm-code-background: rgb(246, 247, 248); + --ifm-code-border-radius: var(--ifm-global-radius); + --ifm-code-font-size: 90%; + --ifm-code-padding-horizontal: 0.1rem; + --ifm-code-padding-vertical: 0.1rem; + + --ifm-pre-background: var(--ifm-code-background); + --ifm-pre-border-radius: var(--ifm-code-border-radius); + --ifm-pre-color: inherit; + --ifm-pre-line-height: 1.45; + --ifm-pre-padding: 1rem; + --ifm-heading-color: inherit; + --ifm-heading-margin-top: 0; + --ifm-heading-margin-bottom: var(--ifm-spacing-vertical); + --ifm-heading-font-family: var(--ifm-font-family-base); + --ifm-heading-font-weight: var(--ifm-font-weight-bold); + --ifm-heading-line-height: 1.25; + + --ifm-h1-font-size: 2rem; + --ifm-h2-font-size: 1.5rem; + --ifm-h3-font-size: 1.25rem; + --ifm-h4-font-size: 1rem; + --ifm-h5-font-size: 0.875rem; + --ifm-h6-font-size: 0.85rem; + --ifm-image-alignment-padding: 1.25rem; + /* Leading is the distance between two baselines */ + /* TODO: add appropriate mobile leading */ + --ifm-leading-desktop: 1.25; + --ifm-leading: calc(var(--ifm-leading-desktop) * 1rem); + --ifm-list-left-padding: 2rem; + --ifm-list-margin: 1rem; + --ifm-list-item-margin: 0.25rem; + --ifm-list-paragraph-margin: 1rem; + --ifm-table-cell-padding: 0.75rem; + + --ifm-table-background: transparent; + --ifm-table-stripe-background: rgba(0, 0, 0, 0.03); + + --ifm-table-border-width: 1px; + --ifm-table-border-color: var(--ifm-color-emphasis-300); + + --ifm-table-head-background: inherit; + --ifm-table-head-color: inherit; + --ifm-table-head-font-weight: var(--ifm-font-weight-bold); + + --ifm-table-cell-color: inherit; + /* Links. */ + --ifm-link-color: var(--ifm-color-primary); + --ifm-link-decoration: none; + --ifm-link-hover-color: var(--ifm-link-color); + --ifm-link-hover-decoration: underline; + + /* Paragraphs. */ + --ifm-paragraph-margin-bottom: var(--ifm-leading); + + /* Blockquotes. */ + --ifm-blockquote-font-size: var(--ifm-font-size-base); + --ifm-blockquote-border-left-width: 2px; + --ifm-blockquote-padding-horizontal: var(--ifm-spacing-horizontal); + --ifm-blockquote-padding-vertical: 0; + --ifm-blockquote-shadow: none; + --ifm-blockquote-color: var(--ifm-color-emphasis-800); + --ifm-blockquote-border-color: var(--ifm-color-emphasis-300); + + /* Horizontal Rules. */ + --ifm-hr-background-color: var(--ifm-color-emphasis-500); + --ifm-hr-height: 1px; + --ifm-hr-margin-vertical: 1.5rem; + --ifm-scrollbar-size: 7px; + --ifm-scrollbar-track-background-color: #f1f1f1; + --ifm-scrollbar-thumb-background-color: #c0c0c0; + --ifm-scrollbar-thumb-hover-background-color: #a7a7a7; + --ifm-alert-background-color: inherit; /* Set a default which will be overridden later. */ + --ifm-alert-border-color: inherit; /* Set a default which will be overridden later. */ + --ifm-alert-border-radius: var(--ifm-global-radius); + --ifm-alert-border-width: 0px; /* For users that want to easily add a border */ + --ifm-alert-border-left-width: 5px; + --ifm-alert-color: var(--ifm-font-color-base); + --ifm-alert-padding-horizontal: var(--ifm-spacing-horizontal); + --ifm-alert-padding-vertical: var(--ifm-spacing-vertical); + --ifm-alert-shadow: var(--ifm-global-shadow-lw); + --ifm-avatar-intro-margin: 1rem; + --ifm-avatar-intro-alignment: inherit; + --ifm-avatar-photo-size: 3rem; + --ifm-badge-background-color: inherit; /* Set a default which will be overridden later. */ + --ifm-badge-border-color: inherit; /* Set a default which will be overridden later. */ + --ifm-badge-border-radius: var(--ifm-global-radius); + --ifm-badge-border-width: var(--ifm-global-border-width); + --ifm-badge-color: var(--ifm-color-white); + --ifm-badge-padding-horizontal: calc(var(--ifm-spacing-horizontal) * 0.5); + --ifm-badge-padding-vertical: calc(var(--ifm-spacing-vertical) * 0.25); + --ifm-breadcrumb-border-radius: 1.5rem; + --ifm-breadcrumb-spacing: 0.5rem; + --ifm-breadcrumb-color-active: var(--ifm-color-primary); + --ifm-breadcrumb-item-background-active: var(--ifm-hover-overlay); + --ifm-breadcrumb-padding-horizontal: 0.8rem; + --ifm-breadcrumb-padding-vertical: 0.4rem; + --ifm-breadcrumb-size-multiplier: 1; + --ifm-breadcrumb-separator: url('data:image/svg+xml;utf8,'); + --ifm-breadcrumb-separator-filter: none; + --ifm-breadcrumb-separator-size: 0.5rem; + --ifm-breadcrumb-separator-size-multiplier: 1.25; + --ifm-button-background-color: inherit; + --ifm-button-border-color: var(--ifm-button-background-color); + --ifm-button-border-width: var(--ifm-global-border-width); + --ifm-button-color: var(--ifm-font-color-base-inverse); + --ifm-button-font-weight: var(--ifm-font-weight-bold); + --ifm-button-padding-horizontal: 1.5rem; + --ifm-button-padding-vertical: 0.375rem; + --ifm-button-size-multiplier: 1; + --ifm-button-transition-duration: var(--ifm-transition-fast); + --ifm-button-border-radius: calc( + var(--ifm-global-radius) * var(--ifm-button-size-multiplier) + ); + --ifm-button-group-spacing: 2px; + --ifm-card-background-color: var(--ifm-background-surface-color); + --ifm-card-border-radius: calc(var(--ifm-global-radius) * 2); + --ifm-card-horizontal-spacing: var(--ifm-global-spacing); + --ifm-card-vertical-spacing: var(--ifm-global-spacing); + --ifm-toc-border-color: var(--ifm-color-emphasis-300); + --ifm-toc-link-color: var(--ifm-color-content-secondary); + --ifm-toc-padding-vertical: 0.5rem; + --ifm-toc-padding-horizontal: 0.5rem; + --ifm-dropdown-background-color: var(--ifm-background-surface-color); + --ifm-dropdown-font-weight: var(--ifm-font-weight-semibold); + --ifm-dropdown-link-color: var(--ifm-font-color-base); + --ifm-dropdown-hover-background-color: var(--ifm-hover-overlay); + --ifm-footer-background-color: var(--ifm-color-emphasis-100); + --ifm-footer-color: inherit; + --ifm-footer-link-color: var(--ifm-color-emphasis-700); + --ifm-footer-link-hover-color: var(--ifm-color-primary); + --ifm-footer-link-horizontal-spacing: 0.5rem; + --ifm-footer-padding-horizontal: calc(var(--ifm-spacing-horizontal) * 2); + --ifm-footer-padding-vertical: calc(var(--ifm-spacing-vertical) * 2); + --ifm-footer-title-color: inherit; + --ifm-footer-logo-max-width: min(30rem, 90vw); + --ifm-hero-background-color: var(--ifm-background-surface-color); + --ifm-hero-text-color: var(--ifm-color-emphasis-800); + --ifm-menu-color: var(--ifm-color-emphasis-700); + --ifm-menu-color-active: var(--ifm-color-primary); + --ifm-menu-color-background-active: var(--ifm-hover-overlay); + --ifm-menu-color-background-hover: var(--ifm-hover-overlay); + --ifm-menu-link-padding-horizontal: 0.75rem; + --ifm-menu-link-padding-vertical: 0.375rem; + --ifm-menu-link-sublist-icon: url('data:image/svg+xml;utf8,'); + --ifm-menu-link-sublist-icon-filter: none; + --ifm-navbar-background-color: var(--ifm-background-surface-color); + --ifm-navbar-height: 3.75rem; + --ifm-navbar-item-padding-horizontal: 0.75rem; + --ifm-navbar-item-padding-vertical: 0.25rem; + --ifm-navbar-link-color: var(--ifm-font-color-base); + --ifm-navbar-link-hover-color: var(--ifm-color-primary); + --ifm-navbar-link-active-color: var(--ifm-link-color); + --ifm-navbar-padding-horizontal: var(--ifm-spacing-horizontal); + --ifm-navbar-padding-vertical: calc(var(--ifm-spacing-vertical) * 0.5); + --ifm-navbar-shadow: var(--ifm-global-shadow-lw); + --ifm-navbar-search-input-background-color: var(--ifm-color-emphasis-200); + --ifm-navbar-search-input-color: var(--ifm-color-emphasis-800); + --ifm-navbar-search-input-placeholder-color: var(--ifm-color-emphasis-500); + --ifm-navbar-search-input-icon: url('data:image/svg+xml;utf8,'); + --ifm-navbar-sidebar-width: 83vw; + --ifm-pagination-border-radius: var(--ifm-global-radius); + --ifm-pagination-color-active: var(--ifm-color-primary); + --ifm-pagination-font-size: 1rem; + --ifm-pagination-item-active-background: var(--ifm-hover-overlay); + --ifm-pagination-page-spacing: 0.2em; + --ifm-pagination-padding-horizontal: calc(var(--ifm-spacing-horizontal) * 1); + --ifm-pagination-padding-vertical: calc(var(--ifm-spacing-vertical) * 0.25); + --ifm-pagination-nav-border-radius: var(--ifm-global-radius); + --ifm-pagination-nav-color-hover: var(--ifm-color-primary); + --ifm-pills-color-active: var(--ifm-color-primary); + --ifm-pills-color-background-active: var(--ifm-hover-overlay); + --ifm-pills-spacing: 0.125rem; + --ifm-tabs-color: var(--ifm-font-color-secondary); + --ifm-tabs-color-active: var(--ifm-color-primary); + --ifm-tabs-color-active-border: var(--ifm-tabs-color-active); + --ifm-tabs-padding-horizontal: 1rem; + --ifm-tabs-padding-vertical: 1rem; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +* { + box-sizing: border-box; +} + +html { + background-color: var(--ifm-background-color); + color: var(--ifm-font-color-base); + color-scheme: var(--ifm-color-scheme); + font: var(--ifm-font-size-base) / var(--ifm-line-height-base) + var(--ifm-font-family-base); + -webkit-font-smoothing: antialiased; + -webkit-tap-highlight-color: transparent; + text-rendering: optimizelegibility; + text-size-adjust: 100%; +} + +body { + margin: 0; + word-wrap: break-word; +} + +iframe { + border: 0; + color-scheme: auto; +} + +/* Layout */ + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.container { + margin: 0 auto; + max-width: var(--ifm-container-width); + padding: 0 var(--ifm-spacing-horizontal); + width: 100%; +} + +.container--fluid { + max-width: inherit; + } + +.row { + display: flex; + flex-wrap: wrap; + margin: 0 calc(var(--ifm-spacing-horizontal) * -1); +} + +.row--no-gutters { + margin-left: 0; + margin-right: 0; + } + +.row--no-gutters > .col { + padding-left: 0; + padding-right: 0; + } + +.row--align-top { + align-items: flex-start; + } + +.row--align-bottom { + align-items: flex-end; + } + +.row--align-center { + align-items: center; + } + +.row--align-stretch { + align-items: stretch; + } + +.row--align-baseline { + align-items: baseline; + } + +.col { + --ifm-col-width: 100%; + + flex: 1 0; + margin-left: 0; + max-width: var(--ifm-col-width); + padding: 0 var(--ifm-spacing-horizontal); + width: 100%; +} + +.col[class*='col--'] { + flex: 0 0 var(--ifm-col-width); + } + +.col--1 { + --ifm-col-width: calc(1 / 12 * 100%); + } + +.col--offset-1 { + margin-left: calc(1 / 12 * 100%); + } + +.col--2 { + --ifm-col-width: calc(2 / 12 * 100%); + } + +.col--offset-2 { + margin-left: calc(2 / 12 * 100%); + } + +.col--3 { + --ifm-col-width: calc(3 / 12 * 100%); + } + +.col--offset-3 { + margin-left: calc(3 / 12 * 100%); + } + +.col--4 { + --ifm-col-width: calc(4 / 12 * 100%); + } + +.col--offset-4 { + margin-left: calc(4 / 12 * 100%); + } + +.col--5 { + --ifm-col-width: calc(5 / 12 * 100%); + } + +.col--offset-5 { + margin-left: calc(5 / 12 * 100%); + } + +.col--6 { + --ifm-col-width: calc(6 / 12 * 100%); + } + +.col--offset-6 { + margin-left: calc(6 / 12 * 100%); + } + +.col--7 { + --ifm-col-width: calc(7 / 12 * 100%); + } + +.col--offset-7 { + margin-left: calc(7 / 12 * 100%); + } + +.col--8 { + --ifm-col-width: calc(8 / 12 * 100%); + } + +.col--offset-8 { + margin-left: calc(8 / 12 * 100%); + } + +.col--9 { + --ifm-col-width: calc(9 / 12 * 100%); + } + +.col--offset-9 { + margin-left: calc(9 / 12 * 100%); + } + +.col--10 { + --ifm-col-width: calc(10 / 12 * 100%); + } + +.col--offset-10 { + margin-left: calc(10 / 12 * 100%); + } + +.col--11 { + --ifm-col-width: calc(11 / 12 * 100%); + } + +.col--offset-11 { + margin-left: calc(11 / 12 * 100%); + } + +.col--12 { + --ifm-col-width: calc(12 / 12 * 100%); + } + +.col--offset-12 { + margin-left: calc(12 / 12 * 100%); + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.margin--none { + margin: 0 !important; + } + +.margin-top--none { + margin-top: 0 !important; + } + +.margin-left--none { + margin-left: 0 !important; + } + +.margin-bottom--none { + margin-bottom: 0 !important; + } + +.margin-right--none { + margin-right: 0 !important; + } + +.margin-vert--none { + margin-bottom: 0 !important; + margin-top: 0 !important; + } + +.margin-horiz--none { + margin-left: 0 !important; + margin-right: 0 !important; + } + +.margin--xs { + margin: 0.25rem !important; + } + +.margin-top--xs { + margin-top: 0.25rem !important; + } + +.margin-left--xs { + margin-left: 0.25rem !important; + } + +.margin-bottom--xs { + margin-bottom: 0.25rem !important; + } + +.margin-right--xs { + margin-right: 0.25rem !important; + } + +.margin-vert--xs { + margin-bottom: 0.25rem !important; + margin-top: 0.25rem !important; + } + +.margin-horiz--xs { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; + } + +.margin--sm { + margin: 0.5rem !important; + } + +.margin-top--sm { + margin-top: 0.5rem !important; + } + +.margin-left--sm { + margin-left: 0.5rem !important; + } + +.margin-bottom--sm { + margin-bottom: 0.5rem !important; + } + +.margin-right--sm { + margin-right: 0.5rem !important; + } + +.margin-vert--sm { + margin-bottom: 0.5rem !important; + margin-top: 0.5rem !important; + } + +.margin-horiz--sm { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; + } + +.margin--md { + margin: 1rem !important; + } + +.margin-top--md { + margin-top: 1rem !important; + } + +.margin-left--md { + margin-left: 1rem !important; + } + +.margin-bottom--md { + margin-bottom: 1rem !important; + } + +.margin-right--md { + margin-right: 1rem !important; + } + +.margin-vert--md { + margin-bottom: 1rem !important; + margin-top: 1rem !important; + } + +.margin-horiz--md { + margin-left: 1rem !important; + margin-right: 1rem !important; + } + +.margin--lg { + margin: 2rem !important; + } + +.margin-top--lg { + margin-top: 2rem !important; + } + +.margin-left--lg { + margin-left: 2rem !important; + } + +.margin-bottom--lg { + margin-bottom: 2rem !important; + } + +.margin-right--lg { + margin-right: 2rem !important; + } + +.margin-vert--lg { + margin-bottom: 2rem !important; + margin-top: 2rem !important; + } + +.margin-horiz--lg { + margin-left: 2rem !important; + margin-right: 2rem !important; + } + +.margin--xl { + margin: 5rem !important; + } + +.margin-top--xl { + margin-top: 5rem !important; + } + +.margin-left--xl { + margin-left: 5rem !important; + } + +.margin-bottom--xl { + margin-bottom: 5rem !important; + } + +.margin-right--xl { + margin-right: 5rem !important; + } + +.margin-vert--xl { + margin-bottom: 5rem !important; + margin-top: 5rem !important; + } + +.margin-horiz--xl { + margin-left: 5rem !important; + margin-right: 5rem !important; + } + +.padding--none { + padding: 0 !important; + } + +.padding-top--none { + padding-top: 0 !important; + } + +.padding-left--none { + padding-left: 0 !important; + } + +.padding-bottom--none { + padding-bottom: 0 !important; + } + +.padding-right--none { + padding-right: 0 !important; + } + +.padding-vert--none { + padding-bottom: 0 !important; + padding-top: 0 !important; + } + +.padding-horiz--none { + padding-left: 0 !important; + padding-right: 0 !important; + } + +.padding--xs { + padding: 0.25rem !important; + } + +.padding-top--xs { + padding-top: 0.25rem !important; + } + +.padding-left--xs { + padding-left: 0.25rem !important; + } + +.padding-bottom--xs { + padding-bottom: 0.25rem !important; + } + +.padding-right--xs { + padding-right: 0.25rem !important; + } + +.padding-vert--xs { + padding-bottom: 0.25rem !important; + padding-top: 0.25rem !important; + } + +.padding-horiz--xs { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; + } + +.padding--sm { + padding: 0.5rem !important; + } + +.padding-top--sm { + padding-top: 0.5rem !important; + } + +.padding-left--sm { + padding-left: 0.5rem !important; + } + +.padding-bottom--sm { + padding-bottom: 0.5rem !important; + } + +.padding-right--sm { + padding-right: 0.5rem !important; + } + +.padding-vert--sm { + padding-bottom: 0.5rem !important; + padding-top: 0.5rem !important; + } + +.padding-horiz--sm { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; + } + +.padding--md { + padding: 1rem !important; + } + +.padding-top--md { + padding-top: 1rem !important; + } + +.padding-left--md { + padding-left: 1rem !important; + } + +.padding-bottom--md { + padding-bottom: 1rem !important; + } + +.padding-right--md { + padding-right: 1rem !important; + } + +.padding-vert--md { + padding-bottom: 1rem !important; + padding-top: 1rem !important; + } + +.padding-horiz--md { + padding-left: 1rem !important; + padding-right: 1rem !important; + } + +.padding--lg { + padding: 2rem !important; + } + +.padding-top--lg { + padding-top: 2rem !important; + } + +.padding-left--lg { + padding-left: 2rem !important; + } + +.padding-bottom--lg { + padding-bottom: 2rem !important; + } + +.padding-right--lg { + padding-right: 2rem !important; + } + +.padding-vert--lg { + padding-bottom: 2rem !important; + padding-top: 2rem !important; + } + +.padding-horiz--lg { + padding-left: 2rem !important; + padding-right: 2rem !important; + } + +.padding--xl { + padding: 5rem !important; + } + +.padding-top--xl { + padding-top: 5rem !important; + } + +.padding-left--xl { + padding-left: 5rem !important; + } + +.padding-bottom--xl { + padding-bottom: 5rem !important; + } + +.padding-right--xl { + padding-right: 5rem !important; + } + +.padding-vert--xl { + padding-bottom: 5rem !important; + padding-top: 5rem !important; + } + +.padding-horiz--xl { + padding-left: 5rem !important; + padding-right: 5rem !important; + } + +/* Content */ + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +code { + background-color: var(--ifm-code-background); + border: 0.1rem solid rgba(0, 0, 0, 0.1); + border-radius: var(--ifm-code-border-radius); + font-family: var(--ifm-font-family-monospace); + font-size: var(--ifm-code-font-size); + padding: var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal); + vertical-align: middle; +} + +a code { + color: inherit; +} + +pre { + background-color: var(--ifm-pre-background); + border-radius: var(--ifm-pre-border-radius); + color: var(--ifm-pre-color); + font: var(--ifm-code-font-size) / var(--ifm-pre-line-height) + var(--ifm-font-family-monospace); + margin: 0 0 var(--ifm-spacing-vertical); + overflow: auto; + padding: var(--ifm-pre-padding); +} + +pre code { + background-color: transparent; + border: none; + font-size: 100%; + line-height: inherit; + padding: 0; + } + +kbd { + background-color: var(--ifm-color-emphasis-0); + border: 1px solid var(--ifm-color-emphasis-400); + border-radius: 0.2rem; + box-shadow: inset 0 -1px 0 var(--ifm-color-emphasis-400); + color: var(--ifm-color-emphasis-800); + font: 80% var(--ifm-font-family-monospace); + padding: 0.15rem 0.3rem; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +h1, +h2, +h3, +h4, +h5, +h6 { + color: var(--ifm-heading-color); + font-family: var(--ifm-heading-font-family); + font-weight: var(--ifm-heading-font-weight); + line-height: var(--ifm-heading-line-height); + margin: var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0; +} + +h1 { + font-size: var(--ifm-h1-font-size); + } + +h2 { + font-size: var(--ifm-h2-font-size); + } + +h3 { + font-size: var(--ifm-h3-font-size); + } + +h4 { + font-size: var(--ifm-h4-font-size); + } + +h5 { + font-size: var(--ifm-h5-font-size); + } + +h6 { + font-size: var(--ifm-h6-font-size); + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +img { + max-width: 100%; +} + +img[align='right'] { + padding-left: var(--image-alignment-padding); +} + +img[align='left'] { + padding-right: var(--image-alignment-padding); +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.markdown { + --ifm-h1-vertical-rhythm-top: 3; + --ifm-h2-vertical-rhythm-top: 2; + --ifm-h3-vertical-rhythm-top: 1.5; + --ifm-heading-vertical-rhythm-top: 1.25; + + --ifm-h1-vertical-rhythm-bottom: 1.25; + --ifm-heading-vertical-rhythm-bottom: 1; +} + +.markdown:before { + content: ''; + display: table; + } + +.markdown:after { + clear: both; + content: ''; + display: table; + } + +.markdown > *:last-child { + margin-bottom: 0 !important; + } + +.markdown h1:first-child { + --ifm-h1-font-size: 3rem; + + margin-bottom: calc( + var(--ifm-h1-vertical-rhythm-bottom) * var(--ifm-leading) + ); + } + +.markdown > h2 { + --ifm-h2-font-size: 2rem; + + margin-bottom: calc( + var(--ifm-heading-vertical-rhythm-bottom) * var(--ifm-leading) + ); + margin-top: calc(var(--ifm-h2-vertical-rhythm-top) * var(--ifm-leading)); + } + +.markdown > h3 { + --ifm-h3-font-size: 1.5rem; + + margin-bottom: calc( + var(--ifm-heading-vertical-rhythm-bottom) * var(--ifm-leading) + ); + margin-top: calc(var(--ifm-h3-vertical-rhythm-top) * var(--ifm-leading)); + } + +.markdown > h4, + .markdown > h5, + .markdown > h6 { + margin-bottom: calc( + var(--ifm-heading-vertical-rhythm-bottom) * var(--ifm-leading) + ); + margin-top: calc( + var(--ifm-heading-vertical-rhythm-top) * var(--ifm-leading) + ); + } + +/* Consistent spacing between content paragraphs. */ + +.markdown > pre, + .markdown > ul, + .markdown > p { + margin-bottom: var(--ifm-leading); + } + +.markdown li { + word-wrap: break-word; + } + +.markdown li > p { + margin-top: var(--ifm-list-paragraph-margin); + } + +.markdown li + li { + margin-top: var(--ifm-list-item-margin); + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/* Lists */ + +ul, +ol { + margin: 0 0 var(--ifm-list-margin); + padding-left: var(--ifm-list-left-padding); +} + +ol ol, +ul ol { + list-style-type: lower-roman; +} + +ul ul, +ul ol, +ol ol, +ol ul { + margin: 0; +} + +ul ul ol, +ul ol ol, +ol ul ol, +ol ol ol { + list-style-type: lower-alpha; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +table { + border-collapse: collapse; + display: block; + margin-bottom: var(--ifm-spacing-vertical); + overflow: auto; +} + +table thead tr { + border-bottom: 2px solid var(--ifm-table-border-color); + } + +table thead { + background-color: var(--ifm-table-stripe-background); + } + +table tr { + background-color: var(--ifm-table-background); + border-top: var(--ifm-table-border-width) solid + var(--ifm-table-border-color); + } + +table tr:nth-child(2n) { + background-color: var(--ifm-table-stripe-background); + } + +table th, + table td { + border: var(--ifm-table-border-width) solid var(--ifm-table-border-color); + padding: var(--ifm-table-cell-padding); + } + +table th { + background-color: var(--ifm-table-head-background); + color: var(--ifm-table-head-color); + font-weight: var(--ifm-table-head-font-weight); + } + +table td { + color: var(--ifm-table-cell-color); + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +strong { + font-weight: var(--ifm-font-weight-bold); +} + +/* Links */ + +a { + color: var(--ifm-link-color); + /* autoprefixer: ignore next */ + text-decoration: var(--ifm-link-decoration); + transition: color var(--ifm-transition-fast) var(--ifm-transition-timing-default); +} + +a:hover { + color: var(--ifm-link-hover-color); + /* autoprefixer: ignore next */ + text-decoration: var(--ifm-link-hover-decoration); + } + +a:not([href]) { + text-decoration: none; + } + +/* Paragraphs */ + +p { + margin: 0 0 var(--ifm-paragraph-margin-bottom); +} + +/* Blockquotes */ + +blockquote { + border-left: var(--ifm-blockquote-border-left-width) solid + var(--ifm-blockquote-border-color); + box-shadow: var(--ifm-blockquote-shadow); + color: var(--ifm-blockquote-color); + font-size: var(--ifm-blockquote-font-size); + margin: 0 0 var(--ifm-spacing-vertical); + padding: var(--ifm-blockquote-padding-vertical) + var(--ifm-blockquote-padding-horizontal); +} + +blockquote > :first-child { + margin-top: 0; + } + +blockquote > :last-child { + margin-bottom: 0; + } + +/* Horizontal Rules */ + +hr { + background-color: var(--ifm-hr-background-color); + border: 0; + height: var(--ifm-hr-height); + margin: var(--ifm-hr-margin-vertical) 0; +} + +/* Utilities */ + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.shadow--lw { + box-shadow: var(--ifm-global-shadow-lw) !important; + } + +.shadow--md { + box-shadow: var(--ifm-global-shadow-md) !important; + } + +.shadow--tl { + box-shadow: var(--ifm-global-shadow-tl) !important; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.text--primary { + color: var(--ifm-color-primary); + } + +.text--secondary { + color: var(--ifm-color-secondary); + } + +.text--success { + color: var(--ifm-color-success); + } + +.text--info { + color: var(--ifm-color-info); + } + +.text--warning { + color: var(--ifm-color-warning); + } + +.text--danger { + color: var(--ifm-color-danger); + } + +.text--center { + text-align: center; + } + +.text--left { + text-align: left; + } + +.text--justify { + text-align: justify; + } + +.text--right { + text-align: right; + } + +.text--capitalize { + text-transform: capitalize; + } + +.text--lowercase { + text-transform: lowercase; + } + +.text--uppercase { + text-transform: uppercase; + } + +.text--light { + font-weight: var(--ifm-font-weight-light); + } + +.text--normal { + font-weight: var(--ifm-font-weight-normal); + } + +.text--semibold { + font-weight: var(--ifm-font-weight-semibold); + } + +.text--bold { + font-weight: var(--ifm-font-weight-bold); + } + +.text--italic { + font-style: italic; +} + +.text--truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.text--break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +.text--no-decoration, + .text--no-decoration:hover { + text-decoration: none; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.clean-btn { + background: none; + border: none; + color: inherit; + cursor: pointer; + font-family: inherit; + padding: 0; +} + +.clean-list { + list-style: none; + padding-left: 0; +} + +/* Components */ + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.alert--primary { + --ifm-alert-background-color: var( + --ifm-color-primary-contrast-background + ); + --ifm-alert-background-color-highlight: rgba(53, 120, 229, 0.15); + --ifm-alert-foreground-color: var( + --ifm-color-primary-contrast-foreground + ); + --ifm-alert-border-color: var(--ifm-color-primary-dark); + } + +.alert--secondary { + --ifm-alert-background-color: var( + --ifm-color-secondary-contrast-background + ); + --ifm-alert-background-color-highlight: rgba(235, 237, 240, 0.15); + --ifm-alert-foreground-color: var( + --ifm-color-secondary-contrast-foreground + ); + --ifm-alert-border-color: var(--ifm-color-secondary-dark); + } + +.alert--success { + --ifm-alert-background-color: var( + --ifm-color-success-contrast-background + ); + --ifm-alert-background-color-highlight: rgba(0, 164, 0, 0.15); + --ifm-alert-foreground-color: var( + --ifm-color-success-contrast-foreground + ); + --ifm-alert-border-color: var(--ifm-color-success-dark); + } + +.alert--info { + --ifm-alert-background-color: var( + --ifm-color-info-contrast-background + ); + --ifm-alert-background-color-highlight: rgba(84, 199, 236, 0.15); + --ifm-alert-foreground-color: var( + --ifm-color-info-contrast-foreground + ); + --ifm-alert-border-color: var(--ifm-color-info-dark); + } + +.alert--warning { + --ifm-alert-background-color: var( + --ifm-color-warning-contrast-background + ); + --ifm-alert-background-color-highlight: rgba(255, 186, 0, 0.15); + --ifm-alert-foreground-color: var( + --ifm-color-warning-contrast-foreground + ); + --ifm-alert-border-color: var(--ifm-color-warning-dark); + } + +.alert--danger { + --ifm-alert-background-color: var( + --ifm-color-danger-contrast-background + ); + --ifm-alert-background-color-highlight: rgba(250, 56, 62, 0.15); + --ifm-alert-foreground-color: var( + --ifm-color-danger-contrast-foreground + ); + --ifm-alert-border-color: var(--ifm-color-danger-dark); + } + +.alert { + + --ifm-code-background: var(--ifm-alert-background-color-highlight); + --ifm-link-color: var(--ifm-alert-foreground-color); + --ifm-link-hover-color: var(--ifm-alert-foreground-color); + --ifm-link-decoration: underline; + --ifm-tabs-color: var(--ifm-alert-foreground-color); + --ifm-tabs-color-active: var(--ifm-alert-foreground-color); + --ifm-tabs-color-active-border: var(--ifm-alert-border-color); + + background-color: var(--ifm-alert-background-color); + border: var(--ifm-alert-border-width) solid var(--ifm-alert-border-color); + border-left-width: var(--ifm-alert-border-left-width); + border-radius: var(--ifm-alert-border-radius); + box-shadow: var(--ifm-alert-shadow); + color: var(--ifm-alert-foreground-color); + padding: var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal); +} + +.alert__heading { + align-items: center; + display: flex; + font: bold var(--ifm-h5-font-size) / var(--ifm-heading-line-height) + var(--ifm-heading-font-family); + margin-bottom: 0.5rem; + text-transform: uppercase; + } + +.alert__icon { + display: inline-flex; + margin-right: 0.4em; + } + +.alert__icon svg { + fill: var(--ifm-alert-foreground-color); + stroke: var(--ifm-alert-foreground-color); + stroke-width: 0; + } + +.alert .close { + color: var(--ifm-alert-foreground-color); + margin: calc(var(--ifm-alert-padding-vertical) * -1) + calc(var(--ifm-alert-padding-horizontal) * -1) 0 0; + + opacity: 0.75; + } + +.alert .close:hover, + .alert .close:focus { + opacity: 1; + } + +.alert a { + text-decoration-color: var(--ifm-alert-border-color); + } + +.alert a:hover { + text-decoration-thickness: 2px; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.avatar { + column-gap: var(--ifm-avatar-intro-margin); + display: flex; +} + +.avatar__photo { + border-radius: 50%; + display: block; + height: var(--ifm-avatar-photo-size); + overflow: hidden; + width: var(--ifm-avatar-photo-size); + } + +.avatar__photo--sm { + --ifm-avatar-photo-size: 2rem; + } + +.avatar__photo--lg { + --ifm-avatar-photo-size: 4rem; + } + +.avatar__photo--xl { + --ifm-avatar-photo-size: 6rem; + } + +.avatar__intro { + display: flex; + flex: 1 1; + flex-direction: column; + justify-content: center; + text-align: var(--ifm-avatar-intro-alignment); + } + +.avatar__name { + font: bold var(--ifm-h4-font-size) / var(--ifm-heading-line-height) + var(--ifm-font-family-base); + } + +.avatar__subtitle { + margin-top: 0.25rem; + } + +.avatar--vertical { + --ifm-avatar-intro-alignment: center; + --ifm-avatar-intro-margin: 0.5rem; + + align-items: center; + flex-direction: column; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.badge { + background-color: var(--ifm-badge-background-color); + border: var(--ifm-badge-border-width) solid var(--ifm-badge-border-color); + border-radius: var(--ifm-badge-border-radius); + color: var(--ifm-badge-color); + display: inline-block; + font-size: 75%; + font-weight: var(--ifm-font-weight-bold); + line-height: 1; + padding: var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal); +} + +.badge--primary { + --ifm-badge-background-color: var(--ifm-color-primary); + --ifm-badge-border-color: var(--ifm-badge-background-color); + } + +.badge--secondary { + --ifm-badge-background-color: var(--ifm-color-secondary); + --ifm-badge-border-color: var(--ifm-badge-background-color); + color: var(--ifm-color-black); + } + +.badge--success { + --ifm-badge-background-color: var(--ifm-color-success); + --ifm-badge-border-color: var(--ifm-badge-background-color); + } + +.badge--info { + --ifm-badge-background-color: var(--ifm-color-info); + --ifm-badge-border-color: var(--ifm-badge-background-color); + } + +.badge--warning { + --ifm-badge-background-color: var(--ifm-color-warning); + --ifm-badge-border-color: var(--ifm-badge-background-color); + } + +.badge--danger { + --ifm-badge-background-color: var(--ifm-color-danger); + --ifm-badge-border-color: var(--ifm-badge-background-color); + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.breadcrumbs { + margin-bottom: 0; + padding-left: 0; +} + +.breadcrumbs__item { + display: inline-block; + } + +.breadcrumbs__item:not(:last-child):after { + background: var(--ifm-breadcrumb-separator) center; + content: ' '; + display: inline-block; + filter: var(--ifm-breadcrumb-separator-filter); + height: calc( + var(--ifm-breadcrumb-separator-size) * + var(--ifm-breadcrumb-size-multiplier) * + var(--ifm-breadcrumb-separator-size-multiplier) + ); + margin: 0 var(--ifm-breadcrumb-spacing); + opacity: 0.5; + width: calc( + var(--ifm-breadcrumb-separator-size) * + var(--ifm-breadcrumb-size-multiplier) * + var(--ifm-breadcrumb-separator-size-multiplier) + ); + /*rtl:raw: + transform: rotate(180deg); + */ + } + +.breadcrumbs__item--active .breadcrumbs__link { + background: var(--ifm-breadcrumb-item-background-active); + color: var(--ifm-breadcrumb-color-active); + } + +.breadcrumbs__link { + border-radius: var(--ifm-breadcrumb-border-radius); + color: var(--ifm-font-color-base); + display: inline-block; + font-size: calc(1rem * var(--ifm-breadcrumb-size-multiplier)); + padding: calc( + var(--ifm-breadcrumb-padding-vertical) * + var(--ifm-breadcrumb-size-multiplier) + ) + calc( + var(--ifm-breadcrumb-padding-horizontal) * + var(--ifm-breadcrumb-size-multiplier) + ); + transition-property: background, color; + transition-duration: var(--ifm-transition-fast); + transition-timing-function: var(--ifm-transition-timing-default); + } + +.breadcrumbs__link:link:hover, .breadcrumbs__link:visited:hover, area[href].breadcrumbs__link:hover { + background: var(--ifm-breadcrumb-item-background-active); + text-decoration: none; + } + +.breadcrumbs__link:any-link:hover { + background: var(--ifm-breadcrumb-item-background-active); + text-decoration: none; + } + +.breadcrumbs--sm { + --ifm-breadcrumb-size-multiplier: 0.8; + } + +.breadcrumbs--lg { + --ifm-breadcrumb-size-multiplier: 1.2; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.button { + background-color: var(--ifm-button-background-color); + border: var(--ifm-button-border-width) solid var(--ifm-button-border-color); + border-radius: var(--ifm-button-border-radius); + color: var(--ifm-button-color); + cursor: pointer; + display: inline-block; + font-size: calc(0.875rem * var(--ifm-button-size-multiplier)); + font-weight: var(--ifm-button-font-weight); + line-height: 1.5; + padding: calc( + var(--ifm-button-padding-vertical) * var(--ifm-button-size-multiplier) + ) + calc( + var(--ifm-button-padding-horizontal) * var(--ifm-button-size-multiplier) + ); + text-align: center; + -webkit-user-select: none; + user-select: none; + vertical-align: middle; + white-space: nowrap; + transition-property: color, background, border-color; + transition-duration: var(--ifm-button-transition-duration); + transition-timing-function: var(--ifm-transition-timing-default); +} + +.button:hover { + color: var(--ifm-button-color); /* Override for button links. */ + text-decoration: none; + } + +.button--outline { + --ifm-button-background-color: transparent; + --ifm-button-color: var(--ifm-button-border-color); + } + +.button--outline:hover { + --ifm-button-background-color: var(--ifm-button-border-color); + } + +.button--outline:hover, + .button--outline:active, + .button--outline.button--active { + --ifm-button-color: var(--ifm-font-color-base-inverse); + } + +.button--link { + --ifm-button-background-color: transparent; + --ifm-button-border-color: transparent; + + color: var(--ifm-link-color); + /* autoprefixer: ignore next */ + text-decoration: var(--ifm-link-decoration); + } + +.button--link:hover, + .button--link:active, + .button--link.button--active { + color: var(--ifm-link-hover-color); + /* autoprefixer: ignore next */ + text-decoration: var(--ifm-link-hover-decoration); + } + +.button.disabled, + .button:disabled, + .button[disabled] { + opacity: 0.65; + pointer-events: none; + } + +.button--sm { + --ifm-button-size-multiplier: 0.8; + } + +.button--lg { + --ifm-button-size-multiplier: 1.35; + } + +.button--block { + display: block; + width: 100%; + } + +.button.button--secondary { + color: var(--ifm-color-gray-900); + } + +.button.button--secondary.button--outline:not(.button--active):not(:hover) { + color: var(--ifm-font-color-base); + } + +:where(.button--primary) { + --ifm-button-background-color: var(--ifm-color-primary); + --ifm-button-border-color: var(--ifm-color-primary); + } + +:where(.button--primary):not(.button--outline):hover { + --ifm-button-background-color: var(--ifm-color-primary-dark); + --ifm-button-border-color: var(--ifm-color-primary-dark); + } + +.button--primary:active, + .button--primary.button--active { + --ifm-button-background-color: var(--ifm-color-primary-darker); + --ifm-button-border-color: var(--ifm-color-primary-darker); + } + +:where(.button--secondary) { + --ifm-button-background-color: var(--ifm-color-secondary); + --ifm-button-border-color: var(--ifm-color-secondary); + } + +:where(.button--secondary):not(.button--outline):hover { + --ifm-button-background-color: var(--ifm-color-secondary-dark); + --ifm-button-border-color: var(--ifm-color-secondary-dark); + } + +.button--secondary:active, + .button--secondary.button--active { + --ifm-button-background-color: var(--ifm-color-secondary-darker); + --ifm-button-border-color: var(--ifm-color-secondary-darker); + } + +:where(.button--success) { + --ifm-button-background-color: var(--ifm-color-success); + --ifm-button-border-color: var(--ifm-color-success); + } + +:where(.button--success):not(.button--outline):hover { + --ifm-button-background-color: var(--ifm-color-success-dark); + --ifm-button-border-color: var(--ifm-color-success-dark); + } + +.button--success:active, + .button--success.button--active { + --ifm-button-background-color: var(--ifm-color-success-darker); + --ifm-button-border-color: var(--ifm-color-success-darker); + } + +:where(.button--info) { + --ifm-button-background-color: var(--ifm-color-info); + --ifm-button-border-color: var(--ifm-color-info); + } + +:where(.button--info):not(.button--outline):hover { + --ifm-button-background-color: var(--ifm-color-info-dark); + --ifm-button-border-color: var(--ifm-color-info-dark); + } + +.button--info:active, + .button--info.button--active { + --ifm-button-background-color: var(--ifm-color-info-darker); + --ifm-button-border-color: var(--ifm-color-info-darker); + } + +:where(.button--warning) { + --ifm-button-background-color: var(--ifm-color-warning); + --ifm-button-border-color: var(--ifm-color-warning); + } + +:where(.button--warning):not(.button--outline):hover { + --ifm-button-background-color: var(--ifm-color-warning-dark); + --ifm-button-border-color: var(--ifm-color-warning-dark); + } + +.button--warning:active, + .button--warning.button--active { + --ifm-button-background-color: var(--ifm-color-warning-darker); + --ifm-button-border-color: var(--ifm-color-warning-darker); + } + +:where(.button--danger) { + --ifm-button-background-color: var(--ifm-color-danger); + --ifm-button-border-color: var(--ifm-color-danger); + } + +:where(.button--danger):not(.button--outline):hover { + --ifm-button-background-color: var(--ifm-color-danger-dark); + --ifm-button-border-color: var(--ifm-color-danger-dark); + } + +.button--danger:active, + .button--danger.button--active { + --ifm-button-background-color: var(--ifm-color-danger-darker); + --ifm-button-border-color: var(--ifm-color-danger-darker); + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.button-group { + display: inline-flex; + gap: var(--ifm-button-group-spacing); +} + +.button-group > .button:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; + } + +.button-group > .button:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + } + +.button-group--block { + display: flex; + justify-content: stretch; + } + +.button-group--block > .button { + flex-grow: 1; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.card { + background-color: var(--ifm-card-background-color); + border-radius: var(--ifm-card-border-radius); + box-shadow: var(--ifm-global-shadow-lw); + display: flex; + flex-direction: column; + overflow: hidden; +} + +/* Because of border-radius. */ + +.card--full-height { + height: 100%; + } + +.card__image { + padding-top: var(--ifm-card-vertical-spacing); + } + +.card__image:first-child { + padding-top: 0; + } + +.card__header, + .card__body, + .card__footer { + padding: var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing); + } + +.card__header:not(:last-child), .card__body:not(:last-child), .card__footer:not(:last-child) { + padding-bottom: 0; + } + +.card__header > :last-child, .card__body > :last-child, .card__footer > :last-child { + margin-bottom: 0; + } + +.card__footer { + margin-top: auto; /* Pushes the footer to the bottom of the card. */ + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.table-of-contents { + font-size: 0.8rem; + margin-bottom: 0; + padding: var(--ifm-toc-padding-vertical) 0; +} + +.table-of-contents, + .table-of-contents ul { + list-style: none; + padding-left: var(--ifm-toc-padding-horizontal); + } + +.table-of-contents li { + margin: var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal); + } + +.table-of-contents__left-border { + border-left: 1px solid var(--ifm-toc-border-color); + } + +.table-of-contents__link { + color: var(--ifm-toc-link-color); + display: block; + } + +.table-of-contents__link:hover, + .table-of-contents__link:hover code, + .table-of-contents__link--active, + .table-of-contents__link--active code { + color: var(--ifm-color-primary); + text-decoration: none; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.close { + color: var(--ifm-color-black); + float: right; + font-size: 1.5rem; + font-weight: var(--ifm-font-weight-bold); + line-height: 1; + opacity: 0.5; + padding: 1rem; + transition: opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default); +} + +.close:hover { + opacity: 0.7; + } + +.close:focus { + opacity: 0.8; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.dropdown { + display: inline-flex; + font-weight: var(--ifm-dropdown-font-weight); + position: relative; + vertical-align: top; +} + +.dropdown--hoverable:hover .dropdown__menu, .dropdown--show .dropdown__menu { + opacity: 1; + pointer-events: all; + transform: translateY(-1px); + visibility: visible; + } + +.dropdown--right .dropdown__menu { + left: inherit; + right: 0; + } + +.dropdown--nocaret .navbar__link:after { + content: none !important; + } + +.dropdown__menu { + background-color: var(--ifm-dropdown-background-color); + border-radius: var(--ifm-global-radius); + box-shadow: var(--ifm-global-shadow-md); + left: 0; + list-style: none; + max-height: 80vh; + min-width: 10rem; + opacity: 0; + overflow-y: auto; + padding: 0.5rem; + pointer-events: none; + position: absolute; + top: calc(100% - var(--ifm-navbar-item-padding-vertical) + 0.3rem); + transform: translateY(-0.625rem); + visibility: hidden; + z-index: var(--ifm-z-index-dropdown); + transition-property: opacity, transform, visibility; + transition-duration: var(--ifm-transition-fast); + transition-timing-function: var(--ifm-transition-timing-default); + } + +.dropdown__link { + border-radius: 0.25rem; + color: var(--ifm-dropdown-link-color); + display: block; + font-size: 0.875rem; + margin-top: 0.2rem; + padding: 0.25rem 0.5rem; + white-space: nowrap; + } + +.dropdown__link:hover, + .dropdown__link--active { + background-color: var(--ifm-dropdown-hover-background-color); + color: var(--ifm-dropdown-link-color); + text-decoration: none; + } + +.dropdown__link--active, + .dropdown__link--active:hover { + --ifm-dropdown-link-color: var(--ifm-link-color); + } + +.dropdown > .navbar__link:after { + border-color: currentColor transparent; + border-style: solid; + border-width: 0.4em 0.4em 0; + content: ''; + display: inline-block; + margin-left: 0.3em; + position: relative; + top: 2px; + transform: translateY(-50%); + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.footer { + background-color: var(--ifm-footer-background-color); + color: var(--ifm-footer-color); + padding: var(--ifm-footer-padding-vertical) + var(--ifm-footer-padding-horizontal); +} + +.footer--dark { + --ifm-footer-background-color: #303846; + --ifm-footer-color: var(--ifm-footer-link-color); + --ifm-footer-link-color: var(--ifm-color-secondary); + --ifm-footer-title-color: var(--ifm-color-white); + } + +.footer__links { + margin-bottom: 1rem; + } + +.footer__link-item { + color: var(--ifm-footer-link-color); + line-height: 2; + } + +.footer__link-item:hover { + color: var(--ifm-footer-link-hover-color); + } + +.footer__link-separator { + margin: 0 var(--ifm-footer-link-horizontal-spacing); + } + +.footer__logo { + margin-top: 1rem; + max-width: var(--ifm-footer-logo-max-width); + } + +.footer__title { + color: var(--ifm-footer-title-color); + font: bold var(--ifm-h4-font-size) / var(--ifm-heading-line-height) + var(--ifm-font-family-base); + margin-bottom: var(--ifm-heading-margin-bottom); + } + +.footer__item { + margin-top: 0; + } + +.footer__items { + margin-bottom: 0; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +[type='checkbox'] { + padding: 0; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.hero { + align-items: center; + background-color: var(--ifm-hero-background-color); + color: var(--ifm-hero-text-color); + display: flex; + padding: 4rem 2rem; +} + +.hero--primary { + --ifm-hero-background-color: var(--ifm-color-primary); + --ifm-hero-text-color: var(--ifm-font-color-base-inverse); + } + +.hero--dark { + --ifm-hero-background-color: #303846; + --ifm-hero-text-color: var(--ifm-color-white); + } + +.hero__title { + font-size: 3rem; + } + +.hero__subtitle { + font-size: 1.5rem; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.menu { + font-weight: var(--ifm-font-weight-semibold); + overflow-x: hidden; +} + +.menu__list { + list-style: none; + margin: 0; + padding-left: 0; + } + +/* Non-top level menus */ + +.menu__list .menu__list { + flex: 0 0 100%; + margin-top: 0.25rem; + padding-left: var(--ifm-menu-link-padding-horizontal); + } + +.menu__list-item:not(:first-child) { + margin-top: 0.25rem; + } + +.menu__list-item--collapsed .menu__list { + height: 0; + overflow: hidden; + } + +.menu__list-item--collapsed .menu__link--sublist:after, + .menu__list-item--collapsed .menu__caret:before { + transform: rotateZ(90deg); + } + +.menu__list-item-collapsible { + flex-wrap: wrap; + position: relative; + border-radius: 0.25rem; + display: flex; + transition: background var(--ifm-transition-fast) var(--ifm-transition-timing-default); + } + +.menu__list-item-collapsible:hover { + background: var(--ifm-menu-color-background-hover); + } + +.menu__list-item-collapsible--active { + background: var(--ifm-menu-color-background-hover); + } + +.menu__list-item-collapsible .menu__link:hover, + .menu__list-item-collapsible .menu__link--active { + background: none !important; + } + +.menu__link, + .menu__caret { + align-items: center; + border-radius: 0.25rem; + display: flex; + transition: background var(--ifm-transition-fast) var(--ifm-transition-timing-default); + } + +.menu__link:hover, .menu__caret:hover { + background: var(--ifm-menu-color-background-hover); + } + +.menu__link { + color: var(--ifm-menu-color); + flex: 1; + line-height: 1.25; + padding: var(--ifm-menu-link-padding-vertical) + var(--ifm-menu-link-padding-horizontal); + } + +.menu__link:hover { + text-decoration: none; + color: var(--ifm-menu-color); + transition: color var(--ifm-transition-fast) var(--ifm-transition-timing-default); + } + +.menu__link--sublist-caret:after { + content: ''; + margin-left: auto; + min-width: 1.25rem; + background: var(--ifm-menu-link-sublist-icon) 50% / 2rem 2rem; + filter: var(--ifm-menu-link-sublist-icon-filter); + height: 1.25rem; + transform: rotate(180deg); + width: 1.25rem; + transition: transform var(--ifm-transition-fast) linear; + } + +.menu__link--active { + color: var(--ifm-menu-color-active); + } + +.menu__link--active:hover { + color: var(--ifm-menu-color-active); + } + +.menu__link--active:not(.menu__link--sublist) { + background-color: var(--ifm-menu-color-background-active); + } + +.menu__caret { + padding: var(--ifm-menu-link-padding-vertical) + var(--ifm-menu-link-padding-horizontal); + } + +.menu__caret:before { + content: ''; + background: var(--ifm-menu-link-sublist-icon) 50% / 2rem 2rem; + filter: var(--ifm-menu-link-sublist-icon-filter); + height: 1.25rem; + transform: rotate(180deg); + width: 1.25rem; + transition: transform var(--ifm-transition-fast) linear; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +html[data-theme='dark'], +.navbar--dark { + --ifm-menu-link-sublist-icon-filter: invert(100%) sepia(94%) saturate(17%) + hue-rotate(223deg) brightness(104%) contrast(98%); +} + +.navbar { + background-color: var(--ifm-navbar-background-color); + box-shadow: var(--ifm-navbar-shadow); + display: flex; + height: var(--ifm-navbar-height); + padding: var(--ifm-navbar-padding-vertical) + var(--ifm-navbar-padding-horizontal); +} + +.navbar > .container, + .navbar > .container-fluid { + display: flex; + } + +.navbar--fixed-top { + position: sticky; + top: 0; + z-index: var(--ifm-z-index-fixed); + } + +.navbar__inner { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + width: 100%; + } + +.navbar__brand { + align-items: center; + color: var(--ifm-navbar-link-color); + display: flex; + margin-right: 1rem; + min-width: 0; + } + +.navbar__brand:hover { + color: var(--ifm-navbar-link-hover-color); + text-decoration: none; + } + +.navbar__title { + flex: 1 1 auto; + } + +.navbar__toggle { + display: none; + margin-right: 0.5rem; + } + +.navbar__logo { + flex: 0 0 auto; + height: 2rem; + margin-right: 0.5rem; + } + +.navbar__logo img { + height: 100%; + } + +.navbar__items { + align-items: center; + display: flex; + flex: 1; + min-width: 0; + } + +.navbar__items--center { + flex: 0 0 auto; + } + +.navbar__items--center .navbar__brand { + margin: 0; + } + +.navbar__items--center + .navbar__items--right { + flex: 1; + } + +.navbar__items--right { + flex: 0 0 auto; + justify-content: flex-end; + } + +.navbar__items--right > :last-child { + padding-right: 0; + } + +.navbar__item { + display: inline-block; + padding: var(--ifm-navbar-item-padding-vertical) + var(--ifm-navbar-item-padding-horizontal); + } + +.navbar__item.dropdown .navbar__link:not([href]) { + pointer-events: none; + } + +.navbar__link { + color: var(--ifm-navbar-link-color); + font-weight: var(--ifm-font-weight-semibold); + } + +.navbar__link:hover, + .navbar__link--active { + color: var(--ifm-navbar-link-hover-color); + text-decoration: none; + } + +.navbar--dark, + .navbar--primary { + --ifm-menu-color: var(--ifm-color-gray-300); + --ifm-navbar-link-color: var(--ifm-color-gray-100); + --ifm-navbar-search-input-background-color: rgba(255, 255, 255, 0.1); + --ifm-navbar-search-input-placeholder-color: rgba(255, 255, 255, 0.5); + + color: var(--ifm-color-white); + } + +.navbar--dark { + --ifm-navbar-background-color: #242526; + --ifm-navbar-link-hover-color: var(--ifm-color-primary); + --ifm-menu-color-background-active: rgba(255, 255, 255, 0.05); + --ifm-navbar-search-input-color: var(--ifm-color-white); + } + +.navbar--primary { + --ifm-navbar-background-color: var(--ifm-color-primary); + --ifm-navbar-link-hover-color: var(--ifm-color-white); + --ifm-menu-color-active: var(--ifm-color-white); + --ifm-navbar-search-input-color: var(--ifm-color-emphasis-500); + } + +.navbar__search-input { + appearance: none; /* Algolia will add type="search" to the input in Safari and Safari's styling will override the styling here. */ + background: var(--ifm-navbar-search-input-background-color) + var(--ifm-navbar-search-input-icon) no-repeat 0.75rem center / 1rem 1rem; + border: none; + border-radius: 2rem; + color: var(--ifm-navbar-search-input-color); + cursor: text; + display: inline-block; + font-size: 0.9rem; + height: 2rem; + padding: 0 0.5rem 0 2.25rem; + width: 12.5rem; + } + +.navbar__search-input::placeholder { + color: var(--ifm-navbar-search-input-placeholder-color); + } + +.navbar-sidebar { + background-color: var(--ifm-navbar-background-color); + bottom: 0; + box-shadow: var(--ifm-global-shadow-md); + left: 0; + opacity: 0; + overflow-x: hidden; + position: fixed; + top: 0; + transform: translate3d(-100%, 0, 0); + visibility: hidden; + width: var(--ifm-navbar-sidebar-width); + transition-property: opacity, visibility, transform; + transition-duration: var(--ifm-transition-fast); + transition-timing-function: ease-in-out; + } + +.navbar-sidebar--show .navbar-sidebar, + .navbar-sidebar--show .navbar-sidebar__backdrop { + opacity: 1; + visibility: visible; + } + +.navbar-sidebar--show .navbar-sidebar { + transform: translate3d(0, 0, 0); + } + +.navbar-sidebar__backdrop { + background-color: rgba(0, 0, 0, 0.6); + bottom: 0; + left: 0; + opacity: 0; + position: fixed; + right: 0; + top: 0; + visibility: hidden; + transition-property: opacity, visibility; + transition-duration: var(--ifm-transition-fast); + transition-timing-function: ease-in-out; + } + +.navbar-sidebar__brand { + align-items: center; + box-shadow: var(--ifm-navbar-shadow); + display: flex; + flex: 1; + height: var(--ifm-navbar-height); + padding: var(--ifm-navbar-padding-vertical) + var(--ifm-navbar-padding-horizontal); + } + +.navbar-sidebar__items { + display: flex; + height: calc(100% - var(--ifm-navbar-height)); + transform: translateZ(0); + transition: transform var(--ifm-transition-fast) ease-in-out; + } + +.navbar-sidebar__items--show-secondary { + transform: translate3d( + calc((var(--ifm-navbar-sidebar-width)) * -1), + 0, + 0 + ); + } + +.navbar-sidebar__item { + flex-shrink: 0; + padding: 0.5rem; + width: calc(var(--ifm-navbar-sidebar-width)); + } + +.navbar-sidebar__back { + background: var(--ifm-menu-color-background-active); + font-size: 15px; + font-weight: var(--ifm-button-font-weight); + margin: 0 0 0.2rem -0.5rem; + padding: 0.6rem 1.5rem; + position: relative; + text-align: left; + top: -0.5rem; + width: calc(100% + 1rem); + } + +.navbar-sidebar__close { + display: flex; + margin-left: auto; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.pagination { + column-gap: var(--ifm-pagination-page-spacing); + display: flex; + font-size: var(--ifm-pagination-font-size); + padding-left: 0; +} + +.pagination--sm { + --ifm-pagination-font-size: 0.8rem; + --ifm-pagination-padding-horizontal: 0.8rem; + --ifm-pagination-padding-vertical: 0.2rem; + } + +.pagination--lg { + --ifm-pagination-font-size: 1.2rem; + --ifm-pagination-padding-horizontal: 1.2rem; + --ifm-pagination-padding-vertical: 0.3rem; + } + +.pagination__item { + display: inline-flex; + } + +.pagination__item > span { + padding: var(--ifm-pagination-padding-vertical); + } + +.pagination__item--active .pagination__link { + background: var(--ifm-pagination-item-active-background); + color: var(--ifm-pagination-color-active); + } + +.pagination__item:not(.pagination__item--active):hover .pagination__link { + background: var(--ifm-pagination-item-active-background); + } + +.pagination__item--disabled, + .pagination__item[disabled] { + opacity: 0.25; + pointer-events: none; + } + +.pagination__link { + border-radius: var(--ifm-pagination-border-radius); + color: var(--ifm-font-color-base); + display: inline-block; + padding: var(--ifm-pagination-padding-vertical) + var(--ifm-pagination-padding-horizontal); + transition: background var(--ifm-transition-fast) var(--ifm-transition-timing-default); + } + +.pagination__link:hover { + text-decoration: none; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.pagination-nav { + display: grid; + grid-gap: var(--ifm-spacing-horizontal); + gap: var(--ifm-spacing-horizontal); + grid-template-columns: repeat(2, 1fr); +} + +.pagination-nav__link { + border: 1px solid var(--ifm-color-emphasis-300); + border-radius: var(--ifm-pagination-nav-border-radius); + display: block; + height: 100%; + line-height: var(--ifm-heading-line-height); + padding: var(--ifm-global-spacing); + transition: border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default); + } + +.pagination-nav__link:hover { + border-color: var(--ifm-pagination-nav-color-hover); + text-decoration: none; + } + +.pagination-nav__link--next { + grid-column: 2/3; + text-align: right; + } + +.pagination-nav__label { + font-size: var(--ifm-h4-font-size); + font-weight: var(--ifm-heading-font-weight); + word-break: break-word; + } + +.pagination-nav__link--prev .pagination-nav__label::before { + content: '« '; + } + +.pagination-nav__link--next .pagination-nav__label::after { + content: ' »'; + } + +.pagination-nav__sublabel { + color: var(--ifm-color-content-secondary); + font-size: var(--ifm-h5-font-size); + font-weight: var(--ifm-font-weight-semibold); + margin-bottom: 0.25rem; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.pills { + display: flex; + gap: var(--ifm-pills-spacing); + padding-left: 0; +} + +.pills__item { + border-radius: 0.5rem; + cursor: pointer; + display: inline-block; + font-weight: var(--ifm-font-weight-bold); + padding: 0.25rem 1rem; + transition: background var(--ifm-transition-fast) var(--ifm-transition-timing-default); + } + +.pills__item--active { + background: var(--ifm-pills-color-background-active); + color: var(--ifm-pills-color-active); + } + +.pills__item:not(.pills__item--active):hover { + background: var(--ifm-pills-color-background-active); + } + +.pills--block { + justify-content: stretch; + } + +.pills--block .pills__item { + flex-grow: 1; + text-align: center; + } + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.tabs { + color: var(--ifm-tabs-color); + display: flex; + font-weight: var(--ifm-font-weight-bold); + margin-bottom: 0; + overflow-x: auto; + padding-left: 0; +} + +.tabs__item { + border-bottom: 3px solid transparent; + border-radius: var(--ifm-global-radius); + cursor: pointer; + display: inline-flex; + padding: var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal); + transition: background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default); + } + +.tabs__item--active { + border-bottom-color: var(--ifm-tabs-color-active-border); + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + color: var(--ifm-tabs-color-active); + } + +.tabs__item:hover { + background-color: var(--ifm-hover-overlay); + } + +.tabs--block { + justify-content: stretch; + } + +.tabs--block .tabs__item { + flex-grow: 1; + justify-content: center; + } + +/* Mode */ + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +html[data-theme='dark'] { + --ifm-color-scheme: dark; + + --ifm-color-emphasis-0: var(--ifm-color-gray-1000); + --ifm-color-emphasis-100: var(--ifm-color-gray-900); + --ifm-color-emphasis-200: var(--ifm-color-gray-800); + --ifm-color-emphasis-300: var(--ifm-color-gray-700); + --ifm-color-emphasis-400: var(--ifm-color-gray-600); + --ifm-color-emphasis-500: var(--ifm-color-gray-500); + --ifm-color-emphasis-600: var(--ifm-color-gray-400); + --ifm-color-emphasis-700: var(--ifm-color-gray-300); + --ifm-color-emphasis-800: var(--ifm-color-gray-200); + --ifm-color-emphasis-900: var(--ifm-color-gray-100); + --ifm-color-emphasis-1000: var(--ifm-color-gray-0); + + --ifm-background-color: #1b1b1d; + --ifm-background-surface-color: #242526; + + --ifm-hover-overlay: rgba(255, 255, 255, 0.05); + + --ifm-color-content: #e3e3e3; + --ifm-color-content-secondary: rgba(255, 255, 255, 1); + + --ifm-breadcrumb-separator-filter: invert(64%) sepia(11%) saturate(0%) + hue-rotate(149deg) brightness(99%) contrast(95%); + + --ifm-code-background: rgba(255, 255, 255, 0.1); + + --ifm-scrollbar-track-background-color: #444444; + --ifm-scrollbar-thumb-background-color: #686868; + --ifm-scrollbar-thumb-hover-background-color: #7a7a7a; + + --ifm-table-stripe-background: rgba(255, 255, 255, 0.07); + + --ifm-toc-border-color: var(--ifm-color-emphasis-200); + --ifm-color-primary-contrast-background: rgb(16, 36, 69); + --ifm-color-primary-contrast-foreground: rgb(235, 242, 252); + --ifm-color-secondary-contrast-background: rgb(71, 71, 72); + --ifm-color-secondary-contrast-foreground: rgb(253, 253, 254); + --ifm-color-success-contrast-background: rgb(0, 49, 0); + --ifm-color-success-contrast-foreground: rgb(230, 246, 230); + --ifm-color-info-contrast-background: rgb(25, 60, 71); + --ifm-color-info-contrast-foreground: rgb(238, 249, 253); + --ifm-color-warning-contrast-background: rgb(77, 56, 0); + --ifm-color-warning-contrast-foreground: rgb(255, 248, 230); + --ifm-color-danger-contrast-background: rgb(75, 17, 19); + --ifm-color-danger-contrast-foreground: rgb(255, 235, 236) +} + +@media (min-width: 1440px) { + .container { + max-width: var(--ifm-container-width-xl); + } +} + +@media (max-width: 996px) { + .col { + --ifm-col-width: 100%; + flex-basis: var(--ifm-col-width); + margin-left: 0; + } + +.footer { + --ifm-footer-padding-horizontal: 0 +} + + .footer__link-separator { + display: none; + } + + .footer__col { + margin-bottom: calc(var(--ifm-spacing-vertical) * 3); + } + + .footer__link-item { + display: block; + } + +.hero { + padding-left: 0; + padding-right: 0 +} + +.navbar > .container, + .navbar > .container-fluid { + padding: 0 + } + +.navbar__toggle { + display: inherit + } + +.navbar__item { + display: none + } + +.navbar__search-input { + width: 9rem + } + +.pills--block { + flex-direction: column + } + +.tabs--block { + flex-direction: column + } +} + +@media (max-width: 576px) { + .markdown h1:first-child { + --ifm-h1-font-size: 2rem; + } + .markdown > h2 { + --ifm-h2-font-size: 1.5rem; + } + .markdown > h3 { + --ifm-h3-font-size: 1.25rem; + } +} + +@media (pointer: fine) { + .thin-scrollbar { + scrollbar-width: thin; + } + .thin-scrollbar::-webkit-scrollbar { + height: var(--ifm-scrollbar-size); + width: var(--ifm-scrollbar-size); + } + .thin-scrollbar::-webkit-scrollbar-track { + background: var(--ifm-scrollbar-track-background-color); + border-radius: 10px; + } + .thin-scrollbar::-webkit-scrollbar-thumb { + background: var(--ifm-scrollbar-thumb-background-color); + border-radius: 10px; + } + .thin-scrollbar::-webkit-scrollbar-thumb:hover { + background: var(--ifm-scrollbar-thumb-hover-background-color); + } +} + +@media (prefers-reduced-motion: reduce) { + :root { + --ifm-transition-fast: 0ms; + --ifm-transition-slow: 0ms; + } +} + +@media print { + +.table-of-contents { + display: none +} + +.footer { + display: none +} + +.menu { + display: none +} + +.navbar { + display: none +} + +.pagination-nav { + display: none +} + +.tabs { + page-break-inside: avoid +} +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * Styles for NProgress + * Copied over to remove unused styles for the spinner. + * https://github.com/rstacruz/nprogress/blob/master/nprogress.css + */ + +:root { + --docusaurus-progress-bar-color: var(--ifm-color-primary); +} + +#nprogress { + pointer-events: none; +} + +#nprogress .bar { + background: var(--docusaurus-progress-bar-color); + position: fixed; + z-index: 1031; + top: 0; + left: 0; + width: 100%; + height: 2px; +} + +#nprogress .peg { + position: absolute; + right: 0; + width: 100px; + height: 100%; + box-shadow: 0 0 10px var(--docusaurus-progress-bar-color), + 0 0 5px var(--docusaurus-progress-bar-color); + opacity: 1; + transform: rotate(3deg) translate(0, -4px); +} + +:root { + --ifm-color-orange-jupyter: #f37726; + --ifm-color-blue-jupyter: #1976d2; + --ifm-color-green-xtensor: #4ecb71; + --ifm-color-grey-condaforge: #7a7865; + --ifm-color-orange-light: #fef9ec; + --ifm-color-indigo-i1: rgb(79, 82, 255); + --ifm-color-primary-p0: #fffbd7; + --ifm-color-primary-p1: #f6f195; + --ifm-color-primary-p2: #1c1c16; + --ifm-text-color-on-primary-p1: #1e1c00; + + --ifm-color-secondary-s1: #a0c9ff; + --ifm-color-secondary-s2: #002646; + --ifm-color-secondary-s3: #00497F; + + + --ifm-color-neutral-n1: #605e58; + --ifm-color-neutral-n2: #371300; + + --ifm-text-color: var(--ifm-color-primary-p2); + --ifm-background-color: white; + + /* footer */ + --ifm-background-color-footer: var(--ifm-color-primary-p1); + --ifm-text-color-footer: black; + + /*popup overlay*/ + --ifm-background-color-popup-overlay: gray; + + /* Font sizes */ + --ifm-font-size-small: 14px; + --ifm-font-size-normal: 18px; + --ifm-font-size-medium: 24px; + --ifm-font-size-main-title: 48px; + --ifm-font-size-secondary-title: 32px; + + /*Font families */ + --ifm-font-family-roboto: "Roboto"; + --ifm-font-family-roboto-flex: "Roboto Flex"; + --ifm-font-family-bebas-neue: "Bebas Neue"; + --ifm-font-family-rubik-one: "Rubik One"; + --ifm-font-family-dosis: "Dosis"; + + /* Spacing for margins and paddings */ + --ifm-spacing-none: 0px; + --ifm-spacing-2xs: 4px; + --ifm-spacing-xs: 8px; + --ifm-spacing-sm: 12px; + --ifm-spacing-md: 16px; + --ifm-spacing-lg: 24px; + --ifm-spacing-xl: 32px; + --ifm-spacing-2xl: 56px; + --ifm-spacing-3xl: 64px; + --ifm-spacing-4xl: 96px; + --ifm-spacing-5xl: 120px; + --ifm-spacing-6xl: 144px; + --ifm-spacing-7xl: 240px; + --ifm-spacing-8xl: 400px; + + --ifm-navbar-item-padding-horizontal: 2px; +} + +.flex-full-centered { + display: flex; + align-items: center; + justify-content: center; +} + +.flex-horizontally-centered { + display: flex; + justify-content: center; +} + +.horizontally-centered { + justify-content: center; +} + +.margin-none { + margin: 0; +} + +.padding-none { + padding: 0; +} + +.row-reverse { + flex-direction: column-reverse; +} + +ul { + padding-left: 0; + margin-left: 0; +} + +.container { + max-width: none; + padding: 0; +} + +/***footer*****/ +.footer__item { + color: var(--ifm-text-color-footer); +} + +.footer__copyright { + color: var(--ifm-text-color-footer); +} + +.footer { + background-color: var(--ifm-background-color-footer); + color: var(--ifm-text-color-footer); + display: flex; + align-items: center; + justify-content: center; + margin: 0; + max-width: none; + padding: var(--ifm-spacing-xl) var(--ifm-spacing-2xl); +} + +.footer__col { + align-items: center; + justify-content: center; + margin: 0; + padding: 0; + height: 240px; +} + +.row.footer__links { + display: flex; + justify-content: center; + margin: 0; + padding: 0; + color: var(--ifm-text-color-footer); +} + +.footer__title { + color: var(--ifm-text-color-footer); +} + +.footer__bottom { + margin-top: var(--ifm-spacing-xl); +} + +.footer__link-item { + color: var(--ifm-text-color-footer); +} + +.footer-astronaut { + display: flex; + width: 35px; + height: 35px; + padding: 10px; +} + +@media (min-width: 1440px) { + .container { + max-width: none; + } +} + +/****** Class that are specific for smaller screens*/ +@media (max-width: 996px) { + .main-container-with-margins { + margin-left: 42px; + margin-right: 42px; + } + + .upper-container-with-margin-top { + margin-top: var(--ifm-spacing-2xl); + } + + .row-with-margin-top { + margin-top: var(--ifm-spacing-xl); + } + + .row-with-margin-bottom { + margin-bottom: var(--ifm-spacing-xl); + } + + .row-with-margins { + margin: var(--ifm-spacing-xl) 0; + } + .col { + padding: 0; + } + + h1 { + color: var(--ifm-text-color-main-title); + font-family: var(--ifm-font-family-bebas-neue); + font-size: 32px; + font-style: normal; + font-weight: 600; + line-height: 150%; /* 36px */ + letter-spacing: 1.056px; + text-align: center; + padding: 0; + } + + h2 { + font-family: var(--ifm-font-family-bebas-neue); + font-size: 24px; + font-style: normal; + font-weight: bolder; + line-height: 150%; + text-align: center; + } + + p { + font-family: var(--ifm-font-family-roboto); + font-size: 14px; + font-style: normal; + line-height: 150%; + line-height: 20px; + letter-spacing: 0.25px; + padding: 0 var(--ifm-spacing-lg); + } + + li { + font-size: 14px; + margin-left: 24px; + } + + .blue-banner-container { + font-family: var(--ifm-font-family-roboto); + font-size: 16px; + font-weight: 500; + color: var(--ifm-color-secondary-s2); + padding: var(--ifm-spacing-2xl) var(--ifm-spacing-lg) 0 + var(--ifm-spacing-lg); + background-color: var(--ifm-color-secondary-s1); + line-height: 20px; + letter-spacing: 0.1px; + text-align: center; + } + + .blue-banner-header { + text-align: center; + font-family: var(--ifm-font-family-bebas-neue); + font-size: 32px; + font-style: normal; + font-weight: 600; + line-height: 150%; + letter-spacing: 2.112px; + background-color: var(--ifm-color-secondary-s1); + color: var(--ifm-color-secondary-s2); + } + + .link-to-button { + width: 258px; + height: 56px; + font-family: var(--ifm-font-family-roboto); + border-radius: 35px; + background: var(--ifm-color-secondary-s2); + color: white; + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 150%; + letter-spacing: -0.176px; + padding: 16px 36px; + border: none; + text-align: center; + margin-top: var(--ifm-spacing-lg); + margin-bottom: var(--ifm-spacing-lg); + } + + .link-box { + height: 59px; + width: auto; + display: flex; + align-items: center; + justify-content: center; + } +} + +/****** Class that are specific to larger screens*/ +@media (min-width: 996px) { + .main-container-with-margins { + margin-left: 96px; + margin-right: 96px; + display: flex; + justify-content: center; + } + + .upper-container-with-margin-top { + margin-top: var(--ifm-spacing-6xl); + } + + .row-with-margin-top { + margin-top: var(--ifm-spacing-2xl); + } + + .row-with-margin-bottom { + margin-bottom: var(--ifm-spacing-2xl); + } + + .row-with-margins { + margin: var(--ifm-spacing-2xl) 0; + } + + h1 { + color: var(--ifm-color-primary-p2); + font-family: var(--ifm-font-family-bebas-neue); + font-size: var(--ifm-font-size-main-title); + font-style: normal; + font-weight: 800; + line-height: 150%; + letter-spacing: 2.112px; + text-align: start; + padding: 8px 36px 8px 20px; + } + + h2 { + font-family: var(--ifm-font-family-bebas-neue); + font-size: var(--ifm-font-size-secondary-title); + font-style: normal; + font-weight: bolder; + line-height: 150%; + text-align: start; + } + + p { + font-family: var(--ifm-font-family-roboto); + font-size: var(--ifm-font-size-normal); + font-style: normal; + letter-spacing: 0.25px; + text-align: justify; + } + + .blue-banner-container { + text-align: center; + font-family: var(--ifm-font-family-roboto); + font-size: 28px; + font-style: normal; + font-weight: 500; + line-height: 150%; + background-color: var(--ifm-color-secondary-s1); + color: var(--ifm-color-secondary-s2); + padding: var(--ifm-spacing-2xl) var(--ifm-spacing-4xl) 0 + var(--ifm-spacing-4xl); + } + + .blue-banner-header { + text-align: center; + font-family: var(--ifm-font-family-bebas-neue); + font-size: 48px; + font-style: normal; + font-weight: 600; + line-height: 150%; + letter-spacing: 2.112px; + background-color: var(--ifm-color-secondary-s1); + color: var(--ifm-color-secondary-s2); + margin-bottom: var(--ifm-spacing-2xl); + } + + .link-to-button { + width: 258px; + height: 56px; + font-family: var(--ifm-font-family-roboto); + border-radius: 35px; + background: var(--ifm-color-secondary-s2); + color: white; + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 150%; + letter-spacing: -0.176px; + padding: 16px 36px; + border: none; + text-align: center; + margin-top: var(--ifm-spacing-2xl); + margin-bottom: var(--ifm-spacing-2xl); + } + + .link-box { + height: 59px; + width: auto; + display: flex; + align-items: center; + justify-content: center; + } +} +/***********************************************************/ + +.social-media-links { + margin-left: var(--ifm-spacing-3xl); + text-align: start; +} + +.spacing-none { + height: var(--ifm-spacing-none); +} + +.spacing-2xs { + height: var(--ifm-spacing-2xs); +} + +.spacing-xs { + height: var(--ifm-spacing-xs); +} + +.spacing-sm { + height: var(--ifm-spacing-sm); +} + +.spacing-md { + height: var(--ifm-spacing-md); +} + +.spacing-lg { + height: var(--ifm-spacing-lg); +} + +.spacing-xl { + height: var(--ifm-spacing-xl); +} + +.spacing-2xl { + height: var(--ifm-spacing-2xl); +} + +.spacing-3xl { + height: var(--ifm-spacing-3xl); +} + +.spacing-4xl { + height: var(--ifm-spacing-4xl); +} + +.spacing-5xl { + height: var(--ifm-spacing-5xl); +} + +.spacing-6xl { + height: var(--ifm-spacing-6xl); +} + +.spacing-7xl { + height: var(--ifm-spacing-7xl); +} + +.spacing-8xl { + height: var(--ifm-spacing-8xl); +} + +.link-to-button { + width: 258px; + height: 56px; + font-family: var(--ifm-font-family-roboto); + border-radius: 35px; + background: var(--ifm-color-secondary-s2); + color: white; + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 150%; + letter-spacing: -0.176px; + padding: 16px 36px; + border: none; + text-align: center; + margin-top: var(--ifm-spacing-2xl); + margin-bottom: var(--ifm-spacing-2xl); +} + +.link-box { + height: 59px; + width: auto; + display: flex; + align-items: center; + justify-content: center; +} + +.social-media-links { + margin-left: var(--ifm-spacing-3xl); + text-align: start; +} + +/* +Hyperlink states are crucial for accessibility. +Please double check before changing the rules below. +*/ +a { + /*text-decoration: underline; + text-decoration-thickness: var(--pydata-link-underline-thickness); + text-underline-offset: var(--pydata-link-underline-offset);*/ + color: var(---ifm-text-color); +} + +a:hover, +/* We need to (re)override some of the infima rules to have proper states on +navbar links, table of contents, and docs sidebar links, respectively */ +a.navbar__link:hover, /* Top bar navigation links */ +a.table-of-contents__link:hover, /*Right sidebar links (table of contents) */ +a[class^="sidebarItemLink"]:hover /* The docs sidebar links do not have its own class */ { + /*text-decoration: underline; + text-decoration-thickness: var(--pydata-link-hover-decoration-thickness); + text-decoration-skip-ink: none; + text-decoration-skip: none;*/ +} +a:active, +a.navbar__link:active, +a.table-of-contents__link:active, +a[class^="sidebarItemLink"]:active { + text-decoration-thickness: var(--pydata-link-decoration-thickness); +} + +/* In some cases, we override the underlines because there are other elements that +already report the state (e.g. borders, background colors, etc) */ +a[class^="sidebarItemLink"][aria-current="page"], /* No underline if this is the current page */ +a.navbar__link, +.navbar-sidebar__item, +.menu a, +.navbar__items--right a, +.pagination-nav__link, +a.card, /* These cards are used in index-like documentation pages */ +a.card:hover { + text-decoration: none; +} + +/* On these elements, we only rely on background color changes. They are navigation items, +so they are already assumed to be clickable anyway */ +.pagination-nav__link:active, +a.card:active, +a.menu__link:active { + background: white; + color: #000; +} +[data-theme="dark"] .pagination-nav__link:active, +[data-theme="dark"] a.card:active, +[data-theme="dark"] a.menu__link:active { + background: black; + color: #fff; +} + +/* Animate the top navbar conda-forge logo a bit */ +.navbar__logo img:hover { + transform: scale(1.05); +} + +.navbar__logo img:active { + transform: scale(1); +} + +.contact { + background-color: var(--ifm-color-primary-p1); + color: var(--ifm-color-text-on-primary-p1); + border-radius: 4px; + font-weight: bolder; + font-style: normal; + margin: var(--ifm-navbar-item-padding-vertical) 20px; +} + +.contact:hover { + background-color: white; +} + +.fundable_projects { + background-color: var(--ifm-color-blue-jupyter); + color: white; + border-radius: 4px; + font-style: normal; + margin: var(--ifm-navbar-item-padding-vertical) 20px; +} + +.fundable_projects:hover { + background-color: white; + color: var(--ifm-color-blue-jupyter) +} + + +.custom_navbar_item { + font-family: var(--ifm-font-family-roboto); + width: 117px; + height: 36px; + padding: 6px 14px; + text-align: center; +} + +.custom_navbar_item:hover { + background-color: var(--ifm-color-primary-p1); + justify-items: center; + border-radius: 4px; +} + +.navbar__link:hover { + color: black; +} + +.astronaut-footer { + background: url(/assets/images/astronaut-footer-d83631ab3d4a61044a99085701366520.svg); + content: ""; + display: flex; + height: 240px; + width: 240px; + background-repeat: no-repeat; +} + +.github-icon:hover { + opacity: 0.6; +} + +.github-icon:before { + background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzciIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IkdIIj4KPGNpcmNsZSBpZD0iRWxsaXBzZSAxIiBjeD0iMTguOTc5NSIgY3k9IjE4IiByPSIxNy41IiBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSJibGFjayIvPgo8cGF0aCBpZD0iVmVjdG9yIiBkPSJNMjUuMzM4NyAxNC4zMDY3QzI1LjU0MjQgMTMuNjQ5MyAyNS42MDc4IDEyLjk1NjkgMjUuNTMwNiAxMi4yNzMxQzI1LjQ1MzUgMTEuNTg5MiAyNS4yMzU1IDEwLjkyODcgMjQuODkwMyAxMC4zMzMzQzI0LjgzMTggMTAuMjMyIDI0Ljc0NzYgMTAuMTQ3OCAyNC42NDYyIDEwLjA4OTNDMjQuNTQ0OSAxMC4wMzA4IDI0LjQyOTkgOS45OTk5OCAyNC4zMTI4IDEwQzIzLjUzNjMgOS45OTgzOSAyMi43NzAyIDEwLjE3ODQgMjIuMDc1NyAxMC41MjU3QzIxLjM4MTEgMTAuODcyOSAyMC43Nzc0IDExLjM3NzggMjAuMzEyOCAxMkgxOC4zMTI4QzE3Ljg0ODIgMTEuMzc3OCAxNy4yNDQ1IDEwLjg3MjkgMTYuNTUgMTAuNTI1N0MxNS44NTU1IDEwLjE3ODQgMTUuMDg5MyA5Ljk5ODM5IDE0LjMxMjggMTBDMTQuMTk1OCA5Ljk5OTk4IDE0LjA4MDggMTAuMDMwOCAxMy45Nzk0IDEwLjA4OTNDMTMuODc4IDEwLjE0NzggMTMuNzkzOSAxMC4yMzIgMTMuNzM1MyAxMC4zMzMzQzEzLjM5MDIgMTAuOTI4NyAxMy4xNzIyIDExLjU4OTIgMTMuMDk1IDEyLjI3MzFDMTMuMDE3OSAxMi45NTY5IDEzLjA4MzIgMTMuNjQ5MyAxMy4yODcgMTQuMzA2N0MxMi44NzUxIDE1LjAyNTYgMTIuNjU0NSAxNS44MzgyIDEyLjY0NjIgMTYuNjY2N1YxNy4zMzMzQzEyLjY0NzYgMTguNDYxMyAxMy4wNTcxIDE5LjU1MDcgMTMuNzk5IDIwLjQwMDRDMTQuNTQxIDIxLjI1IDE1LjU2NTMgMjEuODAyNSAxNi42ODI4IDIxLjk1NThDMTYuMjI2NyAyMi41Mzk2IDE1Ljk3OTEgMjMuMjU5MiAxNS45Nzk1IDI0VjI0LjY2NjdIMTMuOTc5NUMxMy40NDkxIDI0LjY2NjcgMTIuOTQwNCAyNC40NTYgMTIuNTY1MyAyNC4wODA5QzEyLjE5MDIgMjMuNzA1OCAxMS45Nzk1IDIzLjE5NzEgMTEuOTc5NSAyMi42NjY3QzExLjk3OTUgMjIuMjI4OSAxMS44OTMzIDIxLjc5NTUgMTEuNzI1OCAyMS4zOTExQzExLjU1ODIgMjAuOTg2NiAxMS4zMTI3IDIwLjYxOTIgMTEuMDAzMiAyMC4zMDk2QzEwLjY5MzcgMjAuMDAwMSAxMC4zMjYyIDE5Ljc1NDYgOS45MjE3NyAxOS41ODcxQzkuNTE3MzUgMTkuNDE5NiA5LjA4MzkgMTkuMzMzMyA4LjY0NjE2IDE5LjMzMzNDOC40NjkzNSAxOS4zMzMzIDguMjk5NzggMTkuNDAzNiA4LjE3NDc1IDE5LjUyODZDOC4wNDk3MyAxOS42NTM2IDcuOTc5NDkgMTkuODIzMiA3Ljk3OTQ5IDIwQzcuOTc5NDkgMjAuMTc2OCA4LjA0OTczIDIwLjM0NjQgOC4xNzQ3NSAyMC40NzE0QzguMjk5NzggMjAuNTk2NCA4LjQ2OTM1IDIwLjY2NjcgOC42NDYxNiAyMC42NjY3QzkuMTc2NTkgMjAuNjY2NyA5LjY4NTMgMjAuODc3NCAxMC4wNjA0IDIxLjI1MjVDMTAuNDM1NCAyMS42Mjc1IDEwLjY0NjIgMjIuMTM2MiAxMC42NDYyIDIyLjY2NjdDMTAuNjQ2MiAyMy41NTA3IDEwLjk5NzMgMjQuMzk4NiAxMS42MjI1IDI1LjAyMzdDMTIuMjQ3NiAyNS42NDg4IDEzLjA5NTQgMjYgMTMuOTc5NSAyNkgxNS45Nzk1VjI3LjMzMzNDMTUuOTc5NSAyNy41MTAxIDE2LjA0OTcgMjcuNjc5NyAxNi4xNzQ4IDI3LjgwNDdDMTYuMjk5OCAyNy45Mjk4IDE2LjQ2OTMgMjggMTYuNjQ2MiAyOEMxNi44MjMgMjggMTYuOTkyNSAyNy45Mjk4IDE3LjExNzYgMjcuODA0N0MxNy4yNDI2IDI3LjY3OTcgMTcuMzEyOCAyNy41MTAxIDE3LjMxMjggMjcuMzMzM1YyNEMxNy4zMTI4IDIzLjQ2OTYgMTcuNTIzNSAyMi45NjA5IDE3Ljg5ODYgMjIuNTg1OEMxOC4yNzM3IDIyLjIxMDcgMTguNzgyNCAyMiAxOS4zMTI4IDIyQzE5Ljg0MzMgMjIgMjAuMzUyIDIyLjIxMDcgMjAuNzI3IDIyLjU4NThDMjEuMTAyMSAyMi45NjA5IDIxLjMxMjggMjMuNDY5NiAyMS4zMTI4IDI0VjI3LjMzMzNDMjEuMzEyOCAyNy41MTAxIDIxLjM4MzEgMjcuNjc5NyAyMS41MDgxIDI3LjgwNDdDMjEuNjMzMSAyNy45Mjk4IDIxLjgwMjcgMjggMjEuOTc5NSAyOEMyMi4xNTYzIDI4IDIyLjMyNTkgMjcuOTI5OCAyMi40NTA5IDI3LjgwNDdDMjIuNTc1OSAyNy42Nzk3IDIyLjY0NjIgMjcuNTEwMSAyMi42NDYyIDI3LjMzMzNWMjRDMjIuNjQ2NiAyMy4yNTkyIDIyLjM5OSAyMi41Mzk2IDIxLjk0MjggMjEuOTU1OEMyMy4wNjA0IDIxLjgwMjUgMjQuMDg0NyAyMS4yNSAyNC44MjY2IDIwLjQwMDRDMjUuNTY4NiAxOS41NTA3IDI1Ljk3ODEgMTguNDYxMyAyNS45Nzk1IDE3LjMzMzNWMTYuNjY2N0MyNS45NzEyIDE1LjgzODIgMjUuNzUwNiAxNS4wMjU2IDI1LjMzODcgMTQuMzA2N1pNMjQuNjQ2MiAxNy4zMzMzQzI0LjY0NjIgMTguMjE3NCAyNC4yOTUgMTkuMDY1MiAyMy42Njk4IDE5LjY5MDRDMjMuMDQ0NyAyMC4zMTU1IDIyLjE5NjkgMjAuNjY2NyAyMS4zMTI4IDIwLjY2NjdIMTcuMzEyOEMxNi40Mjg4IDIwLjY2NjcgMTUuNTgwOSAyMC4zMTU1IDE0Ljk1NTggMTkuNjkwNEMxNC4zMzA3IDE5LjA2NTIgMTMuOTc5NSAxOC4yMTc0IDEzLjk3OTUgMTcuMzMzM1YxNi42NjY3QzEzLjk4NzcgMTYgMTQuMTg3MyAxNS4zNDk4IDE0LjU1NDUgMTQuNzkzM0MxNC42MjMgMTQuNzAzMSAxNC42NjczIDE0LjU5NjkgMTQuNjgzMyAxNC40ODQ4QzE0LjY5OTQgMTQuMzcyNyAxNC42ODY2IDE0LjI1ODMgMTQuNjQ2MiAxNC4xNTI1QzE0LjQ3MjUgMTMuNzA0NyAxNC4zODg5IDEzLjIyNyAxNC40MDAyIDEyLjc0NjhDMTQuNDExNSAxMi4yNjY2IDE0LjUxNzUgMTEuNzkzNCAxNC43MTIgMTEuMzU0MkMxNS4yNTc2IDExLjQxMjkgMTUuNzgzIDExLjU5MzYgMTYuMjQ5MiAxMS44ODNDMTYuNzE1NSAxMi4xNzI0IDE3LjExMDYgMTIuNTYzIDE3LjQwNTMgMTMuMDI1OEMxNy40NjU0IDEzLjExOTggMTcuNTQ4IDEzLjE5NzEgMTcuNjQ1NyAxMy4yNTA4QzE3Ljc0MzQgMTMuMzA0NiAxNy44NTMgMTMuMzMyOSAxNy45NjQ1IDEzLjMzMzNIMjAuNjYwM0MyMC43NzIyIDEzLjMzMzMgMjAuODgyMyAxMy4zMDUyIDIwLjk4MDUgMTMuMjUxNEMyMS4wNzg3IDEzLjE5NzcgMjEuMTYxNyAxMy4xMjAxIDIxLjIyMiAxMy4wMjU4QzIxLjUxNjcgMTIuNTYyOSAyMS45MTE4IDEyLjE3MjMgMjIuMzc4MSAxMS44ODI5QzIyLjg0NDMgMTEuNTkzNSAyMy4zNjk3IDExLjQxMjggMjMuOTE1MyAxMS4zNTQyQzI0LjEwOTYgMTEuNzkzNSAyNC4yMTUyIDEyLjI2NjggMjQuMjI2MiAxMi43NDY5QzI0LjIzNzMgMTMuMjI3MSAyNC4xNTM0IDEzLjcwNDggMjMuOTc5NSAxNC4xNTI1QzIzLjkzOTIgMTQuMjU3MyAyMy45MjU3IDE0LjM3MDUgMjMuOTQwMyAxNC40ODE4QzIzLjk1NDggMTQuNTkzMiAyMy45OTcgMTQuNjk5MSAyNC4wNjI4IDE0Ljc5QzI0LjQzMzcgMTUuMzQ2NCAyNC42MzYyIDE1Ljk5OCAyNC42NDYyIDE2LjY2NjdWMTcuMzMzM1oiIGZpbGw9ImJsYWNrIi8+CjwvZz4KPC9zdmc+Cg==); + content: ""; + display: flex; + height: 36px; + width: 37px; + background-repeat: no-repeat; +} + +.linkedin-icon:hover { + opacity: 0.6; +} + +.linkedin-icon:before { + background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzciIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IkxpbmtlZGluIj4KPGNpcmNsZSBpZD0iRWxsaXBzZSAyIiBjeD0iMTguOTc5NSIgY3k9IjE4IiByPSIxNy41IiBmaWxsPSJ3aGl0ZSIgc3Ryb2tlPSJibGFjayIvPgo8cGF0aCBpZD0iVmVjdG9yIiBkPSJNMTEuOTc5NSAxNC42NjY3SDE1LjMxMjhWMjZIMTEuOTc5NVYxNC42NjY3Wk0xMy42MzYyIDEzLjMzMzNIMTMuNjE3NUMxMi42MjI4IDEzLjMzMzMgMTEuOTc5NSAxMi41OTIgMTEuOTc5NSAxMS42NjZDMTEuOTc5NSAxMC43MiAxMi42NDI4IDEwIDEzLjY1NTUgMTBDMTQuNjY5NSAxMCAxNS4yOTQyIDEwLjcyIDE1LjMxMjggMTEuNjY2QzE1LjMxMjggMTIuNTkxMyAxNC42Njk1IDEzLjMzMzMgMTMuNjM2MiAxMy4zMzMzWk0yNy45Nzk1IDI2SDI0LjY0NjJWMTkuOTM0QzI0LjY0NjIgMTguNDY4NyAyMy44Mjk1IDE3LjQ2ODcgMjIuNTE4MiAxNy40Njg3QzIxLjUxNzUgMTcuNDY4NyAyMC45NzYyIDE4LjE0MzMgMjAuNzEzNSAxOC43OTUzQzIwLjYxNzUgMTkuMDI4NyAyMC42NDYyIDE5LjY3NCAyMC42NDYyIDIwVjI2SDE3LjMxMjhWMTQuNjY2N0gyMC42NDYyVjE2LjQxMDdDMjEuMTI2OCAxNS42NjY3IDIxLjg3OTUgMTQuNjY2NyAyMy44MDQ4IDE0LjY2NjdDMjYuMTkwMiAxNC42NjY3IDI3Ljk3ODggMTYuMTY2NyAyNy45Nzg4IDE5LjUxNkwyNy45Nzk1IDI2WiIgZmlsbD0iYmxhY2siLz4KPC9nPgo8L3N2Zz4K); + content: ""; + display: flex; + height: 36px; + width: 37px; + background-repeat: no-repeat; +} + +.bluesky-icon:hover { + opacity: 0.6; +} + +.bluesky-icon:before { + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgd2lkdGg9IjM2Ljk5OTk5NiIKICAgaGVpZ2h0PSIzNS45OTk5OTYiCiAgIHZlcnNpb249IjEuMSIKICAgaWQ9InN2ZzkwNSIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzOTA5IiAvPgogIDxlbGxpcHNlCiAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuOTg2MzAzO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgaWQ9InBhdGgxMDEyIgogICAgIGN4PSIxOC40OTk5OTgiCiAgICAgY3k9IjE3Ljk5OTk5OCIKICAgICByeD0iMTguMDA2ODQ3IgogICAgIHJ5PSIxNy41MDY4NDciIC8+CiAgPHBhdGgKICAgICBkPSJtIDEyLjYyNjgwNSwxMC4xMDAxNTQgYyAyLjM3NzMzMSwxLjc4NDc1NCA0LjkzNDQyMyw1LjQwMzQ4NCA1Ljg3MzI1OCw3LjM0NTUwNyAwLjkzODkwNiwtMS45NDE4ODEgMy40OTU4NDksLTUuNTYwNzkyIDUuODczMjU4LC03LjM0NTUwNyAxLjcxNTM1MywtMS4yODc4MDI3IDQuNDk0Njc3LC0yLjI4NDIzMjUgNC40OTQ2NzcsMC44ODY0NjQgMCwwLjYzMzIyNiAtMC4zNjMwNTUsNS4zMTk0NjQgLTAuNTc1OTg4LDYuMDgwMjU1IC0wLjc0MDE2NSwyLjY0NTA0NSAtMy40MzcyOTYsMy4zMTk2NzEgLTUuODM2NDM4LDIuOTExMzU0IDQuMTkzNjU1LDAuNzEzNzQ2IDUuMjYwNDc2LDMuMDc3OTIyIDIuOTU2NTQ1LDUuNDQyMDk3IC00LjM3NTYyNyw0LjQ5MDAzMiAtNi4yODkwNDgsLTEuMTI2NTY2IC02Ljc3OTU2NCwtMi41NjU3NDIgLTAuMDg5ODgsLTAuMjYzODM5IC0wLjEzMTkzMywtMC4zODcyNjQgLTAuMTMyNTU1LC0wLjI4MjMwNyAtNi4yMmUtNCwtMC4xMDQ5NTcgLTAuMDQyNywwLjAxODQ3IC0wLjEzMjU1NSwwLjI4MjMwNyAtMC40OTAyOTYsMS40MzkxNzYgLTIuNDAzNjc4LDcuMDU1OTE2IC02Ljc3OTU1NiwyLjU2NTc0MiBDIDkuMjgzOTE2LDIzLjA1NjE0OSAxMC4zNTA3MDUsMjAuNjkxODMgMTQuNTQ0NDI0LDE5Ljk3ODIyNyAxMi4xNDUyMTgsMjAuMzg2NTQ0IDkuNDQ4MDQ3OSwxOS43MTE5MTIgOC43MDc5OTIzLDE3LjA2Njg3MyA4LjQ5NTA0NjYsMTYuMzA2MDExIDguMTMxOTk4MSwxMS42MTk3NzIgOC4xMzE5OTgxLDEwLjk4NjYxOCBjIDAsLTMuMTcwNjk2NSAyLjc3OTM5NTksLTIuMTc0MjY2NyA0LjQ5NDY4MzksLTAuODg2NDY0IHoiCiAgICAgZmlsbD0iIzExODVmZSIKICAgICBpZD0icGF0aDkwMyIKICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjAzNTc1MTUiIC8+Cjwvc3ZnPgo=); + content: ""; + display: flex; + height: 36px; + width: 37px; + background-repeat: no-repeat; +} + +.mastodon-icon:hover { + opacity: 0.6; +} + +.mastodon-icon:before { + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgd2lkdGg9IjM2Ljk5OTk5NiIKICAgaGVpZ2h0PSIzNS45OTk5OTYiCiAgIHZpZXdCb3g9IjAgMCAzNC42ODc0OTIgMzMuNzQ5OTk2IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczMTU3IgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMzMTYxIiAvPgogIDxlbGxpcHNlCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC45MjQ2NTk7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICBpZD0icGF0aDEwMTIiCiAgICAgY3g9IjE3LjM0Mzc0OCIKICAgICBjeT0iMTYuODc0OTk4IgogICAgIHJ4PSIxNi44ODE0MTgiCiAgICAgcnk9IjE2LjQxMjY2OCIgLz4KICA8ZwogICAgIGlkPSJnMjc2OCIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjY1NjEsMCwwLDAuNjU2MSw3LjUwMjI0ODcsNy4wMzM1KSI+CiAgICA8ZwogICAgICAgaWQ9ImcyNzYzIj4KICAgICAgPHBhdGgKICAgICAgICAgZmlsbD0iIzJiOTBkOSIKICAgICAgICAgZD0ibSAyOC4zOTYwMzcsMTcuOTg0NyBjIC0wLjQxMTM1LDIuMTE2MjMgLTMuNjg0MjIsNC40MzIyNCAtNy40NDMxMSw0Ljg4MTA5IC0xLjk2MDEsMC4yMzM4OCAtMy44ODk5OCwwLjQ0ODg1IC01Ljk0Nzg2LDAuMzU0NDYgLTMuMzY1NDksLTAuMTU0MiAtNi4wMjEwOTA0LC0wLjgwMzMxIC02LjAyMTA5MDQsLTAuODAzMzEgMCwwLjMyNzYzIDAuMDIwMiwwLjYzOTU4IDAuMDYwNiwwLjkzMTMyIDAuNDM3NTMsMy4zMjEzNiAzLjI5MzM5MDQsMy41MjAzMyA1Ljk5ODYxMDQsMy42MTMxIDIuNzMwNDMsMC4wOTM0IDUuMTYxNjksLTAuNjczMTkgNS4xNjE2OSwtMC42NzMxOSBsIDAuMTEyMTcsMi40Njg0MyBjIDAsMCAtMS45MDk4MywxLjAyNTU1IC01LjMxMiwxLjIxNDE3IC0xLjg3NjA2LDAuMTAzMTIgLTQuMjA1NDgsLTAuMDQ3MiAtNi45MTg2MjA0LC0wLjc2NTMyIC01Ljg4NDM0MiwtMS41NTc0OCAtNi44OTYzMTUsLTcuODI5ODkgLTcuMDUxMTU3LC0xNC4xOTQyOCAtMC4wNDcyLC0xLjg4OTYzIC0wLjAxODEsLTMuNjcxNDUgLTAuMDE4MSwtNS4xNjE2OSAwLC02LjUwNzkxIDQuMjYzOTksLTguNDE1NDggNC4yNjM5OSwtOC40MTU0OCBDIDcuNDMxMTY2NiwwLjQ0NjU5IDExLjEyMDM5NywwLjAzMTM2IDE0Ljk1NTc0NywwIGggMC4wOTQyIGMgMy44MzUzNCwwLjAzMTQgNy41MjcsMC40NDY1OSA5LjY3Njg1LDEuNDM0IDAsMCA0LjI2MzgzLDEuOTA3NTcgNC4yNjM4Myw4LjQxNTQ4IDAsMCAwLjA1MzUsNC44MDE1OCAtMC41OTQ2NCw4LjEzNTIyIgogICAgICAgICBpZD0icGF0aDMxNTMiCiAgICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuMTI5MzA1IiAvPgogICAgICA8cGF0aAogICAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgICBkPSJtIDIzLjk2MTE1NywxMy42OTQ2NiB2IDcuODggaCAtMy4xMjE5MSB2IC03LjY0ODM4IGMgMCwtMS42MTIyNyAtMC42NzgzNiwtMi40MzA2MSAtMi4wMzUyNiwtMi40MzA2MSAtMS41MDAyNiwwIC0yLjI1MjE3LDAuOTcwNzYgLTIuMjUyMTcsMi44OTAyOSB2IDQuMTg2NCBoIC0zLjEwMzQ3IHYgLTQuMTg2NCBjIDAsLTEuOTE5NTMgLTAuNzUyMDcsLTIuODkwMjkgLTIuMjUyMzMsLTIuODkwMjkgLTEuMzU2OTAwNCwwIC0yLjAzNTI2MDQsMC44MTgzNCAtMi4wMzUyNjA0LDIuNDMwNjEgdiA3LjY0ODM4IGggLTMuMTIxOTEgdiAtNy44OCBjIDAsLTEuNjEwNDkgMC40MTAwNiwtMi44OTAyOSAxLjIzMzczLC0zLjgzNzEyIDAuODQ5MzgsLTAuOTQ2ODQgMS45NjE3MiwtMS40MzIyMSAzLjM0MjUzMDQsLTEuNDMyMjEgMS41OTc1NywwIDIuODA3MzgsMC42MTQwMyAzLjYwNzI5LDEuODQyMjcgbCAwLjc3NzYsMS4zMDM1NSAwLjc3Nzc3LC0xLjMwMzU1IGMgMC43OTk3NSwtMS4yMjgyNCAyLjAwOTU2LC0xLjg0MjI3IDMuNjA3MjksLTEuODQyMjcgMS4zODA2NSwwIDIuNDkyOTksMC40ODUzNyAzLjM0MjUzLDEuNDMyMjEgMC44MjM1MSwwLjk0NjgzIDEuMjMzNTcsMi4yMjY2MyAxLjIzMzU3LDMuODM3MTIiCiAgICAgICAgIGlkPSJwYXRoMzE1NSIKICAgICAgICAgc3R5bGU9InN0cm9rZS13aWR0aDowLjEyOTMwNSIgLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=); + content: ""; + display: flex; + height: 36px; + width: 37px; + background-repeat: no-repeat; +} + +.close-button { + background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IkNsb3NlIGljb24iPgo8cGF0aCBpZD0iVmVjdG9yIiBkPSJNMjUuNzA4MSAyNC4yOTI2QzI1LjgwMSAyNC4zODU1IDI1Ljg3NDcgMjQuNDk1OCAyNS45MjQ5IDI0LjYxNzJDMjUuOTc1MiAyNC43Mzg2IDI2LjAwMTEgMjQuODY4NyAyNi4wMDExIDI1LjAwMDFDMjYuMDAxMSAyNS4xMzE1IDI1Ljk3NTIgMjUuMjYxNiAyNS45MjQ5IDI1LjM4M0MyNS44NzQ3IDI1LjUwNDQgMjUuODAxIDI1LjYxNDcgMjUuNzA4MSAyNS43MDc2QzI1LjYxNTEgMjUuODAwNSAyNS41MDQ4IDI1Ljg3NDIgMjUuMzgzNSAyNS45MjQ1QzI1LjI2MjEgMjUuOTc0NyAyNS4xMzIgMjYuMDAwNiAyNS4wMDA2IDI2LjAwMDZDMjQuODY5MiAyNi4wMDA2IDI0LjczOTEgMjUuOTc0NyAyNC42MTc3IDI1LjkyNDVDMjQuNDk2MyAyNS44NzQyIDI0LjM4NiAyNS44MDA1IDI0LjI5MzEgMjUuNzA3NkwxNi4wMDA2IDE3LjQxMzhMNy43MDgwNiAyNS43MDc2QzcuNTIwNDIgMjUuODk1MiA3LjI2NTkyIDI2LjAwMDYgNy4wMDA1NiAyNi4wMDA2QzYuNzM1MTkgMjYuMDAwNiA2LjQ4MDcgMjUuODk1MiA2LjI5MzA2IDI1LjcwNzZDNi4xMDU0MiAyNS41MTk5IDYgMjUuMjY1NCA2IDI1LjAwMDFDNiAyNC43MzQ3IDYuMTA1NDIgMjQuNDgwMiA2LjI5MzA2IDI0LjI5MjZMMTQuNTg2OCAxNi4wMDAxTDYuMjkzMDYgNy43MDc1N0M2LjEwNTQyIDcuNTE5OTMgNiA3LjI2NTQzIDYgNy4wMDAwN0M2IDYuNzM0NyA2LjEwNTQyIDYuNDgwMjEgNi4yOTMwNiA2LjI5MjU3QzYuNDgwNyA2LjEwNDkzIDYuNzM1MTkgNS45OTk1MSA3LjAwMDU2IDUuOTk5NTFDNy4yNjU5MiA1Ljk5OTUxIDcuNTIwNDIgNi4xMDQ5MyA3LjcwODA2IDYuMjkyNTdMMTYuMDAwNiAxNC41ODYzTDI0LjI5MzEgNi4yOTI1N0MyNC40ODA3IDYuMTA0OTMgMjQuNzM1MiA1Ljk5OTUxIDI1LjAwMDYgNS45OTk1MUMyNS4yNjU5IDUuOTk5NTEgMjUuNTIwNCA2LjEwNDkzIDI1LjcwODEgNi4yOTI1N0MyNS44OTU3IDYuNDgwMjEgMjYuMDAxMSA2LjczNDcgMjYuMDAxMSA3LjAwMDA3QzI2LjAwMTEgNy4yNjU0MyAyNS44OTU3IDcuNTE5OTMgMjUuNzA4MSA3LjcwNzU3TDE3LjQxNDMgMTYuMDAwMUwyNS43MDgxIDI0LjI5MjZaIiBmaWxsPSJibGFjayIvPgo8L2c+Cjwvc3ZnPgo=); + content: ""; + display: flex; + height: 36px; + width: 36px; + background-repeat: no-repeat; + border: 0px solid; +} + +.cards-list { + list-style-type: none; + padding: 0; + margin: 0; +} + +ul.row { + margin: 0; + padding: 0; +} + +.projects-list { + list-style-type: none; + padding: none; + margin-left: 0; + width: 100%; +} + +.row { + display: flex; + flex-wrap: wrap; + margin: 0 0; +} + +.custom-progress-bar::-webkit-progress-value { + background-color: var(--ifm-color-primary-p1); +} +.custom-progress-bar::-webkit-progress-bar { + background-color: #eee; +} +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.container_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugLayout-styles-module { + padding: 20px; + padding-top: 80px; + overflow-x: hidden; + background-color: #18191a; + color: white; + min-height: 100vh; +} + +.container_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugLayout-styles-module code { + color: white; + background-color: #444950; +} + +.nav_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugLayout-styles-module { + position: fixed; + display: flex; + justify-content: space-evenly; + align-items: center; + height: 3.75rem; + background-color: #242526; + width: 100%; + z-index: 1; +} + +.navlink_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugLayout-styles-module { + color: white; + font-weight: 500; + font-size: clamp(12px, 4vw, 16px); + text-align: center; + border-radius: 4px; + padding: 6px; +} + +.navlink_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugLayout-styles-module:hover { + text-decoration: none; + background-color: #292a2b; +} + +.active_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugLayout-styles-module { + background-color: #363739; +} + +@media screen and (min-width: 800px) { + .nav_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugLayout-styles-module { + flex-direction: column; + justify-content: flex-start; + align-items: center; + height: 100vh; + width: 200px; + float: left; + background-color: #18191a; + border-right: 1px solid #606770; + padding-top: 20px; + } + + .navlink_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugLayout-styles-module { + width: 80%; + margin-top: 20px; + text-align: left; + } + + .container_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugLayout-styles-module { + padding-top: 40px; + float: right; + width: calc(100% - 200px); + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.containerParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + font-family: monospace; + cursor: default; + background-color: rgb(41 42 43); + position: relative; + margin-top: 10px; + padding: 10px; + border-radius: 4px; + font-size: 13px; +} + +.basicElementParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + color: white; + padding: 3px 5px 3px 20px; + border-left: 1px solid rgb(79 66 76); +} + +.labelParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + color: rgb(231 233 219); + letter-spacing: 0.5px; + margin-right: 3px; +} + +.nullValueParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + display: inline-block; + color: rgb(254 196 24); + font-size: 11px; + font-weight: bold; + background-color: rgb(79 66 76); + padding: 1px 2px; + border-radius: 3px; + text-transform: uppercase; +} + +.undefinedValueParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + color: rgb(141 134 135); +} + +.stringValueParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + color: rgb(249 155 21); +} + +.booleanValueParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + color: rgb(129 91 164); +} + +.numberValueParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + color: rgb(233 107 168); +} + +.otherValueParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + color: white; +} + +.punctuationParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + color: white; +} + +.expandIconParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + display: inline-block; + color: rgb(129 91 164); + font-size: 22px; + vertical-align: baseline; + margin-right: 3px; + line-height: 10px; +} + +.collapseIconParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module::after { + content: '\25BE'; +} + +.collapseIconParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + display: inline-block; + color: rgb(6 182 239); + font-size: 22px; + vertical-align: baseline; + margin-right: 3px; + line-height: 10px; +} + +.expandIconParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module::after { + content: '\25B8'; +} + +.collapseContentParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module { + color: rgb(249 155 21); + font-size: 18px; + line-height: 10px; + cursor: pointer; +} + +.collapseContentParaiso_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugJsonView-styles-module::after { + content: '...'; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.listItem_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugRegistry-styles-module { + background-color: #242526; + padding: 10px; + border-radius: 4px; + margin-bottom: 20px; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.listItem_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugRoutes-styles-module { + background-color: #242526; + padding: 10px; + border-radius: 4px; + margin-bottom: 20px; +} + +.route_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugRoutes-styles-module { + margin-bottom: 10px; +} + +.routeName_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugRoutes-styles-module { + color: #e06b6b; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.sectionTitle_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugSiteMetadata-styles-module { + margin-top: 20px; +} + +.listItem_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugSiteMetadata-styles-module { + background-color: #242526; + padding: 10px; + border-radius: 4px; + margin-bottom: 20px; +} + +.version_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugSiteMetadata-styles-module { + float: right; +} + +.name_node_modules-\@docusaurus-plugin-debug-lib-theme-DebugSiteMetadata-styles-module { + font-weight: 800; + color: #e06b6b; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +:root { + --docusaurus-tag-list-border: var(--ifm-color-emphasis-300); +} + +.tag_node_modules-\@docusaurus-theme-classic-lib-theme-Tag-styles-module { + border: 1px solid var(--docusaurus-tag-list-border); + transition: border var(--ifm-transition-fast); +} + +.tag_node_modules-\@docusaurus-theme-classic-lib-theme-Tag-styles-module:hover { + --docusaurus-tag-list-border: var(--ifm-link-color); + text-decoration: none; +} + +.tagRegular_node_modules-\@docusaurus-theme-classic-lib-theme-Tag-styles-module { + border-radius: var(--ifm-global-radius); + padding: 0.2rem 0.5rem 0.3rem; + font-size: 90%; +} + +.tagWithCount_node_modules-\@docusaurus-theme-classic-lib-theme-Tag-styles-module { + display: flex; + align-items: center; + position: relative; + padding: 0 0.5rem 0 1rem; + border-left: 0; +} + +.tagWithCount_node_modules-\@docusaurus-theme-classic-lib-theme-Tag-styles-module::before, +.tagWithCount_node_modules-\@docusaurus-theme-classic-lib-theme-Tag-styles-module::after { + content: ''; + position: absolute; + top: 50%; + border: 1px solid var(--docusaurus-tag-list-border); + transition: inherit; +} + +.tagWithCount_node_modules-\@docusaurus-theme-classic-lib-theme-Tag-styles-module::before { + right: 100%; + transform: translate(50%, -50%) rotate(-45deg); + width: 1.18rem; + height: 1.18rem; + border-right: 0; + border-bottom: 0; +} + +.tagWithCount_node_modules-\@docusaurus-theme-classic-lib-theme-Tag-styles-module::after { + left: 0; + transform: translateY(-50%); + width: 0.5rem; + height: 0.5rem; + border-radius: 50%; +} + +.tagWithCount_node_modules-\@docusaurus-theme-classic-lib-theme-Tag-styles-module span { + background: var(--ifm-color-secondary); + color: var(--ifm-color-black); + font-size: 0.7rem; + line-height: 1.2; + border-radius: var(--ifm-global-radius); + padding: 0.1rem 0.4rem; + margin-left: 0.3rem; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.tags_node_modules-\@docusaurus-theme-classic-lib-theme-TagsListInline-styles-module { + display: inline; +} + +.tag_node_modules-\@docusaurus-theme-classic-lib-theme-TagsListInline-styles-module { + margin: 0 0.4rem 0.5rem 0; + display: inline-block; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.iconEdit_node_modules-\@docusaurus-theme-classic-lib-theme-Icon-Edit-styles-module { + margin-right: 0.3em; + vertical-align: sub; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.lastUpdated_node_modules-\@docusaurus-theme-classic-lib-theme-EditMetaRow-styles-module { + font-size: smaller; + font-style: italic; + margin-top: 0.2rem; +} + +@media (min-width: 997px) { + .lastUpdated_node_modules-\@docusaurus-theme-classic-lib-theme-EditMetaRow-styles-module { + text-align: right; + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.tocCollapsibleButton_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-CollapseButton-styles-module { + font-size: inherit; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0.4rem 0.8rem; + width: 100%; +} + +.tocCollapsibleButton_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-CollapseButton-styles-module::after { + content: ''; + background: var(--ifm-menu-link-sublist-icon) 50% 50% / 2rem 2rem no-repeat; + filter: var(--ifm-menu-link-sublist-icon-filter); + height: 1.25rem; + width: 1.25rem; + transform: rotate(180deg); + transition: transform var(--ifm-transition-fast); +} + +.tocCollapsibleButtonExpanded_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-CollapseButton-styles-module::after { + transform: none; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.tocCollapsible_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-styles-module { + background-color: var(--ifm-menu-color-background-active); + border-radius: var(--ifm-global-radius); + margin: 1rem 0; +} + +.tocCollapsibleContent_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-styles-module > ul { + border-left: none; + border-top: 1px solid var(--ifm-color-emphasis-300); + padding: 0.2rem 0; + font-size: 15px; +} + +.tocCollapsibleContent_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-styles-module ul li { + margin: 0.4rem 0.8rem; +} + +.tocCollapsibleContent_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-styles-module a { + display: block; +} + +.tocCollapsibleExpanded_node_modules-\@docusaurus-theme-classic-lib-theme-TOCCollapsible-styles-module { + transform: none; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +@media (min-width: 997px) { + /* Prevent hydration FOUC, as the mobile TOC needs to be server-rendered */ + .tocMobile_node_modules-\@docusaurus-theme-classic-lib-theme-DocItem-TOC-Mobile-styles-module { + display: none; + } +} + +@media print { + .tocMobile_node_modules-\@docusaurus-theme-classic-lib-theme-DocItem-TOC-Mobile-styles-module { + display: none; + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.tableOfContents_node_modules-\@docusaurus-theme-classic-lib-theme-TOC-styles-module { + max-height: calc(100vh - (var(--ifm-navbar-height) + 2rem)); + overflow-y: auto; + position: sticky; + top: calc(var(--ifm-navbar-height) + 1rem); +} + +@media (max-width: 996px) { + .tableOfContents_node_modules-\@docusaurus-theme-classic-lib-theme-TOC-styles-module { + display: none; + } + + .docItemContainer_node_modules-\@docusaurus-theme-classic-lib-theme-TOC-styles-module { + padding: 0 0.3rem; + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.backToTopButton_node_modules-\@docusaurus-theme-classic-lib-theme-BackToTopButton-styles-module { + position: fixed; + right: 1.3rem; + bottom: 1.3rem; + border-radius: 50%; + background-color: var(--ifm-color-emphasis-200); + width: 3rem; + height: 3rem; + z-index: calc(var(--ifm-z-index-fixed) - 1); + box-shadow: var(--ifm-global-shadow-lw); + transition: all var(--ifm-transition-fast) + var(--ifm-transition-timing-default); + opacity: 0; + transform: scale(0); + visibility: hidden; +} + +.backToTopButton_node_modules-\@docusaurus-theme-classic-lib-theme-BackToTopButton-styles-module::after { + content: ' '; + display: inline-block; + mask: var(--ifm-menu-link-sublist-icon) 50% / 2rem 2rem no-repeat; + background-color: var(--ifm-color-emphasis-1000); + width: 100%; + height: 100%; +} + +@media (hover: hover) { + .backToTopButton_node_modules-\@docusaurus-theme-classic-lib-theme-BackToTopButton-styles-module:hover { + background-color: var(--ifm-color-emphasis-300); + } +} + +.backToTopButtonShow_node_modules-\@docusaurus-theme-classic-lib-theme-BackToTopButton-styles-module { + opacity: 1; + transform: scale(1); + visibility: visible; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.skipToContent_node_modules-\@docusaurus-theme-classic-lib-theme-SkipToContent-styles-module { + position: fixed; + top: 1rem; + left: 100%; + z-index: calc(var(--ifm-z-index-fixed) + 1); + padding: calc(var(--ifm-global-spacing) / 2) var(--ifm-global-spacing); + color: var(--ifm-color-emphasis-900); + background-color: var(--ifm-background-surface-color); +} + +.skipToContent_node_modules-\@docusaurus-theme-classic-lib-theme-SkipToContent-styles-module:focus { + left: 1rem; + box-shadow: var(--ifm-global-shadow-md); +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.closeButton_node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-CloseButton-styles-module { + padding: 0; + line-height: 0; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.content_node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-Content-styles-module { + font-size: 85%; + text-align: center; + padding: 5px 0; +} + +.content_node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-Content-styles-module a { + color: inherit; + text-decoration: underline; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +:root { + --docusaurus-announcement-bar-height: auto; +} + +.announcementBar_node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-styles-module { + display: flex; + align-items: center; + height: var(--docusaurus-announcement-bar-height); + background-color: var(--ifm-color-white); + color: var(--ifm-color-black); + + /* + Unfortunately we can't make announcement bar render above the navbar + IE need to use border-bottom instead of shadow + See https://github.com/facebookincubator/infima/issues/275 + + box-shadow: var(--ifm-global-shadow-lw); + z-index: calc(var(--ifm-z-index-fixed) + 1); + */ + border-bottom: 1px solid var(--ifm-color-emphasis-100); +} + +html[data-announcement-bar-initially-dismissed='true'] .announcementBar_node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-styles-module { + display: none; +} + +.announcementBarPlaceholder_node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-styles-module { + flex: 0 0 10px; +} + +.announcementBarClose_node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-styles-module { + flex: 0 0 30px; + align-self: stretch; +} + +.announcementBarContent_node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-styles-module { + flex: 1 1 auto; +} + +@media print { + .announcementBar_node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-styles-module { + display: none; + } +} + +@media (min-width: 997px) { + :root { + --docusaurus-announcement-bar-height: 30px; + } + + .announcementBarPlaceholder_node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-styles-module, + .announcementBarClose_node_modules-\@docusaurus-theme-classic-lib-theme-AnnouncementBar-styles-module { + flex-basis: 50px; + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.toggle_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module { + width: 2rem; + height: 2rem; +} + +.toggleButton_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module { + -webkit-tap-highlight-color: transparent; + align-items: center; + display: flex; + justify-content: center; + width: 100%; + height: 100%; + border-radius: 50%; + transition: background var(--ifm-transition-fast); +} + +.toggleButton_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module:hover { + background: var(--ifm-color-emphasis-200); +} + +[data-theme='light'] .darkToggleIcon_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module, +[data-theme='dark'] .lightToggleIcon_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module { + display: none; +} + +.toggleButtonDisabled_node_modules-\@docusaurus-theme-classic-lib-theme-ColorModeToggle-styles-module { + cursor: not-allowed; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.darkNavbarColorModeToggle_node_modules-\@docusaurus-theme-classic-lib-theme-Navbar-ColorModeToggle-styles-module:hover { + background: var(--ifm-color-gray-800); +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.themedComponent_node_modules-\@docusaurus-theme-common-lib-components-ThemedComponent-styles-module { + display: none; +} + +[data-theme='light'] .themedComponent--light_node_modules-\@docusaurus-theme-common-lib-components-ThemedComponent-styles-module { + display: initial; +} + +[data-theme='dark'] .themedComponent--dark_node_modules-\@docusaurus-theme-common-lib-components-ThemedComponent-styles-module { + display: initial; +} + +/* +JS disabled??? Show light version by default => better than showing nothing +TODO bad, but we currently always show light mode when there's no data-theme + */ +html:not([data-theme]) .themedComponent--light_node_modules-\@docusaurus-theme-common-lib-components-ThemedComponent-styles-module { + display: initial; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +:root { + --docusaurus-collapse-button-bg: transparent; + --docusaurus-collapse-button-bg-hover: rgb(0 0 0 / 10%); +} + +[data-theme='dark']:root { + --docusaurus-collapse-button-bg: rgb(255 255 255 / 5%); + --docusaurus-collapse-button-bg-hover: rgb(255 255 255 / 10%); +} + +@media (min-width: 997px) { + .collapseSidebarButton_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-CollapseButton-styles-module { + display: block !important; + background-color: var(--docusaurus-collapse-button-bg); + height: 40px; + position: sticky; + bottom: 0; + border-radius: 0; + border: 1px solid var(--ifm-toc-border-color); + } + + .collapseSidebarButtonIcon_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-CollapseButton-styles-module { + transform: rotate(180deg); + margin-top: 4px; + } + + [dir='rtl'] .collapseSidebarButtonIcon_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-CollapseButton-styles-module { + transform: rotate(0); + } + + .collapseSidebarButton_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-CollapseButton-styles-module:hover, + .collapseSidebarButton_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-CollapseButton-styles-module:focus { + background-color: var(--docusaurus-collapse-button-bg-hover); + } +} + +.collapseSidebarButton_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-CollapseButton-styles-module { + display: none; + margin: 0; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.iconExternalLink_node_modules-\@docusaurus-theme-classic-lib-theme-Icon-ExternalLink-styles-module { + margin-left: 0.3rem; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.menuExternalLink_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebarItem-Link-styles-module { + align-items: center; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +@media (min-width: 997px) { + .menuHtmlItem_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebarItem-Html-styles-module { + padding: var(--ifm-menu-link-padding-vertical) + var(--ifm-menu-link-padding-horizontal); + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +@media (min-width: 997px) { + .menu_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-Content-styles-module { + flex-grow: 1; + padding: 0.5rem; + } + @supports (scrollbar-gutter: stable) { + .menu_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-Content-styles-module { + padding: 0.5rem 0 0.5rem 0.5rem; + scrollbar-gutter: stable; + } + } + + .menuWithAnnouncementBar_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-Content-styles-module { + margin-bottom: var(--docusaurus-announcement-bar-height); + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +@media (min-width: 997px) { + .sidebar_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-styles-module { + display: flex; + flex-direction: column; + height: 100%; + padding-top: var(--ifm-navbar-height); + width: var(--doc-sidebar-width); + } + + .sidebarWithHideableNavbar_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-styles-module { + padding-top: 0; + } + + .sidebarHidden_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-styles-module { + opacity: 0; + visibility: hidden; + } + + .sidebarLogo_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-styles-module { + display: flex !important; + align-items: center; + margin: 0 var(--ifm-navbar-padding-horizontal); + min-height: var(--ifm-navbar-height); + max-height: var(--ifm-navbar-height); + color: inherit !important; + text-decoration: none !important; + } + + .sidebarLogo_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-styles-module img { + margin-right: 0.5rem; + height: 2rem; + } +} + +.sidebarLogo_node_modules-\@docusaurus-theme-classic-lib-theme-DocSidebar-Desktop-styles-module { + display: none; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +@media (min-width: 997px) { + .expandButton_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Sidebar-ExpandButton-styles-module { + position: absolute; + top: 0; + right: 0; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + transition: background-color var(--ifm-transition-fast) ease; + background-color: var(--docusaurus-collapse-button-bg); + } + + .expandButton_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Sidebar-ExpandButton-styles-module:hover, + .expandButton_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Sidebar-ExpandButton-styles-module:focus { + background-color: var(--docusaurus-collapse-button-bg-hover); + } + + .expandButtonIcon_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Sidebar-ExpandButton-styles-module { + transform: rotate(0); + } + + [dir='rtl'] .expandButtonIcon_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Sidebar-ExpandButton-styles-module { + transform: rotate(180deg); + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +:root { + --doc-sidebar-width: 300px; + --doc-sidebar-hidden-width: 30px; +} + +.docSidebarContainer_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Sidebar-styles-module { + display: none; +} + +@media (min-width: 997px) { + .docSidebarContainer_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Sidebar-styles-module { + display: block; + width: var(--doc-sidebar-width); + margin-top: calc(-1 * var(--ifm-navbar-height)); + border-right: 1px solid var(--ifm-toc-border-color); + will-change: width; + transition: width var(--ifm-transition-fast) ease; + clip-path: inset(0); + } + + .docSidebarContainerHidden_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Sidebar-styles-module { + width: var(--doc-sidebar-hidden-width); + cursor: pointer; + } + + .sidebarViewport_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Sidebar-styles-module { + top: 0; + position: sticky; + height: 100%; + max-height: 100vh; + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.docMainContainer_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Main-styles-module { + display: flex; + width: 100%; +} + +@media (min-width: 997px) { + .docMainContainer_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Main-styles-module { + flex-grow: 1; + max-width: calc(100% - var(--doc-sidebar-width)); + } + + .docMainContainerEnhanced_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Main-styles-module { + max-width: calc(100% - var(--doc-sidebar-hidden-width)); + } + + .docItemWrapperEnhanced_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-Main-styles-module { + max-width: calc( + var(--ifm-container-width) + var(--doc-sidebar-width) + ) !important; + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.docRoot_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-styles-module { + display: flex; + width: 100%; +} + +.docsWrapper_node_modules-\@docusaurus-theme-classic-lib-theme-DocRoot-Layout-styles-module { + display: flex; + flex: 1 0 auto; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.dropdownNavbarItemMobile_node_modules-\@docusaurus-theme-classic-lib-theme-NavbarItem-DropdownNavbarItem-styles-module { + cursor: pointer; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.iconLanguage_node_modules-\@docusaurus-theme-classic-lib-theme-NavbarItem-LocaleDropdownNavbarItem-styles-module { + vertical-align: text-bottom; + margin-right: 5px; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/* +Workaround to avoid rendering empty search container +See https://github.com/facebook/docusaurus/pull/9385 +*/ +.navbarSearchContainer_node_modules-\@docusaurus-theme-classic-lib-theme-Navbar-Search-styles-module:empty { + display: none; +} + +@media (max-width: 996px) { + .navbarSearchContainer_node_modules-\@docusaurus-theme-classic-lib-theme-Navbar-Search-styles-module { + position: absolute; + right: var(--ifm-navbar-padding-horizontal); + } +} + +@media (min-width: 997px) { + .navbarSearchContainer_node_modules-\@docusaurus-theme-classic-lib-theme-Navbar-Search-styles-module { + padding: var(--ifm-navbar-item-padding-vertical) + var(--ifm-navbar-item-padding-horizontal); + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.navbarHideable_node_modules-\@docusaurus-theme-classic-lib-theme-Navbar-Layout-styles-module { + transition: transform var(--ifm-transition-fast) ease; +} + +.navbarHidden_node_modules-\@docusaurus-theme-classic-lib-theme-Navbar-Layout-styles-module { + transform: translate3d(0, calc(-100% - 2px), 0); +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/* +Hide color mode toggle in small viewports + */ +@media (max-width: 996px) { + .colorModeToggle_node_modules-\@docusaurus-theme-classic-lib-theme-Navbar-Content-styles-module { + display: none; + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.errorBoundaryError_node_modules-\@docusaurus-theme-common-lib-utils-errorBoundaryUtils-module { + white-space: pre-wrap; + color: red; +} + +.errorBoundaryFallback_node_modules-\@docusaurus-theme-common-lib-utils-errorBoundaryUtils-module { + color: red; + padding: 0.55rem; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.footerLogoLink_node_modules-\@docusaurus-theme-classic-lib-theme-Footer-Logo-styles-module { + opacity: 0.5; + transition: opacity var(--ifm-transition-fast) + var(--ifm-transition-timing-default); +} + +.footerLogoLink_node_modules-\@docusaurus-theme-classic-lib-theme-Footer-Logo-styles-module:hover { + opacity: 1; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +body:not(.navigation-with-keyboard) *:not(input):focus { + outline: none; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +#__docusaurus-base-url-issue-banner-container { + display: none; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/* +When the navbar is sticky, ensure that on anchor click, +the browser does not scroll that anchor behind the navbar +See https://twitter.com/JoshWComeau/status/1332015868725891076 + */ +.anchorWithStickyNavbar_node_modules-\@docusaurus-theme-classic-lib-theme-Heading-styles-module { + scroll-margin-top: calc(var(--ifm-navbar-height) + 0.5rem); +} + +.anchorWithHideOnScrollNavbar_node_modules-\@docusaurus-theme-classic-lib-theme-Heading-styles-module { + scroll-margin-top: 0.5rem; +} + +.hash-link { + opacity: 0; + padding-left: 0.5rem; + transition: opacity var(--ifm-transition-fast); + -webkit-user-select: none; + user-select: none; +} + +.hash-link::before { + content: '#'; +} + +.hash-link:focus, +*:hover > .hash-link { + opacity: 1; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.codeBlockContainer_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Container-styles-module { + background: var(--prism-background-color); + color: var(--prism-color); + margin-bottom: var(--ifm-leading); + box-shadow: var(--ifm-global-shadow-lw); + border-radius: var(--ifm-code-border-radius); +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.codeBlockContent_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module { + position: relative; + /* rtl:ignore */ + direction: ltr; + border-radius: inherit; +} + +.codeBlockTitle_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module { + border-bottom: 1px solid var(--ifm-color-emphasis-300); + font-size: var(--ifm-code-font-size); + font-weight: 500; + padding: 0.75rem var(--ifm-pre-padding); + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} + +.codeBlock_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module { + --ifm-pre-background: var(--prism-background-color); + margin: 0; + padding: 0; +} + +.codeBlockTitle_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module + .codeBlockContent_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module .codeBlock_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.codeBlockStandalone_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module { + padding: 0; +} + +.codeBlockLines_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module { + font: inherit; + /* rtl:ignore */ + float: left; + min-width: 100%; + padding: var(--ifm-pre-padding); +} + +.codeBlockLinesWithNumbering_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module { + display: table; + padding: var(--ifm-pre-padding) 0; +} + +@media print { + .codeBlockLines_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module { + white-space: pre-wrap; + } +} + +.buttonGroup_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module { + display: flex; + column-gap: 0.2rem; + position: absolute; + /* rtl:ignore */ + right: calc(var(--ifm-pre-padding) / 2); + top: calc(var(--ifm-pre-padding) / 2); +} + +.buttonGroup_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module button { + display: flex; + align-items: center; + background: var(--prism-background-color); + color: var(--prism-color); + border: 1px solid var(--ifm-color-emphasis-300); + border-radius: var(--ifm-global-radius); + padding: 0.4rem; + line-height: 0; + transition: opacity var(--ifm-transition-fast) ease-in-out; + opacity: 0; +} + +.buttonGroup_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module button:focus-visible, +.buttonGroup_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module button:hover { + opacity: 1 !important; +} + +.theme-code-block:hover .buttonGroup_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module button { + opacity: 0.4; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/* Intentionally has zero specificity, so that to be able to override +the background in custom CSS file due bug https://github.com/facebook/docusaurus/issues/3678 */ +:where(:root) { + --docusaurus-highlighted-code-line-bg: rgb(72 77 91); +} + +:where([data-theme='dark']) { + --docusaurus-highlighted-code-line-bg: rgb(100 100 100); +} + +.theme-code-block-highlighted-line { + background-color: var(--docusaurus-highlighted-code-line-bg); + display: block; + margin: 0 calc(-1 * var(--ifm-pre-padding)); + padding: 0 var(--ifm-pre-padding); +} + +.codeLine_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Line-styles-module { + display: table-row; + counter-increment: line-count; +} + +.codeLineNumber_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Line-styles-module { + display: table-cell; + text-align: right; + width: 1%; + position: sticky; + left: 0; + padding: 0 var(--ifm-pre-padding); + background: var(--ifm-pre-background); + overflow-wrap: normal; +} + +.codeLineNumber_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Line-styles-module::before { + content: counter(line-count); + opacity: 0.4; +} + +.theme-code-block-highlighted-line .codeLineNumber_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Line-styles-module::before { + opacity: 0.8; +} + +.codeLineContent_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Line-styles-module { + padding-right: var(--ifm-pre-padding); +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.theme-code-block:hover .copyButtonCopied_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-CopyButton-styles-module { + opacity: 1 !important; +} + +.copyButtonIcons_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-CopyButton-styles-module { + position: relative; + width: 1.125rem; + height: 1.125rem; +} + +.copyButtonIcon_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-CopyButton-styles-module, +.copyButtonSuccessIcon_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-CopyButton-styles-module { + position: absolute; + top: 0; + left: 0; + fill: currentColor; + opacity: inherit; + width: inherit; + height: inherit; + transition: all var(--ifm-transition-fast) ease; +} + +.copyButtonSuccessIcon_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-CopyButton-styles-module { + top: 50%; + left: 50%; + transform: translate(-50%, -50%) scale(0.33); + opacity: 0; + color: #00d600; +} + +.copyButtonCopied_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-CopyButton-styles-module .copyButtonIcon_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-CopyButton-styles-module { + transform: scale(0.33); + opacity: 0; +} + +.copyButtonCopied_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-CopyButton-styles-module .copyButtonSuccessIcon_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-CopyButton-styles-module { + transform: translate(-50%, -50%) scale(1); + opacity: 1; + transition-delay: 0.075s; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.wordWrapButtonIcon_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-WordWrapButton-styles-module { + width: 1.2rem; + height: 1.2rem; +} + +.wordWrapButtonEnabled_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-WordWrapButton-styles-module .wordWrapButtonIcon_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-WordWrapButton-styles-module { + color: var(--ifm-color-primary); +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/* +CSS variables, meant to be overridden by final theme + */ +.details_node_modules-\@docusaurus-theme-common-lib-components-Details-styles-module { + --docusaurus-details-summary-arrow-size: 0.38rem; + --docusaurus-details-transition: transform 200ms ease; + --docusaurus-details-decoration-color: grey; +} + +.details_node_modules-\@docusaurus-theme-common-lib-components-Details-styles-module > summary { + position: relative; + cursor: pointer; + list-style: none; + padding-left: 1rem; +} + +/* TODO: deprecation, need to remove this after Safari will support `::marker` */ +.details_node_modules-\@docusaurus-theme-common-lib-components-Details-styles-module > summary::-webkit-details-marker { + display: none; +} + +.details_node_modules-\@docusaurus-theme-common-lib-components-Details-styles-module > summary::before { + position: absolute; + top: 0.45rem; + left: 0; + + /* CSS-only Arrow */ + content: ''; + border-width: var(--docusaurus-details-summary-arrow-size); + border-style: solid; + border-color: transparent transparent transparent + var(--docusaurus-details-decoration-color); + + /* Arrow rotation anim */ + transform: rotate(0deg); + transition: var(--docusaurus-details-transition); + transform-origin: calc(var(--docusaurus-details-summary-arrow-size) / 2) 50%; +} + +/* When JS disabled/failed to load: we use the open property for arrow animation: */ +.details_node_modules-\@docusaurus-theme-common-lib-components-Details-styles-module[open]:not(.isBrowser_node_modules-\@docusaurus-theme-common-lib-components-Details-styles-module) > summary::before, + +.details_node_modules-\@docusaurus-theme-common-lib-components-Details-styles-module[data-collapsed='false'].isBrowser_node_modules-\@docusaurus-theme-common-lib-components-Details-styles-module > summary::before { + transform: rotate(90deg); +} + +.collapsibleContent_node_modules-\@docusaurus-theme-common-lib-components-Details-styles-module { + margin-top: 1rem; + border-top: 1px solid var(--docusaurus-details-decoration-color); + padding-top: 1rem; +} + +.collapsibleContent_node_modules-\@docusaurus-theme-common-lib-components-Details-styles-module p:last-child { + margin-bottom: 0; +} + +.details_node_modules-\@docusaurus-theme-common-lib-components-Details-styles-module > summary > p:last-child { + margin-bottom: 0; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.details_node_modules-\@docusaurus-theme-classic-lib-theme-Details-styles-module { + --docusaurus-details-decoration-color: var(--ifm-alert-border-color); + --docusaurus-details-transition: transform var(--ifm-transition-fast) ease; + margin: 0 0 var(--ifm-spacing-vertical); + border: 1px solid var(--ifm-alert-border-color); +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.containsTaskList_node_modules-\@docusaurus-theme-classic-lib-theme-MDXComponents-Ul-styles-module { + list-style: none; +} + +:not(.containsTaskList_node_modules-\@docusaurus-theme-classic-lib-theme-MDXComponents-Ul-styles-module > li) > .containsTaskList_node_modules-\@docusaurus-theme-classic-lib-theme-MDXComponents-Ul-styles-module { + padding-left: 0; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.img_node_modules-\@docusaurus-theme-classic-lib-theme-MDXComponents-Img-styles-module { + height: auto; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.admonition_node_modules-\@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module { + margin-bottom: 1em; +} + +.admonitionHeading_node_modules-\@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module { + font: var(--ifm-heading-font-weight) var(--ifm-h5-font-size) / + var(--ifm-heading-line-height) var(--ifm-heading-font-family); + text-transform: uppercase; +} + +/* Heading alone without content (does not handle fragment content) */ +.admonitionHeading_node_modules-\@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module:not(:last-child) { + margin-bottom: 0.3rem; +} + +.admonitionHeading_node_modules-\@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module code { + text-transform: none; +} + +.admonitionIcon_node_modules-\@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module { + display: inline-block; + vertical-align: middle; + margin-right: 0.4em; +} + +.admonitionIcon_node_modules-\@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module svg { + display: inline-block; + height: 1.6em; + width: 1.6em; + fill: var(--ifm-alert-foreground-color); +} + +.admonitionContent_node_modules-\@docusaurus-theme-classic-lib-theme-Admonition-Layout-styles-module > :last-child { + margin-bottom: 0; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.breadcrumbHomeIcon_node_modules-\@docusaurus-theme-classic-lib-theme-DocBreadcrumbs-Items-Home-styles-module { + position: relative; + top: 1px; + vertical-align: top; + height: 1.1rem; + width: 1.1rem; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.breadcrumbsContainer_node_modules-\@docusaurus-theme-classic-lib-theme-DocBreadcrumbs-styles-module { + --ifm-breadcrumb-size-multiplier: 0.8; + margin-bottom: 0.8rem; +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +.docItemContainer_node_modules-\@docusaurus-theme-classic-lib-theme-DocItem-Layout-styles-module header + *, +.docItemContainer_node_modules-\@docusaurus-theme-classic-lib-theme-DocItem-Layout-styles-module article > *:first-child { + margin-top: 0; +} + +@media (min-width: 997px) { + .docItemCol_node_modules-\@docusaurus-theme-classic-lib-theme-DocItem-Layout-styles-module { + max-width: 75% !important; + } +} + +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +html, +body { + height: 100%; +} + +.mainWrapper_node_modules-\@docusaurus-theme-classic-lib-theme-Layout-styles-module { + flex: 1 0 auto; + display: flex; + flex-direction: column; +} + +/* Docusaurus-specific utility class */ +.docusaurus-mt-lg { + margin-top: 3rem; +} + +#__docusaurus { + min-height: 100%; + display: flex; + flex-direction: column; +} + +.small_portrait_card_src-components-about-styles-module { + width: 279px; + height: 400px; + background-color: white; + color: var(--ifm-color-primary-p2); + border-radius: 8px; + box-shadow: 0px 0px 8px 1px #c8c8c7; + padding: var(--ifm-spacing-lg) var(--ifm-spacing-xs); + margin-bottom: var(--ifm-spacing-xl); +} + +.small_portrait_card_src-components-about-styles-module:hover { + border: solid 1px gray; + cursor: pointer; + -webkit-text-decoration: #0000EE underline; + text-decoration: #0000EE underline; +} + + +.value_text_src-components-about-styles-module p { + font-family: var(--ifm-font-family-roboto); + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 20px; + letter-spacing: 0.25px; + color: var(--ifm-text-color-on-primary-p1); + text-align: justify; +} + +div .row_src-components-about-styles-module { + margin-left: 0; + margin-right: 0; +} + +.bio_container_src-components-about-styles-module { + font-family: var(--ifm-font-family-roboto); + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 24px; + letter-spacing: 0.5px; + color: var(--ifm-color-primary-p2); +} + +.small_card_complete_name_src-components-about-styles-module { + font-size: 24px; + font-family: var(--ifm-font-family-roboto); + color: var(--ifm-color-primary-p2); + font-style: normal; + font-weight: 400; + line-height: 24px; + letter-spacing: 0.15px; + margin: var(--ifm-spacing-xs) 0; + width: 100% +} + +.small_card_position_src-components-about-styles-module { + font-size: 16px; + font-family: var(--ifm-font-family-roboto); + color: var(---ifm-text-color); + font-style: normal; + font-weight: 400; + line-height: 24px; + letter-spacing: 0.5px; + color: var(--ifm-color-primary-p2); + height: 2em; + text-align: center; +} + +.large_card_complete_name_src-components-about-styles-module { + font-family: var(--ifm-font-family-roboto); + font-size: 28px; + color: var(---ifm-text-color); + font-style: normal; + font-weight: 400; + line-height: 40px; + color: var(--ifm-color-primary-p2); +} + +.large_card_position_src-components-about-styles-module { + font-size: var(--ifm--font-size-normal); + font-family: var(--ifm-font-family-roboto); + color: var(--ifm-color-primary-p2); + font-style: normal; + font-weight: 400; + line-height: 24px; /* 133.333% */ + letter-spacing: 0.5px; +} + +a { + color: var(--ifm-color-primary-p2); +} + +div .large_card_position_src-components-about-styles-module { + color: var(--ifm-color-primary-p2); +} + +.social_icons_src-components-about-styles-module { + margin-top: 10px; + margin-bottom: 10px; +} + +.GitHubName_src-components-about-styles-module { + font-size: 16px; + font-family: var(--ifm-font-family-roboto); + font-style: normal; + font-weight: 400; + line-height: 24px; /* 133.333% */ + letter-spacing: 0.5px; + color: var(--ifm-color-primary-p2); +} + +div .join_the_team_title_src-components-about-styles-module { + color: var(--ifm-color-secondary-s2); +} + +.join_the_team_text_src-components-about-styles-module { + margin-bottom: var(--ifm-spacing-2xl); +} + +div .join_the_team_text_src-components-about-styles-module { + color: var(--ifm-color-secondary-s2); +} + +.avatar_src-components-about-styles-module { + filter: grayscale(1); + border-radius: 50%; + overflow: hidden; + height: 160px; + width: 160px; +} + +.distinction_icon_src-components-about-styles-module { + vertical-align: middle; + padding-right: 5px; +} + +@media only screen and (max-width: 996px) { + /*Mobile*/ + .value_card_src-components-about-styles-module { + height: 420px; + width: 264px; + padding: var(--ifm-spacing-lg) var(--ifm-spacing-md); + border-radius: 8px; + box-shadow: 0px 0px 8px 1px #c8c8c7; + background-color: var(--ifm-color-primary-p1); + margin-bottom: var(--ifm-spacing-xl); + } + + .value_header_src-components-about-styles-module { + font-family: var(--ifm-font-family-rubik-one); + font-size: 20px; + font-style: normal; + font-weight: 400; + line-height: 20px; + text-align: center; + margin-bottom: var(--ifm-spacing-xl); + color: var(--ifm-text-color-on-primary-p1); + } + + .value_text_src-components-about-styles-module p { + text-align: justify; + padding: 0; + } + + .large_portrait_card_src-components-about-styles-module { + width: 100%; + height: 100%; + padding: var(--ifm-spacing-xl) var(--ifm-spacing-xl); + } + + .large_portrait_card_src-components-about-styles-module p { + text-align: justify; + } + + .subteam_container_src-components-about-styles-module { + margin: var(--ifm-spacing-3xl) var(--ifm-spacing-2xl); + } + + .team_description_src-components-about-styles-module { + font-family: var(--ifm-font-family-roboto); + font-size: 18px; + font-style: normal; + font-weight: 400; + line-height: 150%; + text-align: center; + } + + .large_card_complete_name_src-components-about-styles-module { + text-align: center; + } + + .large_card_position_src-components-about-styles-module { + text-align: center; + } +} + +@media only screen and (min-width: 996px) { + /*Desktop*/ + .value_card_src-components-about-styles-module { + height: 460px; + width: 264px; + padding: var(--ifm-spacing-2xl) var(--ifm-spacing-lg); + border-radius: 8px; + box-shadow: 0px 0px 8px 1px #c8c8c7; + background-color: var(--ifm-color-primary-p1); + margin-bottom: var(--ifm-spacing-xl); + } + + .value_header_src-components-about-styles-module { + font-family: var(--ifm-font-family-rubik-one); + font-size: var(--ifm-font-size-secondary-title); + font-style: normal; + font-weight: 400; + line-height: 28px; + text-align: center; + margin-bottom: var(--ifm-spacing-xl); + color: var(--ifm-text-color-on-primary-p1); + } + + .large_portrait_card_src-components-about-styles-module { + width: 1000px; + padding: var(--ifm-spacing-xl) var(--ifm-spacing-2xl); + } + + .subteam_container_src-components-about-styles-module { + margin: var(--ifm-spacing-5xl) var(--ifm-spacing-6xl); + } + + .team_description_src-components-about-styles-module { + font-family: var(--ifm-font-family-roboto); + font-size: 22px; + font-style: normal; + font-weight: 400; + line-height: 28px; + text-align: center; + } +} + +.group_photo_container_src-components-careers-styles-module { + margin-top: var(--ifm-spacing-2xl); + padding: 0; +} + +.interview_picture_src-components-careers-styles-module { + width: 100%; + height: auto; +} + +.picture_container_src-components-careers-styles-module { + position: relative; + width: 100%; + display: flex; + align-items: center; + justify-content: center; +} + +.play_interview_src-components-careers-styles-module { + height: 60px; + width: 60px; + position: absolute; + top: 70%; + left: 50%; + transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); +} + +.link_to_WTJ_src-components-careers-styles-module { + background-color: var(--ifm-color-secondary-s2); + color: white; + width: 358px; + font-weight: 700; +} + +.interview_card_src-components-careers-styles-module { + width: 280px; + height: 300px; + background-color: var(--ifm-background-color); + border-radius: 10px; + box-shadow: 0px 0px 8px 1px #c8c8c7; + padding: var(--ifm-spacing-sm); + text-align: center; + margin-bottom: var(--ifm-spacing-xl); +} + +.interview_picture_src-components-careers-styles-module { + width: 284px; +} + +.interviews_container_src-components-careers-styles-module { + margin: var(--ifm-spacing-2xl) 0; +} + +.interview_name_src-components-careers-styles-module { + color: var(--ifm-text-color); + text-align: center; + font-family: var(--ifm-font-family-roboto); + font-size: 22px; + font-style: normal; + font-weight: 400; + line-height: 128.571%; + margin-top: var(--ifm-spacing-lg); +} + +.interview_position_src-components-careers-styles-module { + color: var(--ifm-text-color); + text-align: center; + font-family: var(--ifm-font-family-roboto); + font-size: 16px; + font-style: normal; + font-weight: 400; + line-height: 133.333%; + letter-spacing: 0.5px; +} + +@media only screen and (max-width: 996px) { + /*Mobile*/ + .join_the_team_text_src-components-careers-styles-module { + text-align: center; + font-size: 18px; + font-family: var(--ifm-font-family-roboto); + color: var(--ifm-color-primary-p2); + text-align: center; + font-style: normal; + font-weight: 400; + line-height: 36px; + } + + .join_the_team_container_src-components-careers-styles-module { + margin-top: var(--ifm-spacing-xl); + } +} + +@media only screen and (min-width: 996px) { + /*Desktop*/ + .join_the_team_text_src-components-careers-styles-module { + text-align: center; + font-size: 28px; + font-family: var(--ifm-font-family-roboto); + color: var(--ifm-color-primary-p2); + text-align: center; + font-style: normal; + font-weight: 400; + line-height: 36px; + margin-bottom: var(--ifm-spacing-3xl); + } + + .join_the_team_container_src-components-careers-styles-module { + margin-top: var(--ifm-spacing-5xl); + } +} + +.send_button_src-components-contact-styles-module { + width: 258px; + height: 59px; + background: var(--ifm-color-blue-jupyter); +} + + + +.contact_form_src-components-contact-styles-module { + margin-top: var(--ifm-spacing-xl); +} + +.form_label_src-components-contact-styles-module { + font-size: 12px; + color: var(--ifm-text-color); + background-color: var(--ifm-background-color); +} + + + +@media only screen and (max-width: 996px) { + /*Mobile*/ + .small_input_src-components-contact-styles-module { + width: 300px; + height: 56px; + border-radius: 4px; + } + + .large_input_src-components-contact-styles-module { + width: 300px; + height: 220px; + border-radius: 4px; + } + .send_button_container_src-components-contact-styles-module { + height: 59px; + width: 300px; + margin: var(--ifm-spacing-2xl) 0; + } + + } + + @media only screen and (min-width: 996px) { + /*Desktop*/ + .small_input_src-components-contact-styles-module { + width: 508px; + height: 56px; + border-radius: 4px; + } + + .large_input_src-components-contact-styles-module { + width: 508px; + height: 220px; + border-radius: 4px; + } + .send_button_container_src-components-contact-styles-module { + height: 59px; + width: 508px; + margin: var(--ifm-spacing-2xl) 0; + } + } +.small_project_card_src-components-fundable-styles-module { + border: solid 0.5px; + width: 600px; + height: 200px; + margin: var(--ifm-spacing-xl) 0; +} + +.project_category_header_src-components-fundable-styles-module { + font-family: var(--ifm-font-family-rubik-one); + font-style: normal; + font-weight: 400; + line-height: 20px; + text-align: center; + margin-bottom: var(--ifm-spacing-xl); + color: var(--ifm-color-secondary-s3); + padding: 20px 0; + text-align: left; +} +.project_title_src-components-fundable-styles-module { + color: var(--ifm-text-color-main-title); + font-family: var(--ifm-font-family-bebas-neue); + font-size: 48px; + font-style: normal; + font-weight: 600; + line-height: 150%; /* 72px */ + letter-spacing: 2.112px; + text-align: left; + padding: 0; +} +.project_catch_up_phrase_src-components-fundable-styles-module { + font-family: var(--ifm-font-family-bebas-neue); + font-size: 20px; + font-style: normal; + font-weight: 600; + line-height: 24px; /* 150% */ + letter-spacing: 0.15px; + color: var(--ifm-color-secondary-s3); +} + +@media only screen and (max-width: 996px) { + /*Mobile*/ + .project_category_header_src-components-fundable-styles-module { + font-size: 20px; +} +} + +@media only screen and (min-width: 996px) { + /*Desktop*/ + .project_category_header_src-components-fundable-styles-module { + /*font-size: var(--ifm-font-size-secondary-title);*/ + font-size: 28px; +} +} +.h2_custom_src-components-home-Hero-styles-module { + color: var(--ifm-color-blue-jupyter); +} + +.sub_header_src-components-home-Hero-styles-module { + text-align: left; +} + +.hero_container_src-components-home-Hero-styles-module { + background-color: var(--ifm-color-primary-p0); + padding-bottom: var(--ifm-spacing-3xl); +} + +@media only screen and (max-width: 996px) { + /*Mobile*/ + .logos_carousel_src-components-home-Hero-styles-module { + display: none; + } +} + +@media only screen and (min-width: 996px) { + /*Desktop*/ + .table_with_8_customers_src-components-home-Hero-styles-module { + margin-bottom: var(--ifm-spacing-xl); + } + + .customer_logo_src-components-home-Hero-styles-module { + filter: grayscale(1); + width: 100px; + } + + .worked_with_src-components-home-Hero-styles-module { + font-size: 24px; + font-weight: 200; + font-family: var(--ifm-font-family-rubik-one); + color: var(--ifm-color-primary-p2); + text-align: center; + margin: var(--ifm-spacing-2xl) 0; + } +} + +/* Slider */ +.slick-slider +{ + position: relative; + + display: block; + box-sizing: border-box; + + -webkit-user-select: none; + user-select: none; + + -webkit-touch-callout: none; + -khtml-user-select: none; + touch-action: pan-y; + -webkit-tap-highlight-color: transparent; +} + +.slick-list +{ + position: relative; + + display: block; + overflow: hidden; + + margin: 0; + padding: 0; +} +.slick-list:focus +{ + outline: none; +} +.slick-list.dragging +{ + cursor: pointer; + cursor: hand; +} + +.slick-slider .slick-track, +.slick-slider .slick-list +{ + transform: translate3d(0, 0, 0); +} + +.slick-track +{ + position: relative; + top: 0; + left: 0; + + display: block; + margin-left: auto; + margin-right: auto; +} +.slick-track:before, +.slick-track:after +{ + display: table; + + content: ''; +} +.slick-track:after +{ + clear: both; +} +.slick-loading .slick-track +{ + visibility: hidden; +} + +.slick-slide +{ + display: none; + float: left; + + height: 100%; + min-height: 1px; +} +[dir='rtl'] .slick-slide +{ + float: right; +} +.slick-slide img +{ + display: block; +} +.slick-slide.slick-loading img +{ + display: none; +} +.slick-slide.dragging img +{ + pointer-events: none; +} +.slick-initialized .slick-slide +{ + display: block; +} +.slick-loading .slick-slide +{ + visibility: hidden; +} +.slick-vertical .slick-slide +{ + display: block; + + height: auto; + + border: 1px solid transparent; +} +.slick-arrow.slick-hidden { + display: none; +} + +@charset 'UTF-8'; +/* Slider */ +.slick-loading .slick-list +{ + background: #fff url(data:image/gif;base64,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) center center no-repeat; +} + +/* Icons */ +@font-face +{ + font-family: 'slick'; + font-weight: normal; + font-style: normal; + + src: url(data:application/vnd.ms-fontobject;base64,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); + src: url(data:application/vnd.ms-fontobject;base64,AAgAAGQHAAABAAIAAAAAAAIABQkAAAAAAAABAJABAAAAAExQAQAAgCAAAAAAAAAAAAAAAAEAAAAAAAAATxDE8AAAAAAAAAAAAAAAAAAAAAAAAAoAcwBsAGkAYwBrAAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAKAHMAbABpAGMAawAAAAAAAAEAAAANAIAAAwBQRkZUTW3RyK8AAAdIAAAAHEdERUYANAAGAAAHKAAAACBPUy8yT/b9sgAAAVgAAABWY21hcCIPRb0AAAHIAAABYmdhc3D//wADAAAHIAAAAAhnbHlmP5u2YAAAAzwAAAIsaGVhZAABMfsAAADcAAAANmhoZWED5QIFAAABFAAAACRobXR4BkoASgAAAbAAAAAWbG9jYQD2AaIAAAMsAAAAEG1heHAASwBHAAABOAAAACBuYW1lBSeBwgAABWgAAAFucG9zdC+zMgMAAAbYAAAARQABAAAAAQAA8MQQT18PPPUACwIAAAAAAM9xeH8AAAAAz3F4fwAlACUB2wHbAAAACAACAAAAAAAAAAEAAAHbAAAALgIAAAAAAAHbAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAAHAEQAAgAAAAAAAgAAAAEAAQAAAEAAAAAAAAAAAQIAAZAABQAIAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAIABQkAAAAAAACAAAABAAAAIAAAAAAAAAAAUGZFZABAAGEhkgHg/+AALgHb/9sAAAABAAAAAAAAAgAAAAAAAAACAAAAAgAAJQAlACUAJQAAAAAAAwAAAAMAAAAcAAEAAAAAAFwAAwABAAAAHAAEAEAAAAAMAAgAAgAEAAAAYSAiIZAhkv//AAAAAABhICIhkCGS//8AAP+l3+PedN5xAAEAAAAAAAAAAAAAAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGAIwAsAEWAAIAJQAlAdsB2wAYACwAAD8BNjQvASYjIg8BBhUUHwEHBhUUHwEWMzI2FAcGBwYiJyYnJjQ3Njc2MhcWF/GCBgaCBQcIBR0GBldXBgYdBQgH7x0eMjB8MDIeHR0eMjB8MDIecYIGDgaCBQUeBQcJBFhYBAkHBR4F0nwwMh4dHR4yMHwwMh4dHR4yAAAAAgAlACUB2wHbABgALAAAJTc2NTQvATc2NTQvASYjIg8BBhQfARYzMjYUBwYHBiInJicmNDc2NzYyFxYXASgdBgZXVwYGHQUIBwWCBgaCBQcIuB0eMjB8MDIeHR0eMjB8MDIecR4FBwkEWFgECQcFHgUFggYOBoIF0nwwMh4dHR4yMHwwMh4dHR4yAAABACUAJQHbAdsAEwAAABQHBgcGIicmJyY0NzY3NjIXFhcB2x0eMjB8MDIeHR0eMjB8MDIeAT58MDIeHR0eMjB8MDIeHR0eMgABACUAJQHbAdsAQwAAARUUBisBIicmPwEmIyIHBgcGBwYUFxYXFhcWMzI3Njc2MzIfARYVFAcGBwYjIicmJyYnJjQ3Njc2NzYzMhcWFzc2FxYB2woIgAsGBQkoKjodHBwSFAwLCwwUEhwcHSIeIBMGAQQDJwMCISspNC8mLBobFBERFBsaLCYvKicpHSUIDAsBt4AICgsLCScnCwwUEhwcOhwcEhQMCw8OHAMDJwMDAgQnFBQRFBsaLCZeJiwaGxQRDxEcJQgEBgAAAAAAAAwAlgABAAAAAAABAAUADAABAAAAAAACAAcAIgABAAAAAAADACEAbgABAAAAAAAEAAUAnAABAAAAAAAFAAsAugABAAAAAAAGAAUA0gADAAEECQABAAoAAAADAAEECQACAA4AEgADAAEECQADAEIAKgADAAEECQAEAAoAkAADAAEECQAFABYAogADAAEECQAGAAoAxgBzAGwAaQBjAGsAAHNsaWNrAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAABGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAHMAbABpAGMAawAgADoAIAAxADQALQA0AC0AMgAwADEANAAARm9udEZvcmdlIDIuMCA6IHNsaWNrIDogMTQtNC0yMDE0AABzAGwAaQBjAGsAAHNsaWNrAABWAGUAcgBzAGkAbwBuACAAMQAuADAAAFZlcnNpb24gMS4wAABzAGwAaQBjAGsAAHNsaWNrAAAAAAIAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAgECAQMAhwBECmFycm93cmlnaHQJYXJyb3dsZWZ0AAAAAAAAAf//AAIAAQAAAA4AAAAYAAAAAAACAAEAAwAGAAEABAAAAAIAAAAAAAEAAAAAzu7XsAAAAADPcXh/AAAAAM9xeH8=?#iefix) format('embedded-opentype'), url(data:font/woff;base64,d09GRk9UVE8AAAVkAAsAAAAAB1wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAABCAAAAi4AAAKbH/pWDkZGVE0AAAM4AAAAGgAAABxt0civR0RFRgAAA1QAAAAcAAAAIAAyAARPUy8yAAADcAAAAFIAAABgUBj/rmNtYXAAAAPEAAAAUAAAAWIiC0SwaGVhZAAABBQAAAAuAAAANgABMftoaGVhAAAERAAAABwAAAAkA+UCA2htdHgAAARgAAAADgAAAA4ESgBKbWF4cAAABHAAAAAGAAAABgAFUABuYW1lAAAEeAAAANwAAAFuBSeBwnBvc3QAAAVUAAAAEAAAACAAAwABeJw9ks9vEkEUx2cpWyeUoFYgNkHi2Wt7N3rVm3cTs3UVLC4LxIWEQvi1P3i7O1tYLJDAmlgKGEhQrsajf0j7J3jYTXrQWUrMJG+++b55n5e8NwwKBhHDMLv5kxT3ATEBxKBn3qOAl9zxHgb1MAPhHQgHkyF08Gr/L8B/Eb6zWnmCJ7AJVLubQOheArXvJ1A4EXi6j4I+Zg9F0QFKvsnlBCmXeve+sFEnb/nCptdtQ4QYhVFRAT1HrF8UQK/RL/SbmUbclsvGVFXRZKDHUE38cc4qpkbAAsuwiImvro+ufcfaOIQ6szlrmjRJDaKZKnbjN3GWKIbiIzRFUfCffuxxKOL+3LDlDVvx2TdxN84qZEsnhNBa6pgm2dAsnzbLsETdsmRFxUeHV4e+I2/ptN8TyqV8T3Dt29t7EYOuajVIw2y1Wy3M86w0zg/Fz2IvawmQAUHOVrPVfLkoScVynsqsTG0MGUs4z55nh3mnOJa+li+rl9WpPIcFfDubDeaDC+fLBdYN3QADzLauGfj4B6sZmq6CCpqmtSvF0qlUl2qf5AJIUCSlTqlb7lUG+LRfGzZGzZEyBgccMu6MuqPecNDvD4Y9Kjtj4gD+DsvKVMTcMdtqtZtmkzQstQvYje7Syep0PDSAhSOeHYXYWThEF//A/0YvYV1fSQtpKU5STtrhbQ444OtpKSWJIg3pOg8cBs7maTY1EZf07aq+hjWs7IWzdCYTGhb2CtZ47x+Uhx28AAB4nGNgYGBkAIJz765vANHnCyvqYTQAWnkHswAAeJxjYGRgYOADYgkGEGBiYARCFjAG8RgABHYAN3icY2BmYmCcwMDKwMHow5jGwMDgDqW/MkgytDAwMDGwcjKAQQMDAyOQUmCAgoA01xQGB4ZExUmMD/4/YNBjvP3/NgNEDQPjbbBKBQZGADfLDgsAAHicY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQzMCQqKClOUJz0/z9YHRLv/+L7D+8V3cuHmgAHjGwM6ELUByxUMIOZCmbgAAA5LQ8XeJxjYGRgYABiO68w73h+m68M3EwMIHC+sKIeTqsyqDLeZrwN5HIwgKUB/aYJUgAAeJxjYGRgYLzNwMCgx8QAAkA2IwMqYAIAMGIB7QIAAAACAAAlACUAJQAlAAAAAFAAAAUAAHicbY49asNAEIU/2ZJDfkiRIvXapUFCEqpcptABUrg3ZhEiQoKVfY9UqVLlGDlADpAT5e16IUWysMz3hjfzBrjjjQT/EjKpCy+4YhN5yZoxcirPe+SMWz4jr6S+5UzSa3VuwpTnBfc8RF7yxDZyKs9r5IxHPiKv1P9iZqDnyAvMQ39UecbScVb/gJO03Xk4CFom3XYK1clhMdQUlKo7/d9NF13RkIdfy+MV7TSe2sl11tRFaXYmJKpWTd7kdVnJ8veevZKc+n3I93t9Jnvr5n4aTVWU/0z9AI2qMkV4nGNgZkAGjAxoAAAAjgAF) format('woff'), url(data:font/ttf;base64,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) format('truetype'), url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxtZXRhZGF0YT5HZW5lcmF0ZWQgYnkgRm9udGFzdGljLm1lPC9tZXRhZGF0YT4KPGRlZnM+Cjxmb250IGlkPSJzbGljayIgaG9yaXotYWR2LXg9IjUxMiI+Cjxmb250LWZhY2UgZm9udC1mYW1pbHk9InNsaWNrIiB1bml0cy1wZXItZW09IjUxMiIgYXNjZW50PSI0ODAiIGRlc2NlbnQ9Ii0zMiIvPgo8bWlzc2luZy1nbHlwaCBob3Jpei1hZHYteD0iNTEyIiAvPgoKPGdseXBoIHVuaWNvZGU9IiYjODU5NDsiIGQ9Ik0yNDEgMTEzbDEzMCAxMzBjNCA0IDYgOCA2IDEzIDAgNS0yIDktNiAxM2wtMTMwIDEzMGMtMyAzLTcgNS0xMiA1LTUgMC0xMC0yLTEzLTVsLTI5LTMwYy00LTMtNi03LTYtMTIgMC01IDItMTAgNi0xM2w4Ny04OC04Ny04OGMtNC0zLTYtOC02LTEzIDAtNSAyLTkgNi0xMmwyOS0zMGMzLTMgOC01IDEzLTUgNSAwIDkgMiAxMiA1eiBtMjM0IDE0M2MwLTQwLTktNzctMjktMTEwLTIwLTM0LTQ2LTYwLTgwLTgwLTMzLTIwLTcwLTI5LTExMC0yOS00MCAwLTc3IDktMTEwIDI5LTM0IDIwLTYwIDQ2LTgwIDgwLTIwIDMzLTI5IDcwLTI5IDExMCAwIDQwIDkgNzcgMjkgMTEwIDIwIDM0IDQ2IDYwIDgwIDgwIDMzIDIwIDcwIDI5IDExMCAyOSA0MCAwIDc3LTkgMTEwLTI5IDM0LTIwIDYwLTQ2IDgwLTgwIDIwLTMzIDI5LTcwIDI5LTExMHoiLz4KPGdseXBoIHVuaWNvZGU9IiYjODU5MjsiIGQ9Ik0yOTYgMTEzbDI5IDMwYzQgMyA2IDcgNiAxMiAwIDUtMiAxMC02IDEzbC04NyA4OCA4NyA4OGM0IDMgNiA4IDYgMTMgMCA1LTIgOS02IDEybC0yOSAzMGMtMyAzLTggNS0xMyA1LTUgMC05LTItMTItNWwtMTMwLTEzMGMtNC00LTYtOC02LTEzIDAtNSAyLTkgNi0xM2wxMzAtMTMwYzMtMyA3LTUgMTItNSA1IDAgMTAgMiAxMyA1eiBtMTc5IDE0M2MwLTQwLTktNzctMjktMTEwLTIwLTM0LTQ2LTYwLTgwLTgwLTMzLTIwLTcwLTI5LTExMC0yOS00MCAwLTc3IDktMTEwIDI5LTM0IDIwLTYwIDQ2LTgwIDgwLTIwIDMzLTI5IDcwLTI5IDExMCAwIDQwIDkgNzcgMjkgMTEwIDIwIDM0IDQ2IDYwIDgwIDgwIDMzIDIwIDcwIDI5IDExMCAyOSA0MCAwIDc3LTkgMTEwLTI5IDM0LTIwIDYwLTQ2IDgwLTgwIDIwLTMzIDI5LTcwIDI5LTExMHoiLz4KPGdseXBoIHVuaWNvZGU9IiYjODIyNjsiIGQ9Ik00NzUgMjU2YzAtNDAtOS03Ny0yOS0xMTAtMjAtMzQtNDYtNjAtODAtODAtMzMtMjAtNzAtMjktMTEwLTI5LTQwIDAtNzcgOS0xMTAgMjktMzQgMjAtNjAgNDYtODAgODAtMjAgMzMtMjkgNzAtMjkgMTEwIDAgNDAgOSA3NyAyOSAxMTAgMjAgMzQgNDYgNjAgODAgODAgMzMgMjAgNzAgMjkgMTEwIDI5IDQwIDAgNzctOSAxMTAtMjkgMzQtMjAgNjAtNDYgODAtODAgMjAtMzMgMjktNzAgMjktMTEweiIvPgo8Z2x5cGggdW5pY29kZT0iJiM5NzsiIGQ9Ik00NzUgNDM5bDAtMTI4YzAtNS0xLTktNS0xMy00LTQtOC01LTEzLTVsLTEyOCAwYy04IDAtMTMgMy0xNyAxMS0zIDctMiAxNCA0IDIwbDQwIDM5Yy0yOCAyNi02MiAzOS0xMDAgMzktMjAgMC0zOS00LTU3LTExLTE4LTgtMzMtMTgtNDYtMzItMTQtMTMtMjQtMjgtMzItNDYtNy0xOC0xMS0zNy0xMS01NyAwLTIwIDQtMzkgMTEtNTcgOC0xOCAxOC0zMyAzMi00NiAxMy0xNCAyOC0yNCA0Ni0zMiAxOC03IDM3LTExIDU3LTExIDIzIDAgNDQgNSA2NCAxNSAyMCA5IDM4IDIzIDUxIDQyIDIgMSA0IDMgNyAzIDMgMCA1LTEgNy0zbDM5LTM5YzItMiAzLTMgMy02IDAtMi0xLTQtMi02LTIxLTI1LTQ2LTQ1LTc2LTU5LTI5LTE0LTYwLTIwLTkzLTIwLTMwIDAtNTggNS04NSAxNy0yNyAxMi01MSAyNy03MCA0Ny0yMCAxOS0zNSA0My00NyA3MC0xMiAyNy0xNyA1NS0xNyA4NSAwIDMwIDUgNTggMTcgODUgMTIgMjcgMjcgNTEgNDcgNzAgMTkgMjAgNDMgMzUgNzAgNDcgMjcgMTIgNTUgMTcgODUgMTcgMjggMCA1NS01IDgxLTE1IDI2LTExIDUwLTI2IDcwLTQ1bDM3IDM3YzYgNiAxMiA3IDIwIDQgOC00IDExLTkgMTEtMTd6Ii8+CjwvZm9udD48L2RlZnM+PC9zdmc+Cg==#slick) format('svg'); +} +/* Arrows */ +.slick-prev, +.slick-next +{ + font-size: 0; + line-height: 0; + + position: absolute; + top: 50%; + + display: block; + + width: 20px; + height: 20px; + padding: 0; + transform: translate(0, -50%); + + cursor: pointer; + + color: transparent; + border: none; + outline: none; + background: transparent; +} +.slick-prev:hover, +.slick-prev:focus, +.slick-next:hover, +.slick-next:focus +{ + color: transparent; + outline: none; + background: transparent; +} +.slick-prev:hover:before, +.slick-prev:focus:before, +.slick-next:hover:before, +.slick-next:focus:before +{ + opacity: 1; +} +.slick-prev.slick-disabled:before, +.slick-next.slick-disabled:before +{ + opacity: .25; +} + +.slick-prev:before, +.slick-next:before +{ + font-family: 'slick'; + font-size: 20px; + line-height: 1; + + opacity: .75; + color: white; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.slick-prev +{ + left: -25px; +} +[dir='rtl'] .slick-prev +{ + right: -25px; + left: auto; +} +.slick-prev:before +{ + content: '←'; +} +[dir='rtl'] .slick-prev:before +{ + content: '→'; +} + +.slick-next +{ + right: -25px; +} +[dir='rtl'] .slick-next +{ + right: auto; + left: -25px; +} +.slick-next:before +{ + content: '→'; +} +[dir='rtl'] .slick-next:before +{ + content: '←'; +} + +/* Dots */ +.slick-dotted.slick-slider +{ + margin-bottom: 30px; +} + +.slick-dots +{ + position: absolute; + bottom: -25px; + + display: block; + + width: 100%; + padding: 0; + margin: 0; + + list-style: none; + + text-align: center; +} +.slick-dots li +{ + position: relative; + + display: inline-block; + + width: 20px; + height: 20px; + margin: 0 5px; + padding: 0; + + cursor: pointer; +} +.slick-dots li button +{ + font-size: 0; + line-height: 0; + + display: block; + + width: 20px; + height: 20px; + padding: 5px; + + cursor: pointer; + + color: transparent; + border: 0; + outline: none; + background: transparent; +} +.slick-dots li button:hover, +.slick-dots li button:focus +{ + outline: none; +} +.slick-dots li button:hover:before, +.slick-dots li button:focus:before +{ + opacity: 1; +} +.slick-dots li button:before +{ + font-family: 'slick'; + font-size: 6px; + line-height: 20px; + + position: absolute; + top: 0; + left: 0; + + width: 20px; + height: 20px; + + content: '•'; + text-align: center; + + opacity: .25; + color: black; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.slick-dots li.slick-active button:before +{ + opacity: .75; + color: black; +} + +.topics_header_src-components-home-WhatWeDo-styles-module { + font-family: var(--ifm-font-family-rubik-one); + font-size: var(--ifm-font-size-secondary-title); + font-style: normal; + font-weight: 400; + line-height: 28px; + text-align: center; + margin-bottom: var(--ifm-spacing-xl); +} + +div .topics_header_src-components-home-WhatWeDo-styles-module { + color: var(--ifm-color-neutral-n2); +} + +@media only screen and (max-width: 996px) { + /*Mobile*/ + .header_src-components-home-WhatWeDo-styles-module { + display: none; + } + + .whatwedo_container_src-components-home-WhatWeDo-styles-module { + /*background-color: var(--ifm-color-primary-p1);*/ + padding: 0; + margin-top: 0; + } + + .topics_card_src-components-home-WhatWeDo-styles-module { + width: 80%; + text-align: justify; + background-color: var(--ifm-color-primary-p0); + margin: var(--ifm-spacing-lg) auto var(--ifm-spacing-lg) auto ; + } + + .topics_card_src-components-home-WhatWeDo-styles-module .p_src-components-home-WhatWeDo-styles-module { + padding: var(--ifm-spacing-xs) var(--ifm-spacing-xs); + } + + + .services_link_desktop_src-components-home-WhatWeDo-styles-module { + display: none; + } +} + +@media only screen and (min-width: 996px) { + .header_src-components-home-WhatWeDo-styles-module { + color: var(--ifm-color-primary-p2); + } + + .projects_link_src-components-home-WhatWeDo-styles-module{ + display: none; + } + + .services_link_mobile_src-components-home-WhatWeDo-styles-module { + display: none; + } + + .whatwedo_container_src-components-home-WhatWeDo-styles-module { + background-color: var(--ifm-color-primary-p1); + padding: var(--ifm-spacing-3xl) var(--ifm-spacing-2xl) 0 + var(--ifm-spacing-2xl); + } + + .topics_card_src-components-home-WhatWeDo-styles-module { + height: 462px; + width: 350px; + padding: var(--ifm-spacing-2xl) var(--ifm-spacing-lg); + border-radius: 8px; + box-shadow: 0px 0px 8px 1px #c8c8c7; + background-color: var(--ifm-color-primary-p0); + margin: 0 var(--ifm-spacing-lg) var(--ifm-spacing-xl) var(--ifm-spacing-lg); + } +} + + +@media only screen and (max-width: 996px) { + /*Mobile*/ + .link_to_src-components-home-styles-module { + background-color: var(--ifm-color-primary-p1); + color: var(--ifm-text-color-on-primary-p1); + width: 358px; + font-weight: 700; + } + + .link_to_services_src-components-home-styles-module { + background-color: var(--ifm-color-primary-p1); + color: var(--ifm-text-color-on-primary-p1); + width: 358px; + font-weight: 700; + } + + .link_to_about_us_src-components-home-styles-module { + background-color: var(--ifm-color-primary-p1); + color: var(--ifm-text-color-on-primary-p1); + width: 358px; + font-weight: 700; + } +} + +@media only screen and (min-width: 996px) { + .link_to_src-components-home-styles-module { + background-color: var(--ifm-color-secondary-s2); + color: white; + width: 358px; + font-weight: 700; + } + + .link_to_services_src-components-home-styles-module { + background-color: var(--ifm-color-blue-jupyter); + color: white; + width: 358px; + font-weight: 700; + } + + + .link_to_about_us_src-components-home-styles-module { + background-color: var(--ifm-color-secondary-s2); + color: white; + width: 358px; + font-weight: 700; + } +} + +@media (max-width: 996px) { + .projects_overview_container_src-components-home-ProjectsOverview-styles-module { + display: none; + } +} + +.h2_custom_src-components-home-ProjectsOverview-styles-module { + color: var(--ifm-color-blue-jupyter); +} + +.col_project_overview_with_padding_src-components-home-ProjectsOverview-styles-module { + padding: var(--ifm-spacing-4xl) var(--ifm-spacing-3xl); +} + +.project_yellow_src-components-home-ProjectsOverview-styles-module { + background-color: var(--ifm-color-primary-p1); +} + +.project_light_yellow_src-components-home-ProjectsOverview-styles-module { + background-color: var(--ifm-color-primary-p0); +} + +@media only screen and (max-width: 996px) { + .aboutQS_container_src-components-home-AboutQS-styles-module { + background-color: var(--ifm-color-secondary-s2); + color: white; + padding: var(--ifm-spacing-2xl) var(--ifm-spacing-2xl) 0 + var(--ifm-spacing-2xl); + text-align: center; + } + + .aboutQS_text_src-components-home-AboutQS-styles-module { + font-size: 14px; + text-align: center; + margin-bottom: var(--ifm-spacing-xl); + } + +} + +@media only screen and (min-width: 996px) { + .aboutQS_container_src-components-home-AboutQS-styles-module { + margin-top: var(--ifm-spacing-2xl); + background-color: var(--ifm-color-primary-p1); + color: var(--ifm-color-primary-p2); + padding: var(--ifm-spacing-2xl) var(--ifm-spacing-5xl) 0 + var(--ifm-spacing-5xl); + } + + .aboutQS_text_src-components-home-AboutQS-styles-module { + font-size: 24px; + text-align: center; + margin-bottom: var(--ifm-spacing-lg); + } +} + +.blogpost_image_src-components-blog-styles-module { + filter: grayscale(1); +} + +.blogpost_card_src-components-blog-styles-module { + height: 556px; + width: 369px; + border-radius: 8px; + box-shadow: 4px 4px 18px -1px #dee0fc; + padding: var(--ifm-spacing-xl); + background: var(--ifm-background-color-card); +} + +.blogpost_card_src-components-blog-styles-module:hover { + border: 1px solid #cbc7b1; +} + +div .blogpost_header_src-components-blog-styles-module { + color: var(--ifm-text-color); +} +div .blogpost_summary_src-components-blog-styles-module { + color: var(--ifm-text-color); +} + +div .blogpost_authors_src-components-blog-styles-module { + color: var(--ifm-text-color); +} + +div .blogpost_date_src-components-blog-styles-module { + color: var(--ifm-text-color); +} + +.blogpost_summary_src-components-blog-styles-module { + font-family: var(--ifm-font-family-roboto); + font-size: 14px; + font-style: normal; + font-weight: 300; + line-height: 150%; /* 21px */ + letter-spacing: -0.154px; + text-align: justify; + margin-bottom: var(--ifm-spacing-sm); + height: 124px; + color: var(--ifm-text-color); +} + +.blogpost_header_src-components-blog-styles-module { + color: var(---ifm-text-color); + font-family: var(--ifm-font-family-roboto); + font-size: 16px; + font-style: normal; + font-weight: 600; + line-height: 150%; /* 27px */ + letter-spacing: -0.198px; + height: 64px; + margin: var(--ifm-spacing-xl) 0; + color: var(--ifm-text-color); +} + +.blogpost_date_src-components-blog-styles-module { + color: var(---ifm-text-color); + font-family: var(--ifm-font-family-roboto); + font-size: 12px; + font-style: normal; + font-weight: 800; + line-height: 16px; + letter-spacing: -0.132px; + text-align: left; + color: var(--ifm-text-color); +} + +.blogpost_authors_src-components-blog-styles-module { + font-family: var(--ifm-font-family-roboto); + font-size: 12px; + font-style: normal; + font-weight: 400; + line-height: 16px; + text-align: left; + color: var(--ifm-text-color); +} + +.search_input_src-components-blog-styles-module { + height: 34px; + width: 255px; + font-size: var(--ifm-font-size-small); + background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggaWQ9IlZlY3RvciIgZD0iTTEwLjAwNTcgOS45MzM5Nkg5LjM3MzM2TDkuMTQ5MjMgOS43MDI0QzkuOTMzNjggOC43MjQ3IDEwLjQwNTkgNy40NTU0IDEwLjQwNTkgNi4wNzQ2MUMxMC40MDU5IDIuOTk1NzEgOC4wNzY2MiAwLjUgNS4yMDI5NyAwLjVDMi4zMjkzMyAwLjUgMCAyLjk5NTcxIDAgNi4wNzQ2MUMwIDkuMTUzNTIgMi4zMjkzMyAxMS42NDkyIDUuMjAyOTcgMTEuNjQ5MkM2LjQ5MTcxIDExLjY0OTIgNy42NzYzOSAxMS4xNDMyIDguNTg4OTEgMTAuMzAyN0w4LjgwNTAzIDEwLjU0MjlWMTEuMjIwNEwxMi44MDczIDE1LjVMMTQgMTQuMjIyMUwxMC4wMDU3IDkuOTMzOTZaTTUuMjAyOTcgOS45MzM5NkMzLjIwOTgzIDkuOTMzOTYgMS42MDA5MSA4LjIxMDEyIDEuNjAwOTEgNi4wNzQ2MUMxLjYwMDkxIDMuOTM5MTEgMy4yMDk4MyAyLjIxNTI3IDUuMjAyOTcgMi4yMTUyN0M3LjE5NjExIDIuMjE1MjcgOC44MDUwMyAzLjkzOTExIDguODA1MDMgNi4wNzQ2MUM4LjgwNTAzIDguMjEwMTIgNy4xOTYxMSA5LjkzMzk2IDUuMjAyOTcgOS45MzM5NloiIGZpbGw9IiNCMUI0QzMiLz4KPC9zdmc+Cg==); + background-repeat: no-repeat; + background-position: 8px; + border-radius: 8px; + padding: var(--ifm-spacing-xs) var(--ifm-spacing-lg) var(--ifm-spacing-xs) + var(--ifm-spacing-lg); + margin: var(--ifm-spacing-lg) 0; +} + +@media only screen and (max-width: 996px) { + /*Mobile */ + .news_container_src-components-home-News-styles-module { + display: none; + } +} + +.news_container_src-components-home-News-styles-module { + margin-top: var(--ifm-spacing-2xl); +} + +@media only screen and (max-width: 996px) { + /*Mobile*/ + .learn_more_container_src-components-home-LearnMore-styles-module { + display: none; + } +} + +.project_title_src-components-projects-styles-module { + margin-bottom: var(--ifm-spacing-md); + margin-top: var(--ifm-spacing-xl); + font-family: var(--ifm-font-family-bebas-neue); + font-size: var(--ifm-font-size-secondary-title); + font-style: normal; + font-weight: bolder; + line-height: 150%; + text-align: start; +} + +div .project_title_src-components-projects-styles-module { + color: var(--ifm-color-primary-p2); + padding-left: var(--ifm-spacing-xl); +} + +.project_description_src-components-projects-styles-module { + padding: var(--ifm-spacing-md) var(--ifm-spacing-xl); + text-align: justify; +} + +.project_description_src-components-projects-styles-module p { + color: var(--ifm-color-primary-p2); +} + +@media only screen and (max-width: 996px) { + /*Mobile*/ + .all_projects_container_src-components-projects-styles-module { + margin-bottom: var(--ifm-spacing-3xl); + + } + + .header_container_src-components-projects-styles-module { + padding-top: var(--ifm-spacing-2xl); + background-color: var(--ifm-color-primary-p1); + } + + .header_title_src-components-projects-styles-module { + padding-left: none; + } + + .header_text_src-components-projects-styles-module { + font-family: var(--ifm-font-family-roboto); + color: var(--ifm-color-primary-p2); + font-size: 14px; + font-style: normal; + font-weight: 400; + line-height: 20px; + letter-spacing: 0.25px; + text-align: justify; + margin-bottom: var(--ifm-spacing-lg); + padding: var(--ifm-spacing-lg) var(--ifm-spacing-xl); + } + + .project_text_src-components-projects-styles-module { + background-color: white; + text-align: justify; + } + + .project_picture_jupyter_src-components-projects-styles-module { + border: none; + margin-bottom: var(--ifm-spacing-xl); + } + + .project_picture_xtensorxsimd_src-components-projects-styles-module { + border: none; + margin-bottom: var(--ifm-spacing-xl); + } + + .project_picture_condaforge_src-components-projects-styles-module { + border: none; + margin-bottom: var(--ifm-spacing-xl); + } + + .project_picture_apache_arrow_src-components-projects-styles-module { + border: none; + margin-bottom: var(--ifm-spacing-xl); + } + + .project_picture_robotics_src-components-projects-styles-module { + border: none; + margin-bottom: var(--ifm-spacing-xl); + } +} + +@media only screen and (min-width: 996px) { + /*Desktop*/ + + .all_projects_container_src-components-projects-styles-module { + margin: 0 0 var(--ifm-spacing-5xl) 0 ; + } + .header_container_src-components-projects-styles-module { + margin-top: var(--ifm-spacing-6xl); + } + .header_title_src-components-projects-styles-module { + padding-left: var(--ifm-spacing-4xl); + } + + .header_text_src-components-projects-styles-module { + font-family: var(--ifm-font-family-roboto); + color: var(--ifm-color-primary-p2); + font-size: 22px; + font-style: normal; + font-weight: 400; + line-height: 28px; + margin-bottom: var(--ifm-spacing-3xl); + padding: var(--ifm-spacing-lg) var(--ifm-spacing-4xl); + } + + .project_text_src-components-projects-styles-module { + background-color: var(--ifm-color-orange-light); + padding: var(--ifm-spacing-4xl) var(--ifm-spacing-3xl); + margin-bottom: var(--ifm-spacing-lg); + border-radius: 10px; + } + + .project_picture_jupyter_src-components-projects-styles-module { + border: solid 1px var(--ifm-color-orange-jupyter); + margin-bottom: var(--ifm-spacing-lg); + border-radius: 10px; + } + + .project_picture_xtensorxsimd_src-components-projects-styles-module { + border: solid 1px var(--ifm-color-green-xtensor); + margin-bottom: var(--ifm-spacing-lg); + border-radius: 10px; + } + + .project_picture_condaforge_src-components-projects-styles-module { + border: solid 1px var(--ifm-color-grey-condaforge); + margin-bottom: var(--ifm-spacing-lg); + border-radius: 10px; + } + + .project_picture_apache_arrow_src-components-projects-styles-module { + border: solid 1px black; + margin-bottom: var(--ifm-spacing-lg); + border-radius: 10px; + } + + .project_picture_robotics_src-components-projects-styles-module { + border: solid 1px rgb(146, 95, 218); + margin-bottom: var(--ifm-spacing-lg); + border-radius: 10px; + } +} + +.h2_custom_src-components-services-styles-module { + color: var(--ifm-color-indigo-i1); +} + +ul { + padding-left: 20px; +} +.footer_container_src-components-footer-styles-module { + background-color: var(--ifm-color-primary-p1); + padding: var(--ifm-spacing-xl) var(--ifm-spacing-2xl) 0 var(--ifm-spacing-2xl); +} + +.copyright_container_src-components-footer-styles-module { + text-align: center; + padding-bottom: var(--ifm-spacing-lg); +} + +@media only screen and (max-width: 996px) { + /*Mobile*/ + .menu_container_src-components-footer-styles-module { + display: none; + } + + .col_social_media_desktop_src-components-footer-styles-module { + display: none; + } + + .col_address_desktop_src-components-footer-styles-module { + display: none; + } +} + +@media only screen and (min-width: 996px) { + /*Desktop*/ + + .col_social_media_mobile_src-components-footer-styles-module { + display: none; + } + + .col_social_media_and_address_mobile_src-components-footer-styles-module { + display: none; + } +} + From f5fb97a61d1b720b504258b43e1f5a956e28a880 Mon Sep 17 00:00:00 2001 From: Florence Haudin Date: Mon, 7 Jul 2025 19:45:00 +0200 Subject: [PATCH 04/12] Resize elements of the navbar. --- docusaurus.config.ts | 2 +- src/css/custom.css | 67 ++++++++----- static/img/quantstack/.svg | 99 +++++++++++++++++++ .../img/quantstack/logo-website-smaller.svg | 99 +++++++++++++++++++ static/img/socialmedias/Bluesky.svg | 32 +++--- static/img/socialmedias/GH.svg | 36 ++++++- static/img/socialmedias/LinkedIn.svg | 36 ++++++- static/img/socialmedias/Mastodon.svg | 54 +++++----- static/img/socialmedias/RSS.svg | 78 ++++++--------- 9 files changed, 383 insertions(+), 120 deletions(-) create mode 100644 static/img/quantstack/.svg create mode 100644 static/img/quantstack/logo-website-smaller.svg diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 0726b589..163c1c32 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -88,7 +88,7 @@ const config: Config = { title: "", logo: { alt: "QuantStack Logo", - src: "img/quantstack/logo-website.svg", + src: "img/quantstack/logo-website-smaller.svg", }, items: [ diff --git a/src/css/custom.css b/src/css/custom.css index 7f55c2a7..afdc4edb 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -18,6 +18,8 @@ --ifm-color-secondary-s1: #a0c9ff; --ifm-color-secondary-s2: #002646; + --ifm-color-secondary-s3: #00497F; + --ifm-color-neutral-n1: #605e58; --ifm-color-neutral-n2: #371300; @@ -185,6 +187,7 @@ ul { .row-with-margins { margin: var(--ifm-spacing-xl) 0; } + .col { padding: 0; } @@ -195,7 +198,8 @@ ul { font-size: 32px; font-style: normal; font-weight: 600; - line-height: 150%; /* 36px */ + line-height: 150%; + /* 36px */ letter-spacing: 1.056px; text-align: center; padding: 0; @@ -230,8 +234,7 @@ ul { font-size: 16px; font-weight: 500; color: var(--ifm-color-secondary-s2); - padding: var(--ifm-spacing-2xl) var(--ifm-spacing-lg) 0 - var(--ifm-spacing-lg); + padding: var(--ifm-spacing-2xl) var(--ifm-spacing-lg) 0 var(--ifm-spacing-lg); background-color: var(--ifm-color-secondary-s1); line-height: 20px; letter-spacing: 0.1px; @@ -341,8 +344,7 @@ ul { line-height: 150%; background-color: var(--ifm-color-secondary-s1); color: var(--ifm-color-secondary-s2); - padding: var(--ifm-spacing-2xl) var(--ifm-spacing-4xl) 0 - var(--ifm-spacing-4xl); + padding: var(--ifm-spacing-2xl) var(--ifm-spacing-4xl) 0 var(--ifm-spacing-4xl); } .blue-banner-header { @@ -385,6 +387,7 @@ ul { justify-content: center; } } + /***********************************************************/ .social-media-links { @@ -494,14 +497,20 @@ a { a:hover, /* We need to (re)override some of the infima rules to have proper states on navbar links, table of contents, and docs sidebar links, respectively */ -a.navbar__link:hover, /* Top bar navigation links */ -a.table-of-contents__link:hover, /*Right sidebar links (table of contents) */ -a[class^="sidebarItemLink"]:hover /* The docs sidebar links do not have its own class */ { +a.navbar__link:hover, +/* Top bar navigation links */ +a.table-of-contents__link:hover, +/*Right sidebar links (table of contents) */ +a[class^="sidebarItemLink"]:hover + +/* The docs sidebar links do not have its own class */ + { /*text-decoration: underline; text-decoration-thickness: var(--pydata-link-hover-decoration-thickness); text-decoration-skip-ink: none; text-decoration-skip: none;*/ } + a:active, a.navbar__link:active, a.table-of-contents__link:active, @@ -511,13 +520,15 @@ a[class^="sidebarItemLink"]:active { /* In some cases, we override the underlines because there are other elements that already report the state (e.g. borders, background colors, etc) */ -a[class^="sidebarItemLink"][aria-current="page"], /* No underline if this is the current page */ +a[class^="sidebarItemLink"][aria-current="page"], +/* No underline if this is the current page */ a.navbar__link, .navbar-sidebar__item, .menu a, .navbar__items--right a, .pagination-nav__link, -a.card, /* These cards are used in index-like documentation pages */ +a.card, +/* These cards are used in index-like documentation pages */ a.card:hover { text-decoration: none; } @@ -530,6 +541,7 @@ a.menu__link:active { background: white; color: #000; } + [data-theme="dark"] .pagination-nav__link:active, [data-theme="dark"] a.card:active, [data-theme="dark"] a.menu__link:active { @@ -549,10 +561,11 @@ a.menu__link:active { .contact { background-color: var(--ifm-color-primary-p1); color: var(--ifm-color-text-on-primary-p1); + font-size: 14px; border-radius: 4px; font-weight: bolder; font-style: normal; - margin: var(--ifm-navbar-item-padding-vertical) 8px; + margin: var(--ifm-navbar-item-padding-vertical) 2px; } .contact:hover { @@ -561,10 +574,12 @@ a.menu__link:active { .fundable_projects { background-color: var(--ifm-color-secondary-s1); + font-size: 14px; color: black; border-radius: 4px; + font-weight: bolder; font-style: normal; - margin: var(--ifm-navbar-item-padding-vertical) 8px; + margin: var(--ifm-navbar-item-padding-vertical) 2px; } .fundable_projects:hover { @@ -607,8 +622,8 @@ a.menu__link:active { background: url(@site/static/img/socialmedias/RSS.svg); content: ""; display: flex; - height: 36px; - width: 36px; + height: 32px; + width: 32px; background-repeat: no-repeat; } @@ -620,8 +635,8 @@ a.menu__link:active { background: url(@site/static/img/socialmedias/GH.svg); content: ""; display: flex; - height: 36px; - width: 37px; + height: 32px; + width: 32px; background-repeat: no-repeat; } @@ -633,8 +648,8 @@ a.menu__link:active { background: url(@site/static/img/socialmedias/LinkedIn.svg); content: ""; display: flex; - height: 36px; - width: 37px; + height: 32px; + width: 32px; background-repeat: no-repeat; } @@ -646,8 +661,8 @@ a.menu__link:active { background: url(@site/static/img/socialmedias/Bluesky.svg); content: ""; display: flex; - height: 36px; - width: 37px; + height: 32px; + width: 32px; background-repeat: no-repeat; } @@ -659,8 +674,8 @@ a.menu__link:active { background: url(@site/static/img/socialmedias/Mastodon.svg); content: ""; display: flex; - height: 36px; - width: 37px; + height: 32px; + width: 32px; background-repeat: no-repeat; } @@ -701,3 +716,11 @@ ul.row { .items-list { list-style-type: none; } + +.custom-progress-bar::-webkit-progress-value { + background-color: var(--ifm-color-primary-p1); +} + +.custom-progress-bar::-webkit-progress-bar { + background-color: #eee; +} diff --git a/static/img/quantstack/.svg b/static/img/quantstack/.svg new file mode 100644 index 00000000..a18c7049 --- /dev/null +++ b/static/img/quantstack/.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/quantstack/logo-website-smaller.svg b/static/img/quantstack/logo-website-smaller.svg new file mode 100644 index 00000000..beb87ccc --- /dev/null +++ b/static/img/quantstack/logo-website-smaller.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/img/socialmedias/Bluesky.svg b/static/img/socialmedias/Bluesky.svg index 1476cc8f..fdd1feeb 100644 --- a/static/img/socialmedias/Bluesky.svg +++ b/static/img/socialmedias/Bluesky.svg @@ -1,23 +1,27 @@ - - + + + + diff --git a/static/img/socialmedias/GH.svg b/static/img/socialmedias/GH.svg index 422fe250..44a7bdd3 100644 --- a/static/img/socialmedias/GH.svg +++ b/static/img/socialmedias/GH.svg @@ -1,6 +1,32 @@ - - - - - + + + + + + + + + diff --git a/static/img/socialmedias/LinkedIn.svg b/static/img/socialmedias/LinkedIn.svg index e0fad5d9..e6d14a5c 100644 --- a/static/img/socialmedias/LinkedIn.svg +++ b/static/img/socialmedias/LinkedIn.svg @@ -1,6 +1,32 @@ - - - - - + + + + + + + + + diff --git a/static/img/socialmedias/Mastodon.svg b/static/img/socialmedias/Mastodon.svg index 4a997208..664f1e55 100644 --- a/static/img/socialmedias/Mastodon.svg +++ b/static/img/socialmedias/Mastodon.svg @@ -1,36 +1,44 @@ - + id="g1" + transform="translate(-2.3437472,-1.8749971)"> - - + id="g2" + transform="matrix(0.8888889,0,0,0.888889,1.9270827,1.8749976)"> + + + + + + + diff --git a/static/img/socialmedias/RSS.svg b/static/img/socialmedias/RSS.svg index a7af1f75..5994afc6 100644 --- a/static/img/socialmedias/RSS.svg +++ b/static/img/socialmedias/RSS.svg @@ -4,38 +4,16 @@ + id="defs3" /> + transform="translate(-211.86549,-211.86549)"> + id="g1" + transform="matrix(0.88888889,0,0,0.88888889,25.318388,25.318388)"> From 4ddd4b374299ca9f322435b70f1997311a4d22b6 Mon Sep 17 00:00:00 2001 From: Florence Haudin Date: Mon, 7 Jul 2025 22:43:21 +0200 Subject: [PATCH 05/12] Take comments into account and fix various issues. --- src/components/fundable/GetAQuoteForm.tsx | 156 +++++++++--------- src/components/fundable/GetAQuotePage.tsx | 6 +- src/components/fundable/LargeProjectCard.tsx | 51 ++++++ src/components/fundable/MenuSideBar.tsx | 2 +- src/components/fundable/SmallProjectCard.tsx | 49 +++--- .../EmscriptenForgePackageRequests.md | 18 ++ .../JupyterGISRasterProcessing.md | 21 +++ .../JupyterGISToolsForPythonAPI.md | 16 ++ .../JupyterLabParquetFileViewer.md | 14 ++ .../descriptions/NbconvertModernization.md | 18 ++ src/components/fundable/index.tsx | 2 +- src/components/fundable/projectsDetails.ts | 24 --- src/components/fundable/styles.module.css | 81 +++++---- static/img/avatars/QuantStack.html | 2 +- 14 files changed, 277 insertions(+), 183 deletions(-) create mode 100644 src/components/fundable/LargeProjectCard.tsx create mode 100644 src/components/fundable/descriptions/EmscriptenForgePackageRequests.md create mode 100644 src/components/fundable/descriptions/JupyterGISRasterProcessing.md create mode 100644 src/components/fundable/descriptions/JupyterGISToolsForPythonAPI.md create mode 100644 src/components/fundable/descriptions/JupyterLabParquetFileViewer.md create mode 100644 src/components/fundable/descriptions/NbconvertModernization.md diff --git a/src/components/fundable/GetAQuoteForm.tsx b/src/components/fundable/GetAQuoteForm.tsx index 214fc3ed..af0ff675 100644 --- a/src/components/fundable/GetAQuoteForm.tsx +++ b/src/components/fundable/GetAQuoteForm.tsx @@ -1,90 +1,88 @@ import styles from "./styles.module.css"; export default function GetAQuoteForm() { - return ( - <> -
-
-
- -
-
- -
-
- -
-
- -
+ return ( +
+
+
+
+ +
+
+
-
-
- -
-
- -
+
+
-
-
- -
-
- -
+
+
-
-
- -
-
- -
+
+
+
+
-
-
- -
-
- -
+
+
+
+
-
- + +
+
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+
- - - ); - } \ No newline at end of file +
+
+ +
+ +
+ ); +} \ No newline at end of file diff --git a/src/components/fundable/GetAQuotePage.tsx b/src/components/fundable/GetAQuotePage.tsx index 3cb243d6..405cff4c 100644 --- a/src/components/fundable/GetAQuotePage.tsx +++ b/src/components/fundable/GetAQuotePage.tsx @@ -11,17 +11,17 @@ import FundableProjects from "."; function GetAQuoteComponent({ project }) { return (
-
+

Get a quote

-
+

Get a quote

-
+
diff --git a/src/components/fundable/LargeProjectCard.tsx b/src/components/fundable/LargeProjectCard.tsx new file mode 100644 index 00000000..2b95bed2 --- /dev/null +++ b/src/components/fundable/LargeProjectCard.tsx @@ -0,0 +1,51 @@ +import styles from "./styles.module.css"; +import React from "react"; +import IconContainer from "./IconContainer"; +import LinkToGetAQuote from "./LinkToGetAQuote"; +import { useHistory, useLocation } from "@docusaurus/router"; + +export function LargeProjectCardContent({ project }) { + const history = useHistory(); + const location = useLocation(); + + function openDialog() { + const pageName = project.pageName; + + history.push({ + pathname: `/fundable/${pageName}/GetAQuote`, + state: { from: location.pathname, scrollY: window.scrollY }, + }); + } + return ( +
+
+
+
{project.title}
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+ ) +} +export default function LargeProjectCard({ project }) { + return ( +
+ +
+
+
+
+
+
+ ); +} diff --git a/src/components/fundable/MenuSideBar.tsx b/src/components/fundable/MenuSideBar.tsx index c751a776..534c43aa 100644 --- a/src/components/fundable/MenuSideBar.tsx +++ b/src/components/fundable/MenuSideBar.tsx @@ -4,7 +4,7 @@ import styles from "./styles.module.css"; const sections = [ { id: 'jupyter-ecosystem', label: 'Jupyter Ecosystem' }, - { id: 'project-management', label: 'Project Management' }, + { id: 'package-management', label: 'Package Management' }, ]; export default function MenuSideBar() { diff --git a/src/components/fundable/SmallProjectCard.tsx b/src/components/fundable/SmallProjectCard.tsx index 9b0ca109..dba7e93d 100644 --- a/src/components/fundable/SmallProjectCard.tsx +++ b/src/components/fundable/SmallProjectCard.tsx @@ -30,11 +30,6 @@ export function SmallProjectCard({ project }) { > {project.title}
-
- {project.catchUpPhrase} -
@@ -47,9 +42,6 @@ export function SmallProjectCard({ project }) {
-
- -
@@ -78,37 +70,34 @@ export function SmallProjectCard({ project }) {
Indicative price
+
+ Funded at {project.currentFundingPercentage} % +
-
- Financed at {project.currentFundingPercentage} % -
-
- -
-
-
-
{project.maxNbOfFunders === 1 - ? 'Not shareable between funders' - : `Shareable between ${project.maxNbOfFunders} funders` - } -
+ +
+
+
+
{project.maxNbOfFunders === 1 + ? 'Not shareable between funders' + : `Shareable between ${project.maxNbOfFunders} funders` + }
-
-
-
- {project.currentNbOfFunders === 0 - ? 'The project is not supported yet' - : `Supported by ${project.currentNbOfFunders} +
+
+
+
+ {project.currentNbOfFunders === 0 + ? 'This project does not have any backers yet' + : `Backed by ${project.currentNbOfFunders} ${project.currentNbOfFunders === 1 ? 'funder' : 'funders'} `} -
-
-
+
) } \ No newline at end of file diff --git a/src/components/fundable/descriptions/EmscriptenForgePackageRequests.md b/src/components/fundable/descriptions/EmscriptenForgePackageRequests.md new file mode 100644 index 00000000..ea94e7b7 --- /dev/null +++ b/src/components/fundable/descriptions/EmscriptenForgePackageRequests.md @@ -0,0 +1,18 @@ +#### Overview +Emscripten-forge is a conda package distribution specifically designed for WebAssembly. When combined with JupyterLite and the jupyterlite-xeus extension, it enables easy deployment of JupyterLite with a preconfigured conda environment that includes essential packages like NumPy, Pandas, Matplotlib, and more. + +While the number of available emscripten-forge packages is growing quickly, many packages are still missing from the ecosystem. + +We will be working on adding new packages upon request. + +#### Option A +This is option A. + +#### Option B +This is option B. + +#### Custom option +This is custom option. + + +##### Are you interested in this project? Either entirely or partially, contact us for more information on how to help us fund it \ No newline at end of file diff --git a/src/components/fundable/descriptions/JupyterGISRasterProcessing.md b/src/components/fundable/descriptions/JupyterGISRasterProcessing.md new file mode 100644 index 00000000..e74895a5 --- /dev/null +++ b/src/components/fundable/descriptions/JupyterGISRasterProcessing.md @@ -0,0 +1,21 @@ +#### Overview +Similar to QGIS, JupyterGIS currently offers a set of vector processing and conversion tools such as buffer creation, centroid calculation, and convex hull generation. These capabilities are powered by a GDAL WebAssembly (WASM) build running in the browser. + +We will work on extending support to raster processing tools using the same underlying technology. Planned features (non-exhaustive and subject to request needs) include: + +- Clipping by extent +- Clipping by mask layer +- Generating contours +- Polygonizing raster data + +#### Option A +This is option A. + +#### Option B +This is option B. + +#### Custom option +This is custom option. + + +##### Are you interested in this project? Either entirely or partially, contact us for more information on how to help us fund it \ No newline at end of file diff --git a/src/components/fundable/descriptions/JupyterGISToolsForPythonAPI.md b/src/components/fundable/descriptions/JupyterGISToolsForPythonAPI.md new file mode 100644 index 00000000..a3c94598 --- /dev/null +++ b/src/components/fundable/descriptions/JupyterGISToolsForPythonAPI.md @@ -0,0 +1,16 @@ +#### Overview +JupyterGIS currently supports several vector processing and conversion tools such as buffer creation, centroid computation, and convex hull generation, similar to what QGIS offers. These features are powered by a GDAL WebAssembly (WASM) build and are currently available only through the JupyterGIS user interface. + +We plan to extend these capabilities to the JupyterGIS Python API, enabling users to access the same processing tools programmatically, just as they would via the UI. This functionality will be implemented using the GDAL Python bindings. + +#### Option A +This is option A. + +#### Option B +This is option B. + +#### Custom option +This is custom option. + + +##### Are you interested in this project? Either entirely or partially, contact us for more information on how to help us fund it \ No newline at end of file diff --git a/src/components/fundable/descriptions/JupyterLabParquetFileViewer.md b/src/components/fundable/descriptions/JupyterLabParquetFileViewer.md new file mode 100644 index 00000000..dc53f7ac --- /dev/null +++ b/src/components/fundable/descriptions/JupyterLabParquetFileViewer.md @@ -0,0 +1,14 @@ +#### Overview +To be written. + +#### Option A +This is option A. + +#### Option B +This is option B. + +#### Custom option +This is custom option. + + +##### Are you interested in this project? Either entirely or partially, contact us for more information on how to help us fund it \ No newline at end of file diff --git a/src/components/fundable/descriptions/NbconvertModernization.md b/src/components/fundable/descriptions/NbconvertModernization.md new file mode 100644 index 00000000..eed71f63 --- /dev/null +++ b/src/components/fundable/descriptions/NbconvertModernization.md @@ -0,0 +1,18 @@ +#### Overview +Conversion of Jupyter notebooks to PDF currently relies on nbconvert in the backend, which in turns uses a headless browser for producing the PDF. We propose to directly perform the PDF conversion in the user's browser, which will simplify the architecture and make it function with JupyterLite. + +Nbconvert heavily relies on Jinja2 templates for conversion to different formats. + +We will utilize a JavaScript implementation of Jinja2 covering the required features of Jinja to produce a frontend version of nbconvert that does not require Python but still provides a good coverage of the nbconvert features, including the use of custom templates. + +#### Option A +This is option A. + +#### Option B +This is option B. + +#### Custom option +This is custom option. + + +##### Are you interested in this project? Either entirely or partially, contact us for more information on how to help us fund it \ No newline at end of file diff --git a/src/components/fundable/index.tsx b/src/components/fundable/index.tsx index d49d0b16..23176898 100644 --- a/src/components/fundable/index.tsx +++ b/src/components/fundable/index.tsx @@ -24,7 +24,7 @@ export function MainAreaFundableProjects() { projectCategory={fundableProjectsDetails.jupyterEcosystem} /> -
+
-

Check out our projects available for funding!

Jupyter Ecosystem

  • Modernize nbconvert
    Help us to modernize nbconvert

    Financed at 25 %

Package Management

  • New feature
    Help us to make mamba more complete

    Financed at 33 %

+

Check out our projects available for funding!

Jupyter Ecosystem

  • Modernize nbconvert
    Help us to modernize nbconvert

    funded at 25 %

Package Management

  • New feature
    Help us to make mamba more complete

    funded at 33 %

From fa9856d65884389fc2d52253f80cb0f5f6b4899c Mon Sep 17 00:00:00 2001 From: Florence Haudin Date: Wed, 9 Jul 2025 15:49:38 +0200 Subject: [PATCH 06/12] Add a propose a project section with a card including a form. --- src/components/fundable/GetAQuoteForm.tsx | 12 +- src/components/fundable/MenuSideBar.tsx | 5 +- .../fundable/SmallProjectCardWithInputs.tsx | 114 ++++++++++++++++++ src/components/fundable/index.tsx | 11 +- src/components/fundable/styles.module.css | 52 +++++++- 5 files changed, 180 insertions(+), 14 deletions(-) create mode 100644 src/components/fundable/SmallProjectCardWithInputs.tsx diff --git a/src/components/fundable/GetAQuoteForm.tsx b/src/components/fundable/GetAQuoteForm.tsx index af0ff675..8c39060b 100644 --- a/src/components/fundable/GetAQuoteForm.tsx +++ b/src/components/fundable/GetAQuoteForm.tsx @@ -10,7 +10,7 @@ export default function GetAQuoteForm() { >
- +
- +
- +
@@ -42,7 +42,7 @@ export default function GetAQuoteForm() {
- +
- +
- +
+
+
+
+
+ +
+
+ +
+
+ + +
+ +
+
+ +
+
+
+ +
+
+ +
+ ) +} \ No newline at end of file diff --git a/src/components/fundable/index.tsx b/src/components/fundable/index.tsx index 23176898..35c8fcf4 100644 --- a/src/components/fundable/index.tsx +++ b/src/components/fundable/index.tsx @@ -2,6 +2,7 @@ import styles from "./styles.module.css"; import { fundableProjectsDetails } from "./projectsDetails"; import ProjectCategory from "./ProjectCategory"; import MenuSidebar from "./MenuSideBar"; +import { SmallProjectCardWithInputs } from "./SmallProjectCardWithInputs"; export function getCategoryFromProjectPageName(pageName: string) { for (const [categoryName, projectsByCategory] of Object.entries(fundableProjectsDetails)) { @@ -20,18 +21,22 @@ export function MainAreaFundableProjects() {
+
+

Propose and fund a project

+

You have a project on the open-source data stack that you would like to fund. Please contact us with this form!

+ +
- ) } diff --git a/src/components/fundable/styles.module.css b/src/components/fundable/styles.module.css index 14c714c6..d457819c 100644 --- a/src/components/fundable/styles.module.css +++ b/src/components/fundable/styles.module.css @@ -155,7 +155,7 @@ justify-content: center; } -.get_a_quote_form_label { +.form_label { font-size: 12px; color: var(--ifm-text-color); background-color: var(--ifm-background-color); @@ -278,6 +278,22 @@ justify-content: center; } +.submit_proposition_button { + background-color: var(--ifm-color-secondary-s1); + color: black; + width: 150px; + height: 32px; + margin: var(--ifm-spacing-md); + font-family: var(--ifm-font-family-roboto); + border-radius: 8px; + font-size: 14px; + font-style: normal; + font-weight: 600; + border: none; + justify-content: center; + align-items: center; +} + @media only screen and (max-width: 500px) { /*Mobile*/ @@ -331,10 +347,21 @@ border-radius: 4px; } - .send_button_containder { + .empty_card_small_input { + width: 80vw; + height: 20px + } + + .empty_card_large_input { + width: 80vw; + height: 100px; + } + + .send_button_container { width: 300px; } + .get_a_quote_dialog { width: 90vw; padding: 40px; @@ -363,7 +390,6 @@ margin-bottom: var(--ifm-spacing-xl); border: 1px solid #ccc; cursor: pointer; - padding: var(--ifm-spacing-md) } .small_project_card_text_col { @@ -399,6 +425,16 @@ border-radius: 4px; } + .empty_card_small_input { + width: 70vw; + height: 20px + } + + .empty_card_large_input { + width: 70vw; + height: 200px; + } + .menu_sidebar { display: none } @@ -466,6 +502,16 @@ border-radius: 4px; } + .empty_card_small_input { + width: 30vw; + height: 20px + } + + .empty_card_large_input { + width: 30vw; + height: 100px; + } + .send_button_container { height: 59px; width: 400px; From 3e60b4643baa8fc2549381a7e9deaecba8294d44 Mon Sep 17 00:00:00 2001 From: Florence Haudin Date: Fri, 8 Aug 2025 19:02:44 +0200 Subject: [PATCH 07/12] Remove SmallProjectCardWithInputs and replace it by a short dedicated section with a button linking to the contact form. --- docusaurus.config.ts | 6 + src/components/fundable/MenuSideBar.tsx | 3 +- .../fundable/SmallProjectCardWithInputs.tsx | 114 ------------------ src/components/fundable/index.tsx | 8 +- static/rss.xml | 48 ++++++++ 5 files changed, 59 insertions(+), 120 deletions(-) delete mode 100644 src/components/fundable/SmallProjectCardWithInputs.tsx diff --git a/docusaurus.config.ts b/docusaurus.config.ts index 163c1c32..5e7e3ea3 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -122,6 +122,12 @@ const config: Config = { label: "Blog", position: "left", }, + { + to: "/fundable/", + label: "Fundable projects", + position: "right", + className:"fundable_projects" + }, { to: "/contact/", label: "Contact us", diff --git a/src/components/fundable/MenuSideBar.tsx b/src/components/fundable/MenuSideBar.tsx index 4a1a2789..5077f2d0 100644 --- a/src/components/fundable/MenuSideBar.tsx +++ b/src/components/fundable/MenuSideBar.tsx @@ -4,8 +4,7 @@ import styles from "./styles.module.css"; const sections = [ { id: 'jupyter-ecosystem', label: 'Jupyter ecosystem' }, - { id: 'package-management', label: 'Package management' }, - { id: 'propose-and-fund-a-project', label: 'Propose and fund a project' }, + { id: 'package-management', label: 'Package management' } ]; export default function MenuSideBar() { diff --git a/src/components/fundable/SmallProjectCardWithInputs.tsx b/src/components/fundable/SmallProjectCardWithInputs.tsx deleted file mode 100644 index 22fdfb8e..00000000 --- a/src/components/fundable/SmallProjectCardWithInputs.tsx +++ /dev/null @@ -1,114 +0,0 @@ -import styles from "./styles.module.css"; -import BlueCaretIcon from "@site/static/img/icons/BlueCaret.svg"; - -export function SmallProjectCardWithInputs() { - return ( -
- - -
-
-
-
-
-
- Contact us for a project to fund -
-
-
- -
-
- -
-
-
-
- -
-
- -
-
-
-
- -
-
- -
-
-
- - -
-
-
-
-
- -
-
- -
-
-
-
- -
-
- -
-
- - -
- -
-
- -
-
-
-
-
-
- -
- ) -} \ No newline at end of file diff --git a/src/components/fundable/index.tsx b/src/components/fundable/index.tsx index 35c8fcf4..b194ebd9 100644 --- a/src/components/fundable/index.tsx +++ b/src/components/fundable/index.tsx @@ -2,7 +2,7 @@ import styles from "./styles.module.css"; import { fundableProjectsDetails } from "./projectsDetails"; import ProjectCategory from "./ProjectCategory"; import MenuSidebar from "./MenuSideBar"; -import { SmallProjectCardWithInputs } from "./SmallProjectCardWithInputs"; +import LinkToContact from "../home/LinkToContact"; export function getCategoryFromProjectPageName(pageName: string) { for (const [categoryName, projectsByCategory] of Object.entries(fundableProjectsDetails)) { @@ -32,9 +32,9 @@ export function MainAreaFundableProjects() { />
-

Propose and fund a project

-

You have a project on the open-source data stack that you would like to fund. Please contact us with this form!

- +

Can't find a project?

+

If you have a project in mind that you think would be relevant to our expertise, please contact us to discuss it.

+
) diff --git a/static/rss.xml b/static/rss.xml index c9933588..80124680 100644 --- a/static/rss.xml +++ b/static/rss.xml @@ -187,5 +187,53 @@ Fri, 06 Sep 2024 00:00:00 GMT +<<<<<<< HEAD +======= + + <![CDATA[Announcing the 2023 cohort of Jupyter distinguished contributors]]> + + https://blog.jupyter.org/announcing-the-2023-jupyter-distinguished-contributor-award-recipients-1b2cc4ba203f + https://blog.jupyter.org/announcing-the-2023-jupyter-distinguished-contributor-award-recipients-1b2cc4ba203f + + Wed, 04 Sep 2024 00:00:00 GMT + + + + <![CDATA[Ipydatagrid is now part of Project Jupyter]]> + + https://blog.jupyter.org/ipydatagrid-is-now-part-of-project-jupyter-3b3dfb877664 + https://blog.jupyter.org/ipydatagrid-is-now-part-of-project-jupyter-3b3dfb877664 + + Thu, 22 Aug 2024 00:00:00 GMT + + + + <![CDATA[Introducing Mamba 2.0]]> + + https://medium.com/@QuantStack/introducing-mamba-2-0-0e8d5c6d1d0c + https://medium.com/@QuantStack/introducing-mamba-2-0-0e8d5c6d1d0c + + Tue, 16 Jul 2024 00:00:00 GMT + + + + <![CDATA[QuantStack open-source internship program]]> + + https://medium.com/@QuantStack/quantstack-open-source-internship-program-049755b6d44b + https://medium.com/@QuantStack/quantstack-open-source-internship-program-049755b6d44b + + Tue, 09 Jul 2024 00:00:00 GMT + + + + <![CDATA[JupyterCAD 2.0]]> + + https://medium.com/@QuantStack/jupytercad-2-0-4b9c4e18d22a + https://medium.com/@QuantStack/jupytercad-2-0-4b9c4e18d22a + + Fri, 05 Jul 2024 00:00:00 GMT + + +>>>>>>> 746efb7 (Remove SmallProjectCardWithInputs and replace it by a short dedicated section with a button linking to the contact form.) \ No newline at end of file From 025d0beab6e87fd635c399d8e9f3c3077054d9c4 Mon Sep 17 00:00:00 2001 From: Florence Haudin Date: Tue, 2 Sep 2025 16:55:21 +0200 Subject: [PATCH 08/12] Update node version. --- package-lock.json | 2 +- package.json | 2 +- static/rss.xml | 40 +++---- static/rss_all.xml | 280 ++++++++++++++++++++++----------------------- 4 files changed, 162 insertions(+), 162 deletions(-) diff --git a/package-lock.json b/package-lock.json index ef8fb93d..7f8b5add 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,7 +55,7 @@ "typescript": "^5.8.3" }, "engines": { - "node": "20.x" + "node": "22.x" } }, "node_modules/@algolia/autocomplete-core": { diff --git a/package.json b/package.json index 39855a5f..1ceae9e2 100644 --- a/package.json +++ b/package.json @@ -81,6 +81,6 @@ ] }, "engines": { - "node": "20.x" + "node": "22.x" } } diff --git a/static/rss.xml b/static/rss.xml index 80124680..3f1f71fa 100644 --- a/static/rss.xml +++ b/static/rss.xml @@ -58,7 +58,7 @@ https://david-brochart.medium.com/create-your-own-layers-in-jupytergis-cbb995a89b16 https://david-brochart.medium.com/create-your-own-layers-in-jupytergis-cbb995a89b16 - Wed, 25 Jun 2025 00:00:00 GMT + Tue, 24 Jun 2025 22:00:00 GMT @@ -67,7 +67,7 @@ https://blog.jupyter.org/c-in-jupyter-interpreting-c-in-the-web-c9d93542f20b https://blog.jupyter.org/c-in-jupyter-interpreting-c-in-the-web-c9d93542f20b - Thu, 19 Jun 2025 00:00:00 GMT + Wed, 18 Jun 2025 22:00:00 GMT @@ -76,7 +76,7 @@ https://blog.jupyter.org/jupyterlite-0-6-0-is-released-b4bc69bfc8f4 https://blog.jupyter.org/jupyterlite-0-6-0-is-released-b4bc69bfc8f4 - Thu, 12 Jun 2025 00:00:00 GMT + Wed, 11 Jun 2025 22:00:00 GMT @@ -85,7 +85,7 @@ https://blog.jupyter.org/jupyterlab-4-4-and-notebook-7-4-are-available-aca2782d4f3d https://blog.jupyter.org/jupyterlab-4-4-and-notebook-7-4-are-available-aca2782d4f3d - Wed, 21 May 2025 00:00:00 GMT + Tue, 20 May 2025 22:00:00 GMT @@ -94,7 +94,7 @@ https://blog.jupyter.org/congratulations-distinguished-contributors-2504029fc5a9 https://blog.jupyter.org/congratulations-distinguished-contributors-2504029fc5a9 - Thu, 15 May 2025 00:00:00 GMT + Wed, 14 May 2025 22:00:00 GMT @@ -103,7 +103,7 @@ https://david-brochart.medium.com/making-qt-collaborative-using-crdts-94c470703253 https://david-brochart.medium.com/making-qt-collaborative-using-crdts-94c470703253 - Mon, 31 Mar 2025 00:00:00 GMT + Sun, 30 Mar 2025 22:00:00 GMT @@ -112,7 +112,7 @@ https://blog.jupyter.org/r-in-the-browser-announcing-our-webassembly-distribution-9450e9539ed5 https://blog.jupyter.org/r-in-the-browser-announcing-our-webassembly-distribution-9450e9539ed5 - Fri, 28 Feb 2025 00:00:00 GMT + Thu, 27 Feb 2025 23:00:00 GMT @@ -121,7 +121,7 @@ https://blog.jupyter.org/real-time-collaboration-and-collaborative-editing-for-gis-workflows-with-jupyter-and-qgis-d25dbe2832a6 https://blog.jupyter.org/real-time-collaboration-and-collaborative-editing-for-gis-workflows-with-jupyter-and-qgis-d25dbe2832a6 - Wed, 26 Feb 2025 00:00:00 GMT + Tue, 25 Feb 2025 23:00:00 GMT @@ -130,7 +130,7 @@ https://medium.com/@PyDataParis/pydata-paris-2025-50ff2bf2dc39 https://medium.com/@PyDataParis/pydata-paris-2025-50ff2bf2dc39 - Wed, 19 Feb 2025 00:00:00 GMT + Tue, 18 Feb 2025 23:00:00 GMT @@ -139,7 +139,7 @@ https://blog.jupyter.org/announcing-jupytercad-3-0-d8f4b7b0a719 https://blog.jupyter.org/announcing-jupytercad-3-0-d8f4b7b0a719 - Mon, 17 Feb 2025 00:00:00 GMT + Sun, 16 Feb 2025 23:00:00 GMT @@ -148,7 +148,7 @@ https://johan-mabille.medium.com/sparrow-1f23817f6696 https://johan-mabille.medium.com/sparrow-1f23817f6696 - Fri, 31 Jan 2025 00:00:00 GMT + Thu, 30 Jan 2025 23:00:00 GMT @@ -157,7 +157,7 @@ https://blog.jupyter.org/jupyterlite-terminal-edb3f80dc1c0 https://blog.jupyter.org/jupyterlite-terminal-edb3f80dc1c0 - Wed, 13 Nov 2024 00:00:00 GMT + Tue, 12 Nov 2024 23:00:00 GMT @@ -166,7 +166,7 @@ https://blog.jupyter.org/automate-your-releases-with-the-jupyter-releaser-701e7b9841e6 https://blog.jupyter.org/automate-your-releases-with-the-jupyter-releaser-701e7b9841e6 - Mon, 28 Oct 2024 00:00:00 GMT + Sun, 27 Oct 2024 23:00:00 GMT @@ -175,7 +175,7 @@ https://medium.com/@QuantStack/quantstack-steps-up-to-support-apache-arrow-with-new-dedicated-team-9ddc952f20e2 https://medium.com/@QuantStack/quantstack-steps-up-to-support-apache-arrow-with-new-dedicated-team-9ddc952f20e2 - Tue, 22 Oct 2024 00:00:00 GMT + Mon, 21 Oct 2024 22:00:00 GMT @@ -184,7 +184,7 @@ https://blog.jupyter.org/interactive-mapping-with-ipyopenlayers-2b8bc93bb6c4 https://blog.jupyter.org/interactive-mapping-with-ipyopenlayers-2b8bc93bb6c4 - Fri, 06 Sep 2024 00:00:00 GMT + Thu, 05 Sep 2024 22:00:00 GMT <<<<<<< HEAD @@ -195,7 +195,7 @@ https://blog.jupyter.org/announcing-the-2023-jupyter-distinguished-contributor-award-recipients-1b2cc4ba203f https://blog.jupyter.org/announcing-the-2023-jupyter-distinguished-contributor-award-recipients-1b2cc4ba203f - Wed, 04 Sep 2024 00:00:00 GMT + Tue, 03 Sep 2024 22:00:00 GMT @@ -204,7 +204,7 @@ https://blog.jupyter.org/ipydatagrid-is-now-part-of-project-jupyter-3b3dfb877664 https://blog.jupyter.org/ipydatagrid-is-now-part-of-project-jupyter-3b3dfb877664 - Thu, 22 Aug 2024 00:00:00 GMT + Wed, 21 Aug 2024 22:00:00 GMT @@ -213,7 +213,7 @@ https://medium.com/@QuantStack/introducing-mamba-2-0-0e8d5c6d1d0c https://medium.com/@QuantStack/introducing-mamba-2-0-0e8d5c6d1d0c - Tue, 16 Jul 2024 00:00:00 GMT + Mon, 15 Jul 2024 22:00:00 GMT @@ -222,7 +222,7 @@ https://medium.com/@QuantStack/quantstack-open-source-internship-program-049755b6d44b https://medium.com/@QuantStack/quantstack-open-source-internship-program-049755b6d44b - Tue, 09 Jul 2024 00:00:00 GMT + Mon, 08 Jul 2024 22:00:00 GMT @@ -231,7 +231,7 @@ https://medium.com/@QuantStack/jupytercad-2-0-4b9c4e18d22a https://medium.com/@QuantStack/jupytercad-2-0-4b9c4e18d22a - Fri, 05 Jul 2024 00:00:00 GMT + Thu, 04 Jul 2024 22:00:00 GMT >>>>>>> 746efb7 (Remove SmallProjectCardWithInputs and replace it by a short dedicated section with a button linking to the contact form.) diff --git a/static/rss_all.xml b/static/rss_all.xml index 1b24c540..0afb7a9d 100644 --- a/static/rss_all.xml +++ b/static/rss_all.xml @@ -4,7 +4,7 @@ https://quantstack.net RSS for Node - Sun, 02 Nov 2025 12:40:26 GMT + Sun, 02 Nov 2025 12:40:26 GMT @@ -58,7 +58,7 @@ https://david-brochart.medium.com/create-your-own-layers-in-jupytergis-cbb995a89b16 https://david-brochart.medium.com/create-your-own-layers-in-jupytergis-cbb995a89b16 - Wed, 25 Jun 2025 00:00:00 GMT + Tue, 24 Jun 2025 22:00:00 GMT @@ -67,7 +67,7 @@ https://blog.jupyter.org/c-in-jupyter-interpreting-c-in-the-web-c9d93542f20b https://blog.jupyter.org/c-in-jupyter-interpreting-c-in-the-web-c9d93542f20b - Thu, 19 Jun 2025 00:00:00 GMT + Wed, 18 Jun 2025 22:00:00 GMT @@ -76,7 +76,7 @@ https://blog.jupyter.org/jupyterlite-0-6-0-is-released-b4bc69bfc8f4 https://blog.jupyter.org/jupyterlite-0-6-0-is-released-b4bc69bfc8f4 - Thu, 12 Jun 2025 00:00:00 GMT + Wed, 11 Jun 2025 22:00:00 GMT @@ -85,7 +85,7 @@ https://blog.jupyter.org/jupyterlab-4-4-and-notebook-7-4-are-available-aca2782d4f3d https://blog.jupyter.org/jupyterlab-4-4-and-notebook-7-4-are-available-aca2782d4f3d - Wed, 21 May 2025 00:00:00 GMT + Tue, 20 May 2025 22:00:00 GMT @@ -94,7 +94,7 @@ https://blog.jupyter.org/congratulations-distinguished-contributors-2504029fc5a9 https://blog.jupyter.org/congratulations-distinguished-contributors-2504029fc5a9 - Thu, 15 May 2025 00:00:00 GMT + Wed, 14 May 2025 22:00:00 GMT @@ -103,7 +103,7 @@ https://david-brochart.medium.com/making-qt-collaborative-using-crdts-94c470703253 https://david-brochart.medium.com/making-qt-collaborative-using-crdts-94c470703253 - Mon, 31 Mar 2025 00:00:00 GMT + Sun, 30 Mar 2025 22:00:00 GMT @@ -112,7 +112,7 @@ https://blog.jupyter.org/r-in-the-browser-announcing-our-webassembly-distribution-9450e9539ed5 https://blog.jupyter.org/r-in-the-browser-announcing-our-webassembly-distribution-9450e9539ed5 - Fri, 28 Feb 2025 00:00:00 GMT + Thu, 27 Feb 2025 23:00:00 GMT @@ -121,7 +121,7 @@ https://blog.jupyter.org/real-time-collaboration-and-collaborative-editing-for-gis-workflows-with-jupyter-and-qgis-d25dbe2832a6 https://blog.jupyter.org/real-time-collaboration-and-collaborative-editing-for-gis-workflows-with-jupyter-and-qgis-d25dbe2832a6 - Wed, 26 Feb 2025 00:00:00 GMT + Tue, 25 Feb 2025 23:00:00 GMT @@ -130,7 +130,7 @@ https://medium.com/@PyDataParis/pydata-paris-2025-50ff2bf2dc39 https://medium.com/@PyDataParis/pydata-paris-2025-50ff2bf2dc39 - Wed, 19 Feb 2025 00:00:00 GMT + Tue, 18 Feb 2025 23:00:00 GMT @@ -139,7 +139,7 @@ https://blog.jupyter.org/announcing-jupytercad-3-0-d8f4b7b0a719 https://blog.jupyter.org/announcing-jupytercad-3-0-d8f4b7b0a719 - Mon, 17 Feb 2025 00:00:00 GMT + Sun, 16 Feb 2025 23:00:00 GMT @@ -148,7 +148,7 @@ https://johan-mabille.medium.com/sparrow-1f23817f6696 https://johan-mabille.medium.com/sparrow-1f23817f6696 - Fri, 31 Jan 2025 00:00:00 GMT + Thu, 30 Jan 2025 23:00:00 GMT @@ -157,7 +157,7 @@ https://blog.jupyter.org/jupyterlite-terminal-edb3f80dc1c0 https://blog.jupyter.org/jupyterlite-terminal-edb3f80dc1c0 - Wed, 13 Nov 2024 00:00:00 GMT + Tue, 12 Nov 2024 23:00:00 GMT @@ -166,7 +166,7 @@ https://blog.jupyter.org/automate-your-releases-with-the-jupyter-releaser-701e7b9841e6 https://blog.jupyter.org/automate-your-releases-with-the-jupyter-releaser-701e7b9841e6 - Mon, 28 Oct 2024 00:00:00 GMT + Sun, 27 Oct 2024 23:00:00 GMT @@ -175,7 +175,7 @@ https://medium.com/@QuantStack/quantstack-steps-up-to-support-apache-arrow-with-new-dedicated-team-9ddc952f20e2 https://medium.com/@QuantStack/quantstack-steps-up-to-support-apache-arrow-with-new-dedicated-team-9ddc952f20e2 - Tue, 22 Oct 2024 00:00:00 GMT + Mon, 21 Oct 2024 22:00:00 GMT @@ -184,7 +184,7 @@ https://blog.jupyter.org/interactive-mapping-with-ipyopenlayers-2b8bc93bb6c4 https://blog.jupyter.org/interactive-mapping-with-ipyopenlayers-2b8bc93bb6c4 - Fri, 06 Sep 2024 00:00:00 GMT + Thu, 05 Sep 2024 22:00:00 GMT @@ -193,7 +193,7 @@ https://blog.jupyter.org/announcing-the-2023-jupyter-distinguished-contributor-award-recipients-1b2cc4ba203f https://blog.jupyter.org/announcing-the-2023-jupyter-distinguished-contributor-award-recipients-1b2cc4ba203f - Wed, 04 Sep 2024 00:00:00 GMT + Tue, 03 Sep 2024 22:00:00 GMT @@ -202,7 +202,7 @@ https://blog.jupyter.org/ipydatagrid-is-now-part-of-project-jupyter-3b3dfb877664 https://blog.jupyter.org/ipydatagrid-is-now-part-of-project-jupyter-3b3dfb877664 - Thu, 22 Aug 2024 00:00:00 GMT + Wed, 21 Aug 2024 22:00:00 GMT @@ -211,7 +211,7 @@ https://medium.com/@QuantStack/introducing-mamba-2-0-0e8d5c6d1d0c https://medium.com/@QuantStack/introducing-mamba-2-0-0e8d5c6d1d0c - Tue, 16 Jul 2024 00:00:00 GMT + Mon, 15 Jul 2024 22:00:00 GMT @@ -220,7 +220,7 @@ https://medium.com/@QuantStack/quantstack-open-source-internship-program-049755b6d44b https://medium.com/@QuantStack/quantstack-open-source-internship-program-049755b6d44b - Tue, 09 Jul 2024 00:00:00 GMT + Mon, 08 Jul 2024 22:00:00 GMT @@ -229,7 +229,7 @@ https://medium.com/@QuantStack/jupytercad-2-0-4b9c4e18d22a https://medium.com/@QuantStack/jupytercad-2-0-4b9c4e18d22a - Fri, 05 Jul 2024 00:00:00 GMT + Thu, 04 Jul 2024 22:00:00 GMT @@ -238,7 +238,7 @@ https://blog.jupyter.org/jupytergis-d63b7adf9d0c https://blog.jupyter.org/jupytergis-d63b7adf9d0c - Wed, 12 Jun 2024 00:00:00 GMT + Tue, 11 Jun 2024 22:00:00 GMT @@ -247,7 +247,7 @@ https://medium.com/@SylvainCorlay/commit-cdf57415b94b https://medium.com/@SylvainCorlay/commit-cdf57415b94b - Wed, 29 May 2024 00:00:00 GMT + Tue, 28 May 2024 22:00:00 GMT @@ -256,7 +256,7 @@ /blogs/Fanny /blogs/Fanny - Thu, 16 May 2024 00:00:00 GMT + Wed, 15 May 2024 22:00:00 GMT @@ -265,7 +265,7 @@ https://medium.com/@PyDataParis/announcing-pydata-paris-2024-700220accc72 https://medium.com/@PyDataParis/announcing-pydata-paris-2024-700220accc72 - Mon, 11 Mar 2024 00:00:00 GMT + Sun, 10 Mar 2024 23:00:00 GMT @@ -274,7 +274,7 @@ https://blog.jupyter.org/meet-xeus-r-a-future-proof-jupyter-kernel-for-r-1adc5fdd09ab https://blog.jupyter.org/meet-xeus-r-a-future-proof-jupyter-kernel-for-r-1adc5fdd09ab - Mon, 22 Jan 2024 00:00:00 GMT + Invalid Date @@ -283,7 +283,7 @@ https://medium.com/@QuantStack/quantstack-2023-in-review-94fea0a35520 https://medium.com/@QuantStack/quantstack-2023-in-review-94fea0a35520 - Wed, 03 Jan 2024 00:00:00 GMT + Invalid Date @@ -292,7 +292,7 @@ https://blog.jupyter.org/recent-keyboard-navigation-improvements-in-jupyter-4df32f97628d https://blog.jupyter.org/recent-keyboard-navigation-improvements-in-jupyter-4df32f97628d - Sat, 16 Dec 2023 00:00:00 GMT + Invalid Date @@ -301,7 +301,7 @@ https://blog.jupyter.org/and-voici-e02367197ba2 https://blog.jupyter.org/and-voici-e02367197ba2 - Wed, 06 Dec 2023 00:00:00 GMT + Invalid Date @@ -310,7 +310,7 @@ https://blog.jupyter.org/plug-your-application-into-the-jupyter-world-805e48918801 https://blog.jupyter.org/plug-your-application-into-the-jupyter-world-805e48918801 - Mon, 23 Oct 2023 00:00:00 GMT + Invalid Date @@ -319,7 +319,7 @@ https://blog.jupyter.org/voil%C3%A0-0-5-0-homecoming-66f2465aa86f https://blog.jupyter.org/voil%C3%A0-0-5-0-homecoming-66f2465aa86f - Mon, 25 Sep 2023 00:00:00 GMT + Invalid Date @@ -328,7 +328,7 @@ https://blog.jupyter.org/announcing-jupyter-notebook-7-8d6d66126dcf https://blog.jupyter.org/announcing-jupyter-notebook-7-8d6d66126dcf - Wed, 26 Jul 2023 00:00:00 GMT + Invalid Date @@ -337,7 +337,7 @@ https://blog.jupyter.org/jupytercon-2023-recordings-now-live-on-youtube-17564b75a2a https://blog.jupyter.org/jupytercon-2023-recordings-now-live-on-youtube-17564b75a2a - Sat, 22 Jul 2023 00:00:00 GMT + Invalid Date @@ -346,7 +346,7 @@ https://blog.jupyter.org/a-theme-editor-for-jupyterlab-8f08ab62894d https://blog.jupyter.org/a-theme-editor-for-jupyterlab-8f08ab62894d - Mon, 19 Jun 2023 00:00:00 GMT + Invalid Date @@ -355,7 +355,7 @@ https://blog.jupyter.org/collaborative-cad-in-jupyterlab-8eb9e8f81f0 https://blog.jupyter.org/collaborative-cad-in-jupyterlab-8eb9e8f81f0 - Fri, 02 Jun 2023 00:00:00 GMT + Invalid Date @@ -364,7 +364,7 @@ https://blog.jupyter.org/congratulations-distinguished-contributors-7a7b215b8bd0 https://blog.jupyter.org/congratulations-distinguished-contributors-7a7b215b8bd0 - Fri, 02 Jun 2023 00:00:00 GMT + Invalid Date @@ -373,7 +373,7 @@ https://blog.jupyter.org/embed-interactive-itkwidgets-3d-renderings-into-jupyterlite-deployments-10eb9ea30980 https://blog.jupyter.org/embed-interactive-itkwidgets-3d-renderings-into-jupyterlite-deployments-10eb9ea30980 - Wed, 15 Mar 2023 00:00:00 GMT + Invalid Date @@ -382,7 +382,7 @@ https://blog.jupyter.org/improving-the-accessibility-of-jupyter-6c695db518d3 https://blog.jupyter.org/improving-the-accessibility-of-jupyter-6c695db518d3 - Fri, 24 Feb 2023 00:00:00 GMT + Invalid Date @@ -391,7 +391,7 @@ https://blog.jupyter.org/a-jupyter-kernel-for-gnu-octave-b6d29e56341f https://blog.jupyter.org/a-jupyter-kernel-for-gnu-octave-b6d29e56341f - Wed, 11 Jan 2023 00:00:00 GMT + Invalid Date @@ -400,7 +400,7 @@ https://medium.com/@QuantStack/quantstack-2022-in-review-7d4704b1db42 https://medium.com/@QuantStack/quantstack-2022-in-review-7d4704b1db42 - Mon, 26 Dec 2022 00:00:00 GMT + Invalid Date @@ -409,7 +409,7 @@ https://medium.com/@AntoineProuvost/managing-conflicts-with-mamba-6a5fa10ed6a https://medium.com/@AntoineProuvost/managing-conflicts-with-mamba-6a5fa10ed6a - Tue, 29 Nov 2022 00:00:00 GMT + Invalid Date @@ -418,7 +418,7 @@ https://blog.jupyter.org/jupytercon-is-back-in-2023-90e5c25eeec9 https://blog.jupyter.org/jupytercon-is-back-in-2023-90e5c25eeec9 - Mon, 17 Oct 2022 00:00:00 GMT + Invalid Date @@ -427,7 +427,7 @@ https://blog.jupyter.org/accelerating-jupyterlab-68942bb8d602 https://blog.jupyter.org/accelerating-jupyterlab-68942bb8d602 - Thu, 15 Sep 2022 00:00:00 GMT + Invalid Date @@ -436,7 +436,7 @@ https://blog.jupyter.org/upgrading-nbgrader-99c56ae56c47 https://blog.jupyter.org/upgrading-nbgrader-99c56ae56c47 - Thu, 15 Sep 2022 00:00:00 GMT + Invalid Date @@ -445,7 +445,7 @@ https://blog.jupyter.org/visual-programming-in-jupyterlab-with-blockly-7731ec3e113c https://blog.jupyter.org/visual-programming-in-jupyterlab-with-blockly-7731ec3e113c - Fri, 29 Jul 2022 00:00:00 GMT + Invalid Date @@ -454,7 +454,7 @@ https://blog.jupyter.org/mamba-meets-jupyterlite-88ef49ac4dc8 https://blog.jupyter.org/mamba-meets-jupyterlite-88ef49ac4dc8 - Thu, 14 Jul 2022 00:00:00 GMT + Invalid Date @@ -463,7 +463,7 @@ https://blog.jupyter.org/inspector-jupyterlab-404cce3e1df6 https://blog.jupyter.org/inspector-jupyterlab-404cce3e1df6 - Mon, 11 Apr 2022 00:00:00 GMT + Invalid Date @@ -472,7 +472,7 @@ https://blog.pyodide.org/posts/canvas-renderer-matplotlib-in-pyodide/ https://blog.pyodide.org/posts/canvas-renderer-matplotlib-in-pyodide/ - Fri, 01 Apr 2022 00:00:00 GMT + Invalid Date @@ -481,7 +481,7 @@ https://wolfv.medium.com/the-future-of-mamba-fdf6d628b3df https://wolfv.medium.com/the-future-of-mamba-fdf6d628b3df - Tue, 01 Mar 2022 00:00:00 GMT + Invalid Date @@ -490,7 +490,7 @@ https://blog.jupyter.org/congratulations-distinguished-contributors-bc349fa60d68 https://blog.jupyter.org/congratulations-distinguished-contributors-bc349fa60d68 - Wed, 16 Mar 2022 00:00:00 GMT + Invalid Date @@ -499,7 +499,7 @@ https://blog.jupyter.org/jupyter-everywhere-f8151c2cc6e8 https://blog.jupyter.org/jupyter-everywhere-f8151c2cc6e8 - Tue, 15 Mar 2022 00:00:00 GMT + Invalid Date @@ -508,7 +508,7 @@ https://medium.com/@kmathewos92/ros2-support-for-zethus-e6ecfcdb1c4c https://medium.com/@kmathewos92/ros2-support-for-zethus-e6ecfcdb1c4c - Thu, 17 Feb 2022 00:00:00 GMT + Invalid Date @@ -517,7 +517,7 @@ https://medium.com/@QuantStack/quantstack-2021-in-review-fe5eac2e0f6d https://medium.com/@QuantStack/quantstack-2021-in-review-fe5eac2e0f6d - Sat, 18 Dec 2021 00:00:00 GMT + Invalid Date @@ -526,7 +526,7 @@ https://blog.jupyter.org/jupyter-games-cda20dc15a21 https://blog.jupyter.org/jupyter-games-cda20dc15a21 - Tue, 14 Dec 2021 00:00:00 GMT + Invalid Date @@ -535,7 +535,7 @@ https://blog.jupyter.org/need-for-speed-voil%C3%A0-edition-a9e1300ab3b2 https://blog.jupyter.org/need-for-speed-voil%C3%A0-edition-a9e1300ab3b2 - Fri, 10 Dec 2021 00:00:00 GMT + Invalid Date @@ -544,7 +544,7 @@ https://adelsalle.medium.com/towards-a-more-secure-conda-ecosystem-5ce65a27d7d5 https://adelsalle.medium.com/towards-a-more-secure-conda-ecosystem-5ce65a27d7d5 - Tue, 16 Nov 2021 00:00:00 GMT + Invalid Date @@ -553,7 +553,7 @@ https://johan-mabille.medium.com/toward-a-faster-and-thinner-xsimd-9e4eef41bc17 https://johan-mabille.medium.com/toward-a-faster-and-thinner-xsimd-9e4eef41bc17 - Fri, 29 Oct 2021 00:00:00 GMT + Invalid Date @@ -562,7 +562,7 @@ https://blog.jupyter.org/xeus-lite-379e96bb199d https://blog.jupyter.org/xeus-lite-379e96bb199d - Mon, 25 Oct 2021 00:00:00 GMT + Invalid Date @@ -571,7 +571,7 @@ https://wolfv.medium.com/the-mamba-project-and-the-czi-grant-ec88fb27c25 https://wolfv.medium.com/the-mamba-project-and-the-czi-grant-ec88fb27c25 - Tue, 19 Oct 2021 00:00:00 GMT + Invalid Date @@ -580,7 +580,7 @@ https://blog.jupyter.org/looking-at-notebooks-from-a-new-perspective-bfd06797f188 https://blog.jupyter.org/looking-at-notebooks-from-a-new-perspective-bfd06797f188 - Tue, 05 Oct 2021 00:00:00 GMT + Invalid Date @@ -589,7 +589,7 @@ https://blog.jupyter.org/xeus-2-0-cb460d4daed4 https://blog.jupyter.org/xeus-2-0-cb460d4daed4 - Tue, 28 Sep 2021 00:00:00 GMT + Invalid Date @@ -598,7 +598,7 @@ https://blog.jupyter.org/from-jupyter-to-the-moon-2e432df402c8 https://blog.jupyter.org/from-jupyter-to-the-moon-2e432df402c8 - Fri, 24 Sep 2021 00:00:00 GMT + Invalid Date @@ -607,7 +607,7 @@ https://blog.jupyter.org/jupyterlite-jupyter-%EF%B8%8F-webassembly-%EF%B8%8F-python-f6e2e41ab3fa https://blog.jupyter.org/jupyterlite-jupyter-%EF%B8%8F-webassembly-%EF%B8%8F-python-f6e2e41ab3fa - Tue, 13 Jul 2021 00:00:00 GMT + Invalid Date @@ -616,7 +616,7 @@ https://wolfv.medium.com/mamba-0-15-0-475d1dca0418 https://wolfv.medium.com/mamba-0-15-0-475d1dca0418 - Fri, 09 Jul 2021 00:00:00 GMT + Invalid Date @@ -625,7 +625,7 @@ https://www.polytechnique.edu/fondation/content/le-calcul-haute-performance-au-service-de-l%E2%80%99innovation https://www.polytechnique.edu/fondation/content/le-calcul-haute-performance-au-service-de-l%E2%80%99innovation - Fri, 18 Jun 2021 00:00:00 GMT + Invalid Date @@ -634,7 +634,7 @@ https://blog.jupyter.org/how-we-made-jupyter-notebooks-collaborative-with-yjs-b8dff6a9d8af https://blog.jupyter.org/how-we-made-jupyter-notebooks-collaborative-with-yjs-b8dff6a9d8af - Sat, 12 Jun 2021 00:00:00 GMT + Invalid Date @@ -643,7 +643,7 @@ https://blog.jupyter.org/retrolab-a-jupyterlab-distribution-with-a-retro-look-and-feel-8096b8b223d0 https://blog.jupyter.org/retrolab-a-jupyterlab-distribution-with-a-retro-look-and-feel-8096b8b223d0 - Sun, 27 Jun 2021 00:00:00 GMT + Invalid Date @@ -652,7 +652,7 @@ https://adelsalle.medium.com/rhumba-the-fast-r-distribution-is-available-on-windows-fa975b2aefa2 https://adelsalle.medium.com/rhumba-the-fast-r-distribution-is-available-on-windows-fa975b2aefa2 - Tue, 18 May 2021 00:00:00 GMT + Invalid Date @@ -661,7 +661,7 @@ https://blog.jupyter.org/enabling-the-jupyterlab-debugger-with-ipykernel-8d7248f522b0 https://blog.jupyter.org/enabling-the-jupyterlab-debugger-with-ipykernel-8d7248f522b0 - Thu, 13 May 2021 00:00:00 GMT + Invalid Date @@ -670,7 +670,7 @@ https://medium.com/@mari_meir/jupyter-%EF%B8%8F-%EF%B8%8F-cytoscape-e2e77be8e0f9 https://medium.com/@mari_meir/jupyter-%EF%B8%8F-%EF%B8%8F-cytoscape-e2e77be8e0f9 - Tue, 11 May 2021 00:00:00 GMT + Invalid Date @@ -679,7 +679,7 @@ https://johan-mabille.medium.com/zarray-a-dynamic-expression-system-based-on-xtensor-ded69f37ff5e https://johan-mabille.medium.com/zarray-a-dynamic-expression-system-based-on-xtensor-ded69f37ff5e - Thu, 29 Apr 2021 00:00:00 GMT + Invalid Date @@ -688,7 +688,7 @@ https://blog.jupyter.org/nbterm-jupyter-notebooks-in-the-terminal-6a2b55d08b70 https://blog.jupyter.org/nbterm-jupyter-notebooks-in-the-terminal-6a2b55d08b70 - Mon, 26 Apr 2021 00:00:00 GMT + Invalid Date @@ -697,7 +697,7 @@ https://blog.jupyter.org/abracadabra-bringing-the-magics-to-xeus-python-9d17bcfacb4 https://blog.jupyter.org/abracadabra-bringing-the-magics-to-xeus-python-9d17bcfacb4 - Thu, 18 Feb 2021 00:00:00 GMT + Invalid Date @@ -706,7 +706,7 @@ https://medium.com/robostack/cross-platform-conda-packages-for-ros-fa1974fd1de3 https://medium.com/robostack/cross-platform-conda-packages-for-ros-fa1974fd1de3 - Tue, 16 Feb 2021 00:00:00 GMT + Invalid Date @@ -715,7 +715,7 @@ https://blog.jupyter.org/genomic-data-representation-in-jupyter-c57a5bb518d6 https://blog.jupyter.org/genomic-data-representation-in-jupyter-c57a5bb518d6 - Mon, 08 Feb 2021 00:00:00 GMT + Invalid Date @@ -724,7 +724,7 @@ https://blog.jupyter.org/an-sql-solution-for-jupyter-ef4a00a0d925?postPublishedType=initial https://blog.jupyter.org/an-sql-solution-for-jupyter-ef4a00a0d925?postPublishedType=initial - Wed, 03 Feb 2021 00:00:00 GMT + Invalid Date @@ -733,7 +733,7 @@ https://blog.jupyter.org/a-curiously-recurring-widget-library-261a65bd56fe https://blog.jupyter.org/a-curiously-recurring-widget-library-261a65bd56fe - Wed, 27 Jan 2021 00:00:00 GMT + Invalid Date @@ -742,7 +742,7 @@ https://blog.jupyter.org/robotic-process-automation-with-jupyterlab-713b5630e457 https://blog.jupyter.org/robotic-process-automation-with-jupyterlab-713b5630e457 - Mon, 18 Jan 2021 00:00:00 GMT + Invalid Date @@ -751,7 +751,7 @@ https://blog.jupyter.org/dashboarding-with-jupyterlab-3-789fcb1a5857 https://blog.jupyter.org/dashboarding-with-jupyterlab-3-789fcb1a5857 - Fri, 08 Jan 2021 00:00:00 GMT + Invalid Date @@ -760,7 +760,7 @@ https://blog.jupyter.org/jupyterlab-3-0-is-out-4f58385e25bb https://blog.jupyter.org/jupyterlab-3-0-is-out-4f58385e25bb - Tue, 05 Jan 2021 00:00:00 GMT + Invalid Date @@ -769,7 +769,7 @@ https://blog.llvm.org/posts/2020-12-21-interactive-cpp-for-data-science/ https://blog.llvm.org/posts/2020-12-21-interactive-cpp-for-data-science/ - Wed, 23 Dec 2020 00:00:00 GMT + Tue, 22 Dec 2020 23:00:00 GMT @@ -778,7 +778,7 @@ https://david-brochart.medium.com/xtensor-%EF%B8%8F-zarr-4f5cf25c65e5 https://david-brochart.medium.com/xtensor-%EF%B8%8F-zarr-4f5cf25c65e5 - Tue, 15 Dec 2020 00:00:00 GMT + Mon, 14 Dec 2020 23:00:00 GMT @@ -787,7 +787,7 @@ https://blog.jupyter.org/a-c-backend-for-vega-lite-bd2524b247c2 https://blog.jupyter.org/a-c-backend-for-vega-lite-bd2524b247c2 - Wed, 02 Dec 2020 00:00:00 GMT + Tue, 01 Dec 2020 23:00:00 GMT @@ -796,7 +796,7 @@ https://blog.jupyter.org/ipygany-jupyter-into-the-third-dimension-29a97597fc33 https://blog.jupyter.org/ipygany-jupyter-into-the-third-dimension-29a97597fc33 - Wed, 14 Oct 2020 00:00:00 GMT + Tue, 13 Oct 2020 22:00:00 GMT @@ -805,7 +805,7 @@ https://medium.com/@mari_meir/rhumba-a-faster-r-distribution-d619fb93043a https://medium.com/@mari_meir/rhumba-a-faster-r-distribution-d619fb93043a - Tue, 13 Oct 2020 00:00:00 GMT + Mon, 12 Oct 2020 22:00:00 GMT @@ -814,7 +814,7 @@ https://blog.jupyter.org/the-templating-system-of-nbconvert-6-47ea781eacd2 https://blog.jupyter.org/the-templating-system-of-nbconvert-6-47ea781eacd2 - Sat, 26 Sep 2020 00:00:00 GMT + Fri, 25 Sep 2020 22:00:00 GMT @@ -823,7 +823,7 @@ https://medium.com/@mari_meir/memestra-a21c0c1f362 https://medium.com/@mari_meir/memestra-a21c0c1f362 - Mon, 21 Sep 2020 00:00:00 GMT + Sun, 20 Sep 2020 22:00:00 GMT @@ -832,7 +832,7 @@ https://medium.com/@martinRenou/real-time-rendering-of-water-caustics-59cda1d74aa https://medium.com/@martinRenou/real-time-rendering-of-water-caustics-59cda1d74aa - Thu, 27 Aug 2020 00:00:00 GMT + Wed, 26 Aug 2020 22:00:00 GMT @@ -841,7 +841,7 @@ https://blog.jupyter.org/jupyterlab-ros-3dc9dab7f421 https://blog.jupyter.org/jupyterlab-ros-3dc9dab7f421 - Tue, 11 Aug 2020 00:00:00 GMT + Mon, 10 Aug 2020 22:00:00 GMT @@ -850,7 +850,7 @@ https://blog.jupyter.org/slicerjupyter-a-3d-slicer-kernel-for-interactive-publications-6f2ad829f635 https://blog.jupyter.org/slicerjupyter-a-3d-slicer-kernel-for-interactive-publications-6f2ad829f635 - Wed, 08 Jul 2020 00:00:00 GMT + Tue, 07 Jul 2020 22:00:00 GMT @@ -859,7 +859,7 @@ https://medium.com/@QuantStack/open-software-packaging-for-science-61cecee7fc23 https://medium.com/@QuantStack/open-software-packaging-for-science-61cecee7fc23 - Sun, 19 Jul 2020 00:00:00 GMT + Thu, 18 Jun 2020 22:00:00 GMT @@ -868,7 +868,7 @@ https://blog.jupyter.org/a-jupyter-kernel-for-sqlite-9549c5dcf551 https://blog.jupyter.org/a-jupyter-kernel-for-sqlite-9549c5dcf551 - Thu, 11 Jun 2020 00:00:00 GMT + Wed, 10 Jun 2020 22:00:00 GMT @@ -877,7 +877,7 @@ https://blog.jupyter.org/plasma-a-learning-platform-powered-by-jupyter-1b850fcd8624 https://blog.jupyter.org/plasma-a-learning-platform-powered-by-jupyter-1b850fcd8624 - Mon, 11 May 2020 00:00:00 GMT + Sun, 10 May 2020 22:00:00 GMT @@ -886,7 +886,7 @@ https://blog.jupyter.org/interactive-graph-visualization-in-jupyter-with-ipycytoscape-a8828a54ab63 https://blog.jupyter.org/interactive-graph-visualization-in-jupyter-with-ipycytoscape-a8828a54ab63 - Thu, 30 Apr 2020 00:00:00 GMT + Wed, 29 Apr 2020 22:00:00 GMT @@ -895,7 +895,7 @@ https://blog.jupyter.org/a-visual-debugger-for-jupyter-914e61716559 https://blog.jupyter.org/a-visual-debugger-for-jupyter-914e61716559 - Wed, 25 Mar 2020 00:00:00 GMT + Tue, 24 Mar 2020 23:00:00 GMT @@ -904,7 +904,7 @@ https://blog.jupyter.org/report-on-the-jupyter-community-workshop-on-dashboarding-14f8ad9f3c0 https://blog.jupyter.org/report-on-the-jupyter-community-workshop-on-dashboarding-14f8ad9f3c0 - Fri, 14 Feb 2020 00:00:00 GMT + Thu, 13 Feb 2020 23:00:00 GMT @@ -913,7 +913,7 @@ https://medium.com/@wolfv/introducing-scikit-geometry-ae1dccaad5fd https://medium.com/@wolfv/introducing-scikit-geometry-ae1dccaad5fd - Fri, 24 Jan 2020 00:00:00 GMT + Thu, 23 Jan 2020 23:00:00 GMT @@ -922,7 +922,7 @@ https://medium.com/@johan.mabille/how-we-wrote-xtensor-8-n-iterators-7df77e3223f7 https://medium.com/@johan.mabille/how-we-wrote-xtensor-8-n-iterators-7df77e3223f7 - Tue, 07 Jan 2020 00:00:00 GMT + Mon, 06 Jan 2020 23:00:00 GMT @@ -931,7 +931,7 @@ https://medium.com/@wolfv/2019-in-review-d7d03fb0d17d https://medium.com/@wolfv/2019-in-review-d7d03fb0d17d - Thu, 02 Jan 2020 00:00:00 GMT + Wed, 01 Jan 2020 23:00:00 GMT @@ -940,7 +940,7 @@ https://medium.com/@wolfv/robot-development-with-jupyter-ddae16d4e688 https://medium.com/@wolfv/robot-development-with-jupyter-ddae16d4e688 - Tue, 31 Dec 2019 00:00:00 GMT + Mon, 30 Dec 2019 23:00:00 GMT @@ -949,7 +949,7 @@ https://medium.com/@johan.mabille/how-we-wrote-xtensor-7-n-broadcasting-cf37a974d029 https://medium.com/@johan.mabille/how-we-wrote-xtensor-7-n-broadcasting-cf37a974d029 - Sun, 24 Nov 2019 00:00:00 GMT + Sat, 23 Nov 2019 23:00:00 GMT @@ -958,7 +958,7 @@ https://blog.jupyter.org/voila-gridstack-template-8a431c2b353e https://blog.jupyter.org/voila-gridstack-template-8a431c2b353e - Mon, 11 Nov 2019 00:00:00 GMT + Sun, 10 Nov 2019 23:00:00 GMT @@ -967,7 +967,7 @@ https://blog.jupyter.org/a-slideshow-template-for-voil%C3%A0-apps-435f67d10b4f https://blog.jupyter.org/a-slideshow-template-for-voil%C3%A0-apps-435f67d10b4f - Tue, 29 Oct 2019 00:00:00 GMT + Mon, 28 Oct 2019 23:00:00 GMT @@ -976,7 +976,7 @@ https://medium.com/@wolfv/ros-on-conda-forge-dca6827ac4b6 https://medium.com/@wolfv/ros-on-conda-forge-dca6827ac4b6 - Mon, 28 Oct 2019 00:00:00 GMT + Sun, 27 Oct 2019 23:00:00 GMT @@ -985,16 +985,16 @@ https://blog.jupyter.org/ipycanvas-a-python-canvas-for-jupyter-bbb51e4777f7 https://blog.jupyter.org/ipycanvas-a-python-canvas-for-jupyter-bbb51e4777f7 - Fri, 25 Oct 2019 00:00:00 GMT + Thu, 24 Oct 2019 22:00:00 GMT <![CDATA[Field Report on the Kernel Community Workshop]]> - + https://blog.jupyter.org/field-report-on-the-kernel-community-workshop-a4ad73a1a718 https://blog.jupyter.org/field-report-on-the-kernel-community-workshop-a4ad73a1a718 - Mon, 07 Oct 2019 00:00:00 GMT + Sun, 06 Oct 2019 22:00:00 GMT @@ -1003,7 +1003,7 @@ https://medium.com/@johan.mabille/how-we-wrote-xtensor-6-n-operator-overloading-984c2e5b4171 https://medium.com/@johan.mabille/how-we-wrote-xtensor-6-n-operator-overloading-984c2e5b4171 - Wed, 25 Sep 2019 00:00:00 GMT + Tue, 24 Sep 2019 22:00:00 GMT @@ -1012,7 +1012,7 @@ https://blog.jupyter.org/interactive-gis-in-jupyter-with-ipyleaflet-52f9657fa7a https://blog.jupyter.org/interactive-gis-in-jupyter-with-ipyleaflet-52f9657fa7a - Wed, 25 Sep 2019 00:00:00 GMT + Tue, 24 Sep 2019 22:00:00 GMT @@ -1021,7 +1021,7 @@ https://medium.com/@johan.mabille/how-we-wrote-xtensor-5-n-expression-templates-d07332e73d1d https://medium.com/@johan.mabille/how-we-wrote-xtensor-5-n-expression-templates-d07332e73d1d - Thu, 05 Sep 2019 00:00:00 GMT + Wed, 04 Sep 2019 22:00:00 GMT @@ -1030,7 +1030,7 @@ https://blog.jupyter.org/building-a-calculator-jupyter-kernel-4aed5764a295 https://blog.jupyter.org/building-a-calculator-jupyter-kernel-4aed5764a295 - Tue, 16 Jul 2019 00:00:00 GMT + Mon, 15 Jul 2019 22:00:00 GMT @@ -1039,7 +1039,7 @@ https://medium.com/@johan.mabille/how-we-wrote-xtensor-4-n-value-semantics-6baa6856d313 https://medium.com/@johan.mabille/how-we-wrote-xtensor-4-n-value-semantics-6baa6856d313 - Tue, 16 Jul 2019 00:00:00 GMT + Mon, 15 Jul 2019 22:00:00 GMT @@ -1048,7 +1048,7 @@ https://blog.jupyter.org/introducing-templates-for-jupyter-widget-layouts-f72bcb35a662 https://blog.jupyter.org/introducing-templates-for-jupyter-widget-layouts-f72bcb35a662 - Thu, 04 Jul 2019 00:00:00 GMT + Wed, 03 Jul 2019 22:00:00 GMT @@ -1057,7 +1057,7 @@ https://medium.com/@johan.mabille/how-we-wrote-xtensor-3-n-the-constructors-65a177260638 https://medium.com/@johan.mabille/how-we-wrote-xtensor-3-n-the-constructors-65a177260638 - Mon, 24 Jun 2019 00:00:00 GMT + Sun, 23 Jun 2019 22:00:00 GMT @@ -1066,7 +1066,7 @@ https://medium.com/@johan.mabille/how-we-wrote-xtensor-2-n-access-operators-57e8e3852263 https://medium.com/@johan.mabille/how-we-wrote-xtensor-2-n-access-operators-57e8e3852263 - Thu, 20 Jun 2019 00:00:00 GMT + Wed, 19 Jun 2019 22:00:00 GMT @@ -1075,7 +1075,7 @@ https://medium.com/@johan.mabille/how-we-wrote-xtensor-1-n-n-dimensional-containers-f79f9f4966a7 https://medium.com/@johan.mabille/how-we-wrote-xtensor-1-n-n-dimensional-containers-f79f9f4966a7 - Mon, 17 Jun 2019 00:00:00 GMT + Sun, 16 Jun 2019 22:00:00 GMT @@ -1084,7 +1084,7 @@ https://blog.jupyter.org/and-voil%C3%A0-f6a2c08a4a93 https://blog.jupyter.org/and-voil%C3%A0-f6a2c08a4a93 - Tue, 11 Jun 2019 00:00:00 GMT + Mon, 10 Jun 2019 22:00:00 GMT @@ -1093,7 +1093,7 @@ https://medium.com/@wolfv/mamba-development-news-29e32aaa8d6c https://medium.com/@wolfv/mamba-development-news-29e32aaa8d6c - Mon, 10 Jun 2019 00:00:00 GMT + Sun, 09 Jun 2019 22:00:00 GMT @@ -1102,7 +1102,7 @@ https://medium.com/@wolfv/building-an-open-source-continuous-benchmark-system-717839093962 https://medium.com/@wolfv/building-an-open-source-continuous-benchmark-system-717839093962 - Wed, 29 May 2019 00:00:00 GMT + Tue, 28 May 2019 22:00:00 GMT @@ -1111,7 +1111,7 @@ https://blog.jupyter.org/ros-jupyter-b7e82b5e1202 https://blog.jupyter.org/ros-jupyter-b7e82b5e1202 - Sun, 07 Apr 2019 00:00:00 GMT + Sat, 06 Apr 2019 22:00:00 GMT @@ -1120,7 +1120,7 @@ https://medium.com/@wolfv/making-conda-fast-again-4da4debfb3b7 https://medium.com/@wolfv/making-conda-fast-again-4da4debfb3b7 - Thu, 28 Mar 2019 00:00:00 GMT + Wed, 27 Mar 2019 23:00:00 GMT @@ -1129,7 +1129,7 @@ https://medium.com/data-science/interactive-spreadsheets-in-jupyter-32ab6ec0f4ff https://medium.com/data-science/interactive-spreadsheets-in-jupyter-32ab6ec0f4ff - Fri, 08 Mar 2019 00:00:00 GMT + Thu, 07 Mar 2019 23:00:00 GMT @@ -1138,7 +1138,7 @@ https://blog.jupyter.org/a-new-python-kernel-for-jupyter-fcdf211e30a8 https://blog.jupyter.org/a-new-python-kernel-for-jupyter-fcdf211e30a8 - Wed, 09 Jan 2019 00:00:00 GMT + Tue, 08 Jan 2019 23:00:00 GMT @@ -1147,7 +1147,7 @@ https://medium.com/@johan.mabille/xframe-towards-a-c-dataframe-26e1ccde211b https://medium.com/@johan.mabille/xframe-towards-a-c-dataframe-26e1ccde211b - Fri, 04 Jan 2019 00:00:00 GMT + Thu, 03 Jan 2019 23:00:00 GMT @@ -1156,7 +1156,7 @@ https://medium.com/@johan.mabille/designing-language-bindings-with-xtensor-f32aa0f20db https://medium.com/@johan.mabille/designing-language-bindings-with-xtensor-f32aa0f20db - Fri, 30 Nov 2018 00:00:00 GMT + Thu, 29 Nov 2018 23:00:00 GMT @@ -1165,7 +1165,7 @@ https://medium.com/data-science/video-streaming-in-the-jupyter-notebook-635bc5809e85 https://medium.com/data-science/video-streaming-in-the-jupyter-notebook-635bc5809e85 - Mon, 19 Nov 2018 00:00:00 GMT + Sun, 18 Nov 2018 23:00:00 GMT @@ -1174,7 +1174,7 @@ https://towardsdatascience.com/the-xtensor-vision-552dd978e9ad https://towardsdatascience.com/the-xtensor-vision-552dd978e9ad - Sat, 10 Nov 2018 00:00:00 GMT + Fri, 09 Nov 2018 23:00:00 GMT @@ -1183,16 +1183,16 @@ https://serge-sans-paille.github.io/pythran-stories/bye-bye-boostsimd-welcome-xsimd.html https://serge-sans-paille.github.io/pythran-stories/bye-bye-boostsimd-welcome-xsimd.html - Thu, 31 Oct 2019 00:00:00 GMT + Wed, 30 Oct 2019 23:00:00 GMT <![CDATA[Xtensor, C++, and the Julia Challenge]]> - + https://medium.com/@QuantStack/xtensor-c-and-the-julia-challenge-643d4b119761 https://medium.com/@QuantStack/xtensor-c-and-the-julia-challenge-643d4b119761 - Wed, 24 Oct 2018 00:00:00 GMT + Tue, 23 Oct 2018 22:00:00 GMT @@ -1201,7 +1201,7 @@ https://medium.com/@wolfv/the-julia-challenge-in-c-21272d36c002 https://medium.com/@wolfv/the-julia-challenge-in-c-21272d36c002 - Fri, 12 Oct 2018 00:00:00 GMT + Thu, 11 Oct 2018 22:00:00 GMT @@ -1210,7 +1210,7 @@ https://blog.jupyter.org/interpreted-c-for-gis-with-jupyter-ae191bc6fb8e https://blog.jupyter.org/interpreted-c-for-gis-with-jupyter-ae191bc6fb8e - Tue, 24 Apr 2018 00:00:00 GMT + Mon, 23 Apr 2018 22:00:00 GMT @@ -1219,16 +1219,16 @@ https://blog.jupyter.org/authoring-custom-jupyter-widgets-2884a462e724 https://blog.jupyter.org/authoring-custom-jupyter-widgets-2884a462e724 - Mon, 05 Mar 2018 00:00:00 GMT + Sun, 04 Mar 2018 23:00:00 GMT <![CDATA[Jupyter Receives the ACM Software System Award]]> - + https://blog.jupyter.org/jupyter-receives-the-acm-software-system-award-d433b0dfe3a2 https://blog.jupyter.org/jupyter-receives-the-acm-software-system-award-d433b0dfe3a2 - Fri, 02 Mar 2018 00:00:00 GMT + Thu, 01 Mar 2018 23:00:00 GMT @@ -1237,7 +1237,7 @@ https://blog.jupyter.org/a-diagram-editor-for-jupyterlab-a254121ff919 https://blog.jupyter.org/a-diagram-editor-for-jupyterlab-a254121ff919 - Mon, 26 Feb 2018 00:00:00 GMT + Sun, 25 Feb 2018 23:00:00 GMT @@ -1246,7 +1246,7 @@ https://medium.com/@wolfv/fast-reductions-in-xtensor-with-simd-212a8543960a https://medium.com/@wolfv/fast-reductions-in-xtensor-with-simd-212a8543960a - Tue, 20 Feb 2018 00:00:00 GMT + Mon, 19 Feb 2018 23:00:00 GMT @@ -1255,7 +1255,7 @@ https://medium.com/@wolfv/faster-xtensor-87fcbe7f5293 https://medium.com/@wolfv/faster-xtensor-87fcbe7f5293 - Sun, 18 Feb 2018 00:00:00 GMT + Sat, 17 Feb 2018 23:00:00 GMT @@ -1264,7 +1264,7 @@ https://blog.jupyter.org/interactive-workflows-for-c-with-jupyter-fe9b54227d92 https://blog.jupyter.org/interactive-workflows-for-c-with-jupyter-fe9b54227d92 - Wed, 29 Nov 2017 00:00:00 GMT + Tue, 28 Nov 2017 23:00:00 GMT @@ -1273,7 +1273,7 @@ https://medium.com/@SylvainCorlay/scientific-computing-in-a-polyglot-world-with-xtensor-d81ff3865d6 https://medium.com/@SylvainCorlay/scientific-computing-in-a-polyglot-world-with-xtensor-d81ff3865d6 - Fri, 05 May 2017 00:00:00 GMT + Thu, 04 May 2017 22:00:00 GMT From b7da8690c9884f3d633c37c0124d8ec6b6a9e37c Mon Sep 17 00:00:00 2001 From: Florence Haudin Date: Tue, 2 Sep 2025 17:02:40 +0200 Subject: [PATCH 09/12] Try version 20 of node. --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7f8b5add..ef8fb93d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,7 +55,7 @@ "typescript": "^5.8.3" }, "engines": { - "node": "22.x" + "node": "20.x" } }, "node_modules/@algolia/autocomplete-core": { diff --git a/package.json b/package.json index 1ceae9e2..39855a5f 100644 --- a/package.json +++ b/package.json @@ -81,6 +81,6 @@ ] }, "engines": { - "node": "22.x" + "node": "20.x" } } From 67178ff32310347d84a2079e5550208a9d7a0edb Mon Sep 17 00:00:00 2001 From: Florence Haudin Date: Mon, 5 Jan 2026 11:17:35 +0100 Subject: [PATCH 10/12] Fix build and add missing files after rebase. --- package-lock.json | 11 ++ src/components/fundable/ProgressBar.tsx | 25 ++++ src/pages/fundable.tsx | 14 ++ static/img/icons/BlueCaret.svg | 28 ++++ static/img/icons/Dollar.svg | 23 ++++ static/img/icons/Empty.svg | 55 ++++++++ static/img/icons/EmscriptenForge.svg | 102 ++++++++++++++ static/img/icons/Funders.svg | 23 ++++ static/img/icons/Globe.svg | 50 +++++++ static/img/icons/Jupyter.svg | 174 ++++++++++++++++++++++++ static/img/icons/JupyterGIS.svg | 58 ++++++++ static/img/icons/Python.svg | 52 +++++++ static/img/icons/Tools.svg | 49 +++++++ 13 files changed, 664 insertions(+) create mode 100644 src/components/fundable/ProgressBar.tsx create mode 100644 src/pages/fundable.tsx create mode 100644 static/img/icons/BlueCaret.svg create mode 100644 static/img/icons/Dollar.svg create mode 100644 static/img/icons/Empty.svg create mode 100644 static/img/icons/EmscriptenForge.svg create mode 100644 static/img/icons/Funders.svg create mode 100644 static/img/icons/Globe.svg create mode 100644 static/img/icons/Jupyter.svg create mode 100644 static/img/icons/JupyterGIS.svg create mode 100644 static/img/icons/Python.svg create mode 100644 static/img/icons/Tools.svg diff --git a/package-lock.json b/package-lock.json index ef8fb93d..47524fd0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3906,6 +3906,17 @@ "node": ">=18.0" } }, + "node_modules/@dual-bundle/import-meta-resolve": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.2.1.tgz", + "integrity": "sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/JounQin" + } + }, "node_modules/@emnapi/runtime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.6.0.tgz", diff --git a/src/components/fundable/ProgressBar.tsx b/src/components/fundable/ProgressBar.tsx new file mode 100644 index 00000000..7e961b32 --- /dev/null +++ b/src/components/fundable/ProgressBar.tsx @@ -0,0 +1,25 @@ +import React from "react"; + +export default function ProgressBar({ value = 0, color = '#4caf50' }) { + return ( +
+
+ +
+
+
+ ); +} diff --git a/src/pages/fundable.tsx b/src/pages/fundable.tsx new file mode 100644 index 00000000..8bb5a929 --- /dev/null +++ b/src/pages/fundable.tsx @@ -0,0 +1,14 @@ +import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; +import Layout from '@theme/Layout'; +import FundableProjects from '../components/fundable'; +import Footer from "../components/footer/Footer"; + +export default function FundableProjectsPage(): JSX.Element { + const { siteConfig } = useDocusaurusContext(); + return ( + + +