diff --git a/docs/getting-started.md b/docs/getting-started.md
index f0c5f6021..caec26292 100644
--- a/docs/getting-started.md
+++ b/docs/getting-started.md
@@ -23,59 +23,28 @@ In case you're running into problems, consult the [troubleshooting][4] section.
Material for MkDocs can be installed with `pip`:
-=== "Material for MkDocs"
-
- ```
- pip install mkdocs-material
- ```
-
-=== "Insiders"
-
- ``` sh
- pip install git+https://${GH_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git
- ```
+```
+pip install mkdocs-material
+```
This will automatically install compatible versions of all dependencies:
[MkDocs][1], [Markdown][5], [Pygments][6] and [Python Markdown Extensions][7].
Material for MkDocs always strives to support the latest versions, so there's
no need to install those packages separately.
-_Note that in order to install [Insiders][8], you'll need to [become a
-sponsor][9], create a personal access token[^1], and set the_ `GH_TOKEN`
-_environment variable to the token's value._
-
- [^1]:
- In order to use `pip` to install from the private repository over HTTPS, the
- [personal access token][14] requires the [`repo`][15] scope. The creation
- and usage of an access token is only necessary when installing Insiders
- over HTTPS, which is the recommended way when building from within a CI/CD
- workflow, e.g. using [GitHub Pages][16] or [GitLab Pages][17].
-
-
[5]: https://python-markdown.github.io/
[6]: https://pygments.org/
[7]: https://facelessuser.github.io/pymdown-extensions/
- [8]: insiders.md
- [9]: insiders.md#how-to-become-a-sponsor
### with docker
-The official [Docker image][10] is a great way to get up and running in a few
+The official [Docker image][8] is a great way to get up and running in a few
minutes, as it comes with all dependencies pre-installed. Pull the image for the
`latest` version with:
-=== "Material for MkDocs"
-
- ```
- docker pull squidfunk/mkdocs-material
- ```
-
-=== "Insiders"
-
- ```
- docker login -u ${GH_USERNAME} -p ${GH_TOKEN} ghcr.io
- docker pull ghcr.io/squidfunk/mkdocs-material-insiders
- ```
+```
+docker pull squidfunk/mkdocs-material
+```
The `mkdocs` executable is provided as an entry point and `serve` is the
default command. If you're not familiar with Docker don't worry, we have you
@@ -83,24 +52,12 @@ covered in the following sections.
The following plugins are bundled with the Docker image:
-- [mkdocs-minify-plugin][11]
-- [mkdocs-redirects][12]
+- [mkdocs-minify-plugin][9]
+- [mkdocs-redirects][10]
-_Note that in order to install [Insiders][8], you'll need to [become a
-sponsor][9], create a personal access token[^2], and set the_ `GH_TOKEN`
-_environment variable to the token's value._
-
- [^2]:
- If you want to use `docker` to pull the private Docker image from the
- [GitHub Container Registry][18], the [personal access token][14] requires
- the [`read:packages`][15] scope. Note that you need to login before pulling
- the Docker image. As an example, see the [`publish`][19] workflow of the
- Material for MkDocs repository. You'll also need to enable "[Improved Container Support][20]"
- on your account.
-
- [10]: https://hub.docker.com/r/squidfunk/mkdocs-material/
- [11]: https://github.com/byrnereese/mkdocs-minify-plugin
- [12]: https://github.com/datarobot/mkdocs-redirects
+ [8]: https://hub.docker.com/r/squidfunk/mkdocs-material/
+ [9]: https://github.com/byrnereese/mkdocs-minify-plugin
+ [10]: https://github.com/datarobot/mkdocs-redirects
??? question "How to add plugins to the Docker image?"
@@ -124,21 +81,13 @@ _environment variable to the token's value._
### with git
-Material for MkDocs can be directly used from [GitHub][13] by cloning the
+Material for MkDocs can be directly used from [GitHub][11] by cloning the
repository into a subfolder of your project root which might be useful if you
want to use the very latest version:
-=== "Material for MkDocs"
-
- ```
- git clone https://github.com/squidfunk/mkdocs-material.git
- ```
-
-=== "Insiders"
-
- ```
- git clone git@github.com:squidfunk/mkdocs-material-insiders.git mkdocs-material
- ```
+```
+git clone https://github.com/squidfunk/mkdocs-material.git
+```
The theme will reside in the folder `mkdocs-material/material`. When cloning
from `git`, you must install all required dependencies yourself:
@@ -147,15 +96,4 @@ from `git`, you must install all required dependencies yourself:
pip install -r mkdocs-material/requirements.txt
```
-_Note that in order to install [Insiders][8], you'll need to [become a
-sponsor][9]._
-
- [13]: https://github.com/squidfunk/mkdocs-material
-
- [14]: https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token
- [15]: https://docs.github.com/en/developers/apps/scopes-for-oauth-apps#available-scopes
- [16]: publishing-your-site.md#github-pages
- [17]: publishing-your-site.md#gitlab-pages
- [18]: https://docs.github.com/en/free-pro-team@latest/packages/getting-started-with-github-container-registry/about-github-container-registry
- [19]: https://github.com/squidfunk/mkdocs-material/blob/master/.github/workflows/publish.yml
- [20]: https://docs.github.com/en/free-pro-team@latest/packages/guides/enabling-improved-container-support
+ [11]: https://github.com/squidfunk/mkdocs-material
diff --git a/docs/changelog/insiders.md b/docs/insiders/changelog.md
similarity index 100%
rename from docs/changelog/insiders.md
rename to docs/insiders/changelog.md
diff --git a/docs/insiders/getting-started.md b/docs/insiders/getting-started.md
new file mode 100644
index 000000000..506f3d58d
--- /dev/null
+++ b/docs/insiders/getting-started.md
@@ -0,0 +1,173 @@
+---
+template: overrides/main.html
+title: Getting started
+---
+
+# Getting started
+
+Material for MkDocs is a theme for [MkDocs][1], a static site generator geared
+towards (technical) project documentation. If you're familiar with Python, you
+can install Material for MkDocs with [`pip`][2], the Python package manager.
+If not, we recommended using [`docker`][3].
+
+In case you're running into problems, consult the [troubleshooting][4] section.
+
+ [1]: https://www.mkdocs.org
+ [2]: #with-pip
+ [3]: #with-docker
+ [4]: ../troubleshooting.md
+
+## Installation
+
+### with pip
+
+Material for MkDocs can be installed with `pip`:
+
+=== "Material for MkDocs"
+
+ ```
+ pip install mkdocs-material
+ ```
+
+=== "Insiders"
+
+ ``` sh
+ pip install git+https://${GH_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git
+ ```
+
+This will automatically install compatible versions of all dependencies:
+[MkDocs][1], [Markdown][5], [Pygments][6] and [Python Markdown Extensions][7].
+Material for MkDocs always strives to support the latest versions, so there's
+no need to install those packages separately.
+
+_Note that in order to install [Insiders][8], you'll need to [become a
+sponsor][9], create a personal access token[^1], and set the_ `GH_TOKEN`
+_environment variable to the token's value._
+
+ [^1]:
+ In order to use `pip` to install from the private repository over HTTPS, the
+ [personal access token][14] requires the [`repo`][15] scope. The creation
+ and usage of an access token is only necessary when installing Insiders
+ over HTTPS, which is the recommended way when building from within a CI/CD
+ workflow, e.g. using [GitHub Pages][16] or [GitLab Pages][17].
+
+
+ [5]: https://python-markdown.github.io/
+ [6]: https://pygments.org/
+ [7]: https://facelessuser.github.io/pymdown-extensions/
+ [8]: index.md
+ [9]: index.md#how-to-become-a-sponsor
+
+### with docker
+
+- Fork the Insiders repository to your private or organization account
+ - https://github.com/squidfunk/mkdocs-material-insiders/fork
+- Got to Actions, and enable them
+ - https://github.com/stylezenbot/mkdocs-material-insiders/actions
+ - There are three actions (two of which can be deleted, but are no-op in forks)
+ - Build: the action will not be run on forks
+ - Documentaiton: build Insiders documentation
+ - publish: publish, when a new tag is pushed... (!)
+- Create a token with the write_packages scope
+- Set GHCR_TOKEN as a secret in settings
+ -
+
+The official [Docker image][10] is a great way to get up and running in a few
+minutes, as it comes with all dependencies pre-installed. Pull the image for the
+`latest` version with:
+
+=== "Material for MkDocs"
+
+ ```
+ docker pull squidfunk/mkdocs-material
+ ```
+
+=== "Insiders"
+
+ ```
+ docker login -u ${GH_USERNAME} -p ${GH_TOKEN} ghcr.io
+ docker pull ghcr.io/squidfunk/mkdocs-material-insiders
+ ```
+
+The `mkdocs` executable is provided as an entry point and `serve` is the
+default command. If you're not familiar with Docker don't worry, we have you
+covered in the following sections.
+
+The following plugins are bundled with the Docker image:
+
+- [mkdocs-minify-plugin][11]
+- [mkdocs-redirects][12]
+
+_Note that in order to install [Insiders][8], you'll need to [become a
+sponsor][9], create a personal access token[^2], and set the_ `GH_TOKEN`
+_environment variable to the token's value._
+
+ [^2]:
+ If you want to use `docker` to pull the private Docker image from the
+ [GitHub Container Registry][18], the [personal access token][14] requires
+ the [`read:packages`][15] scope. Note that you need to login before pulling
+ the Docker image. As an example, see the [`publish`][19] workflow of the
+ Material for MkDocs repository. You'll also need to enable "[Improved Container Support][20]"
+ on your account.
+
+ [10]: https://hub.docker.com/r/squidfunk/mkdocs-material/
+ [11]: https://github.com/byrnereese/mkdocs-minify-plugin
+ [12]: https://github.com/datarobot/mkdocs-redirects
+
+??? question "How to add plugins to the Docker image?"
+
+ Material for MkDocs bundles useful and common plugins while trying not to
+ blow up the size of the official image. If the plugin you want to use is
+ not included, create a new `Dockerfile` and extend the official Docker image
+ with your custom installation routine:
+
+ ``` Dockerfile
+ FROM squidfunk/mkdocs-material
+ RUN pip install ...
+ ```
+
+ Next, you can build the image with the following command:
+
+ ```
+ docker build -t squidfunk/mkdocs-material .
+ ```
+
+ The new image can be used exactly like the official image.
+
+### with git
+
+Material for MkDocs can be directly used from [GitHub][13] by cloning the
+repository into a subfolder of your project root which might be useful if you
+want to use the very latest version:
+
+=== "Material for MkDocs"
+
+ ```
+ git clone https://github.com/squidfunk/mkdocs-material.git
+ ```
+
+=== "Insiders"
+
+ ```
+ git clone git@github.com:squidfunk/mkdocs-material-insiders.git mkdocs-material
+ ```
+
+The theme will reside in the folder `mkdocs-material/material`. When cloning
+from `git`, you must install all required dependencies yourself:
+
+```
+pip install -r mkdocs-material/requirements.txt
+```
+
+_Note that in order to install [Insiders][8], you'll need to [become a
+sponsor][9]._
+
+ [13]: https://github.com/squidfunk/mkdocs-material
+
+ [14]: https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token
+ [15]: https://docs.github.com/en/developers/apps/scopes-for-oauth-apps#available-scopes
+ [16]: ../publishing-your-site.md#github-pages
+ [17]: ../publishing-your-site.md#gitlab-pages
+ [18]: https://docs.github.com/en/free-pro-team@latest/packages/getting-started-with-github-container-registry/about-github-container-registry
+ [19]: https://github.com/squidfunk/mkdocs-material/blob/master/.github/workflows/publish.yml
+ [20]: https://docs.github.com/en/free-pro-team@latest/packages/guides/enabling-improved-container-support
diff --git a/docs/insiders.md b/docs/insiders/index.md
similarity index 87%
rename from docs/insiders.md
rename to docs/insiders/index.md
index e7a866f79..1a0b9a38b 100644
--- a/docs/insiders.md
+++ b/docs/insiders/index.md
@@ -2,7 +2,7 @@
template: overrides/main.html
---
-# Insiders :logo: :material-plus: :octicons-heart-fill-24:{ .mdx-heart }
+# Material for MkDocs Insiders
Material for MkDocs uses the _sponsorware_ release strategy, which means
that _new features are first exclusively released to sponsors_ as part of
@@ -146,9 +146,9 @@ the public for general availability.
- [x] [Color palette toggle][16]
- [x] [Back-to-top button][17]
- [15]: setup/adding-a-git-repository.md#latest-release
- [16]: setup/changing-the-colors.md#color-palette-toggle
- [17]: setup/setting-up-navigation.md#back-to-top-button
+ [15]: ../setup/adding-a-git-repository.md#latest-release
+ [16]: ../setup/changing-the-colors.md#color-palette-toggle
+ [17]: ../setup/setting-up-navigation.md#back-to-top-button
#### $ 2,500 – Biquinho Vermelho
@@ -156,9 +156,9 @@ the public for general availability.
- [x] [Search highlighting][19]
- [x] [Search sharing][20]
- [18]: setup/setting-up-site-search.md#search-suggestions
- [19]: setup/setting-up-site-search.md#search-highlighting
- [20]: setup/setting-up-site-search.md#search-sharing
+ [18]: ../setup/setting-up-site-search.md#search-suggestions
+ [19]: ../setup/setting-up-site-search.md#search-highlighting
+ [20]: ../setup/setting-up-site-search.md#search-sharing
#### $ 3,000 – Caribbean Red
@@ -166,9 +166,9 @@ the public for general availability.
- [x] [Section index pages][22]
- [x] [Remove generator notice][23]
- [21]: setup/setting-up-navigation.md#sticky-navigation-tabs
- [22]: setup/setting-up-navigation.md#section-index-pages
- [23]: setup/setting-up-the-footer.md#remove-generator
+ [21]: ../setup/setting-up-navigation.md#sticky-navigation-tabs
+ [22]: ../setup/setting-up-navigation.md#section-index-pages
+ [23]: ../setup/setting-up-the-footer.md#remove-generator
#### $ 4,000 – Ghost Pepper
@@ -176,8 +176,8 @@ the public for general availability.
- [x] [Code block annotations][25]
- [ ] Non-latest version warning
-[24]: setup/setting-up-navigation.md#anchor-tracking
-[25]: reference/code-blocks.md#adding-annotations
+[24]: ../setup/setting-up-navigation.md#anchor-tracking
+[25]: ../reference/code-blocks.md#adding-annotations
#### $ 5,000 – Aji Panca
@@ -185,7 +185,7 @@ the public for general availability.
- [ ] List of last searches
- [ ] Advanced routing for versioning
- [26]: reference/diagrams.md
+ [26]: ../reference/diagrams.md
#### $ 6,000 – Trinidad Scorpion
@@ -205,7 +205,7 @@ the public for general availability.
- [ ] TBA
- [ ] TBA
- [27]: reference/admonitions.md#changing-the-icons
+ [27]: ../reference/admonitions.md#changing-the-icons
#### Future
@@ -231,11 +231,11 @@ the public for general availability.
- [x] [Table of contents in navigation][10]
- [x] [Header hides on scroll][11]
- [7]: setup/setting-up-navigation.md#navigation-sections
- [8]: setup/setting-up-navigation.md#navigation-expansion
- [9]: setup/setting-up-navigation.md#hide-the-sidebars
- [10]: setup/setting-up-navigation.md#navigation-integration
- [11]: setup/setting-up-the-header.md#automatic-hiding
+ [7]: ../setup/setting-up-navigation.md#navigation-sections
+ [8]: ../setup/setting-up-navigation.md#navigation-expansion
+ [9]: ../setup/setting-up-navigation.md#hide-the-sidebars
+ [10]: ../setup/setting-up-navigation.md#navigation-integration
+ [11]: ../setup/setting-up-the-header.md#automatic-hiding
#### $ 1,500 – Bhut Jolokia
@@ -243,9 +243,9 @@ the public for general availability.
- [x] [Site language selection][13]
- [x] [Versioning][14]
- [12]: reference/admonitions.md#inline-blocks
- [13]: setup/changing-the-language.md#site-language-selector
- [14]: setup/setting-up-versioning.md#versioning
+ [12]: ../reference/admonitions.md#inline-blocks
+ [13]: ../setup/changing-the-language.md#site-language-selector
+ [14]: ../setup/setting-up-versioning.md#versioning
## Frequently asked questions
@@ -262,7 +262,7 @@ it can be built with Insiders (e.g. as part of GitHub Actions). Thus, it's
recommended to [install Insiders][29] only in CI, as you don't want to expose
your `GH_TOKEN` to users.
- [29]: publishing-your-site.md#github-pages
+ [29]: ../publishing-your-site.md#github-pages
### Terms
@@ -284,5 +284,5 @@ guidelines:
version__ that's available to you __as long as you like__. Just remember that
[GitHub deletes private forks][31].
- [30]: license.md
+ [30]: ../license.md
[31]: https://docs.github.com/en/github/setting-up-and-managing-your-github-user-account/removing-a-collaborator-from-a-personal-repository
diff --git a/docs/publishing-your-site.md b/docs/publishing-your-site.md
index 17f160153..472035a06 100644
--- a/docs/publishing-your-site.md
+++ b/docs/publishing-your-site.md
@@ -80,7 +80,7 @@ using [secrets][5]._
[2]: https://github.com/features/actions
[3]: https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token
- [4]: insiders.md
+ [4]: insiders/index.md
[5]: https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets
### with MkDocs
diff --git a/docs/reference/admonitions.md b/docs/reference/admonitions.md
index 65963e928..635f22b2d 100644
--- a/docs/reference/admonitions.md
+++ b/docs/reference/admonitions.md
@@ -445,7 +445,7 @@ a valid icon in `mkdocs.yml`:
[![Admonition with FontAwesome icons][15]][15]
- [13]: ../insiders.md
+ [13]: ../insiders/index.md
[14]: ../assets/screenshots/admonition-octicons.png
[15]: ../assets/screenshots/admonition-fontawesome.png
diff --git a/docs/reference/code-blocks.md b/docs/reference/code-blocks.md
index bdf68f088..9ed05b9a6 100644
--- a/docs/reference/code-blocks.md
+++ b/docs/reference/code-blocks.md
@@ -261,7 +261,7 @@ _Annotations require syntax highlighting with [Pygments][24] – they're current
not compatible with other JavaScript-based syntax highlighters. Support may be
added later on._
- [18]: ../insiders.md
+ [18]: ../insiders/index.md
[19]: ../assets/screenshots/annotations.png
[20]: https://squidfunk.github.io/mkdocs-material-insiders/reference/code-blocks/#adding-annotations
diff --git a/docs/reference/diagrams.md b/docs/reference/diagrams.md
index e83e0fcfe..bcb4cdc93 100644
--- a/docs/reference/diagrams.md
+++ b/docs/reference/diagrams.md
@@ -57,7 +57,7 @@ ensures interoperability with all Material for MkDocs features._
in conjunction with the [mkdocs-minify-plugin][9] and doesn't adapt to
dark mode.
- [2]: ../insiders.md
+ [2]: ../insiders/index.md
[3]: https://facelessuser.github.io/pymdown-extensions/extensions/superfences/
[4]: https://facelessuser.github.io/pymdown-extensions/
[5]: #usage
diff --git a/docs/setup/adding-a-git-repository.md b/docs/setup/adding-a-git-repository.md
index ab485f85e..8f2e0dbd6 100644
--- a/docs/setup/adding-a-git-repository.md
+++ b/docs/setup/adding-a-git-repository.md
@@ -93,7 +93,7 @@ A demo is worth a thousand words — check it out at
- [5]: ../insiders.md
+ [5]: ../insiders/index.md
[6]: ../assets/screenshots/repository.png
[7]: https://squidfunk.github.io/mkdocs-material-insiders/setup/adding-a-git-repository/
diff --git a/docs/setup/changing-the-colors.md b/docs/setup/changing-the-colors.md
index ed1790b1a..5cbb7018b 100644
--- a/docs/setup/changing-the-colors.md
+++ b/docs/setup/changing-the-colors.md
@@ -258,7 +258,7 @@ color palettes:
This field is used as the toggle's `title` attribute and should be set to a
discernable name to improve accessibility.
- [6]: ../insiders.md
+ [6]: ../insiders/index.md
[7]: https://squidfunk.github.io/mkdocs-material-insiders/setup/changing-the-colors
[8]: #color-scheme
[9]: #primary-color
diff --git a/docs/setup/setting-up-navigation.md b/docs/setup/setting-up-navigation.md
index 72838a7c9..5f55797ce 100644
--- a/docs/setup/setting-up-navigation.md
+++ b/docs/setup/setting-up-navigation.md
@@ -118,7 +118,7 @@ theme:
[![Without sticky tabs][11]][11]
- [9]: ../insiders.md
+ [9]: ../insiders/index.md
[10]: ../assets/screenshots/navigation-tabs-sticky.png
[11]: ../assets/screenshots/navigation-tabs-collapsed.png
diff --git a/docs/setup/setting-up-site-search.md b/docs/setup/setting-up-site-search.md
index 5e91ff185..494f31ad1 100644
--- a/docs/setup/setting-up-site-search.md
+++ b/docs/setup/setting-up-site-search.md
@@ -165,7 +165,7 @@ A demo is worth a thousand words — check it out at
- [8]: ../insiders.md
+ [8]: ../insiders/index.md
[9]: ../assets/screenshots/search-suggestions.png
[10]: https://squidfunk.github.io/mkdocs-material-insiders/reference/code-blocks/?q=code+high
diff --git a/docs/setup/setting-up-the-footer.md b/docs/setup/setting-up-the-footer.md
index 2e32acbe2..0739bab3b 100644
--- a/docs/setup/setting-up-the-footer.md
+++ b/docs/setup/setting-up-the-footer.md
@@ -117,7 +117,7 @@ extra:
generator: false
```
- [4]: ../insiders.md
+ [4]: ../insiders/index.md
## Customization
diff --git a/material/overrides/assets/stylesheets/main.0220c4ec.min.css b/material/overrides/assets/stylesheets/main.0220c4ec.min.css
deleted file mode 100644
index 969cfeac7..000000000
--- a/material/overrides/assets/stylesheets/main.0220c4ec.min.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@-webkit-keyframes mdx-heart{0%,40%,80%,to{transform:scale(1)}20%,60%{transform:scale(1.15)}}@keyframes mdx-heart{0%,40%,80%,to{transform:scale(1)}20%,60%{transform:scale(1.15)}}.md-typeset figure>p+figcaption{margin-top:-1.2rem}.md-typeset .twitter{color:#00acee}.md-typeset .mdx-video{width:auto}.md-typeset .mdx-video__inner{position:relative;width:100%;height:0;padding-bottom:56.138%}.md-typeset .mdx-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;border:none}.md-typeset .mdx-heart{-webkit-animation:mdx-heart 1s infinite;animation:mdx-heart 1s infinite}.md-typeset .mdx-insiders{color:#e91e63}.md-typeset .mdx-switch button{cursor:pointer;transition:opacity .25s}.md-typeset .mdx-switch button:focus,.md-typeset .mdx-switch button:hover{opacity:.75}.md-typeset .mdx-switch button>code{display:block;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-typeset .mdx-columns ol,.md-typeset .mdx-columns ul{-moz-column-count:2;column-count:2}@media screen and (max-width:29.9375em){.md-typeset .mdx-columns ol,.md-typeset .mdx-columns ul{-moz-columns:initial;columns:initial}}.md-typeset .mdx-columns li{-moz-column-break-inside:avoid;break-inside:avoid}.md-announce a,.md-announce a:focus,.md-announce a:hover{color:currentColor}.md-announce strong{white-space:nowrap}.md-announce .twitter{margin-left:.2em}.mdx-content__footer{margin-top:1rem;text-align:center}.mdx-content__footer a{display:inline-block;color:#e91e63;transition:transform .25s cubic-bezier(.1,.7,.1,1),color 125ms}.mdx-content__footer a:focus,.mdx-content__footer a:hover{transform:scale(1.2)}.mdx-content__footer hr{display:inline-block;width:2rem;margin:1em;vertical-align:middle;background-color:currentColor;border:none}.mdx-container{padding-top:1rem;background:url("data:image/svg+xml;utf8,") no-repeat bottom,linear-gradient(180deg,var(--md-primary-fg-color),#a63fd9 99%,var(--md-default-bg-color) 0)}[data-md-color-scheme=slate] .mdx-container{background:url("data:image/svg+xml;utf8,") no-repeat bottom,linear-gradient(180deg,var(--md-primary-fg-color),#a63fd9 99%,var(--md-default-bg-color) 0)}.mdx-hero{margin:0 .8rem;color:var(--md-primary-bg-color)}.mdx-hero h1{margin-bottom:1rem;color:currentColor;font-weight:700}@media screen and (max-width:29.9375em){.mdx-hero h1{font-size:1.4rem}}.mdx-hero__content{padding-bottom:6rem}@media screen and (min-width:60em){.mdx-hero{display:flex;align-items:stretch}.mdx-hero__content{max-width:19rem;margin-top:3.5rem;padding-bottom:14vw}.mdx-hero__image{order:1;width:38rem;transform:translateX(4rem)}}@media screen and (min-width:76.25em){.mdx-hero__image{transform:translateX(8rem)}}.mdx-hero .md-button{margin-top:.5rem;margin-right:.5rem;color:var(--md-primary-bg-color)}.mdx-hero .md-button:focus,.mdx-hero .md-button:hover{color:var(--md-default-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.mdx-hero .md-button--primary{color:#894da8;background-color:var(--md-primary-bg-color);border-color:var(--md-primary-bg-color)}.md-typeset .mdx-iconsearch{position:relative;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.1),0 .025rem .05rem rgba(0,0,0,.1);transition:box-shadow 125ms}.md-typeset .mdx-iconsearch:focus-within,.md-typeset .mdx-iconsearch:hover{box-shadow:0 .4rem 1rem rgba(0,0,0,.15),0 .025rem .05rem rgba(0,0,0,.15)}.md-typeset .mdx-iconsearch .md-input{background:var(--md-default-bg-color);box-shadow:0 0 .6rem rgba(0,0,0,.07)}[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch .md-input{background:var(--md-code-bg-color)}.md-typeset .mdx-iconsearch-result{max-height:50vh;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset .mdx-iconsearch-result::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset .mdx-iconsearch-result__meta{position:absolute;top:.4rem;right:.6rem;color:var(--md-default-fg-color--lighter);font-size:.64rem}.md-typeset .mdx-iconsearch-result__list{margin:0;padding:0;list-style:none}.md-typeset .mdx-iconsearch-result__item{margin:0;padding:.2rem .6rem;border-bottom:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset .mdx-iconsearch-result__item:last-child{border-bottom:none}.md-typeset .mdx-iconsearch-result__item>*{margin-right:.6rem}.md-typeset .mdx-iconsearch-result__item img{width:.9rem;height:.9rem}[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch-result__item img[src*=squidfunk]{-webkit-filter:invert(1);filter:invert(1)}.md-typeset .mdx-sponsorship__list{margin:2em 0;overflow:auto}.md-typeset .mdx-sponsorship__item{display:block;float:left;width:3rem;height:3rem;margin:.2rem;overflow:hidden;border-radius:100%;transform:scale(1);transition:color 125ms,transform 125ms}.md-typeset .mdx-sponsorship__item:focus,.md-typeset .mdx-sponsorship__item:hover{transform:scale(1.1)}.md-typeset .mdx-sponsorship__item:focus img,.md-typeset .mdx-sponsorship__item:hover img{-webkit-filter:grayscale(0);filter:grayscale(0)}.md-typeset .mdx-sponsorship__item--private{color:var(--md-default-fg-color--lighter);font-weight:700;font-size:1.2rem;line-height:3rem;text-align:center;background:var(--md-default-fg-color--lightest)}.md-typeset .mdx-sponsorship__item img{display:block;width:100%;height:auto;-webkit-filter:grayscale(100%);filter:grayscale(100%);transition:-webkit-filter 125ms;transition:filter 125ms;transition:filter 125ms, -webkit-filter 125ms}.md-typeset .mdx-sponsorship-button{font-weight:400}.md-typeset .mdx-sponsorship-count,.md-typeset .mdx-sponsorship-total{font-weight:700}
-/*# sourceMappingURL=main.0220c4ec.min.css.map */
\ No newline at end of file
diff --git a/material/overrides/assets/stylesheets/main.0220c4ec.min.css.map b/material/overrides/assets/stylesheets/main.0220c4ec.min.css.map
deleted file mode 100644
index 57e41ab6b..000000000
--- a/material/overrides/assets/stylesheets/main.0220c4ec.min.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["src/overrides/assets/stylesheets/main/_typeset.scss","src/overrides/assets/stylesheets/main.scss","src/assets/stylesheets/utilities/_break.scss","src/overrides/assets/stylesheets/main/layout/_announce.scss","src/overrides/assets/stylesheets/main/layout/_content.scss","node_modules/material-design-color/material-color.scss","src/overrides/assets/stylesheets/main/layout/_hero.scss","src/overrides/assets/stylesheets/main/layout/_iconsearch.scss","src/overrides/assets/stylesheets/main/layout/_sponsorship.scss"],"names":[],"mappings":"AA2BA,6BACE,cAIE,kBC7BF,CDgCA,QAEE,qBC/BF,CACF,CDoBA,qBACE,cAIE,kBC7BF,CDgCA,QAEE,qBC/BF,CACF,CD0CE,gCACE,kBCxCJ,CD4CE,qBACE,aC1CJ,CD8CE,uBACE,UC5CJ,CD+CI,8BACE,iBAAA,CACA,UAAA,CACA,QAAA,CACA,sBC7CN,CDiDI,8BACE,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,WC/CN,CDoDE,uBACE,uCAAA,CAAA,+BClDJ,CDsDE,0BACE,aCpDJ,CDwDE,+BACE,cAAA,CACA,uBCtDJ,CDyDI,0EAEE,WCxDN,CD4DI,oCACE,aAAA,CACA,gCAAA,CACA,2CC1DN,CDkEI,wDAEE,mBAAA,CAAA,cChEN,CC2JI,wCF7FA,wDAMI,oBAAA,CAAA,eC/DN,CACF,CDmEI,4BACE,8BAAA,CAAA,kBCjEN,CEhCE,yDAGE,kBFmCJ,CE/BE,oBACE,kBFiCJ,CE7BE,sBACE,gBF+BJ,CG/CA,qBACE,eAAA,CACA,iBHkDF,CG/CE,uBACE,oBAAA,CACA,aC4EY,CD3EZ,8DHiDJ,CG5CI,0DAEE,oBH6CN,CGxCE,wBACE,oBAAA,CACA,UAAA,CACA,UAAA,CACA,qBAAA,CACA,6BAAA,CACA,WH0CJ,CKpEA,eACE,gBAAA,CACA,kYLuEF,CK7DE,4CACE,oYL+DJ,CKnDA,UACE,cAAA,CACA,gCLsDF,CKnDE,aACE,kBAAA,CACA,kBAAA,CACA,eLqDJ,CC+FI,wCIvJF,aAOI,gBLqDJ,CACF,CKjDE,mBACE,mBLmDJ,CCoEI,mCIzIJ,UAuBI,YAAA,CACA,mBLkDF,CK/CE,mBACE,eAAA,CACA,iBAAA,CACA,mBLiDJ,CK7CE,iBACE,OAAA,CACA,WAAA,CACA,0BL+CJ,CACF,CCoDI,sCI5FA,iBACE,0BL2CJ,CACF,CKvCE,qBACE,gBAAA,CACA,kBAAA,CACA,gCLyCJ,CKtCI,sDAEE,gCAAA,CACA,0CAAA,CACA,sCLuCN,CKnCI,8BACE,aAAA,CACA,2CAAA,CACA,uCLqCN,CM/HE,4BACE,iBAAA,CACA,2CAAA,CACA,mBAAA,CACA,uEACE,CAEF,2BNgIJ,CM7HI,2EAEE,wEN8HN,CMxHI,sCACE,qCAAA,CACA,oCN0HN,CMvHM,mEACE,kCNyHR,CMnHE,mCACE,eAAA,CACA,eAAA,CAEA,kCAAA,CAAA,0BAAA,CACA,kBAAA,CACA,oBAAA,CACA,+DNoHJ,CMjHI,sDACE,WAAA,CACA,YNmHN,CM/GI,4DACE,oDNiHN,CM9GM,kEACE,0CNgHR,CM3GI,yCACE,iBAAA,CACA,SAAA,CACA,WAAA,CACA,yCAAA,CACA,gBN6GN,CMzGI,yCACE,QAAA,CACA,SAAA,CACA,eN2GN,CMvGI,yCACE,QAAA,CACA,mBAAA,CACA,+DNyGN,CMtGM,oDACE,kBNwGR,CMpGM,2CACE,kBNsGR,CMlGM,6CACE,WAAA,CACA,YNoGR,CMjGQ,0FACE,wBAAA,CAAA,gBNmGV,CO9LI,mCACE,YAAA,CACA,aPiMN,CO7LI,mCACE,aAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,eAAA,CACA,kBAAA,CACA,kBAAA,CACA,sCP+LN,CO1LM,kFAEE,oBP2LR,COxLQ,0FACE,2BAAA,CAAA,mBP0LV,COrLM,4CACE,yCAAA,CACA,eAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,+CPuLR,COnLM,uCACE,aAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CAAA,sBAAA,CACA,+BAAA,CAAA,uBAAA,CAAA,6CPqLR,CO/KE,oCACE,ePiLJ,CO7KE,sEAEE,eP+KJ","file":"src/overrides/assets/stylesheets/main.scss","sourcesContent":["////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Keyframes\n// ----------------------------------------------------------------------------\n\n// Pumping heart animation\n@keyframes mdx-heart {\n 0%,\n 40%,\n 80%,\n 100% {\n transform: scale(1);\n }\n\n 20%,\n 60% {\n transform: scale(1.15);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Screenshot caption\n figure > p + figcaption {\n margin-top: px2rem(-24px);\n }\n\n // Twitter icon\n .twitter {\n color: #00acee;\n }\n\n // Insiders video\n .mdx-video {\n width: auto;\n\n // Insiders video container\n &__inner {\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 56.138%;\n }\n\n // Insiders video iframe\n iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border: none;\n }\n }\n\n // Pumping heart\n .mdx-heart {\n animation: mdx-heart 1000ms infinite;\n }\n\n // Insiders color (for links, etc.)\n .mdx-insiders {\n color: $clr-pink-500;\n }\n\n // Switch buttons\n .mdx-switch button {\n cursor: pointer;\n transition: opacity 250ms;\n\n // Button on focus/hover\n &:focus,\n &:hover {\n opacity: 0.75;\n }\n\n // Code block\n > code {\n display: block;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n }\n }\n\n // Two-column layout\n .mdx-columns {\n\n // Column\n ol,\n ul {\n columns: 2;\n\n // [mobile portrait -]: Reset columns on mobile\n @include break-to-device(mobile portrait) {\n columns: initial;\n }\n }\n\n // Column item\n li {\n break-inside: avoid;\n }\n }\n}\n","@keyframes mdx-heart {\n 0%, 40%, 80%, 100% {\n transform: scale(1);\n }\n 20%, 60% {\n transform: scale(1.15);\n }\n}\n.md-typeset figure > p + figcaption {\n margin-top: -1.2rem;\n}\n.md-typeset .twitter {\n color: #00acee;\n}\n.md-typeset .mdx-video {\n width: auto;\n}\n.md-typeset .mdx-video__inner {\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 56.138%;\n}\n.md-typeset .mdx-video iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border: none;\n}\n.md-typeset .mdx-heart {\n animation: mdx-heart 1000ms infinite;\n}\n.md-typeset .mdx-insiders {\n color: #e91e63;\n}\n.md-typeset .mdx-switch button {\n cursor: pointer;\n transition: opacity 250ms;\n}\n.md-typeset .mdx-switch button:focus, .md-typeset .mdx-switch button:hover {\n opacity: 0.75;\n}\n.md-typeset .mdx-switch button > code {\n display: block;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n}\n.md-typeset .mdx-columns ol,\n.md-typeset .mdx-columns ul {\n columns: 2;\n}\n@media screen and (max-width: 29.9375em) {\n .md-typeset .mdx-columns ol,\n.md-typeset .mdx-columns ul {\n columns: initial;\n }\n}\n.md-typeset .mdx-columns li {\n break-inside: avoid;\n}\n\n.md-announce a,\n.md-announce a:focus,\n.md-announce a:hover {\n color: currentColor;\n}\n.md-announce strong {\n white-space: nowrap;\n}\n.md-announce .twitter {\n margin-left: 0.2em;\n}\n\n.mdx-content__footer {\n margin-top: 1rem;\n text-align: center;\n}\n.mdx-content__footer a {\n display: inline-block;\n color: #e91e63;\n transition: transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1), color 125ms;\n}\n.mdx-content__footer a:focus, .mdx-content__footer a:hover {\n transform: scale(1.2);\n}\n.mdx-content__footer hr {\n display: inline-block;\n width: 2rem;\n margin: 1em;\n vertical-align: middle;\n background-color: currentColor;\n border: none;\n}\n\n.mdx-container {\n padding-top: 1rem;\n background: url(\"data:image/svg+xml;utf8,\") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%);\n}\n[data-md-color-scheme=slate] .mdx-container {\n background: url(\"data:image/svg+xml;utf8,\") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%);\n}\n\n.mdx-hero {\n margin: 0 0.8rem;\n color: var(--md-primary-bg-color);\n}\n.mdx-hero h1 {\n margin-bottom: 1rem;\n color: currentColor;\n font-weight: 700;\n}\n@media screen and (max-width: 29.9375em) {\n .mdx-hero h1 {\n font-size: 1.4rem;\n }\n}\n.mdx-hero__content {\n padding-bottom: 6rem;\n}\n@media screen and (min-width: 60em) {\n .mdx-hero {\n display: flex;\n align-items: stretch;\n }\n .mdx-hero__content {\n max-width: 19rem;\n margin-top: 3.5rem;\n padding-bottom: 14vw;\n }\n .mdx-hero__image {\n order: 1;\n width: 38rem;\n transform: translateX(4rem);\n }\n}\n@media screen and (min-width: 76.25em) {\n .mdx-hero__image {\n transform: translateX(8rem);\n }\n}\n.mdx-hero .md-button {\n margin-top: 0.5rem;\n margin-right: 0.5rem;\n color: var(--md-primary-bg-color);\n}\n.mdx-hero .md-button:focus, .mdx-hero .md-button:hover {\n color: var(--md-default-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n}\n.mdx-hero .md-button--primary {\n color: #894da8;\n background-color: var(--md-primary-bg-color);\n border-color: var(--md-primary-bg-color);\n}\n\n.md-typeset .mdx-iconsearch {\n position: relative;\n background-color: var(--md-default-bg-color);\n border-radius: 0.1rem;\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.1), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.1);\n transition: box-shadow 125ms;\n}\n.md-typeset .mdx-iconsearch:focus-within, .md-typeset .mdx-iconsearch:hover {\n box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.15), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.15);\n}\n.md-typeset .mdx-iconsearch .md-input {\n background: var(--md-default-bg-color);\n box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.07);\n}\n[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch .md-input {\n background: var(--md-code-bg-color);\n}\n.md-typeset .mdx-iconsearch-result {\n max-height: 50vh;\n overflow-y: auto;\n backface-visibility: hidden;\n touch-action: pan-y;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n}\n.md-typeset .mdx-iconsearch-result::-webkit-scrollbar {\n width: 0.2rem;\n height: 0.2rem;\n}\n.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n}\n.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb:hover {\n background-color: var(--md-accent-fg-color);\n}\n.md-typeset .mdx-iconsearch-result__meta {\n position: absolute;\n top: 0.4rem;\n right: 0.6rem;\n color: var(--md-default-fg-color--lighter);\n font-size: 0.64rem;\n}\n.md-typeset .mdx-iconsearch-result__list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.md-typeset .mdx-iconsearch-result__item {\n margin: 0;\n padding: 0.2rem 0.6rem;\n border-bottom: 0.05rem solid var(--md-default-fg-color--lightest);\n}\n.md-typeset .mdx-iconsearch-result__item:last-child {\n border-bottom: none;\n}\n.md-typeset .mdx-iconsearch-result__item > * {\n margin-right: 0.6rem;\n}\n.md-typeset .mdx-iconsearch-result__item img {\n width: 0.9rem;\n height: 0.9rem;\n}\n[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch-result__item img[src*=squidfunk] {\n filter: invert(1);\n}\n\n.md-typeset .mdx-sponsorship__list {\n margin: 2em 0;\n overflow: auto;\n}\n.md-typeset .mdx-sponsorship__item {\n display: block;\n float: left;\n width: 3rem;\n height: 3rem;\n margin: 0.2rem;\n overflow: hidden;\n border-radius: 100%;\n transform: scale(1);\n transition: color 125ms, transform 125ms;\n}\n.md-typeset .mdx-sponsorship__item:focus, .md-typeset .mdx-sponsorship__item:hover {\n transform: scale(1.1);\n}\n.md-typeset .mdx-sponsorship__item:focus img, .md-typeset .mdx-sponsorship__item:hover img {\n filter: grayscale(0%);\n}\n.md-typeset .mdx-sponsorship__item--private {\n color: var(--md-default-fg-color--lighter);\n font-weight: 700;\n font-size: 1.2rem;\n line-height: 3rem;\n text-align: center;\n background: var(--md-default-fg-color--lightest);\n}\n.md-typeset .mdx-sponsorship__item img {\n display: block;\n width: 100%;\n height: auto;\n filter: grayscale(100%);\n transition: filter 125ms;\n}\n.md-typeset .mdx-sponsorship-button {\n font-weight: 400;\n}\n.md-typeset .mdx-sponsorship-count,\n.md-typeset .mdx-sponsorship-total {\n font-weight: 700;\n}\n\n/*# sourceMappingURL=main.css.map */","////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Variables\n// ----------------------------------------------------------------------------\n\n///\n/// Device-specific breakpoints\n///\n/// @example\n/// $break-devices: (\n/// mobile: (\n/// portrait: 220px 479px,\n/// landscape: 480px 719px\n/// ),\n/// tablet: (\n/// portrait: 720px 959px,\n/// landscape: 960px 1219px\n/// ),\n/// screen: (\n/// small: 1220px 1599px,\n/// medium: 1600px 1999px,\n/// large: 2000px\n/// )\n/// );\n///\n$break-devices: () !default;\n\n// ----------------------------------------------------------------------------\n// Helpers\n// ----------------------------------------------------------------------------\n\n///\n/// Choose minimum and maximum device widths\n///\n@function break-select-min-max($devices) {\n $min: 1000000;\n $max: 0;\n @each $key, $value in $devices {\n @while type-of($value) == map {\n $value: break-select-min-max($value);\n }\n @if type-of($value) == list {\n @each $number in $value {\n @if type-of($number) == number {\n $min: min($number, $min);\n @if $max {\n $max: max($number, $max);\n }\n } @else {\n @error \"Invalid number: #{$number}\";\n }\n }\n } @else if type-of($value) == number {\n $min: min($value, $min);\n $max: null;\n } @else {\n @error \"Invalid value: #{$value}\";\n }\n }\n @return $min, $max;\n}\n\n///\n/// Select minimum and maximum widths for a device breakpoint\n///\n@function break-select-device($device) {\n $current: $break-devices;\n @for $n from 1 through length($device) {\n @if type-of($current) == map {\n $current: map-get($current, nth($device, $n));\n } @else {\n @error \"Invalid device map: #{$devices}\";\n }\n }\n @if type-of($current) == list or type-of($current) == number {\n $current: (default: $current);\n }\n @return break-select-min-max($current);\n}\n\n// ----------------------------------------------------------------------------\n// Mixins\n// ----------------------------------------------------------------------------\n\n///\n/// A minimum-maximum media query breakpoint\n///\n@mixin break-at($breakpoint) {\n @if type-of($breakpoint) == number {\n @media screen and (min-width: $breakpoint) {\n @content;\n }\n } @else if type-of($breakpoint) == list {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\n @if type-of($min) == number and type-of($max) == number {\n @media screen and (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// An orientation media query breakpoint\n///\n@mixin break-at-orientation($breakpoint) {\n @if type-of($breakpoint) == string {\n @media screen and (orientation: $breakpoint) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// A maximum-aspect-ratio media query breakpoint\n///\n@mixin break-at-ratio($breakpoint) {\n @if type-of($breakpoint) == number {\n @media screen and (max-aspect-ratio: $breakpoint) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// A minimum-maximum media query device breakpoint\n///\n@mixin break-at-device($device) {\n @if type-of($device) == string {\n $device: $device,;\n }\n @if type-of($device) == list {\n $breakpoint: break-select-device($device);\n @if nth($breakpoint, 2) {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\n\n @media screen and (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n\n///\n/// A minimum media query device breakpoint\n///\n@mixin break-from-device($device) {\n @if type-of($device) == string {\n $device: $device,;\n }\n @if type-of($device) == list {\n $breakpoint: break-select-device($device);\n $min: nth($breakpoint, 1);\n\n @media screen and (min-width: $min) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n\n///\n/// A maximum media query device breakpoint\n///\n@mixin break-to-device($device) {\n @if type-of($device) == string {\n $device: $device,;\n }\n @if type-of($device) == list {\n $breakpoint: break-select-device($device);\n $max: nth($breakpoint, 2);\n\n @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Announcement bar\n.md-announce {\n\n // Text link, also on focus/hover\n a,\n a:focus,\n a:hover {\n color: currentColor;\n }\n\n // Don't wrap name of blog article\n strong {\n white-space: nowrap;\n }\n\n // Twitter icon\n .twitter {\n margin-left: 0.2em;\n }\n}\n","////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Content footer\n.mdx-content__footer {\n margin-top: px2rem(20px);\n text-align: center;\n\n // Link to Insiders\n a {\n display: inline-block;\n color: $clr-pink-500;\n transition:\n transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1),\n color 125ms;\n\n // Link to Insiders on focus/hover\n &:focus,\n &:hover {\n transform: scale(1.2);\n }\n }\n\n // Horizontal separator\n hr {\n display: inline-block;\n width: px2rem(40px);\n margin: px2em(16px);\n vertical-align: middle;\n background-color: currentColor;\n border: none;\n }\n}\n","// ==========================================================================\n//\n// Name: UI Color Palette\n// Description: The color palette of material design.\n// Version: 2.3.1\n//\n// Author: Denis Malinochkin\n// Git: https://github.com/mrmlnc/material-color\n//\n// twitter: @mrmlnc\n//\n// ==========================================================================\n\n\n//\n// List of base colors\n//\n\n// $clr-red\n// $clr-pink\n// $clr-purple\n// $clr-deep-purple\n// $clr-indigo\n// $clr-blue\n// $clr-light-blue\n// $clr-cyan\n// $clr-teal\n// $clr-green\n// $clr-light-green\n// $clr-lime\n// $clr-yellow\n// $clr-amber\n// $clr-orange\n// $clr-deep-orange\n// $clr-brown\n// $clr-grey\n// $clr-blue-grey\n// $clr-black\n// $clr-white\n\n\n//\n// Red\n//\n\n$clr-red-list: (\n \"base\": #f44336,\n \"50\": #ffebee,\n \"100\": #ffcdd2,\n \"200\": #ef9a9a,\n \"300\": #e57373,\n \"400\": #ef5350,\n \"500\": #f44336,\n \"600\": #e53935,\n \"700\": #d32f2f,\n \"800\": #c62828,\n \"900\": #b71c1c,\n \"a100\": #ff8a80,\n \"a200\": #ff5252,\n \"a400\": #ff1744,\n \"a700\": #d50000\n);\n\n$clr-red: map-get($clr-red-list, \"base\");\n\n$clr-red-50: map-get($clr-red-list, \"50\");\n$clr-red-100: map-get($clr-red-list, \"100\");\n$clr-red-200: map-get($clr-red-list, \"200\");\n$clr-red-300: map-get($clr-red-list, \"300\");\n$clr-red-400: map-get($clr-red-list, \"400\");\n$clr-red-500: map-get($clr-red-list, \"500\");\n$clr-red-600: map-get($clr-red-list, \"600\");\n$clr-red-700: map-get($clr-red-list, \"700\");\n$clr-red-800: map-get($clr-red-list, \"800\");\n$clr-red-900: map-get($clr-red-list, \"900\");\n$clr-red-a100: map-get($clr-red-list, \"a100\");\n$clr-red-a200: map-get($clr-red-list, \"a200\");\n$clr-red-a400: map-get($clr-red-list, \"a400\");\n$clr-red-a700: map-get($clr-red-list, \"a700\");\n\n\n//\n// Pink\n//\n\n$clr-pink-list: (\n \"base\": #e91e63,\n \"50\": #fce4ec,\n \"100\": #f8bbd0,\n \"200\": #f48fb1,\n \"300\": #f06292,\n \"400\": #ec407a,\n \"500\": #e91e63,\n \"600\": #d81b60,\n \"700\": #c2185b,\n \"800\": #ad1457,\n \"900\": #880e4f,\n \"a100\": #ff80ab,\n \"a200\": #ff4081,\n \"a400\": #f50057,\n \"a700\": #c51162\n);\n\n$clr-pink: map-get($clr-pink-list, \"base\");\n\n$clr-pink-50: map-get($clr-pink-list, \"50\");\n$clr-pink-100: map-get($clr-pink-list, \"100\");\n$clr-pink-200: map-get($clr-pink-list, \"200\");\n$clr-pink-300: map-get($clr-pink-list, \"300\");\n$clr-pink-400: map-get($clr-pink-list, \"400\");\n$clr-pink-500: map-get($clr-pink-list, \"500\");\n$clr-pink-600: map-get($clr-pink-list, \"600\");\n$clr-pink-700: map-get($clr-pink-list, \"700\");\n$clr-pink-800: map-get($clr-pink-list, \"800\");\n$clr-pink-900: map-get($clr-pink-list, \"900\");\n$clr-pink-a100: map-get($clr-pink-list, \"a100\");\n$clr-pink-a200: map-get($clr-pink-list, \"a200\");\n$clr-pink-a400: map-get($clr-pink-list, \"a400\");\n$clr-pink-a700: map-get($clr-pink-list, \"a700\");\n\n\n//\n// Purple\n//\n\n$clr-purple-list: (\n \"base\": #9c27b0,\n \"50\": #f3e5f5,\n \"100\": #e1bee7,\n \"200\": #ce93d8,\n \"300\": #ba68c8,\n \"400\": #ab47bc,\n \"500\": #9c27b0,\n \"600\": #8e24aa,\n \"700\": #7b1fa2,\n \"800\": #6a1b9a,\n \"900\": #4a148c,\n \"a100\": #ea80fc,\n \"a200\": #e040fb,\n \"a400\": #d500f9,\n \"a700\": #aa00ff\n);\n\n$clr-purple: map-get($clr-purple-list, \"base\");\n\n$clr-purple-50: map-get($clr-purple-list, \"50\");\n$clr-purple-100: map-get($clr-purple-list, \"100\");\n$clr-purple-200: map-get($clr-purple-list, \"200\");\n$clr-purple-300: map-get($clr-purple-list, \"300\");\n$clr-purple-400: map-get($clr-purple-list, \"400\");\n$clr-purple-500: map-get($clr-purple-list, \"500\");\n$clr-purple-600: map-get($clr-purple-list, \"600\");\n$clr-purple-700: map-get($clr-purple-list, \"700\");\n$clr-purple-800: map-get($clr-purple-list, \"800\");\n$clr-purple-900: map-get($clr-purple-list, \"900\");\n$clr-purple-a100: map-get($clr-purple-list, \"a100\");\n$clr-purple-a200: map-get($clr-purple-list, \"a200\");\n$clr-purple-a400: map-get($clr-purple-list, \"a400\");\n$clr-purple-a700: map-get($clr-purple-list, \"a700\");\n\n\n//\n// Deep purple\n//\n\n$clr-deep-purple-list: (\n \"base\": #673ab7,\n \"50\": #ede7f6,\n \"100\": #d1c4e9,\n \"200\": #b39ddb,\n \"300\": #9575cd,\n \"400\": #7e57c2,\n \"500\": #673ab7,\n \"600\": #5e35b1,\n \"700\": #512da8,\n \"800\": #4527a0,\n \"900\": #311b92,\n \"a100\": #b388ff,\n \"a200\": #7c4dff,\n \"a400\": #651fff,\n \"a700\": #6200ea\n);\n\n$clr-deep-purple: map-get($clr-deep-purple-list, \"base\");\n\n$clr-deep-purple-50: map-get($clr-deep-purple-list, \"50\");\n$clr-deep-purple-100: map-get($clr-deep-purple-list, \"100\");\n$clr-deep-purple-200: map-get($clr-deep-purple-list, \"200\");\n$clr-deep-purple-300: map-get($clr-deep-purple-list, \"300\");\n$clr-deep-purple-400: map-get($clr-deep-purple-list, \"400\");\n$clr-deep-purple-500: map-get($clr-deep-purple-list, \"500\");\n$clr-deep-purple-600: map-get($clr-deep-purple-list, \"600\");\n$clr-deep-purple-700: map-get($clr-deep-purple-list, \"700\");\n$clr-deep-purple-800: map-get($clr-deep-purple-list, \"800\");\n$clr-deep-purple-900: map-get($clr-deep-purple-list, \"900\");\n$clr-deep-purple-a100: map-get($clr-deep-purple-list, \"a100\");\n$clr-deep-purple-a200: map-get($clr-deep-purple-list, \"a200\");\n$clr-deep-purple-a400: map-get($clr-deep-purple-list, \"a400\");\n$clr-deep-purple-a700: map-get($clr-deep-purple-list, \"a700\");\n\n\n//\n// Indigo\n//\n\n$clr-indigo-list: (\n \"base\": #3f51b5,\n \"50\": #e8eaf6,\n \"100\": #c5cae9,\n \"200\": #9fa8da,\n \"300\": #7986cb,\n \"400\": #5c6bc0,\n \"500\": #3f51b5,\n \"600\": #3949ab,\n \"700\": #303f9f,\n \"800\": #283593,\n \"900\": #1a237e,\n \"a100\": #8c9eff,\n \"a200\": #536dfe,\n \"a400\": #3d5afe,\n \"a700\": #304ffe\n);\n\n$clr-indigo: map-get($clr-indigo-list, \"base\");\n\n$clr-indigo-50: map-get($clr-indigo-list, \"50\");\n$clr-indigo-100: map-get($clr-indigo-list, \"100\");\n$clr-indigo-200: map-get($clr-indigo-list, \"200\");\n$clr-indigo-300: map-get($clr-indigo-list, \"300\");\n$clr-indigo-400: map-get($clr-indigo-list, \"400\");\n$clr-indigo-500: map-get($clr-indigo-list, \"500\");\n$clr-indigo-600: map-get($clr-indigo-list, \"600\");\n$clr-indigo-700: map-get($clr-indigo-list, \"700\");\n$clr-indigo-800: map-get($clr-indigo-list, \"800\");\n$clr-indigo-900: map-get($clr-indigo-list, \"900\");\n$clr-indigo-a100: map-get($clr-indigo-list, \"a100\");\n$clr-indigo-a200: map-get($clr-indigo-list, \"a200\");\n$clr-indigo-a400: map-get($clr-indigo-list, \"a400\");\n$clr-indigo-a700: map-get($clr-indigo-list, \"a700\");\n\n\n//\n// Blue\n//\n\n$clr-blue-list: (\n \"base\": #2196f3,\n \"50\": #e3f2fd,\n \"100\": #bbdefb,\n \"200\": #90caf9,\n \"300\": #64b5f6,\n \"400\": #42a5f5,\n \"500\": #2196f3,\n \"600\": #1e88e5,\n \"700\": #1976d2,\n \"800\": #1565c0,\n \"900\": #0d47a1,\n \"a100\": #82b1ff,\n \"a200\": #448aff,\n \"a400\": #2979ff,\n \"a700\": #2962ff\n);\n\n$clr-blue: map-get($clr-blue-list, \"base\");\n\n$clr-blue-50: map-get($clr-blue-list, \"50\");\n$clr-blue-100: map-get($clr-blue-list, \"100\");\n$clr-blue-200: map-get($clr-blue-list, \"200\");\n$clr-blue-300: map-get($clr-blue-list, \"300\");\n$clr-blue-400: map-get($clr-blue-list, \"400\");\n$clr-blue-500: map-get($clr-blue-list, \"500\");\n$clr-blue-600: map-get($clr-blue-list, \"600\");\n$clr-blue-700: map-get($clr-blue-list, \"700\");\n$clr-blue-800: map-get($clr-blue-list, \"800\");\n$clr-blue-900: map-get($clr-blue-list, \"900\");\n$clr-blue-a100: map-get($clr-blue-list, \"a100\");\n$clr-blue-a200: map-get($clr-blue-list, \"a200\");\n$clr-blue-a400: map-get($clr-blue-list, \"a400\");\n$clr-blue-a700: map-get($clr-blue-list, \"a700\");\n\n\n//\n// Light Blue\n//\n\n$clr-light-blue-list: (\n \"base\": #03a9f4,\n \"50\": #e1f5fe,\n \"100\": #b3e5fc,\n \"200\": #81d4fa,\n \"300\": #4fc3f7,\n \"400\": #29b6f6,\n \"500\": #03a9f4,\n \"600\": #039be5,\n \"700\": #0288d1,\n \"800\": #0277bd,\n \"900\": #01579b,\n \"a100\": #80d8ff,\n \"a200\": #40c4ff,\n \"a400\": #00b0ff,\n \"a700\": #0091ea\n);\n\n$clr-light-blue: map-get($clr-light-blue-list, \"base\");\n\n$clr-light-blue-50: map-get($clr-light-blue-list, \"50\");\n$clr-light-blue-100: map-get($clr-light-blue-list, \"100\");\n$clr-light-blue-200: map-get($clr-light-blue-list, \"200\");\n$clr-light-blue-300: map-get($clr-light-blue-list, \"300\");\n$clr-light-blue-400: map-get($clr-light-blue-list, \"400\");\n$clr-light-blue-500: map-get($clr-light-blue-list, \"500\");\n$clr-light-blue-600: map-get($clr-light-blue-list, \"600\");\n$clr-light-blue-700: map-get($clr-light-blue-list, \"700\");\n$clr-light-blue-800: map-get($clr-light-blue-list, \"800\");\n$clr-light-blue-900: map-get($clr-light-blue-list, \"900\");\n$clr-light-blue-a100: map-get($clr-light-blue-list, \"a100\");\n$clr-light-blue-a200: map-get($clr-light-blue-list, \"a200\");\n$clr-light-blue-a400: map-get($clr-light-blue-list, \"a400\");\n$clr-light-blue-a700: map-get($clr-light-blue-list, \"a700\");\n\n\n//\n// Cyan\n//\n\n$clr-cyan-list: (\n \"base\": #00bcd4,\n \"50\": #e0f7fa,\n \"100\": #b2ebf2,\n \"200\": #80deea,\n \"300\": #4dd0e1,\n \"400\": #26c6da,\n \"500\": #00bcd4,\n \"600\": #00acc1,\n \"700\": #0097a7,\n \"800\": #00838f,\n \"900\": #006064,\n \"a100\": #84ffff,\n \"a200\": #18ffff,\n \"a400\": #00e5ff,\n \"a700\": #00b8d4\n);\n\n$clr-cyan: map-get($clr-cyan-list, \"base\");\n\n$clr-cyan-50: map-get($clr-cyan-list, \"50\");\n$clr-cyan-100: map-get($clr-cyan-list, \"100\");\n$clr-cyan-200: map-get($clr-cyan-list, \"200\");\n$clr-cyan-300: map-get($clr-cyan-list, \"300\");\n$clr-cyan-400: map-get($clr-cyan-list, \"400\");\n$clr-cyan-500: map-get($clr-cyan-list, \"500\");\n$clr-cyan-600: map-get($clr-cyan-list, \"600\");\n$clr-cyan-700: map-get($clr-cyan-list, \"700\");\n$clr-cyan-800: map-get($clr-cyan-list, \"800\");\n$clr-cyan-900: map-get($clr-cyan-list, \"900\");\n$clr-cyan-a100: map-get($clr-cyan-list, \"a100\");\n$clr-cyan-a200: map-get($clr-cyan-list, \"a200\");\n$clr-cyan-a400: map-get($clr-cyan-list, \"a400\");\n$clr-cyan-a700: map-get($clr-cyan-list, \"a700\");\n\n\n//\n// Teal\n//\n\n$clr-teal-list: (\n \"base\": #009688,\n \"50\": #e0f2f1,\n \"100\": #b2dfdb,\n \"200\": #80cbc4,\n \"300\": #4db6ac,\n \"400\": #26a69a,\n \"500\": #009688,\n \"600\": #00897b,\n \"700\": #00796b,\n \"800\": #00695c,\n \"900\": #004d40,\n \"a100\": #a7ffeb,\n \"a200\": #64ffda,\n \"a400\": #1de9b6,\n \"a700\": #00bfa5\n);\n\n$clr-teal: map-get($clr-teal-list, \"base\");\n\n$clr-teal-50: map-get($clr-teal-list, \"50\");\n$clr-teal-100: map-get($clr-teal-list, \"100\");\n$clr-teal-200: map-get($clr-teal-list, \"200\");\n$clr-teal-300: map-get($clr-teal-list, \"300\");\n$clr-teal-400: map-get($clr-teal-list, \"400\");\n$clr-teal-500: map-get($clr-teal-list, \"500\");\n$clr-teal-600: map-get($clr-teal-list, \"600\");\n$clr-teal-700: map-get($clr-teal-list, \"700\");\n$clr-teal-800: map-get($clr-teal-list, \"800\");\n$clr-teal-900: map-get($clr-teal-list, \"900\");\n$clr-teal-a100: map-get($clr-teal-list, \"a100\");\n$clr-teal-a200: map-get($clr-teal-list, \"a200\");\n$clr-teal-a400: map-get($clr-teal-list, \"a400\");\n$clr-teal-a700: map-get($clr-teal-list, \"a700\");\n\n\n//\n// Green\n//\n\n$clr-green-list: (\n \"base\": #4caf50,\n \"50\": #e8f5e9,\n \"100\": #c8e6c9,\n \"200\": #a5d6a7,\n \"300\": #81c784,\n \"400\": #66bb6a,\n \"500\": #4caf50,\n \"600\": #43a047,\n \"700\": #388e3c,\n \"800\": #2e7d32,\n \"900\": #1b5e20,\n \"a100\": #b9f6ca,\n \"a200\": #69f0ae,\n \"a400\": #00e676,\n \"a700\": #00c853\n);\n\n$clr-green: map-get($clr-green-list, \"base\");\n\n$clr-green-50: map-get($clr-green-list, \"50\");\n$clr-green-100: map-get($clr-green-list, \"100\");\n$clr-green-200: map-get($clr-green-list, \"200\");\n$clr-green-300: map-get($clr-green-list, \"300\");\n$clr-green-400: map-get($clr-green-list, \"400\");\n$clr-green-500: map-get($clr-green-list, \"500\");\n$clr-green-600: map-get($clr-green-list, \"600\");\n$clr-green-700: map-get($clr-green-list, \"700\");\n$clr-green-800: map-get($clr-green-list, \"800\");\n$clr-green-900: map-get($clr-green-list, \"900\");\n$clr-green-a100: map-get($clr-green-list, \"a100\");\n$clr-green-a200: map-get($clr-green-list, \"a200\");\n$clr-green-a400: map-get($clr-green-list, \"a400\");\n$clr-green-a700: map-get($clr-green-list, \"a700\");\n\n\n//\n// Light green\n//\n\n$clr-light-green-list: (\n \"base\": #8bc34a,\n \"50\": #f1f8e9,\n \"100\": #dcedc8,\n \"200\": #c5e1a5,\n \"300\": #aed581,\n \"400\": #9ccc65,\n \"500\": #8bc34a,\n \"600\": #7cb342,\n \"700\": #689f38,\n \"800\": #558b2f,\n \"900\": #33691e,\n \"a100\": #ccff90,\n \"a200\": #b2ff59,\n \"a400\": #76ff03,\n \"a700\": #64dd17\n);\n\n$clr-light-green: map-get($clr-light-green-list, \"base\");\n\n$clr-light-green-50: map-get($clr-light-green-list, \"50\");\n$clr-light-green-100: map-get($clr-light-green-list, \"100\");\n$clr-light-green-200: map-get($clr-light-green-list, \"200\");\n$clr-light-green-300: map-get($clr-light-green-list, \"300\");\n$clr-light-green-400: map-get($clr-light-green-list, \"400\");\n$clr-light-green-500: map-get($clr-light-green-list, \"500\");\n$clr-light-green-600: map-get($clr-light-green-list, \"600\");\n$clr-light-green-700: map-get($clr-light-green-list, \"700\");\n$clr-light-green-800: map-get($clr-light-green-list, \"800\");\n$clr-light-green-900: map-get($clr-light-green-list, \"900\");\n$clr-light-green-a100: map-get($clr-light-green-list, \"a100\");\n$clr-light-green-a200: map-get($clr-light-green-list, \"a200\");\n$clr-light-green-a400: map-get($clr-light-green-list, \"a400\");\n$clr-light-green-a700: map-get($clr-light-green-list, \"a700\");\n\n\n//\n// Lime\n//\n\n$clr-lime-list: (\n \"base\": #cddc39,\n \"50\": #f9fbe7,\n \"100\": #f0f4c3,\n \"200\": #e6ee9c,\n \"300\": #dce775,\n \"400\": #d4e157,\n \"500\": #cddc39,\n \"600\": #c0ca33,\n \"700\": #afb42b,\n \"800\": #9e9d24,\n \"900\": #827717,\n \"a100\": #f4ff81,\n \"a200\": #eeff41,\n \"a400\": #c6ff00,\n \"a700\": #aeea00\n);\n\n$clr-lime: map-get($clr-lime-list, \"base\");\n\n$clr-lime-50: map-get($clr-lime-list, \"50\");\n$clr-lime-100: map-get($clr-lime-list, \"100\");\n$clr-lime-200: map-get($clr-lime-list, \"200\");\n$clr-lime-300: map-get($clr-lime-list, \"300\");\n$clr-lime-400: map-get($clr-lime-list, \"400\");\n$clr-lime-500: map-get($clr-lime-list, \"500\");\n$clr-lime-600: map-get($clr-lime-list, \"600\");\n$clr-lime-700: map-get($clr-lime-list, \"700\");\n$clr-lime-800: map-get($clr-lime-list, \"800\");\n$clr-lime-900: map-get($clr-lime-list, \"900\");\n$clr-lime-a100: map-get($clr-lime-list, \"a100\");\n$clr-lime-a200: map-get($clr-lime-list, \"a200\");\n$clr-lime-a400: map-get($clr-lime-list, \"a400\");\n$clr-lime-a700: map-get($clr-lime-list, \"a700\");\n\n\n//\n// Yellow\n//\n\n$clr-yellow-list: (\n \"base\": #ffeb3b,\n \"50\": #fffde7,\n \"100\": #fff9c4,\n \"200\": #fff59d,\n \"300\": #fff176,\n \"400\": #ffee58,\n \"500\": #ffeb3b,\n \"600\": #fdd835,\n \"700\": #fbc02d,\n \"800\": #f9a825,\n \"900\": #f57f17,\n \"a100\": #ffff8d,\n \"a200\": #ffff00,\n \"a400\": #ffea00,\n \"a700\": #ffd600\n);\n\n$clr-yellow: map-get($clr-yellow-list, \"base\");\n\n$clr-yellow-50: map-get($clr-yellow-list, \"50\");\n$clr-yellow-100: map-get($clr-yellow-list, \"100\");\n$clr-yellow-200: map-get($clr-yellow-list, \"200\");\n$clr-yellow-300: map-get($clr-yellow-list, \"300\");\n$clr-yellow-400: map-get($clr-yellow-list, \"400\");\n$clr-yellow-500: map-get($clr-yellow-list, \"500\");\n$clr-yellow-600: map-get($clr-yellow-list, \"600\");\n$clr-yellow-700: map-get($clr-yellow-list, \"700\");\n$clr-yellow-800: map-get($clr-yellow-list, \"800\");\n$clr-yellow-900: map-get($clr-yellow-list, \"900\");\n$clr-yellow-a100: map-get($clr-yellow-list, \"a100\");\n$clr-yellow-a200: map-get($clr-yellow-list, \"a200\");\n$clr-yellow-a400: map-get($clr-yellow-list, \"a400\");\n$clr-yellow-a700: map-get($clr-yellow-list, \"a700\");\n\n\n//\n// amber\n//\n\n$clr-amber-list: (\n \"base\": #ffc107,\n \"50\": #fff8e1,\n \"100\": #ffecb3,\n \"200\": #ffe082,\n \"300\": #ffd54f,\n \"400\": #ffca28,\n \"500\": #ffc107,\n \"600\": #ffb300,\n \"700\": #ffa000,\n \"800\": #ff8f00,\n \"900\": #ff6f00,\n \"a100\": #ffe57f,\n \"a200\": #ffd740,\n \"a400\": #ffc400,\n \"a700\": #ffab00\n);\n\n$clr-amber: map-get($clr-amber-list, \"base\");\n\n$clr-amber-50: map-get($clr-amber-list, \"50\");\n$clr-amber-100: map-get($clr-amber-list, \"100\");\n$clr-amber-200: map-get($clr-amber-list, \"200\");\n$clr-amber-300: map-get($clr-amber-list, \"300\");\n$clr-amber-400: map-get($clr-amber-list, \"400\");\n$clr-amber-500: map-get($clr-amber-list, \"500\");\n$clr-amber-600: map-get($clr-amber-list, \"600\");\n$clr-amber-700: map-get($clr-amber-list, \"700\");\n$clr-amber-800: map-get($clr-amber-list, \"800\");\n$clr-amber-900: map-get($clr-amber-list, \"900\");\n$clr-amber-a100: map-get($clr-amber-list, \"a100\");\n$clr-amber-a200: map-get($clr-amber-list, \"a200\");\n$clr-amber-a400: map-get($clr-amber-list, \"a400\");\n$clr-amber-a700: map-get($clr-amber-list, \"a700\");\n\n\n//\n// Orange\n//\n\n$clr-orange-list: (\n \"base\": #ff9800,\n \"50\": #fff3e0,\n \"100\": #ffe0b2,\n \"200\": #ffcc80,\n \"300\": #ffb74d,\n \"400\": #ffa726,\n \"500\": #ff9800,\n \"600\": #fb8c00,\n \"700\": #f57c00,\n \"800\": #ef6c00,\n \"900\": #e65100,\n \"a100\": #ffd180,\n \"a200\": #ffab40,\n \"a400\": #ff9100,\n \"a700\": #ff6d00\n);\n\n$clr-orange: map-get($clr-orange-list, \"base\");\n\n$clr-orange-50: map-get($clr-orange-list, \"50\");\n$clr-orange-100: map-get($clr-orange-list, \"100\");\n$clr-orange-200: map-get($clr-orange-list, \"200\");\n$clr-orange-300: map-get($clr-orange-list, \"300\");\n$clr-orange-400: map-get($clr-orange-list, \"400\");\n$clr-orange-500: map-get($clr-orange-list, \"500\");\n$clr-orange-600: map-get($clr-orange-list, \"600\");\n$clr-orange-700: map-get($clr-orange-list, \"700\");\n$clr-orange-800: map-get($clr-orange-list, \"800\");\n$clr-orange-900: map-get($clr-orange-list, \"900\");\n$clr-orange-a100: map-get($clr-orange-list, \"a100\");\n$clr-orange-a200: map-get($clr-orange-list, \"a200\");\n$clr-orange-a400: map-get($clr-orange-list, \"a400\");\n$clr-orange-a700: map-get($clr-orange-list, \"a700\");\n\n\n//\n// Deep orange\n//\n\n$clr-deep-orange-list: (\n \"base\": #ff5722,\n \"50\": #fbe9e7,\n \"100\": #ffccbc,\n \"200\": #ffab91,\n \"300\": #ff8a65,\n \"400\": #ff7043,\n \"500\": #ff5722,\n \"600\": #f4511e,\n \"700\": #e64a19,\n \"800\": #d84315,\n \"900\": #bf360c,\n \"a100\": #ff9e80,\n \"a200\": #ff6e40,\n \"a400\": #ff3d00,\n \"a700\": #dd2c00\n);\n\n$clr-deep-orange: map-get($clr-deep-orange-list, \"base\");\n\n$clr-deep-orange-50: map-get($clr-deep-orange-list, \"50\");\n$clr-deep-orange-100: map-get($clr-deep-orange-list, \"100\");\n$clr-deep-orange-200: map-get($clr-deep-orange-list, \"200\");\n$clr-deep-orange-300: map-get($clr-deep-orange-list, \"300\");\n$clr-deep-orange-400: map-get($clr-deep-orange-list, \"400\");\n$clr-deep-orange-500: map-get($clr-deep-orange-list, \"500\");\n$clr-deep-orange-600: map-get($clr-deep-orange-list, \"600\");\n$clr-deep-orange-700: map-get($clr-deep-orange-list, \"700\");\n$clr-deep-orange-800: map-get($clr-deep-orange-list, \"800\");\n$clr-deep-orange-900: map-get($clr-deep-orange-list, \"900\");\n$clr-deep-orange-a100: map-get($clr-deep-orange-list, \"a100\");\n$clr-deep-orange-a200: map-get($clr-deep-orange-list, \"a200\");\n$clr-deep-orange-a400: map-get($clr-deep-orange-list, \"a400\");\n$clr-deep-orange-a700: map-get($clr-deep-orange-list, \"a700\");\n\n\n//\n// Brown\n//\n\n$clr-brown-list: (\n \"base\": #795548,\n \"50\": #efebe9,\n \"100\": #d7ccc8,\n \"200\": #bcaaa4,\n \"300\": #a1887f,\n \"400\": #8d6e63,\n \"500\": #795548,\n \"600\": #6d4c41,\n \"700\": #5d4037,\n \"800\": #4e342e,\n \"900\": #3e2723,\n);\n\n$clr-brown: map-get($clr-brown-list, \"base\");\n\n$clr-brown-50: map-get($clr-brown-list, \"50\");\n$clr-brown-100: map-get($clr-brown-list, \"100\");\n$clr-brown-200: map-get($clr-brown-list, \"200\");\n$clr-brown-300: map-get($clr-brown-list, \"300\");\n$clr-brown-400: map-get($clr-brown-list, \"400\");\n$clr-brown-500: map-get($clr-brown-list, \"500\");\n$clr-brown-600: map-get($clr-brown-list, \"600\");\n$clr-brown-700: map-get($clr-brown-list, \"700\");\n$clr-brown-800: map-get($clr-brown-list, \"800\");\n$clr-brown-900: map-get($clr-brown-list, \"900\");\n\n\n//\n// Grey\n//\n\n$clr-grey-list: (\n \"base\": #9e9e9e,\n \"50\": #fafafa,\n \"100\": #f5f5f5,\n \"200\": #eeeeee,\n \"300\": #e0e0e0,\n \"400\": #bdbdbd,\n \"500\": #9e9e9e,\n \"600\": #757575,\n \"700\": #616161,\n \"800\": #424242,\n \"900\": #212121,\n);\n\n$clr-grey: map-get($clr-grey-list, \"base\");\n\n$clr-grey-50: map-get($clr-grey-list, \"50\");\n$clr-grey-100: map-get($clr-grey-list, \"100\");\n$clr-grey-200: map-get($clr-grey-list, \"200\");\n$clr-grey-300: map-get($clr-grey-list, \"300\");\n$clr-grey-400: map-get($clr-grey-list, \"400\");\n$clr-grey-500: map-get($clr-grey-list, \"500\");\n$clr-grey-600: map-get($clr-grey-list, \"600\");\n$clr-grey-700: map-get($clr-grey-list, \"700\");\n$clr-grey-800: map-get($clr-grey-list, \"800\");\n$clr-grey-900: map-get($clr-grey-list, \"900\");\n\n\n//\n// Blue grey\n//\n\n$clr-blue-grey-list: (\n \"base\": #607d8b,\n \"50\": #eceff1,\n \"100\": #cfd8dc,\n \"200\": #b0bec5,\n \"300\": #90a4ae,\n \"400\": #78909c,\n \"500\": #607d8b,\n \"600\": #546e7a,\n \"700\": #455a64,\n \"800\": #37474f,\n \"900\": #263238,\n);\n\n$clr-blue-grey: map-get($clr-blue-grey-list, \"base\");\n\n$clr-blue-grey-50: map-get($clr-blue-grey-list, \"50\");\n$clr-blue-grey-100: map-get($clr-blue-grey-list, \"100\");\n$clr-blue-grey-200: map-get($clr-blue-grey-list, \"200\");\n$clr-blue-grey-300: map-get($clr-blue-grey-list, \"300\");\n$clr-blue-grey-400: map-get($clr-blue-grey-list, \"400\");\n$clr-blue-grey-500: map-get($clr-blue-grey-list, \"500\");\n$clr-blue-grey-600: map-get($clr-blue-grey-list, \"600\");\n$clr-blue-grey-700: map-get($clr-blue-grey-list, \"700\");\n$clr-blue-grey-800: map-get($clr-blue-grey-list, \"800\");\n$clr-blue-grey-900: map-get($clr-blue-grey-list, \"900\");\n\n\n//\n// Black\n//\n\n$clr-black-list: (\n \"base\": #000\n);\n\n$clr-black: map-get($clr-black-list, \"base\");\n\n\n//\n// White\n//\n\n$clr-white-list: (\n \"base\": #fff\n);\n\n$clr-white: map-get($clr-white-list, \"base\");\n\n\n//\n// List for all Colors for looping\n//\n\n$clr-list-all: (\n \"red\": $clr-red-list,\n \"pink\": $clr-pink-list,\n \"purple\": $clr-purple-list,\n \"deep-purple\": $clr-deep-purple-list,\n \"indigo\": $clr-indigo-list,\n \"blue\": $clr-blue-list,\n \"light-blue\": $clr-light-blue-list,\n \"cyan\": $clr-cyan-list,\n \"teal\": $clr-teal-list,\n \"green\": $clr-green-list,\n \"light-green\": $clr-light-green-list,\n \"lime\": $clr-lime-list,\n \"yellow\": $clr-yellow-list,\n \"amber\": $clr-amber-list,\n \"orange\": $clr-orange-list,\n \"deep-orange\": $clr-deep-orange-list,\n \"brown\": $clr-brown-list,\n \"grey\": $clr-grey-list,\n \"blue-grey\": $clr-blue-grey-list,\n \"black\": $clr-black-list,\n \"white\": $clr-white-list\n);\n\n\n//\n// Typography\n//\n\n$clr-ui-display-4: $clr-grey-600;\n$clr-ui-display-3: $clr-grey-600;\n$clr-ui-display-2: $clr-grey-600;\n$clr-ui-display-1: $clr-grey-600;\n$clr-ui-headline: $clr-grey-900;\n$clr-ui-title: $clr-grey-900;\n$clr-ui-subhead-1: $clr-grey-900;\n$clr-ui-body-2: $clr-grey-900;\n$clr-ui-body-1: $clr-grey-900;\n$clr-ui-caption: $clr-grey-600;\n$clr-ui-menu: $clr-grey-900;\n$clr-ui-button: $clr-grey-900;\n","////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Landing page container\n.mdx-container {\n padding-top: px2rem(20px);\n background:\n url(\"data:image/svg+xml;utf8,\") no-repeat bottom,\n linear-gradient(\n to bottom,\n var(--md-primary-fg-color),\n hsla(280, 67%, 55%, 1) 99%,\n var(--md-default-bg-color) 99%\n );\n\n // Adjust background for slate theme\n [data-md-color-scheme=\"slate\"] & {\n background:\n url(\"data:image/svg+xml;utf8,\") no-repeat bottom,\n linear-gradient(\n to bottom,\n var(--md-primary-fg-color),\n hsla(280, 67%, 55%, 1) 99%,\n var(--md-default-bg-color) 99%\n );\n }\n}\n\n// Landing page hero\n.mdx-hero {\n margin: 0 px2rem(16px);\n color: var(--md-primary-bg-color);\n\n // Hero headline\n h1 {\n margin-bottom: px2rem(20px);\n color: currentColor;\n font-weight: 700;\n\n // [mobile portrait -]: Larger hero headline\n @include break-to-device(mobile portrait) {\n font-size: px2rem(28px);\n }\n }\n\n // Hero content\n &__content {\n padding-bottom: px2rem(120px);\n }\n\n // [tablet landscape +]: Columnar display\n @include break-from-device(tablet landscape) {\n display: flex;\n align-items: stretch;\n\n // Adjust spacing and set dimensions\n &__content {\n max-width: px2rem(380px);\n margin-top: px2rem(70px);\n padding-bottom: 14vw;\n }\n\n // Hero image\n &__image {\n order: 1;\n width: px2rem(760px);\n transform: translateX(#{px2rem(80px)});\n }\n }\n\n // [screen +]: Columnar display and adjusted spacing\n @include break-from-device(screen) {\n\n // Hero image\n &__image {\n transform: translateX(#{px2rem(160px)});\n }\n }\n\n // Button\n .md-button {\n margin-top: px2rem(10px);\n margin-right: px2rem(10px);\n color: var(--md-primary-bg-color);\n\n // Button on focus/hover\n &:focus,\n &:hover {\n color: var(--md-default-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n\n // Primary button\n &--primary {\n color: hsla(280deg, 37%, 48%, 1);\n background-color: var(--md-primary-bg-color);\n border-color: var(--md-primary-bg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Icon search\n .mdx-iconsearch {\n position: relative;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.1),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.1);\n transition: box-shadow 125ms;\n\n // Icon search on focus/hover\n &:focus-within,\n &:hover {\n box-shadow:\n 0 px2rem(8px) px2rem(20px) hsla(0, 0%, 0%, 0.15),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.15);\n }\n\n // Icon search input\n .md-input {\n background: var(--md-default-bg-color);\n box-shadow: 0 0 px2rem(12px) hsla(0, 0%, 0%, 0.07);\n\n // Slate theme, i.e. dark mode\n [data-md-color-scheme=\"slate\"] & {\n background: var(--md-code-bg-color);\n }\n }\n }\n\n // Icon search result\n .mdx-iconsearch-result {\n max-height: 50vh;\n overflow-y: auto;\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n touch-action: pan-y;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Webkit scrollbar\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Webkit scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Webkit scrollbar thumb on hover\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n\n // Icon search result metadata\n &__meta {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(12px);\n color: var(--md-default-fg-color--lighter);\n font-size: px2rem(12.8px);\n }\n\n // Icon search result list\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // Icon search result item\n &__item {\n margin: 0;\n padding: px2rem(4px) px2rem(12px);\n border-bottom: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Omit border on last child\n &:last-child {\n border-bottom: none;\n }\n\n // Item content\n > * {\n margin-right: px2rem(12px);\n }\n\n // Set icon dimensions to fit\n img {\n width: px2rem(18px);\n height: px2rem(18px);\n\n // Slate theme, i.e. dark mode\n [data-md-color-scheme=\"slate\"] &[src*=squidfunk] {\n filter: invert(1);\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Sponsorship\n .mdx-sponsorship {\n\n // Sponsorship list\n &__list {\n margin: 2em 0;\n overflow: auto;\n }\n\n // Sponsorship item\n &__item {\n display: block;\n float: left;\n width: px2rem(60px);\n height: px2rem(60px);\n margin: px2rem(4px);\n overflow: hidden;\n border-radius: 100%;\n transform: scale(1);\n transition:\n color 125ms,\n transform 125ms;\n\n // Sponsor item on focus/hover\n &:focus,\n &:hover {\n transform: scale(1.1);\n\n // Sponsor avatar\n img {\n filter: grayscale(0%);\n }\n }\n\n // Private sponsor\n &--private {\n color: var(--md-default-fg-color--lighter);\n font-weight: 700;\n font-size: px2rem(24px);\n line-height: px2rem(60px);\n text-align: center;\n background: var(--md-default-fg-color--lightest);\n }\n\n // Sponsor avatar\n img {\n display: block;\n width: 100%;\n height: auto;\n filter: grayscale(100%);\n transition: filter 125ms;\n }\n }\n }\n\n // Sponsorship button\n .mdx-sponsorship-button {\n font-weight: 400;\n }\n\n // Sponsorship count and total\n .mdx-sponsorship-count,\n .mdx-sponsorship-total {\n font-weight: 700;\n }\n}\n"]}
\ No newline at end of file
diff --git a/material/overrides/assets/stylesheets/main.a40a2e23.min.css b/material/overrides/assets/stylesheets/main.a40a2e23.min.css
new file mode 100644
index 000000000..ff94b839d
--- /dev/null
+++ b/material/overrides/assets/stylesheets/main.a40a2e23.min.css
@@ -0,0 +1,2 @@
+@-webkit-keyframes mdx-heart{0%,40%,80%,to{transform:scale(1)}20%,60%{transform:scale(1.15)}}@keyframes mdx-heart{0%,40%,80%,to{transform:scale(1)}20%,60%{transform:scale(1.15)}}.md-typeset figure>p+figcaption{margin-top:-1.2rem}.md-typeset .twitter{color:#00acee}.md-typeset .mdx-video{width:auto}.md-typeset .mdx-video__inner{position:relative;width:100%;height:0;padding-bottom:56.138%}.md-typeset .mdx-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;border:none}.md-typeset .mdx-heart{-webkit-animation:mdx-heart 1s infinite;animation:mdx-heart 1s infinite}.md-typeset .mdx-insiders{color:#e91e63}.md-typeset .mdx-switch button{cursor:pointer;transition:opacity .25s}.md-typeset .mdx-switch button:focus,.md-typeset .mdx-switch button:hover{opacity:.75}.md-typeset .mdx-switch button>code{display:block;color:var(--md-primary-bg-color);background-color:var(--md-primary-fg-color)}.md-typeset .mdx-columns ol,.md-typeset .mdx-columns ul{-moz-column-count:2;column-count:2}@media screen and (max-width:29.9375em){.md-typeset .mdx-columns ol,.md-typeset .mdx-columns ul{-moz-columns:initial;columns:initial}}.md-typeset .mdx-columns li{-moz-column-break-inside:avoid;break-inside:avoid}.md-announce a,.md-announce a:focus,.md-announce a:hover{color:currentColor}.md-announce strong{white-space:nowrap}.md-announce .twitter{margin-left:.2em}.mdx-container{padding-top:1rem;background:url("data:image/svg+xml;utf8,") no-repeat bottom,linear-gradient(180deg,var(--md-primary-fg-color),#a63fd9 99%,var(--md-default-bg-color) 0)}[data-md-color-scheme=slate] .mdx-container{background:url("data:image/svg+xml;utf8,") no-repeat bottom,linear-gradient(180deg,var(--md-primary-fg-color),#a63fd9 99%,var(--md-default-bg-color) 0)}.mdx-hero{margin:0 .8rem;color:var(--md-primary-bg-color)}.mdx-hero h1{margin-bottom:1rem;color:currentColor;font-weight:700}@media screen and (max-width:29.9375em){.mdx-hero h1{font-size:1.4rem}}.mdx-hero__content{padding-bottom:6rem}@media screen and (min-width:60em){.mdx-hero{display:flex;align-items:stretch}.mdx-hero__content{max-width:19rem;margin-top:3.5rem;padding-bottom:14vw}.mdx-hero__image{order:1;width:38rem;transform:translateX(4rem)}}@media screen and (min-width:76.25em){.mdx-hero__image{transform:translateX(8rem)}}.mdx-hero .md-button{margin-top:.5rem;margin-right:.5rem;color:var(--md-primary-bg-color)}.mdx-hero .md-button:focus,.mdx-hero .md-button:hover{color:var(--md-default-bg-color);background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color)}.mdx-hero .md-button--primary{color:#894da8;background-color:var(--md-primary-bg-color);border-color:var(--md-primary-bg-color)}.md-typeset .mdx-iconsearch{position:relative;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.1),0 .025rem .05rem rgba(0,0,0,.1);transition:box-shadow 125ms}.md-typeset .mdx-iconsearch:focus-within,.md-typeset .mdx-iconsearch:hover{box-shadow:0 .4rem 1rem rgba(0,0,0,.15),0 .025rem .05rem rgba(0,0,0,.15)}.md-typeset .mdx-iconsearch .md-input{background:var(--md-default-bg-color);box-shadow:0 0 .6rem rgba(0,0,0,.07)}[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch .md-input{background:var(--md-code-bg-color)}.md-typeset .mdx-iconsearch-result{max-height:50vh;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--md-default-fg-color--lighter) transparent}.md-typeset .mdx-iconsearch-result::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset .mdx-iconsearch-result__meta{position:absolute;top:.4rem;right:.6rem;color:var(--md-default-fg-color--lighter);font-size:.64rem}.md-typeset .mdx-iconsearch-result__list{margin:0;padding:0;list-style:none}.md-typeset .mdx-iconsearch-result__item{margin:0;padding:.2rem .6rem;border-bottom:.05rem solid var(--md-default-fg-color--lightest)}.md-typeset .mdx-iconsearch-result__item:last-child{border-bottom:none}.md-typeset .mdx-iconsearch-result__item>*{margin-right:.6rem}.md-typeset .mdx-iconsearch-result__item img{width:.9rem;height:.9rem}[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch-result__item img[src*=squidfunk]{-webkit-filter:invert(1);filter:invert(1)}.md-typeset .mdx-sponsorship__list{margin:2em 0;overflow:auto}.md-typeset .mdx-sponsorship__item{display:block;float:left;width:3rem;height:3rem;margin:.2rem;overflow:hidden;border-radius:100%;transform:scale(1);transition:color 125ms,transform 125ms}.md-typeset .mdx-sponsorship__item:focus,.md-typeset .mdx-sponsorship__item:hover{transform:scale(1.1)}.md-typeset .mdx-sponsorship__item:focus img,.md-typeset .mdx-sponsorship__item:hover img{-webkit-filter:grayscale(0);filter:grayscale(0)}.md-typeset .mdx-sponsorship__item--private{color:var(--md-default-fg-color--lighter);font-weight:700;font-size:1.2rem;line-height:3rem;text-align:center;background:var(--md-default-fg-color--lightest)}.md-typeset .mdx-sponsorship__item img{display:block;width:100%;height:auto;-webkit-filter:grayscale(100%);filter:grayscale(100%);transition:-webkit-filter 125ms;transition:filter 125ms;transition:filter 125ms, -webkit-filter 125ms}.md-typeset .mdx-sponsorship-button{font-weight:400}.md-typeset .mdx-sponsorship-count,.md-typeset .mdx-sponsorship-total{font-weight:700}
+/*# sourceMappingURL=main.a40a2e23.min.css.map */
\ No newline at end of file
diff --git a/material/overrides/assets/stylesheets/main.a40a2e23.min.css.map b/material/overrides/assets/stylesheets/main.a40a2e23.min.css.map
new file mode 100644
index 000000000..45e304dcf
--- /dev/null
+++ b/material/overrides/assets/stylesheets/main.a40a2e23.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["src/overrides/assets/stylesheets/main/_typeset.scss","src/overrides/assets/stylesheets/main.scss","src/assets/stylesheets/utilities/_break.scss","src/overrides/assets/stylesheets/main/layout/_announce.scss","src/overrides/assets/stylesheets/main/layout/_hero.scss","src/overrides/assets/stylesheets/main/layout/_iconsearch.scss","src/overrides/assets/stylesheets/main/layout/_sponsorship.scss"],"names":[],"mappings":"AA2BA,6BACE,cAIE,kBC7BF,CDgCA,QAEE,qBC/BF,CACF,CDoBA,qBACE,cAIE,kBC7BF,CDgCA,QAEE,qBC/BF,CACF,CD0CE,gCACE,kBCxCJ,CD4CE,qBACE,aC1CJ,CD8CE,uBACE,UC5CJ,CD+CI,8BACE,iBAAA,CACA,UAAA,CACA,QAAA,CACA,sBC7CN,CDiDI,8BACE,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,WC/CN,CDoDE,uBACE,uCAAA,CAAA,+BClDJ,CDsDE,0BACE,aCpDJ,CDwDE,+BACE,cAAA,CACA,uBCtDJ,CDyDI,0EAEE,WCxDN,CD4DI,oCACE,aAAA,CACA,gCAAA,CACA,2CC1DN,CDkEI,wDAEE,mBAAA,CAAA,cChEN,CC2JI,wCF7FA,wDAMI,oBAAA,CAAA,eC/DN,CACF,CDmEI,4BACE,8BAAA,CAAA,kBCjEN,CEhCE,yDAGE,kBFmCJ,CE/BE,oBACE,kBFiCJ,CE7BE,sBACE,gBF+BJ,CG/CA,eACE,gBAAA,CACA,kYHkDF,CGxCE,4CACE,oYH0CJ,CG9BA,UACE,cAAA,CACA,gCHiCF,CG9BE,aACE,kBAAA,CACA,kBAAA,CACA,eHgCJ,CCoHI,wCEvJF,aAOI,gBHgCJ,CACF,CG5BE,mBACE,mBH8BJ,CCyFI,mCEzIJ,UAuBI,YAAA,CACA,mBH6BF,CG1BE,mBACE,eAAA,CACA,iBAAA,CACA,mBH4BJ,CGxBE,iBACE,OAAA,CACA,WAAA,CACA,0BH0BJ,CACF,CCyEI,sCE5FA,iBACE,0BHsBJ,CACF,CGlBE,qBACE,gBAAA,CACA,kBAAA,CACA,gCHoBJ,CGjBI,sDAEE,gCAAA,CACA,0CAAA,CACA,sCHkBN,CGdI,8BACE,aAAA,CACA,2CAAA,CACA,uCHgBN,CI1GE,4BACE,iBAAA,CACA,2CAAA,CACA,mBAAA,CACA,uEACE,CAEF,2BJ2GJ,CIxGI,2EAEE,wEJyGN,CInGI,sCACE,qCAAA,CACA,oCJqGN,CIlGM,mEACE,kCJoGR,CI9FE,mCACE,eAAA,CACA,eAAA,CAEA,kCAAA,CAAA,0BAAA,CACA,kBAAA,CACA,oBAAA,CACA,+DJ+FJ,CI5FI,sDACE,WAAA,CACA,YJ8FN,CI1FI,4DACE,oDJ4FN,CIzFM,kEACE,0CJ2FR,CItFI,yCACE,iBAAA,CACA,SAAA,CACA,WAAA,CACA,yCAAA,CACA,gBJwFN,CIpFI,yCACE,QAAA,CACA,SAAA,CACA,eJsFN,CIlFI,yCACE,QAAA,CACA,mBAAA,CACA,+DJoFN,CIjFM,oDACE,kBJmFR,CI/EM,2CACE,kBJiFR,CI7EM,6CACE,WAAA,CACA,YJ+ER,CI5EQ,0FACE,wBAAA,CAAA,gBJ8EV,CKzKI,mCACE,YAAA,CACA,aL4KN,CKxKI,mCACE,aAAA,CACA,UAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,eAAA,CACA,kBAAA,CACA,kBAAA,CACA,sCL0KN,CKrKM,kFAEE,oBLsKR,CKnKQ,0FACE,2BAAA,CAAA,mBLqKV,CKhKM,4CACE,yCAAA,CACA,eAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,+CLkKR,CK9JM,uCACE,aAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CAAA,sBAAA,CACA,+BAAA,CAAA,uBAAA,CAAA,6CLgKR,CK1JE,oCACE,eL4JJ,CKxJE,sEAEE,eL0JJ","file":"src/overrides/assets/stylesheets/main.scss","sourcesContent":["////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Keyframes\n// ----------------------------------------------------------------------------\n\n// Pumping heart animation\n@keyframes mdx-heart {\n 0%,\n 40%,\n 80%,\n 100% {\n transform: scale(1);\n }\n\n 20%,\n 60% {\n transform: scale(1.15);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Screenshot caption\n figure > p + figcaption {\n margin-top: px2rem(-24px);\n }\n\n // Twitter icon\n .twitter {\n color: #00acee;\n }\n\n // Insiders video\n .mdx-video {\n width: auto;\n\n // Insiders video container\n &__inner {\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 56.138%;\n }\n\n // Insiders video iframe\n iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border: none;\n }\n }\n\n // Pumping heart\n .mdx-heart {\n animation: mdx-heart 1000ms infinite;\n }\n\n // Insiders color (for links, etc.)\n .mdx-insiders {\n color: $clr-pink-500;\n }\n\n // Switch buttons\n .mdx-switch button {\n cursor: pointer;\n transition: opacity 250ms;\n\n // Button on focus/hover\n &:focus,\n &:hover {\n opacity: 0.75;\n }\n\n // Code block\n > code {\n display: block;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n }\n }\n\n // Two-column layout\n .mdx-columns {\n\n // Column\n ol,\n ul {\n columns: 2;\n\n // [mobile portrait -]: Reset columns on mobile\n @include break-to-device(mobile portrait) {\n columns: initial;\n }\n }\n\n // Column item\n li {\n break-inside: avoid;\n }\n }\n}\n","@keyframes mdx-heart {\n 0%, 40%, 80%, 100% {\n transform: scale(1);\n }\n 20%, 60% {\n transform: scale(1.15);\n }\n}\n.md-typeset figure > p + figcaption {\n margin-top: -1.2rem;\n}\n.md-typeset .twitter {\n color: #00acee;\n}\n.md-typeset .mdx-video {\n width: auto;\n}\n.md-typeset .mdx-video__inner {\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 56.138%;\n}\n.md-typeset .mdx-video iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n border: none;\n}\n.md-typeset .mdx-heart {\n animation: mdx-heart 1000ms infinite;\n}\n.md-typeset .mdx-insiders {\n color: #e91e63;\n}\n.md-typeset .mdx-switch button {\n cursor: pointer;\n transition: opacity 250ms;\n}\n.md-typeset .mdx-switch button:focus, .md-typeset .mdx-switch button:hover {\n opacity: 0.75;\n}\n.md-typeset .mdx-switch button > code {\n display: block;\n color: var(--md-primary-bg-color);\n background-color: var(--md-primary-fg-color);\n}\n.md-typeset .mdx-columns ol,\n.md-typeset .mdx-columns ul {\n columns: 2;\n}\n@media screen and (max-width: 29.9375em) {\n .md-typeset .mdx-columns ol,\n.md-typeset .mdx-columns ul {\n columns: initial;\n }\n}\n.md-typeset .mdx-columns li {\n break-inside: avoid;\n}\n\n.md-announce a,\n.md-announce a:focus,\n.md-announce a:hover {\n color: currentColor;\n}\n.md-announce strong {\n white-space: nowrap;\n}\n.md-announce .twitter {\n margin-left: 0.2em;\n}\n\n.mdx-container {\n padding-top: 1rem;\n background: url(\"data:image/svg+xml;utf8,\") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%);\n}\n[data-md-color-scheme=slate] .mdx-container {\n background: url(\"data:image/svg+xml;utf8,\") no-repeat bottom, linear-gradient(to bottom, var(--md-primary-fg-color), #a63fd9 99%, var(--md-default-bg-color) 99%);\n}\n\n.mdx-hero {\n margin: 0 0.8rem;\n color: var(--md-primary-bg-color);\n}\n.mdx-hero h1 {\n margin-bottom: 1rem;\n color: currentColor;\n font-weight: 700;\n}\n@media screen and (max-width: 29.9375em) {\n .mdx-hero h1 {\n font-size: 1.4rem;\n }\n}\n.mdx-hero__content {\n padding-bottom: 6rem;\n}\n@media screen and (min-width: 60em) {\n .mdx-hero {\n display: flex;\n align-items: stretch;\n }\n .mdx-hero__content {\n max-width: 19rem;\n margin-top: 3.5rem;\n padding-bottom: 14vw;\n }\n .mdx-hero__image {\n order: 1;\n width: 38rem;\n transform: translateX(4rem);\n }\n}\n@media screen and (min-width: 76.25em) {\n .mdx-hero__image {\n transform: translateX(8rem);\n }\n}\n.mdx-hero .md-button {\n margin-top: 0.5rem;\n margin-right: 0.5rem;\n color: var(--md-primary-bg-color);\n}\n.mdx-hero .md-button:focus, .mdx-hero .md-button:hover {\n color: var(--md-default-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n}\n.mdx-hero .md-button--primary {\n color: #894da8;\n background-color: var(--md-primary-bg-color);\n border-color: var(--md-primary-bg-color);\n}\n\n.md-typeset .mdx-iconsearch {\n position: relative;\n background-color: var(--md-default-bg-color);\n border-radius: 0.1rem;\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.1), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.1);\n transition: box-shadow 125ms;\n}\n.md-typeset .mdx-iconsearch:focus-within, .md-typeset .mdx-iconsearch:hover {\n box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.15), 0 0.025rem 0.05rem rgba(0, 0, 0, 0.15);\n}\n.md-typeset .mdx-iconsearch .md-input {\n background: var(--md-default-bg-color);\n box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.07);\n}\n[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch .md-input {\n background: var(--md-code-bg-color);\n}\n.md-typeset .mdx-iconsearch-result {\n max-height: 50vh;\n overflow-y: auto;\n backface-visibility: hidden;\n touch-action: pan-y;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n}\n.md-typeset .mdx-iconsearch-result::-webkit-scrollbar {\n width: 0.2rem;\n height: 0.2rem;\n}\n.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n}\n.md-typeset .mdx-iconsearch-result::-webkit-scrollbar-thumb:hover {\n background-color: var(--md-accent-fg-color);\n}\n.md-typeset .mdx-iconsearch-result__meta {\n position: absolute;\n top: 0.4rem;\n right: 0.6rem;\n color: var(--md-default-fg-color--lighter);\n font-size: 0.64rem;\n}\n.md-typeset .mdx-iconsearch-result__list {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.md-typeset .mdx-iconsearch-result__item {\n margin: 0;\n padding: 0.2rem 0.6rem;\n border-bottom: 0.05rem solid var(--md-default-fg-color--lightest);\n}\n.md-typeset .mdx-iconsearch-result__item:last-child {\n border-bottom: none;\n}\n.md-typeset .mdx-iconsearch-result__item > * {\n margin-right: 0.6rem;\n}\n.md-typeset .mdx-iconsearch-result__item img {\n width: 0.9rem;\n height: 0.9rem;\n}\n[data-md-color-scheme=slate] .md-typeset .mdx-iconsearch-result__item img[src*=squidfunk] {\n filter: invert(1);\n}\n\n.md-typeset .mdx-sponsorship__list {\n margin: 2em 0;\n overflow: auto;\n}\n.md-typeset .mdx-sponsorship__item {\n display: block;\n float: left;\n width: 3rem;\n height: 3rem;\n margin: 0.2rem;\n overflow: hidden;\n border-radius: 100%;\n transform: scale(1);\n transition: color 125ms, transform 125ms;\n}\n.md-typeset .mdx-sponsorship__item:focus, .md-typeset .mdx-sponsorship__item:hover {\n transform: scale(1.1);\n}\n.md-typeset .mdx-sponsorship__item:focus img, .md-typeset .mdx-sponsorship__item:hover img {\n filter: grayscale(0%);\n}\n.md-typeset .mdx-sponsorship__item--private {\n color: var(--md-default-fg-color--lighter);\n font-weight: 700;\n font-size: 1.2rem;\n line-height: 3rem;\n text-align: center;\n background: var(--md-default-fg-color--lightest);\n}\n.md-typeset .mdx-sponsorship__item img {\n display: block;\n width: 100%;\n height: auto;\n filter: grayscale(100%);\n transition: filter 125ms;\n}\n.md-typeset .mdx-sponsorship-button {\n font-weight: 400;\n}\n.md-typeset .mdx-sponsorship-count,\n.md-typeset .mdx-sponsorship-total {\n font-weight: 700;\n}\n\n/*# sourceMappingURL=main.css.map */","////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Variables\n// ----------------------------------------------------------------------------\n\n///\n/// Device-specific breakpoints\n///\n/// @example\n/// $break-devices: (\n/// mobile: (\n/// portrait: 220px 479px,\n/// landscape: 480px 719px\n/// ),\n/// tablet: (\n/// portrait: 720px 959px,\n/// landscape: 960px 1219px\n/// ),\n/// screen: (\n/// small: 1220px 1599px,\n/// medium: 1600px 1999px,\n/// large: 2000px\n/// )\n/// );\n///\n$break-devices: () !default;\n\n// ----------------------------------------------------------------------------\n// Helpers\n// ----------------------------------------------------------------------------\n\n///\n/// Choose minimum and maximum device widths\n///\n@function break-select-min-max($devices) {\n $min: 1000000;\n $max: 0;\n @each $key, $value in $devices {\n @while type-of($value) == map {\n $value: break-select-min-max($value);\n }\n @if type-of($value) == list {\n @each $number in $value {\n @if type-of($number) == number {\n $min: min($number, $min);\n @if $max {\n $max: max($number, $max);\n }\n } @else {\n @error \"Invalid number: #{$number}\";\n }\n }\n } @else if type-of($value) == number {\n $min: min($value, $min);\n $max: null;\n } @else {\n @error \"Invalid value: #{$value}\";\n }\n }\n @return $min, $max;\n}\n\n///\n/// Select minimum and maximum widths for a device breakpoint\n///\n@function break-select-device($device) {\n $current: $break-devices;\n @for $n from 1 through length($device) {\n @if type-of($current) == map {\n $current: map-get($current, nth($device, $n));\n } @else {\n @error \"Invalid device map: #{$devices}\";\n }\n }\n @if type-of($current) == list or type-of($current) == number {\n $current: (default: $current);\n }\n @return break-select-min-max($current);\n}\n\n// ----------------------------------------------------------------------------\n// Mixins\n// ----------------------------------------------------------------------------\n\n///\n/// A minimum-maximum media query breakpoint\n///\n@mixin break-at($breakpoint) {\n @if type-of($breakpoint) == number {\n @media screen and (min-width: $breakpoint) {\n @content;\n }\n } @else if type-of($breakpoint) == list {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\n @if type-of($min) == number and type-of($max) == number {\n @media screen and (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// An orientation media query breakpoint\n///\n@mixin break-at-orientation($breakpoint) {\n @if type-of($breakpoint) == string {\n @media screen and (orientation: $breakpoint) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// A maximum-aspect-ratio media query breakpoint\n///\n@mixin break-at-ratio($breakpoint) {\n @if type-of($breakpoint) == number {\n @media screen and (max-aspect-ratio: $breakpoint) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// A minimum-maximum media query device breakpoint\n///\n@mixin break-at-device($device) {\n @if type-of($device) == string {\n $device: $device,;\n }\n @if type-of($device) == list {\n $breakpoint: break-select-device($device);\n @if nth($breakpoint, 2) {\n $min: nth($breakpoint, 1);\n $max: nth($breakpoint, 2);\n\n @media screen and (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n\n///\n/// A minimum media query device breakpoint\n///\n@mixin break-from-device($device) {\n @if type-of($device) == string {\n $device: $device,;\n }\n @if type-of($device) == list {\n $breakpoint: break-select-device($device);\n $min: nth($breakpoint, 1);\n\n @media screen and (min-width: $min) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n\n///\n/// A maximum media query device breakpoint\n///\n@mixin break-to-device($device) {\n @if type-of($device) == string {\n $device: $device,;\n }\n @if type-of($device) == list {\n $breakpoint: break-select-device($device);\n $max: nth($breakpoint, 2);\n\n @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n","////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Announcement bar\n.md-announce {\n\n // Text link, also on focus/hover\n a,\n a:focus,\n a:hover {\n color: currentColor;\n }\n\n // Don't wrap name of blog article\n strong {\n white-space: nowrap;\n }\n\n // Twitter icon\n .twitter {\n margin-left: 0.2em;\n }\n}\n","////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Landing page container\n.mdx-container {\n padding-top: px2rem(20px);\n background:\n url(\"data:image/svg+xml;utf8,\") no-repeat bottom,\n linear-gradient(\n to bottom,\n var(--md-primary-fg-color),\n hsla(280, 67%, 55%, 1) 99%,\n var(--md-default-bg-color) 99%\n );\n\n // Adjust background for slate theme\n [data-md-color-scheme=\"slate\"] & {\n background:\n url(\"data:image/svg+xml;utf8,\") no-repeat bottom,\n linear-gradient(\n to bottom,\n var(--md-primary-fg-color),\n hsla(280, 67%, 55%, 1) 99%,\n var(--md-default-bg-color) 99%\n );\n }\n}\n\n// Landing page hero\n.mdx-hero {\n margin: 0 px2rem(16px);\n color: var(--md-primary-bg-color);\n\n // Hero headline\n h1 {\n margin-bottom: px2rem(20px);\n color: currentColor;\n font-weight: 700;\n\n // [mobile portrait -]: Larger hero headline\n @include break-to-device(mobile portrait) {\n font-size: px2rem(28px);\n }\n }\n\n // Hero content\n &__content {\n padding-bottom: px2rem(120px);\n }\n\n // [tablet landscape +]: Columnar display\n @include break-from-device(tablet landscape) {\n display: flex;\n align-items: stretch;\n\n // Adjust spacing and set dimensions\n &__content {\n max-width: px2rem(380px);\n margin-top: px2rem(70px);\n padding-bottom: 14vw;\n }\n\n // Hero image\n &__image {\n order: 1;\n width: px2rem(760px);\n transform: translateX(#{px2rem(80px)});\n }\n }\n\n // [screen +]: Columnar display and adjusted spacing\n @include break-from-device(screen) {\n\n // Hero image\n &__image {\n transform: translateX(#{px2rem(160px)});\n }\n }\n\n // Button\n .md-button {\n margin-top: px2rem(10px);\n margin-right: px2rem(10px);\n color: var(--md-primary-bg-color);\n\n // Button on focus/hover\n &:focus,\n &:hover {\n color: var(--md-default-bg-color);\n background-color: var(--md-accent-fg-color);\n border-color: var(--md-accent-fg-color);\n }\n\n // Primary button\n &--primary {\n color: hsla(280deg, 37%, 48%, 1);\n background-color: var(--md-primary-bg-color);\n border-color: var(--md-primary-bg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Icon search\n .mdx-iconsearch {\n position: relative;\n background-color: var(--md-default-bg-color);\n border-radius: px2rem(2px);\n box-shadow:\n 0 px2rem(4px) px2rem(10px) hsla(0, 0%, 0%, 0.1),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.1);\n transition: box-shadow 125ms;\n\n // Icon search on focus/hover\n &:focus-within,\n &:hover {\n box-shadow:\n 0 px2rem(8px) px2rem(20px) hsla(0, 0%, 0%, 0.15),\n 0 px2rem(0.5px) px2rem(1px) hsla(0, 0%, 0%, 0.15);\n }\n\n // Icon search input\n .md-input {\n background: var(--md-default-bg-color);\n box-shadow: 0 0 px2rem(12px) hsla(0, 0%, 0%, 0.07);\n\n // Slate theme, i.e. dark mode\n [data-md-color-scheme=\"slate\"] & {\n background: var(--md-code-bg-color);\n }\n }\n }\n\n // Icon search result\n .mdx-iconsearch-result {\n max-height: 50vh;\n overflow-y: auto;\n // Hack: promote to own layer to reduce jitter\n backface-visibility: hidden;\n touch-action: pan-y;\n scrollbar-width: thin;\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n\n // Webkit scrollbar\n &::-webkit-scrollbar {\n width: px2rem(4px);\n height: px2rem(4px);\n }\n\n // Webkit scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Webkit scrollbar thumb on hover\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n\n // Icon search result metadata\n &__meta {\n position: absolute;\n top: px2rem(8px);\n right: px2rem(12px);\n color: var(--md-default-fg-color--lighter);\n font-size: px2rem(12.8px);\n }\n\n // Icon search result list\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n // Icon search result item\n &__item {\n margin: 0;\n padding: px2rem(4px) px2rem(12px);\n border-bottom: px2rem(1px) solid var(--md-default-fg-color--lightest);\n\n // Omit border on last child\n &:last-child {\n border-bottom: none;\n }\n\n // Item content\n > * {\n margin-right: px2rem(12px);\n }\n\n // Set icon dimensions to fit\n img {\n width: px2rem(18px);\n height: px2rem(18px);\n\n // Slate theme, i.e. dark mode\n [data-md-color-scheme=\"slate\"] &[src*=squidfunk] {\n filter: invert(1);\n }\n }\n }\n }\n}\n","////\n/// Copyright (c) 2016-2021 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Rules\n// ----------------------------------------------------------------------------\n\n// Scoped in typesetted content to match specificity of regular content\n.md-typeset {\n\n // Sponsorship\n .mdx-sponsorship {\n\n // Sponsorship list\n &__list {\n margin: 2em 0;\n overflow: auto;\n }\n\n // Sponsorship item\n &__item {\n display: block;\n float: left;\n width: px2rem(60px);\n height: px2rem(60px);\n margin: px2rem(4px);\n overflow: hidden;\n border-radius: 100%;\n transform: scale(1);\n transition:\n color 125ms,\n transform 125ms;\n\n // Sponsor item on focus/hover\n &:focus,\n &:hover {\n transform: scale(1.1);\n\n // Sponsor avatar\n img {\n filter: grayscale(0%);\n }\n }\n\n // Private sponsor\n &--private {\n color: var(--md-default-fg-color--lighter);\n font-weight: 700;\n font-size: px2rem(24px);\n line-height: px2rem(60px);\n text-align: center;\n background: var(--md-default-fg-color--lightest);\n }\n\n // Sponsor avatar\n img {\n display: block;\n width: 100%;\n height: auto;\n filter: grayscale(100%);\n transition: filter 125ms;\n }\n }\n }\n\n // Sponsorship button\n .mdx-sponsorship-button {\n font-weight: 400;\n }\n\n // Sponsorship count and total\n .mdx-sponsorship-count,\n .mdx-sponsorship-total {\n font-weight: 700;\n }\n}\n"]}
\ No newline at end of file
diff --git a/material/overrides/main.html b/material/overrides/main.html
index 08b90f12e..f173810fa 100644
--- a/material/overrides/main.html
+++ b/material/overrides/main.html
@@ -22,7 +22,7 @@
-
+
{% endblock %}
{% block announce %}
@@ -33,24 +33,6 @@
Twitter
{% endblock %}
-{% block content %}
- {{ super() }}
-
-{% endblock %}
{% block scripts %}
{{ super() }}
diff --git a/mkdocs.yml b/mkdocs.yml
index b39c270ef..a87b2abde 100755
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -82,7 +82,7 @@ plugins:
releases/5.md: upgrading.md #upgrading-from-3x-to-4x
releases/changelog.md: changelog.md
setup/adding-social-links.md: setup/setting-up-the-footer.md
- sponsorship.md: insiders.md
+ sponsorship.md: insiders/index.md
- minify:
minify_html: true
@@ -152,8 +152,11 @@ nav:
- Customization: customization.md
- Troubleshooting: troubleshooting.md
- Data privacy: data-privacy.md
- - Insiders: insiders.md
- License: license.md
+ - Releases:
+ - Changelog: changelog.md
+ - How to upgrade: upgrading.md
+ - Deprecations: deprecations.md
- Setup:
- Changing the colors: setup/changing-the-colors.md
- Changing the fonts: setup/changing-the-fonts.md
@@ -183,12 +186,11 @@ nav:
- MathJax: reference/mathjax.md
- Meta tags: reference/meta-tags.md
- Variables: reference/variables.md
- - Changelog:
- - Material for MkDocs: changelog.md
- - Material for MkDocs Insiders: changelog/insiders.md
- - Guides:
- - Upgrading: upgrading.md
- - Deprecations: deprecations.md
+ - Insiders:
+ - Sponsorware: insiders/index.md
+ - Getting started:
+ - Installation: insiders/getting-started.md
+ - Changelog: insiders/changelog.md
# Google Analytics
google_analytics:
diff --git a/src/overrides/assets/stylesheets/main.scss b/src/overrides/assets/stylesheets/main.scss
index f4acb8d08..b30bbe0f9 100644
--- a/src/overrides/assets/stylesheets/main.scss
+++ b/src/overrides/assets/stylesheets/main.scss
@@ -39,7 +39,6 @@
@import "main/typeset";
@import "main/layout/announce";
-@import "main/layout/content";
@import "main/layout/hero";
@import "main/layout/iconsearch";
@import "main/layout/sponsorship";
diff --git a/src/overrides/assets/stylesheets/main/layout/_content.scss b/src/overrides/assets/stylesheets/main/layout/_content.scss
deleted file mode 100644
index 657112add..000000000
--- a/src/overrides/assets/stylesheets/main/layout/_content.scss
+++ /dev/null
@@ -1,56 +0,0 @@
-////
-/// Copyright (c) 2016-2021 Martin Donath
-///
-/// Permission is hereby granted, free of charge, to any person obtaining a
-/// copy of this software and associated documentation files (the "Software"),
-/// to deal in the Software without restriction, including without limitation
-/// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-/// and/or sell copies of the Software, and to permit persons to whom the
-/// Software is furnished to do so, subject to the following conditions:
-///
-/// The above copyright notice and this permission notice shall be included in
-/// all copies or substantial portions of the Software.
-///
-/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
-/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-/// DEALINGS
-////
-
-// ----------------------------------------------------------------------------
-// Rules
-// ----------------------------------------------------------------------------
-
-// Content footer
-.mdx-content__footer {
- margin-top: px2rem(20px);
- text-align: center;
-
- // Link to Insiders
- a {
- display: inline-block;
- color: $clr-pink-500;
- transition:
- transform 250ms cubic-bezier(0.1, 0.7, 0.1, 1),
- color 125ms;
-
- // Link to Insiders on focus/hover
- &:focus,
- &:hover {
- transform: scale(1.2);
- }
- }
-
- // Horizontal separator
- hr {
- display: inline-block;
- width: px2rem(40px);
- margin: px2em(16px);
- vertical-align: middle;
- background-color: currentColor;
- border: none;
- }
-}
diff --git a/src/overrides/main.html b/src/overrides/main.html
index f917a1b04..54fab2214 100644
--- a/src/overrides/main.html
+++ b/src/overrides/main.html
@@ -70,28 +70,6 @@
{% endblock %}
-
-{% block content %}
- {{ super() }}
-
-
-
-{% endblock %}
-
{% block scripts %}
{{ super() }}